:root{--bg:#07070b;--bg2:#101018;--card:#14141f;--line:#262636;--tx:#ececf3;--mut:#8b8ba3;--gold:#ffb547;--red:#ff4d5e;--vio:#8a6bff;--cy:#33d6c8;--r:18px}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;background:radial-gradient(1200px 600px at 80% -10%,#2a1030 0,transparent 60%),radial-gradient(900px 500px at -10% 10%,#13213a 0,transparent 55%),var(--bg);color:var(--tx);font:16px/1.5 system-ui,-apple-system,"Segoe UI",Inter,Roboto,sans-serif;-webkit-font-smoothing:antialiased}
a{color:var(--gold)}main{max-width:1180px;margin:0 auto;padding:0 18px 40px}
.nav{position:sticky;top:0;z-index:5;display:flex;justify-content:space-between;align-items:center;padding:14px 22px;background:rgba(7,7,11,.75);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.nav a{color:var(--mut);text-decoration:none;margin-left:18px;font-weight:600}.nav a:hover{color:var(--tx)}
.logo img{display:block;height:40px;width:auto}.logo{font-weight:900;font-size:22px;letter-spacing:-.5px;color:var(--tx)!important;margin:0!important}.logo span{color:var(--red)}
.eyebrow{color:var(--gold);text-transform:uppercase;letter-spacing:.18em;font-size:12px;font-weight:700;margin:0 0 8px}
h1{font-size:clamp(38px,7vw,78px);line-height:.98;letter-spacing:-2px;margin:0 0 14px;font-weight:900}
h1 em{font-style:normal;background:linear-gradient(90deg,var(--gold),var(--red));-webkit-background-clip:text;background-clip:text;color:transparent}
.hero,.filmhero{padding:56px 0 26px;animation:up .7s ease both}.lede{color:var(--mut);max-width:640px;font-size:18px}
.sec{font-size:14px;color:var(--mut);text-transform:uppercase;letter-spacing:.15em}
.films{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(300px,100%),1fr));gap:18px}
.film{display:block;text-decoration:none;color:var(--tx);padding:24px;border-radius:var(--r);background:linear-gradient(160deg,#2a1420,#14141f 60%);border:1px solid var(--line);transition:transform .25s,border-color .25s}
.film:hover{transform:translateY(-4px);border-color:var(--gold)}.film h3{font-size:26px;margin:4px 0 14px}.film .big{font-size:40px;font-weight:900}
.pill-row{display:flex;gap:8px;flex-wrap:wrap}.pill{font-size:12px;padding:4px 10px;border-radius:99px;border:1px solid var(--line)}
.pill.obs{color:var(--cy);border-color:#1f5f5a}.pill.est{color:var(--gold);border-color:#6b4b1a}
.kpis{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin:18px 0}@media(min-width:820px){.kpis{grid-template-columns:repeat(4,1fr)}}
.kpi{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:18px;position:relative;overflow:hidden;animation:up .6s ease both}
.kpi:after{content:"";position:absolute;inset:auto -30% -60% auto;width:160px;height:160px;border-radius:50%;background:radial-gradient(var(--c,#ff4d5e55),transparent 70%)}
.kpi .l{color:var(--mut);font-size:12px;text-transform:uppercase;letter-spacing:.12em}.kpi .v{font-size:clamp(28px,4.5vw,44px);font-weight:900;letter-spacing:-1px}
.tag{font-size:10px;font-weight:800;padding:2px 6px;border-radius:6px;background:#3a2a10;color:var(--gold);margin-left:6px;vertical-align:middle}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:20px;margin:14px 0}.card h3{margin:0 0 14px}
.grid2{display:grid;gap:14px}@media(min-width:900px){.grid2{grid-template-columns:1fr 1fr}.grid2 .card{margin:0}}
.donut{display:flex;gap:18px;align-items:center;flex-wrap:wrap}.donut svg{width:200px;height:200px}.donut path{transition:opacity .2s;cursor:pointer}.donut path:hover{opacity:.75}
.legend{font-size:13px;flex:1;min-width:180px}.legend div{display:flex;justify-content:space-between;gap:8px;padding:3px 0;border-bottom:1px dashed #22222f}.sw{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:6px}
.bar{display:grid;grid-template-columns:120px 1fr 90px;gap:10px;align-items:center;margin:7px 0;font-size:14px}
.track{height:14px;background:#1c1c28;border-radius:8px;overflow:hidden;display:flex}.track i{display:block;height:100%;width:0;transition:width 1s cubic-bezier(.2,.8,.2,1)}
.track .o{background:linear-gradient(90deg,#1aa79b,var(--cy))}.track .e{background:repeating-linear-gradient(45deg,var(--gold) 0 6px,#c98a2a 6px 12px)}
.num{text-align:right;font-variant-numeric:tabular-nums}
.parts{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;align-items:end;height:180px}.parts div{display:flex;flex-direction:column;justify-content:flex-end;height:100%;text-align:center;font-size:13px;color:var(--mut)}
.parts b{display:block;background:linear-gradient(180deg,var(--vio),#4b33b5);border-radius:10px 10px 4px 4px;height:0;transition:height 1s cubic-bezier(.2,.8,.2,1);margin-bottom:6px}
.tabhead{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between}.tabhead h3{margin:0}
.tabs button{background:#1c1c28;color:var(--mut);border:1px solid var(--line);padding:7px 12px;border-radius:99px;margin:2px;cursor:pointer;font-weight:600}
.tabs button[aria-selected=true]{background:var(--tx);color:#000}
input[type=search]{background:#0d0d14;border:1px solid var(--line);color:var(--tx);padding:9px 12px;border-radius:10px;min-width:160px}
.tablewrap{margin-top:12px;max-width:100%}table{width:100%;border-collapse:collapse;font-size:14px}
th{position:sticky;top:0;text-align:left;color:var(--mut);font-weight:600;cursor:pointer;padding:9px;border-bottom:1px solid var(--line);white-space:nowrap;user-select:none}
th:hover{color:var(--tx)}td{padding:9px;border-bottom:1px solid #1d1d29;white-space:nowrap}tr:hover td{background:#191926}
.note{color:var(--mut);font-size:12px}
.ad{display:flex;align-items:center;justify-content:center;border:1px dashed #33334a;border-radius:12px;color:#55556e;font-size:11px;letter-spacing:.2em;margin:18px auto;background:#0c0c13}
.ad-leader{max-width:728px;min-height:90px}.ad-inline{min-height:100px}@media(max-width:600px){.ad-leader{min-height:60px}}
.prose{max-width:760px;padding:40px 0}.prose h1{font-size:48px}.prose p{color:#c9c9d6}
footer{border-top:1px solid var(--line);color:var(--mut);font-size:13px;text-align:center;padding:24px 18px}
svg text{fill:var(--mut);font-size:11px}
@keyframes up{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
.more{margin-top:10px;background:none;border:1px solid var(--line);color:var(--tx);padding:8px 14px;border-radius:10px;cursor:pointer}

/* no horizontal scroll anywhere */
html,body{overflow-x:hidden}img,svg{max-width:100%}.tabs{display:flex;flex-wrap:wrap}input[type=search]{min-width:0;max-width:100%}
.tabhead{flex-wrap:wrap}
@media(max-width:640px){
 #tbl thead{display:none}#tbl,#tbl tbody,#tbl tr,#tbl td{display:block;width:100%}
 #tbl tr{border:1px solid var(--line);border-radius:12px;margin:0 0 10px;padding:6px 10px;display:grid;grid-template-columns:1fr 1fr;gap:2px 12px}
 #tbl td{border:0;padding:4px 0;white-space:normal;text-align:left}
 #tbl td.key{grid-column:1/-1;font-weight:700;font-size:15px}
 #tbl td.num:before{content:attr(data-label);display:block;color:var(--mut);font-size:11px}
}
/* snapshot modal */
.snapbtn{background:linear-gradient(90deg,var(--gold),var(--red));color:#07070b;border:0;border-radius:99px;padding:8px 16px;font-weight:800;cursor:pointer;font-size:14px}
.snapdlg{width:min(560px,calc(100vw - 24px));max-height:calc(100dvh - 24px);overflow-y:auto;overflow-x:hidden;background:var(--bg2);color:var(--tx);border:1px solid var(--line);border-radius:var(--r);padding:20px}
.snapdlg::backdrop{background:rgba(0,0,0,.7);backdrop-filter:blur(4px)}
.snaphead{display:flex;justify-content:space-between;align-items:center}.snaphead h3{margin:0}.snapdlg .x{background:none;border:0;color:var(--mut);font-size:28px;cursor:pointer}
.snapdlg fieldset{border:0;padding:0;margin:12px 0;display:grid;gap:8px}.snapdlg legend{color:var(--mut);font-size:12px;text-transform:uppercase;letter-spacing:.12em;margin-bottom:6px}
.snapsec{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.snapsec label{display:grid;gap:2px;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:10px 12px;cursor:pointer;position:relative}
.snapsec input,.snapfmt input{accent-color:var(--red)}.snapsec label{grid-template-columns:auto 1fr;column-gap:10px;align-items:start;align-content:start}.snapsec input{grid-row:1/3;margin:4px 0 0;width:18px;height:18px}.snapsec b,.snapsec small{grid-column:2;min-width:0;overflow-wrap:anywhere}.snapsec small{color:var(--mut)}.snapsec label:has(input:checked){border-color:var(--red)}
.snapfmt{grid-template-columns:1fr 1fr}.snapfmt label{display:flex;align-items:center;gap:8px;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:10px;cursor:pointer}
.snapprev img{display:block;max-width:100%;max-height:50dvh;margin:8px auto;border-radius:12px}
.snapact{display:flex;flex-wrap:wrap;gap:8px}.snapact button{flex:1 1 140px;padding:11px;border-radius:12px;border:1px solid var(--line);background:var(--card);color:var(--tx);font-weight:800;cursor:pointer}.snapact .go{background:linear-gradient(90deg,var(--gold),var(--red));color:#07070b;border:0}
.snapnext{margin-top:16px;padding-top:12px;border-top:1px solid var(--line)}.snapnext h4{margin:0 0 8px}.nextlinks{display:flex;flex-wrap:wrap;gap:8px}.nextlinks a{background:var(--card);border:1px solid var(--line);border-radius:99px;padding:7px 12px;text-decoration:none;font-weight:700;font-size:14px}
.ad-modal{margin-top:28px;min-height:100px}
/* settings + theme */
.nav nav{display:flex;align-items:center}.setwrap{position:relative;margin-left:14px}
.gear{background:var(--card);border:1px solid var(--line);color:var(--tx);width:36px;height:36px;border-radius:10px;font-size:18px;cursor:pointer;line-height:1}
.setpop{position:absolute;right:0;top:44px;background:var(--bg2);border:1px solid var(--line);border-radius:14px;padding:10px;display:grid;gap:6px;width:160px;box-shadow:0 12px 30px rgba(0,0,0,.35);z-index:10}
.setpop[hidden]{display:none}.setpop p{margin:0 4px 2px;color:var(--mut);font-size:11px;text-transform:uppercase;letter-spacing:.12em}
.setpop button{background:var(--card);border:1px solid var(--line);color:var(--tx);border-radius:10px;padding:8px;font-weight:700;cursor:pointer;text-align:left}
.setpop button[aria-pressed=true]{border-color:var(--red);box-shadow:inset 3px 0 0 var(--red)}
@media(max-width:420px){.nav{padding:12px 14px}.nav a{margin-left:12px}.logo img{height:32px}}
:root[data-theme=light]{color-scheme:light;--bg:#f6f5f9;--bg2:#ffffff;--card:#ffffff;--line:#dedbe7;--tx:#14141f;--mut:#5d5d74;--gold:#b45309;--red:#d6283a;--vio:#6a4be0;--cy:#0f8f85}
:root[data-theme=light] body{background:radial-gradient(1200px 600px at 80% -10%,#ffe3e8 0,transparent 60%),radial-gradient(900px 500px at -10% 10%,#e3ecff 0,transparent 55%),var(--bg)}
:root[data-theme=light] .nav{background:rgba(255,255,255,.8)}
:root[data-theme=light] .logo img{content:url(/assets/logo-light.dfec1930.svg)}
:root[data-theme=light] .film{background:linear-gradient(160deg,#ffe9ee,#fff 60%)}
:root[data-theme=light] .card,:root[data-theme=light] .kpi{box-shadow:0 1px 2px rgba(20,20,31,.05),0 6px 20px rgba(20,20,31,.05)}
:root[data-theme=light] .tag{background:#fdebd3;color:#9a4a07}
:root[data-theme=light] .pill.est{border-color:#f0c58f}:root[data-theme=light] .pill.obs{border-color:#9bd8d2}
:root[data-theme=light] .track{background:#ebe8f2}
:root[data-theme=light] .legend div{border-bottom-color:#e6e3ee}
:root[data-theme=light] input[type=search]{background:#fff}
:root[data-theme=light] .tabs button{background:#f0eef5}:root[data-theme=light] .tabs button[aria-selected=true]{background:var(--tx);color:#fff}
:root[data-theme=light] td{border-bottom-color:#ece9f2}:root[data-theme=light] tr:hover td{background:#f5f3fa}
:root[data-theme=light] .ad{background:#fbfaff;border-color:#cfcbdc;color:#6e6e86}
:root[data-theme=light] .prose p{color:#33334a}
:root[data-theme=light] .growth line,:root[data-theme=light] #growth line{stroke:#e3e0ec}
:root[data-theme=light] .snapdlg::backdrop{background:rgba(20,20,31,.45)}
:root[data-theme=light] .snapbtn,:root[data-theme=light] .snapact .go{color:#fff;background:linear-gradient(90deg,#c2410c,#d6283a)}
:root[data-theme=light] .kpi:after{opacity:.45}
#tbl{font-variant-numeric:tabular-nums}#tbl th.num,#tbl td.num{text-align:right}#tbl th:first-child,#tbl td:first-child{text-align:left;padding-left:12px}#tbl th:last-child,#tbl td:last-child{padding-right:12px}
@media(max-width:640px){#tbl td.num{text-align:left}}
/* update banner: fixed overlay => no layout shift; bottom-centered, clear of in-flow ad slots */
.upd-banner{position:fixed;left:50%;bottom:max(12px,env(safe-area-inset-bottom));transform:translateX(-50%);z-index:60;display:flex;align-items:center;gap:4px;max-width:calc(100vw - 24px);box-sizing:border-box;padding:4px 4px 4px 14px;border-radius:999px;background:#1d1a2b;color:#fff;border:1px solid rgba(255,255,255,.15);box-shadow:0 6px 24px rgba(0,0,0,.35);font-size:13px}
.upd-banner button{background:none;border:0;color:inherit;font:inherit;cursor:pointer}
.upd-go{padding:6px 4px;text-align:left;white-space:normal}.upd-go:hover{text-decoration:underline}
.upd-x{width:30px;height:30px;border-radius:50%;font-size:18px;line-height:1;flex:none}.upd-x:hover{background:rgba(255,255,255,.12)}
:root[data-theme=light] .upd-banner{background:#fff;color:#1d1a2b;border-color:rgba(0,0,0,.12);box-shadow:0 6px 24px rgba(0,0,0,.15)}
:root[data-theme=light] .upd-x:hover{background:rgba(0,0,0,.06)}

/* Lucide icons (single set, stroke 2) */
.ico{flex:none;display:inline-block;vertical-align:middle;stroke-width:2}
.snapbtn,.snapform .dl,.snapform .sh,.upd-go,.setpop button,.snapdlg .x,.gear{display:inline-flex;align-items:center;justify-content:center;gap:8px}
.setpop button{justify-content:flex-start}
.snapdlg a{display:inline-flex;align-items:center;gap:6px}
#tbl th{white-space:nowrap}#tbl th .ico{margin:0 3px;vertical-align:-2px}#tbl th.num{text-align:right}
.upd-go{gap:8px}

/* share donut selector */
.sharehead{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:12px}.sharehead h3{margin:0;min-width:0}
.vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.selwrap{position:relative;display:inline-flex;align-items:center;max-width:100%}
.selwrap select{appearance:none;-webkit-appearance:none;font:inherit;font-size:13px;font-weight:600;color:var(--tx);background:var(--bg2);border:1px solid var(--line);border-radius:10px;padding:7px 34px 7px 12px;cursor:pointer;max-width:100%}
.selwrap select:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.selwrap .ico{position:absolute;right:10px;pointer-events:none;opacity:.8}
.selwrap select option{color:#111;background:#fff}
:root[data-theme=light] .selwrap select{background:#fff;color:#1d1a2b}
