::selection{background:var(--primary);color:#fff}
img{max-width:100%}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid color-mix(in srgb,var(--primary) 30%,transparent);outline-offset:2px}

/* Polished motion */
.category-card,.info-card,.prize-card,.poster-card,.winner-card,.side-card,.admin-panel{transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease}
.category-card:hover,.info-card:hover,.prize-card:hover,.poster-card:hover,.winner-card:hover{transform:translateY(-7px);box-shadow:var(--shadow)}
.btn{transition:transform .18s ease,box-shadow .18s ease,opacity .18s ease}.btn:hover{transform:translateY(-2px)}.btn:active{transform:translateY(0)}
.hero-copy,.countdown-card{animation:rise-in .7s ease both}.countdown-card{animation-delay:.12s}
@keyframes rise-in{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

.poster-card{position:relative;cursor:zoom-in}.poster-open{position:absolute;top:12px;left:12px;z-index:2;width:38px;height:38px;border:1px solid rgba(255,255,255,.6);border-radius:12px;background:rgba(0,0,0,.45);color:#fff;backdrop-filter:blur(8px);cursor:pointer}.poster-card img{transition:transform .45s ease}.poster-card:hover img{transform:scale(1.035)}
.lightbox{position:fixed;inset:0;z-index:200;background:rgba(2,12,20,.9);display:none;align-items:center;justify-content:center;padding:30px}.lightbox.open{display:flex}.modal-open{overflow:hidden}.lightbox-content{max-width:min(90vw,1000px);max-height:90vh;text-align:center;color:#fff}.lightbox-content img{max-height:78vh;width:auto;max-width:90vw;border-radius:16px;box-shadow:0 25px 80px rgba(0,0,0,.4)}.lightbox-content div{margin-top:12px}.lightbox-close,.lightbox-prev,.lightbox-next{position:absolute;border:0;background:rgba(255,255,255,.12);color:#fff;width:48px;height:48px;border-radius:50%;font-size:30px;cursor:pointer}.lightbox-close{top:20px;left:20px}.lightbox-prev{right:20px}.lightbox-next{left:20px}

.upload-preview{display:flex;gap:14px;align-items:center;background:var(--surface-2);border:1px solid var(--border);border-radius:16px;padding:12px;margin-bottom:14px}.preview-media{width:88px;height:70px;border-radius:11px;overflow:hidden;display:grid;place-items:center;background:var(--surface);font-size:32px;flex:0 0 auto}.preview-media img,.preview-media video{width:100%;height:100%;object-fit:cover}.upload-preview strong,.upload-preview span{display:block}.upload-preview span{font-size:11px;color:var(--muted)}.upload-progress{display:flex;align-items:center;gap:10px;margin:8px 0 15px}.progress-track{height:9px;background:var(--surface-2);border-radius:999px;overflow:hidden;flex:1}.progress-track span{display:block;width:0;height:100%;background:linear-gradient(90deg,var(--primary),var(--teal));transition:width .15s ease}.upload-progress>span{font-size:11px;color:var(--muted);min-width:35px;text-align:center}

.admin-topline{display:flex;align-items:center;justify-content:space-between;gap:20px}.admin-stats{grid-template-columns:repeat(5,1fr)}.admin-panel{background:var(--surface);border:1px solid var(--border);border-radius:24px;padding:24px;margin-top:20px}.admin-filters{display:grid;grid-template-columns:2fr 1fr 1fr auto auto;gap:10px;margin-bottom:18px}.admin-filters input,.admin-filters select,.winner-admin-form input,.winner-admin-form select,.winner-admin-form textarea,.admin-login-form input{width:100%;border:1px solid var(--border);background:var(--bg);color:var(--text);border-radius:12px;padding:10px}.admin-filters input:focus,.admin-filters select:focus,.winner-admin-form input:focus,.winner-admin-form select:focus,.winner-admin-form textarea:focus{border-color:var(--primary);outline:none}.table-wrap table{min-width:950px}.table-wrap td small{display:block;color:var(--muted);font-size:10px}.table-link{color:var(--primary);font-weight:700}.table-empty{text-align:center!important;padding:35px!important;color:var(--muted)}.winner-admin-form{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;align-items:end}.winner-admin-form label{font-size:12px;font-weight:700}.winner-admin-form label input,.winner-admin-form label select,.winner-admin-form label textarea{display:block;margin-top:5px}.winner-admin-form .winner-desc{grid-column:span 2}.winner-admin-form>button{height:44px}.winner-admin-list{margin-top:20px;border-top:1px solid var(--border)}.winner-admin-row{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:14px 0;border-bottom:1px solid var(--border)}.winner-admin-row span{display:block;color:var(--muted);font-size:11px}.admin-row-actions{display:flex;gap:7px}.mini-btn{border:1px solid var(--border);background:var(--bg);color:var(--text);padding:7px 10px;border-radius:9px;cursor:pointer}.mini-btn.danger{color:#c74343}.admin-error{background:#ffe8e8;color:#a92f2f;border:1px solid #f0b8b8;border-radius:12px;padding:10px;margin-bottom:14px;font-size:13px}.admin-login-form{max-width:520px;margin:auto}.admin-login-form label{display:block;margin-bottom:15px}.muted{color:var(--muted)}
.winner-admin-row summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:15px;cursor:pointer;padding:4px 0}.winner-admin-row summary::-webkit-details-marker{display:none}.winner-edit-form{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding:15px 0}.winner-edit-form label{font-size:11px}.winner-edit-form input,.winner-edit-form select,.winner-edit-form textarea{display:block;width:100%;margin-top:4px;border:1px solid var(--border);background:var(--bg);color:var(--text);border-radius:9px;padding:8px}.winner-edit-form button{align-self:end}.winner-edit-form label:nth-child(5){grid-column:span 2}
@media(max-width:700px){.winner-edit-form{grid-template-columns:1fr}.winner-edit-form label:nth-child(5){grid-column:auto}}

/* Winner selection workflow */
.winner-source-preview{display:flex;align-items:center;gap:14px;grid-column:span 2;background:var(--surface-2);border:1px solid var(--border);border-radius:16px;padding:12px}.winner-preview-media{width:110px;height:90px;display:grid;place-items:center;overflow:hidden;border-radius:12px;background:var(--surface);font-size:30px;flex:0 0 auto}.winner-preview-media img,.winner-preview-media video{width:100%;height:100%;object-fit:cover}.winner-preview-meta strong,.winner-preview-meta span,.winner-preview-meta small{display:block}.winner-preview-meta span{margin-top:4px}.winner-preview-meta small{font-size:10px;color:var(--muted);margin-top:5px}.winner-auto-fields{grid-column:span 2;display:flex;gap:18px;flex-wrap:wrap;padding:10px 0;color:var(--muted);font-size:11px}.winner-auto-fields b{color:var(--text)}.winner-no-candidates{margin-top:12px}.admin-winner-current-media{margin:12px 0}.admin-winner-current-media img,.admin-winner-current-media video{width:140px;height:100px;object-fit:cover;border-radius:10px;border:1px solid var(--border)}.winner-video{width:100%;aspect-ratio:1/1;object-fit:cover;background:#000}.winner-file{display:grid;place-items:center;width:100%;aspect-ratio:1/1;text-decoration:none;color:var(--primary);background:var(--surface-2);font-weight:700}.winner-card{position:relative}.winners-preview-section{padding-top:20px}
