:root{
  --bg:#0c0c0e;
  --bg2:#14141a;
  --card:#17171e;
  --card2:#1e1e27;
  --navy:#0c0c0e;
  --navy2:#23232e;
  --gold:#c6a15b;
  --gold2:#e4c98a;
  --text:#f4efe6;
  --muted:#9c9588;
  --line:rgba(198,161,91,.16);
  --shadow:0 18px 40px rgba(0,0,0,.38);
  --radius:12px;
  --sans:"Outfit",system-ui,-apple-system,"Segoe UI",sans-serif;
  --serif:"Cormorant Garamond","Palatino Linotype",Palatino,serif;
}
*{box-sizing:border-box}
html{background:var(--bg)}
body{
  margin:0;
  min-height:100vh;
  background:
    radial-gradient(1200px 480px at 50% -80px,rgba(198,161,91,.12),transparent 58%),
    linear-gradient(180deg,#121218 0%,var(--bg) 280px);
  color:var(--text);
  font-family:var(--sans);
  font-size:16px;
  line-height:1.45;
  padding-bottom:88px;
  -webkit-font-smoothing:antialiased;
}
a{text-decoration:none;color:inherit}
h1,h2,h3{font-family:var(--serif);font-weight:600;letter-spacing:.01em;line-height:1.15;margin:0 0 .35em}
h1{font-size:clamp(1.85rem,3vw,2.55rem)}
h2{font-size:clamp(1.35rem,2.2vw,1.75rem)}
h3{font-size:1.25rem}
p{margin:.4em 0 .7em}
.topbar{
  position:sticky;top:0;z-index:20;
  height:72px;
  display:flex;align-items:center;justify-content:space-between;
  padding:0 28px;
  background:rgba(12,12,14,.86);
  backdrop-filter:blur(16px);
  border-bottom:1px solid var(--line);
}
.brand{display:flex;gap:12px;align-items:center}
.brand b{display:block;font-family:var(--serif);font-size:1.55rem;letter-spacing:.12em;font-weight:700}
.brand small{display:block;color:var(--gold);margin-top:2px;font-size:.68rem;letter-spacing:.18em;text-transform:uppercase}
.reel{font-size:28px;color:var(--gold);line-height:1}
.topbar-actions{display:flex;gap:14px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.topbar-user{color:var(--muted);font-size:.82rem;letter-spacing:.02em}
.topbar-link{color:var(--muted);font-size:.82rem;letter-spacing:.08em;text-transform:uppercase}
.topbar-link:hover{color:var(--gold2)}
.page{max-width:1180px;margin:auto;padding:22px 28px 8px}
.jubilee{
  position:relative;
  overflow:hidden;
  text-align:center;
  padding:56px 28px 48px;
  margin-bottom:42px;
  background:
    radial-gradient(900px 280px at 50% 18%,rgba(198,161,91,.18),transparent 62%),
    linear-gradient(180deg,#1a1814 0%,var(--card) 55%,#121018 100%);
  border:1px solid var(--line);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
}
.jubilee-glow{
  position:absolute;inset:-20% -10% auto;
  height:70%;
  background:radial-gradient(ellipse at 50% 0,rgba(228,201,138,.16),transparent 70%);
  pointer-events:none;
}
.jubilee-num{
  position:relative;
  font-family:var(--serif);
  font-size:clamp(5.4rem,22vw,12.5rem);
  font-weight:700;
  line-height:.82;
  letter-spacing:.02em;
  color:transparent;
  background:linear-gradient(180deg,#f4e4b8 0%,var(--gold2) 38%,var(--gold) 72%,#8a6a2e 100%);
  -webkit-background-clip:text;
  background-clip:text;
  text-shadow:none;
  filter:drop-shadow(0 12px 28px rgba(0,0,0,.45));
  margin:0 0 8px;
  user-select:none;
}
.jubilee-kicker{
  position:relative;
  margin:6px 0 0;
  color:var(--gold);
  font-size:.72rem;
  font-weight:700;
  letter-spacing:.28em;
  text-transform:uppercase;
}
.jubilee h1{
  position:relative;
  margin:.15em 0 .2em;
  font-size:clamp(1.7rem,4.2vw,3rem);
  letter-spacing:.12em;
  color:var(--text);
}
.jubilee-lead{
  position:relative;
  margin:0 auto 28px;
  max-width:28em;
  color:var(--gold2);
  font-family:var(--serif);
  font-size:clamp(1.15rem,2.2vw,1.55rem);
  font-style:italic;
  line-height:1.35;
}
.jubilee-event{
  position:relative;
  max-width:520px;
  margin:0 auto;
  padding:22px 20px 24px;
  background:rgba(12,12,14,.45);
  border:1px solid var(--line);
  border-radius:var(--radius);
}
.jubilee-event .kicker{margin-bottom:6px}
.jubilee-meta{
  position:relative;
  margin:0 0 10px;
  color:var(--gold2);
  letter-spacing:.08em;
  font-size:.95rem;
}
.jubilee-theme{
  position:relative;
  margin:0 auto 16px;
  max-width:36ch;
  font-family:var(--serif);
  font-size:clamp(1.15rem,2.2vw,1.45rem);
  color:var(--text);
}
.jubilee-secret{
  position:relative;
  margin:0 auto 16px;
  color:var(--muted);
  font-style:italic;
  letter-spacing:.04em;
}
.jubilee-btn{position:relative;display:inline-block;padding:12px 22px}
.stats-grid{
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:12px;
}
.stats-item,.numbers-card{
  text-align:center;
  padding:18px 12px 16px;
  background:var(--card);
  border:1px solid var(--line);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
}
.stats-item{
  grid-column:auto;
  width:100%;
  min-width:0;
}
.stats-item b{
  display:block;
  font-family:var(--serif);
  font-size:clamp(1.6rem,3vw,2.2rem);
  color:var(--gold2);
  line-height:1;
}
.stats-item span{
  display:block;
  margin-top:8px;
  color:var(--muted);
  font-size:.72rem;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.numbers-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:12px;
}
.numbers-card{text-align:left;padding:18px 20px}
.numbers-card h3{margin:0 0 .2em;font-size:1.25rem}
.story-stats{margin-bottom:32px}
.story-stats h2{margin-bottom:12px;font-size:1.35rem}
.story-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:10px;
}
.story-card{
  display:block;
  min-width:0;
  padding:12px 14px;
  background:var(--card);
  border:1px solid var(--line);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
}
.story-card .kicker{margin-bottom:4px;font-size:.62rem}
.story-card h3{
  margin:0 0 4px;
  font-size:1.02rem;
  line-height:1.25;
  overflow-wrap:anywhere;
}
.story-card p{margin:0;color:var(--muted);font-size:.82rem}
.js-stat{cursor:pointer}
.js-stat:hover,.js-stat:focus-visible{
  border-color:rgba(198,161,91,.42);
  outline:none;
}
.stat-modal{
  position:fixed;
  inset:0;
  z-index:40;
  display:grid;
  place-items:center;
  padding:18px 14px 96px;
}
.stat-modal[hidden]{display:none}
.stat-modal-backdrop{
  position:absolute;
  inset:0;
  background:rgba(6,6,8,.72);
}
.stat-modal-dialog{
  position:relative;
  z-index:1;
  width:min(820px,100%);
  max-height:min(82vh,720px);
  overflow:auto;
  padding:22px 22px 18px;
  background:#121218;
  border:1px solid rgba(198,161,91,.38);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
}
.stat-modal-dialog h2{
  margin:0 36px 16px 0;
  font-size:1.45rem;
  color:var(--gold2);
}
.stat-modal-close{
  position:absolute;
  top:10px;
  right:10px;
  width:36px;
  height:36px;
  border:0;
  background:transparent;
  color:var(--muted);
  font-size:1.6rem;
  line-height:1;
  cursor:pointer;
}
.stat-modal-close:hover,.stat-modal-close:focus-visible{color:var(--gold2);outline:none}
.stat-rank{
  list-style:none;
  margin:0;
  padding:0;
}
.stat-rank li{
  display:grid;
  grid-template-columns:2.1rem minmax(0,1fr);
  gap:8px;
  padding:9px 0;
  border-top:1px solid rgba(198,161,91,.12);
}
.stat-rank li:first-child{border-top:0}
.stat-pos{
  color:var(--muted);
  font-variant-numeric:tabular-nums;
  padding-top:2px;
}
.stat-rank li[data-place="1"] .stat-pos,
.stat-rank li[data-place="2"] .stat-pos,
.stat-rank li[data-place="3"] .stat-pos{
  color:var(--gold2);
  font-weight:700;
}
.stat-rank li[data-place="1"] .stat-name,
.stat-rank li[data-place="2"] .stat-name,
.stat-rank li[data-place="3"] .stat-name{
  color:var(--gold2);
}
.stat-lead{
  display:flex;
  align-items:baseline;
  gap:8px;
  min-width:0;
}
.stat-name{
  min-width:0;
  overflow-wrap:anywhere;
}
.stat-dots{
  flex:1 1 12px;
  min-width:12px;
  border-bottom:1px dotted rgba(198,161,91,.32);
  transform:translateY(-5px);
}
.stat-value{
  flex:none;
  color:var(--muted);
  font-size:.9rem;
  white-space:nowrap;
}
.stat-line,.stat-note{
  margin:4px 0 0;
  color:var(--muted);
  font-size:.82rem;
}
.stat-note{font-size:.72rem;opacity:.85}
body.stat-modal-open{overflow:hidden}
.upcoming-compact{margin-top:8px;margin-bottom:28px}
.upcoming-compact h2{font-size:1.15rem;color:var(--muted)}
.upcoming-small .up-row{padding:10px 14px;box-shadow:none}
.section-head{display:flex;justify-content:space-between;align-items:end;gap:16px;margin-bottom:18px}
.section-head h1,.section-head h2{margin:0}
section{margin-bottom:42px}
.recent-events{display:grid;gap:22px}
.recent-events .winner-grid{grid-template-columns:180px 1fr;gap:16px}
.recent-events .poster.big,.recent-events .winner-grid .poster.big{width:180px}
.upcoming,.history{display:grid;gap:10px;grid-auto-flow:row}
.up-row,.hist-row,.card,.form-card,.facts,.secret,.adminbox{
  background:var(--card);
  border:1px solid var(--line);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
}
.up-row{
  display:grid;
  grid-template-columns:88px 130px 1fr 1.2fr 18px;
  padding:16px 18px;
  gap:14px;
  align-items:center;
  transition:border-color .2s, transform .2s;
}
.up-row:hover,.hist-row:hover,.movie-card:hover{border-color:rgba(198,161,91,.45)}
.up-row:hover,.hist-row:hover{transform:translateY(-1px)}
.up-row b{color:var(--gold2);letter-spacing:.06em}
.gold{color:var(--gold2)}
.muted{color:var(--muted)}
.card{padding:22px}
.winner-grid{
  display:grid;
  grid-template-columns:260px 1fr;
  gap:28px;
  align-items:start;
}
.winner-grid .poster.big{
  width:260px;
  box-shadow:0 0 0 1px rgba(198,161,91,.55),0 24px 50px rgba(0,0,0,.55);
}
.kicker{
  display:inline-flex;
  align-items:center;
  gap:.45em;
  color:var(--gold);
  font-size:.72rem;
  font-weight:700;
  letter-spacing:.22em;
  text-transform:uppercase;
  margin-bottom:8px;
}
.kicker-oscar{
  height:22px;
  width:auto;
  display:block;
  flex:none;
  object-fit:contain;
}
.winner-title{font-size:clamp(1.6rem,2.6vw,2.2rem);margin:.1em 0 .25em}
.votes{color:var(--muted);font-size:.95rem;letter-spacing:.04em}
.poster{
  display:flex;align-items:flex-end;justify-content:center;text-align:center;
  background:linear-gradient(180deg,#2a2a36,#16161c);
  color:var(--text);
  border-radius:8px;
  overflow:hidden;
  font-weight:600;
  font-size:.85rem;
  padding:8px;
}
.poster img,.thumb img{width:100%;height:100%;object-fit:cover;display:block;padding:0}
.poster:has(img){padding:0}
.poster.big{width:260px;aspect-ratio:2/3;padding:0}
.poster.small{width:108px;aspect-ratio:2/3;flex:none;padding:0}
.poster.medium{width:100%;aspect-ratio:2/3;padding:0}
.losers{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:16px;
  margin-top:22px;
}
.loser{
  display:grid;
  grid-template-columns:108px 1fr;
  gap:12px;
  align-items:end;
  background:var(--bg2);
  border:1px solid var(--line);
  border-radius:10px;
  padding:10px;
}
.loser b{display:block;font-size:.95rem;line-height:1.25}
.button{
  border:0;
  background:linear-gradient(180deg,#d4b36a,#b48a3d);
  color:#1a1408;
  border-radius:8px;
  padding:10px 16px;
  font-weight:700;
  font-size:.9rem;
  letter-spacing:.04em;
  cursor:pointer;
  font-family:inherit;
}
.button:hover{filter:brightness(1.06)}
.search{display:flex;gap:8px;margin-bottom:16px}
.search input{flex:1}
.hist-row{
  padding:12px;
  display:grid;
  grid-template-columns:92px 1fr 16px;
  gap:14px;
  align-items:center;
}
.hist-row:not(:has(.thumb)){grid-template-columns:1fr auto}
.thumb{
  width:92px;aspect-ratio:2/3;
  background:var(--navy2);color:var(--gold2);
  border-radius:8px;overflow:hidden;
  display:flex;align-items:center;justify-content:center;
  font-size:.8rem;
}
.theme{
  font-family:var(--serif);
  font-size:clamp(2rem,4vw,3.1rem);
  font-weight:600;
  margin:8px 0 28px;
  letter-spacing:.01em;
}
.secret{text-align:center;padding:42px 20px;margin:10px 0 28px;background:var(--bg2)}
.secret>div{font-size:36px;color:var(--gold)}
.secret h2{margin-top:8px}
.facts{overflow:hidden;margin:22px 0 0}
.facts>div{
  display:flex;justify-content:space-between;gap:20px;
  padding:13px 16px;
  border-bottom:1px solid var(--line);
  color:var(--muted);
}
.facts>div:last-child{border-bottom:0}
.facts b{color:var(--text);font-weight:600;text-align:right}
.adminbox{
  padding:16px;
  background:linear-gradient(180deg,rgba(198,161,91,.12),rgba(198,161,91,.05));
  margin-top:18px;
  display:grid;gap:10px;
}
.poster-upload{
  display:grid;
  gap:10px;
  margin-top:6px;
  padding-top:12px;
  border-top:1px solid var(--line);
}
.poster-upload .kicker{margin:0}
.poster-upload input[type=file]{
  padding:10px;
  background:#101014;
  color:var(--muted);
}
.admin-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.dup-group{margin:12px 0;padding:16px 18px}
.dup-group p{margin:.35em 0}
.tabs{display:flex;gap:8px;margin:4px 0 22px;flex-wrap:wrap}
.tabs a{
  padding:8px 14px;
  background:transparent;
  border-radius:999px;
  border:1px solid var(--line);
  color:var(--muted);
  font-size:.86rem;
  letter-spacing:.04em;
}
.tabs .active{background:var(--gold);border-color:var(--gold);color:#1a1408;font-weight:700}
.movie-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(168px,1fr));
  gap:18px 14px;
}
.movie-card{display:grid;gap:8px;min-width:0}
.movie-card .poster{box-shadow:0 10px 24px rgba(0,0,0,.4);transition:transform .2s}
.movie-card:hover .poster{transform:scale(1.03)}
.movie-card b{font-size:.92rem;line-height:1.25;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.movie-card small{color:var(--muted);font-size:.75rem}
.tmdb-missing{
  display:block;
  background:#7a1d1d;
  color:#fff;
  font-weight:700;
  font-size:10px;
  letter-spacing:.08em;
  text-transform:uppercase;
  text-align:center;
  padding:5px 6px;
  border-radius:6px;
}
.movie-detail{display:grid;grid-template-columns:280px 1fr;gap:32px;align-items:start}
.detailposter{width:280px;aspect-ratio:2/3;padding:0;box-shadow:var(--shadow)}
.overview{line-height:1.65;color:#ddd6c8;max-width:62ch}
.form-card{padding:22px;display:grid;gap:16px}
.form-card label{display:grid;gap:6px;font-weight:600;font-size:.9rem}
.form-card fieldset{
  border:1px solid var(--line);
  border-radius:12px;
  padding:14px;
  display:grid;gap:10px;
  background:var(--bg2);
}
.form-card legend{color:var(--gold2);padding:0 6px}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
input,select,textarea{
  width:100%;
  padding:11px 12px;
  border:1px solid var(--line);
  border-radius:8px;
  font:inherit;
  background:#101014;
  color:var(--text);
}
input:focus,select:focus,textarea:focus{outline:1px solid var(--gold);border-color:var(--gold)}
.check{display:flex!important;gap:8px!important;align-items:center;font-weight:500}
.check input{width:auto}
.title-search{display:grid;grid-template-columns:1fr auto;gap:8px}
.tmdb-results{display:grid;gap:6px}
.tmdb-manual{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:start}
.tmdb-manual #movieResults{grid-column:1/-1}
.pick,.tmdb-result{
  border:1px solid var(--line);
  background:var(--bg2);
  border-radius:8px;
  padding:6px;
  display:grid;
  grid-template-columns:42px 1fr auto;
  gap:8px;
  align-items:center;
  text-align:left;
  color:var(--text);
  cursor:pointer;
}
.pick img,.tmdb-result img{width:42px;height:63px;object-fit:cover;border-radius:5px}
.pick small,.tmdb-result small{display:block;color:var(--muted)}
.flash{padding:12px 14px;border-radius:8px;margin-bottom:14px;border:1px solid var(--line)}
.flash.success{background:rgba(46,125,70,.2);color:#c8e6c9}
.flash.error{background:rgba(160,40,40,.25);color:#ffc9c9}
.narrow{max-width:440px;margin:auto}
.bottomnav{
  position:fixed;bottom:0;left:0;right:0;
  background:rgba(12,12,14,.94);
  backdrop-filter:blur(16px);
  display:flex;justify-content:center;gap:48px;
  padding:10px 12px 12px;
  z-index:10;
  border-top:1px solid var(--line);
}
.bottomnav a{color:var(--muted);display:grid;text-align:center;font-size:18px;gap:2px;min-width:64px}
.bottomnav a.active,.bottomnav a:hover{color:var(--gold2)}
.bottomnav span{font-size:10px;letter-spacing:.12em;text-transform:uppercase}
footer{text-align:center;padding:18px 0 96px;color:var(--muted);font-size:.85rem}
footer a:hover{color:var(--gold2)}

@media(min-width:900px){
  .upcoming{grid-template-columns:1fr 1fr;grid-auto-flow:row}
  .upcoming-small{grid-template-columns:1fr}
  .recent-events{grid-template-columns:1fr 1fr}
  .history{grid-template-columns:1fr 1fr}
  .movie-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:22px 16px}
  .page{padding-top:28px}
}
@media(max-width:899px){
  .upcoming{grid-template-columns:1fr;grid-auto-flow:row}
  .stats-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:12px;
  }
  .numbers-grid{grid-template-columns:1fr 1fr}
  .story-grid{grid-template-columns:repeat(2, minmax(0, 1fr))}
  .stats-item{
    grid-column:auto !important;
    width:100%;
    min-width:0;
  }
  .kicker-oscar{height:18px}
}
@media(max-width:680px){
  .page{padding:14px 14px 6px}
  .jubilee{padding:28px 16px 22px;margin-bottom:16px}
  .lookback-stats{margin-bottom:22px}
  .stats-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:12px;
  }
  .stats-item{
    grid-column:auto !important;
    width:100%;
    min-width:0;
    min-height:120px;
    padding:16px 10px;
  }
  .stats-item b{font-size:1.45rem}
  .stats-item span{margin-top:6px;font-size:.62rem;letter-spacing:.08em;line-height:1.25}
  .numbers-grid{grid-template-columns:1fr 1fr}
  .story-grid{grid-template-columns:repeat(2, minmax(0, 1fr))}
  .topbar{height:auto;min-height:62px;padding:10px 14px;gap:10px;align-items:center}
  .brand b{font-size:1.25rem;letter-spacing:.08em}
  .topbar-actions{gap:8px 12px;max-width:62%}
  .topbar-user{font-size:.72rem;text-align:right;line-height:1.25}
  .upcoming{grid-template-columns:1fr;grid-auto-flow:row}
  .up-row{grid-template-columns:64px 1fr 14px;gap:8px;padding:12px}
  .up-row span:nth-child(3),.up-row span:nth-child(4){grid-column:2}
  .up-row span:last-child{grid-column:3;grid-row:1/4}
  .winner-grid{grid-template-columns:148px 1fr;gap:14px}
  .poster.big,.winner-grid .poster.big,.recent-events .poster.big,.recent-events .winner-grid .poster.big{width:148px}
  .losers{grid-template-columns:1fr;margin-top:16px}
  .loser{grid-template-columns:84px 1fr}
  .poster.small{width:84px}
  .movie-detail{grid-template-columns:1fr;gap:16px}
  .detailposter{width:min(220px,70%);margin:0 auto}
  .grid2{grid-template-columns:1fr}
  .bottomnav{gap:18px}
  .history{grid-template-columns:1fr}
  .hist-row{grid-template-columns:72px 1fr 14px}
  .thumb{width:72px}
  .movie-grid{grid-template-columns:repeat(auto-fill,minmax(132px,1fr));gap:14px 10px}
  .title-search,.tmdb-manual{grid-template-columns:1fr}
}
@media(max-width:420px){
  .story-grid{grid-template-columns:minmax(0, 1fr)}
  .stat-modal{padding:8px 8px 88px}
  .stat-modal-dialog{padding:18px 14px 14px;max-height:88vh}
  .stat-dots{display:none}
  .stat-lead{flex-wrap:wrap}
  .stat-value{white-space:normal}
}
