/* EdgeBoard site — "Under the lights". Stadium at night, broadcast-graphic discipline.
   Tokens from the brand: stadium green-black, orange, field green; Oswald + Inter. */
@font-face{font-family:"Inter";font-style:normal;font-weight:100 900;font-display:swap;src:url(../fonts/inter-latin-wght-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Inter";font-style:normal;font-weight:100 900;font-display:swap;src:url(../fonts/inter-latin-ext-wght-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Oswald";font-style:normal;font-weight:200 700;font-display:swap;src:url(../fonts/oswald-latin-wght-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Oswald";font-style:normal;font-weight:200 700;font-display:swap;src:url(../fonts/oswald-latin-ext-wght-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}

:root{
  --bg:#0A100D;--bg-deep:#060A08;--surface:#121A16;--surface-2:#18221D;--ink:#F1F5F2;--muted:#8FA096;--soft:#B9C6BE;
  --accent:#FF7A1A;--accent-ink:#130A02;--field:#2FD07A;--miss:#FF5A5A;--lamp:#FFF4DC;--led:#FFB35C;
  --line:rgba(241,245,242,.12);--line-2:rgba(241,245,242,.2);--chalk:rgba(241,245,242,.26);--turf:#0B1510;
  --radius:8px;--head:62px;--gut:clamp(18px,4.2vw,44px);
  --font:"Inter",system-ui,-apple-system,"Segoe UI",sans-serif;--display:"Oswald","Arial Narrow",sans-serif;
  --kit-accent:var(--accent);--kit-accent-ink:var(--accent-ink);--kit-bg:var(--surface);--kit-ink:var(--ink);--kit-muted:var(--muted);--kit-line:var(--line);--kit-soft:rgba(241,245,242,.06);--kit-radius:12px;--kit-font:var(--font);--kit-ok:var(--field);--kit-err:var(--miss);--kit-shadow:0 24px 70px rgba(0,0,0,.6);
  --app-display:var(--display);--app-bg:var(--bg);--app-surface:var(--surface);--app-field:var(--field);--app-miss:var(--miss);
  color-scheme:dark;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--head) + 16px)}
body{margin:0;font-family:var(--font);font-size:17.5px;line-height:1.62;color:var(--ink);background:var(--bg);overflow-x:hidden;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img,svg,canvas{max-width:100%}img{height:auto;display:block}
a{color:var(--accent);text-underline-offset:3px}
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}
h1,h2,h3,p,ul,ol,dl,figure{margin:0}
ul,ol{padding:0;list-style:none}
.wrap{width:min(1240px,100% - 2 * var(--gut));margin-inline:auto}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}
.skip{position:absolute;left:-999px}.skip:focus{left:12px;top:12px;z-index:999;background:var(--surface);color:var(--ink);padding:12px 16px;border-radius:var(--radius)}
.ic{flex:none;vertical-align:-3px}
.hp{position:absolute;left:-9999px}

/* ---------- type ---------- */
h1,h2,.h-display{font-family:var(--display);font-weight:600;text-transform:uppercase;letter-spacing:.012em;line-height:1.02}
h2{font-size:clamp(30px,4.3vw,54px)}
h3,.h3{font-family:var(--display);font-weight:500;text-transform:uppercase;letter-spacing:.04em;font-size:20px;line-height:1.2}
.lead{font-size:clamp(18.5px,1.6vw,21px);line-height:1.55;color:var(--soft);max-width:60ch}
.fine{font-size:14.5px;line-height:1.55;color:var(--muted);max-width:76ch}
.fine a{color:var(--soft)}
.lamp{text-shadow:0 0 44px rgba(255,244,220,.14)}
.link{display:inline-flex;align-items:center;gap:8px;min-height:44px;color:var(--accent);font-weight:650;text-decoration:none;border-bottom:0}
.link .ic{transition:transform .25s ease}
.link:hover .ic{transform:translateX(4px)}

/* dot-matrix numerals */
.dm{display:inline-flex;align-items:center;line-height:1;font-family:var(--display);font-weight:600;font-variant-numeric:tabular-nums}
.dm-svg{height:1em;width:auto;overflow:visible;display:block}
.dm-on{stroke:var(--dm-on,var(--led));filter:drop-shadow(0 0 .35px var(--dm-on,var(--led)))}
.dm-off{stroke:rgba(241,245,242,.07)}

/* ---------- buttons, tags ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:10px 20px;border-radius:var(--radius);border:1px solid var(--line-2);background:rgba(18,26,22,.72);color:var(--ink);font-family:var(--display);font-weight:500;font-size:16.5px;letter-spacing:.06em;text-transform:uppercase;text-decoration:none;cursor:pointer;transition:background .2s ease,border-color .2s ease,transform .2s ease,box-shadow .2s ease;-webkit-tap-highlight-color:transparent}
.btn:hover{border-color:var(--ink);background:var(--surface-2)}
.btn--primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);font-weight:600;box-shadow:0 0 0 0 rgba(255,122,26,0)}
.btn--primary:hover{background:#ff8d38;border-color:#ff8d38;box-shadow:0 8px 34px -8px rgba(255,122,26,.6)}
.btn--lg{min-height:56px;padding:12px 26px;font-size:18px}
.btn--ghost{background:rgba(10,16,13,.55);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.btn .ic{transition:transform .25s ease}.btn:hover .ic{transform:translateX(3px)}
.tag{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border-radius:6px;font-size:13px;font-weight:650;line-height:1.25;letter-spacing:.01em}
.tag--pub{background:rgba(47,208,122,.13);color:#5fe39c;border:1px solid rgba(47,208,122,.34)}
.tag--back{background:rgba(241,245,242,.06);color:var(--soft);border:1px dashed rgba(241,245,242,.34)}
.tag--est{background:rgba(255,122,26,.08);color:#ffa869;border:1px solid rgba(255,122,26,.4)}
.verdict{display:inline-flex;align-items:center;gap:5px;font-size:13px;font-weight:700;letter-spacing:.02em}
.verdict--called{color:var(--field)}.verdict--missed{color:var(--miss)}
.abbr{display:inline-flex;align-items:center;justify-content:center;min-width:46px;height:28px;padding:0 7px;border-radius:5px;background:#1d2a24;border:1px solid var(--line-2);font-family:var(--display);font-weight:600;font-size:15px;letter-spacing:.05em;color:var(--ink)}

/* ---------- header ---------- */
.site-head{position:sticky;top:0;z-index:60;display:flex;align-items:center;gap:22px;height:var(--head);padding:0 var(--gut);background:var(--bg);border-bottom:1px solid var(--line)}
.site-head::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;background:linear-gradient(90deg,var(--accent) 0 64px,transparent 64px)}
.brand{display:flex;align-items:center;flex:none;min-height:44px}
.brand img{height:30px;width:auto}
.nav{display:flex;align-items:center;gap:4px;margin-left:auto}
.nav a{display:inline-flex;align-items:center;min-height:44px;padding:0 13px;color:var(--soft);text-decoration:none;font-family:var(--display);font-size:16px;font-weight:400;letter-spacing:.07em;text-transform:uppercase;position:relative;transition:color .15s ease}
.nav a:hover{color:var(--ink)}
.nav a[aria-current]{color:var(--ink)}
.nav a[aria-current]::after{content:"";position:absolute;left:13px;right:13px;bottom:6px;height:2px;background:var(--accent)}
.nav .nav-more,.nav .nav-cta{display:none}
.head-actions{display:flex;align-items:center;gap:10px}
.head-cta{min-height:42px;padding:8px 16px;font-size:15.5px}
.ackit-acct-btn{color:var(--ink);min-height:42px}
.burger{display:none;width:46px;height:46px;border:1px solid var(--line-2);border-radius:var(--radius);background:transparent;cursor:pointer;padding:0;position:relative}
.burger span{position:absolute;left:12px;right:12px;height:2px;background:var(--ink);transition:transform .25s ease,opacity .2s ease,top .25s ease}
.burger span:nth-child(1){top:15px}.burger span:nth-child(2){top:22px}.burger span:nth-child(3){top:29px}
.burger[aria-expanded="true"] span:nth-child(1){top:22px;transform:rotate(45deg)}
.burger[aria-expanded="true"] span:nth-child(2){opacity:0}
.burger[aria-expanded="true"] span:nth-child(3){top:22px;transform:rotate(-45deg)}
.is-app .head-cta{display:none}
@media (max-width:1180px){.nav a{padding:0 9px;font-size:15px}.site-head{gap:14px}}
@media (max-width:1040px){
  .burger{display:block}
  .head-cta{display:none}
  .nav{position:fixed;top:var(--head);left:0;right:0;bottom:0;margin:0;flex-direction:column;align-items:stretch;gap:0;padding:14px var(--gut) calc(28px + env(safe-area-inset-bottom));background:var(--bg);overflow-y:auto;visibility:hidden;opacity:0;transform:translateY(-8px);transition:opacity .22s ease,transform .22s ease,visibility 0s linear .22s;z-index:59}
  .nav.is-open{visibility:visible;opacity:1;transform:none;transition:opacity .22s ease,transform .22s ease}
  .nav a{min-height:56px;padding:0 4px;font-size:24px;font-weight:500;color:var(--ink);border-bottom:1px solid var(--line)}
  .nav a[aria-current]::after{left:auto;right:4px;bottom:auto;top:50%;width:10px;height:10px;border-radius:50%;transform:translateY(-50%)}
  .nav .nav-more{display:inline-flex;font-size:19px;color:var(--soft);min-height:50px}
  .nav .nav-cta{display:inline-flex;justify-content:center;margin-top:22px;min-height:58px;border-bottom:0;color:var(--accent-ink);font-size:19px;font-weight:600}
  body.nav-open{overflow:hidden}
}

/* ---------- the stage: stadium scene behind hero and film ---------- */
.stage{position:relative;background:var(--bg-deep)}
.scene{position:sticky;top:var(--head);height:calc(100svh - var(--head));margin-bottom:calc(var(--head) - 100svh);overflow:hidden;z-index:0;background:var(--bg-deep)}
.scene-still{position:absolute;inset:0;background:var(--bg-deep) url(../img/scene-poster.webp) center/cover no-repeat;transition:opacity 1.4s ease .2s}
.scene.is-static .scene-canvas{display:none}
.scene-date{position:absolute;right:var(--gut);top:14px;z-index:1;padding:5px 9px;border-radius:5px;background:rgba(6,10,8,.78);border:1px solid var(--line-2);font-size:12.5px;font-weight:600;color:var(--soft);transition:opacity .4s ease}
.scene.is-live .scene-date{opacity:0;visibility:hidden}
.scene-canvas{position:absolute;inset:0;width:100%;height:100%;display:block;opacity:0;transition:opacity 1.2s ease}
.scene.is-live .scene-canvas{opacity:1}
.scene.is-live .scene-still{opacity:0}
.scene-shade{position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(6,10,8,.86) 0%,rgba(6,10,8,.52) 30%,rgba(6,10,8,0) 58%),linear-gradient(0deg,rgba(6,10,8,.92) 0%,rgba(6,10,8,0) 34%);transition:background-color .6s ease}
.stage.in-film .scene-shade{background:linear-gradient(90deg,rgba(6,10,8,.9) 0%,rgba(6,10,8,.74) 34%,rgba(6,10,8,.12) 60%,rgba(6,10,8,0) 100%),linear-gradient(0deg,rgba(6,10,8,.7) 0%,rgba(6,10,8,0) 22%)}

.hero{position:relative;z-index:1;min-height:calc(100svh - var(--head) - 56px);display:flex;align-items:flex-end;padding:40px 0 34px}
.hero-in{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,360px);gap:40px;align-items:end}
.hero-title{font-size:clamp(34px,4.5vw,66px);line-height:1;letter-spacing:.008em;text-shadow:0 2px 30px rgba(0,0,0,.6)}
.hero-title span{display:block;max-width:11.2em;text-wrap:balance}
.hero-title span + span{color:var(--led)}
.hero-sub{margin-top:20px;font-size:clamp(17.5px,1.45vw,20.5px);line-height:1.5;color:var(--soft);max-width:56ch;text-shadow:0 1px 16px rgba(0,0,0,.7)}
.hero-btns{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}
.hero-note{margin-top:14px;font-size:14.5px;color:var(--muted)}
.hero-cue{position:absolute;left:50%;bottom:8px;width:44px;height:44px;margin-left:-22px;display:flex;align-items:center;justify-content:center}
.hero-cue span{width:2px;height:22px;background:linear-gradient(var(--ink),transparent);animation:cue 1.8s ease-in-out infinite}
@keyframes cue{0%{transform:scaleY(.2);transform-origin:top;opacity:0}40%{transform:scaleY(1);transform-origin:top;opacity:1}100%{transform:scaleY(1) translateY(12px);opacity:0}}

/* the lower third: the game the scoreboard is showing */
.live--now{background:rgba(10,16,13,.8);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--line-2);border-left:3px solid var(--accent);border-radius:var(--radius);padding:12px 14px 12px;min-height:168px}
.now-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:6px}
.now-label{font-family:var(--display);font-size:13.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);font-weight:500}
.now-lg{font-size:13.5px;color:var(--soft);font-weight:600}
.now-dots{display:flex;gap:4px;margin-left:auto}
.now-dots i{width:6px;height:6px;border-radius:50%;background:rgba(241,245,242,.2)}
.now-dots i.is-on{background:var(--accent)}
.now-game{display:grid;gap:0;text-decoration:none;color:var(--ink)}
.now-side{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:10px;min-height:44px;color:var(--soft)}
.now-name{font-weight:650;font-size:17px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.now-score{font-family:var(--display);font-size:22px;font-weight:600;min-width:26px;text-align:center;padding:0 7px;border-radius:5px;background:#1d2a24}
.now-pct{font-size:30px;--dm-on:#93a39a}
.now-side.is-lean{color:var(--ink)}.now-side.is-lean .now-pct{--dm-on:var(--accent)}
.now-side.is-won .now-score{background:var(--ink);color:var(--bg)}
.now-foot{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:6px}

/* ticker */
.ticker{position:relative;z-index:2;display:flex;align-items:stretch;height:56px;background:var(--bg);border-top:1px solid var(--line-2);border-bottom:1px solid var(--line-2);overflow:hidden}
.ticker-label{flex:none;display:flex;align-items:center;padding:0 18px 0 var(--gut);background:var(--accent);color:var(--accent-ink);font-family:var(--display);font-weight:600;letter-spacing:.12em;text-transform:uppercase;font-size:15px;position:relative;z-index:1}
.ticker-label::after{content:"";position:absolute;left:100%;top:0;bottom:0;width:16px;background:var(--accent);clip-path:polygon(0 0,100% 50%,0 100%)}
.live--ticker{flex:1;min-width:0;display:flex;align-items:center;overflow:hidden}
.ticker-track{display:flex;width:max-content;animation:crawl var(--dur,48s) linear infinite}
.ticker:hover .ticker-track,.ticker:focus-within .ticker-track{animation-play-state:paused}
.ticker-set{display:flex;flex:none}
@keyframes crawl{to{transform:translateX(-50%)}}
.tick{display:inline-flex;align-items:center;gap:12px;height:56px;padding:0 26px;color:var(--soft);text-decoration:none;white-space:nowrap;border-right:1px solid var(--line);font-size:15px}
.tick:hover{background:var(--surface)}
.tick-lg{font-family:var(--display);font-size:13.5px;letter-spacing:.12em;color:var(--muted)}
.tick-t{display:inline-flex;align-items:baseline;gap:8px;font-family:var(--display);font-size:19px;letter-spacing:.04em}
.tick-t b{font-weight:500;color:var(--soft)}.tick-t b.is-lean{color:var(--accent);font-weight:600}
.tick-t i{font-style:normal;font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.1em;font-family:var(--font)}
.tick-s{font-size:13.5px;color:var(--muted)}
.tick--called .tick-s{color:var(--field)}.tick--missed .tick-s{color:var(--miss)}
.tick-k{font-size:11.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:3px 7px;border-radius:4px;border:1px solid var(--line-2);color:var(--muted)}
.tick-k--published{color:#5fe39c;border-color:rgba(47,208,122,.4)}

/* ---------- the film ---------- */
.film{position:relative;z-index:1}
.film-rail{display:none}
.act{position:relative;padding:72px 0}
.act + .act{border-top:1px solid var(--line)}
.act-in{display:grid;gap:30px}
.act-copy{max-width:560px}
.act-name{display:flex;align-items:center;gap:12px;margin-bottom:14px;font-family:var(--display);font-size:15px;letter-spacing:.16em;text-transform:uppercase;color:var(--accent)}
.act-name::before{content:"";width:34px;height:2px;background:var(--accent)}
.act-copy h2{font-size:clamp(30px,3.7vw,50px);margin-bottom:18px}
.act-copy p{color:var(--soft);margin-top:12px;max-width:54ch}
.act-copy p:last-child{margin-top:16px}
.act-show{position:relative;display:grid;gap:22px;min-width:0}
.panel{background:#0d1411;border:1px solid var(--line-2);border-radius:12px;padding:18px}
.panel-label{display:flex;align-items:center;gap:8px;margin-bottom:12px;font-family:var(--display);font-size:13.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--soft)}
.panel-label i{width:8px;height:8px;border-radius:50%;background:var(--field);box-shadow:0 0 0 0 rgba(47,208,122,.6);animation:pulse 2.2s ease-out infinite}
@keyframes pulse{to{box-shadow:0 0 0 9px rgba(47,208,122,0)}}

/* a real screenshot, framed like a stadium screen */
.screen{position:relative;margin:0}
.screen-bezel{position:relative;border-radius:12px;background:#05080690;padding:8px;border:1px solid var(--line-2);box-shadow:0 30px 80px -30px rgba(0,0,0,.9),0 0 0 1px rgba(0,0,0,.6)}
.screen-bezel img{width:100%;border-radius:6px;background:var(--bg)}
.screen-lamps{position:absolute;top:-5px;left:22px;display:flex;gap:6px}
.screen-lamps i{width:16px;height:4px;border-radius:2px;background:var(--lamp);box-shadow:0 0 12px 2px rgba(255,244,220,.5)}
.screen figcaption{display:flex;align-items:stretch;margin-top:10px;font-size:13px;line-height:1.35;color:var(--muted);max-width:100%}
.screen figcaption b{flex:none;display:flex;align-items:center;padding:5px 9px;background:var(--ink);color:var(--bg);font-family:var(--display);font-weight:600;letter-spacing:.09em;text-transform:uppercase;font-size:12.5px;border-radius:4px 0 0 4px}
.screen figcaption span{display:flex;align-items:center;padding:5px 10px;background:var(--surface);border:1px solid var(--line);border-left:0;border-radius:0 4px 4px 0}

/* pinned on desktop: one act on stage at a time */
.film.is-pinned .film-stage{position:relative;height:calc(100svh - var(--head));overflow:hidden}
.film.is-pinned .film-stage::before{content:"";position:absolute;top:0;left:0;right:0;height:120px;background:linear-gradient(180deg,rgba(6,10,8,.92),rgba(6,10,8,0));z-index:2;pointer-events:none}
.film.is-pinned .film-rail{position:absolute;top:22px;left:0;right:0;z-index:3;display:flex;gap:10px;width:min(1240px,100% - 2 * var(--gut));margin-inline:auto}
.film-rail li{flex:1;position:relative;padding-top:12px;font-family:var(--display);font-size:14px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);transition:color .3s ease}
.film-rail li::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:rgba(241,245,242,.16)}
.film-rail li::after{content:"";position:absolute;left:0;top:0;height:3px;width:calc(var(--p,0) * 100%);background:var(--accent)}
.film-rail li.is-on{color:var(--ink)}
.film.is-pinned .act{position:absolute;inset:0;padding:74px 0 20px;display:flex;align-items:center;border:0;visibility:hidden}
.film.is-pinned .act.is-on{visibility:visible}
.film.is-pinned .act-in{grid-template-columns:minmax(0,5fr) minmax(0,8fr);gap:clamp(28px,4vw,64px);align-items:center;width:min(1240px,100% - 2 * var(--gut))}
.film.is-pinned .act-name{display:none}
.film.is-pinned .act-copy{will-change:transform,opacity}
.film.is-pinned .act-show{display:block;height:min(700px,calc(100svh - var(--head) - 112px));perspective:1600px}
.film.is-pinned .act-shot,.film.is-pinned .act-live{position:absolute;left:0;right:0;top:50%;will-change:transform,opacity}
.film.is-pinned .act-shot{transform-origin:60% 50%}
.film.is-pinned .act-live{max-height:100%;overflow:hidden;box-shadow:0 40px 90px -30px rgba(0,0,0,.95)}
.film.is-pinned .act-shot img{max-height:calc(min(700px,100svh - var(--head) - 112px) - 70px);object-fit:cover;object-position:top left}
@media (max-height:860px){.film.is-pinned .ex-ctx,.film.is-pinned .live--reasons .live-stamp,.film.is-pinned .cal-legend{display:none}.film.is-pinned .step{padding:8px 12px 18px}.film.is-pinned .act-copy h2{font-size:clamp(28px,3.2vw,42px)}}
@media (max-height:760px){.film.is-pinned .live--calibration .cal-scores,.film.is-pinned .ledger-note,.film.is-pinned .live--board .live-stamp{display:none}.film.is-pinned .panel{padding:12px 14px}.film.is-pinned .panel-label{margin-bottom:6px}.film.is-pinned .steps{gap:5px}.film.is-pinned .step{padding:6px 10px 17px;gap:2px}.film.is-pinned .step--start .step-t span{display:none}.film.is-pinned .ex-head{margin-bottom:8px}.film.is-pinned .ex-title strong{font-size:18px}.film.is-pinned .ex-total{margin-top:6px;padding:8px 12px}.film.is-pinned .act{padding-top:64px}.film.is-pinned .act-show{height:calc(100svh - var(--head) - 92px)}}

/* ---------- live blocks ---------- */
.live{position:relative;min-width:0}
.live[aria-busy="true"]{min-height:120px}
.live-wait{display:flex;gap:7px;align-items:center;height:48px}
.live-wait i{width:9px;height:9px;border-radius:50%;background:var(--led);opacity:.2;animation:wait 1.1s ease-in-out infinite}
.live-wait i:nth-child(2){animation-delay:.15s}.live-wait i:nth-child(3){animation-delay:.3s}
@keyframes wait{50%{opacity:1}}
.live.is-live .live-wait,.live.is-failed .live-wait{display:none}
.live-fail,.callout{display:flex;gap:10px;align-items:flex-start;padding:14px 16px;border-radius:var(--radius);background:rgba(255,122,26,.07);border:1px solid rgba(255,122,26,.34);font-size:15.5px;line-height:1.5;color:var(--ink)}
.live-fail .eb-ic,.callout .eb-ic,.callout .ic{color:var(--accent);margin-top:2px;flex:none}
.live-stamp{display:flex;gap:8px;align-items:flex-start;margin-top:14px;font-size:13px;line-height:1.5;color:var(--muted)}
.live-stamp .eb-ic{margin-top:2px;flex:none}
.live-stamp a{color:var(--soft)}

.gcards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:12px}
.gcard{display:block;padding:13px 14px 12px;border-radius:10px;background:var(--surface);border:1px solid var(--line);color:var(--ink);text-decoration:none;transition:border-color .2s ease,transform .2s ease}
.gcard:hover{border-color:var(--accent);transform:translateY(-2px)}
.gcard-top{display:flex;justify-content:space-between;gap:10px;margin-bottom:8px;font-size:13px;color:var(--muted);font-weight:600}
.gcard-lg{font-family:var(--display);letter-spacing:.12em;text-transform:uppercase;color:var(--soft);font-weight:500;font-size:13.5px}
.gcard-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:10px;min-height:44px;color:var(--soft)}
.gcard-name{display:grid;line-height:1.2;min-width:0}
.gcard-name strong{font-size:16.5px;font-weight:650;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gcard-name small{font-size:12.5px;color:var(--muted)}
.gcard-score{font-family:var(--display);font-size:20px;font-weight:600;min-width:28px;text-align:center;padding:1px 7px;border-radius:5px;background:#1d2a24}
.gcard-pct{font-family:var(--display);font-size:27px;font-weight:600;min-width:58px;text-align:right;color:#8a9a91;font-variant-numeric:tabular-nums}
.gcard-row.is-lean{color:var(--ink)}.gcard-row.is-lean .gcard-pct{color:var(--accent)}
.gcard-row.is-lost .gcard-name strong{opacity:.62}
.pbar{display:flex;gap:3px;height:7px;margin:8px 0 10px}
.pbar i{display:block;border-radius:4px;background:#34423b;transform-origin:left;min-width:4px}
.pbar i.is-lean{background:var(--accent)}
.gcard-foot{display:flex;flex-wrap:wrap;align-items:center;gap:7px 10px;font-size:13.5px;color:var(--soft)}
.gcard-lean{flex:1 1 100%;font-weight:600}

.ex-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap;margin-bottom:12px}
.ex-title{display:grid;gap:2px}
.ex-lg{font-size:13px;color:var(--muted);font-weight:600}
.ex-title strong{font-family:var(--display);font-size:21px;font-weight:500;letter-spacing:.03em;text-transform:uppercase;line-height:1.15}
.ex-tags{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.steps{display:grid;gap:8px}
.step{display:grid;grid-template-columns:minmax(0,1fr);gap:5px;padding:10px 12px 20px;border-radius:9px;background:var(--surface);border:1px solid var(--line)}
.step--start{border-style:dashed}
.step-k{display:flex;justify-content:space-between;gap:10px;font-family:var(--display);font-size:14px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.step-k b{font-weight:600;color:var(--soft)}.step-k b.is-up{color:var(--field)}.step-k b.is-down{color:var(--miss)}
.step-t{display:flex;flex-wrap:wrap;gap:2px 10px;align-items:baseline;line-height:1.35}
.step-t strong{font-size:15.5px;font-weight:650}
.step-t span{font-size:14px;color:var(--muted)}
.track{position:relative;height:8px;margin-top:6px;border-radius:5px;background:#26332d}
.track-mid{position:absolute;left:50%;top:-3px;bottom:-3px;width:1px;background:var(--chalk)}
.track-seg{position:absolute;top:0;bottom:0;border-radius:5px;background:var(--soft)}
.track-seg.is-up{background:var(--field)}.track-seg.is-down{background:var(--miss)}
.track-dot{position:absolute;top:50%;width:12px;height:12px;margin:-6px 0 0 -6px;border-radius:50%;background:var(--ink);box-shadow:0 0 0 3px var(--surface)}
.track em{position:absolute;top:11px;transform:translateX(-50%);font-style:normal;font-size:11.5px;font-weight:700;color:var(--soft);font-variant-numeric:tabular-nums}
.ex-total{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-top:10px;padding:12px 14px;border-radius:9px;background:rgba(255,122,26,.09);border:1px solid rgba(255,122,26,.4)}
.ex-total > span{font-family:var(--display);letter-spacing:.1em;text-transform:uppercase;font-size:14px;color:var(--soft)}
.ex-total strong{display:inline-flex;align-items:center;gap:10px;flex-wrap:wrap;font-weight:650;font-size:16px}
.ex-total i{font-style:normal;font-weight:500;color:var(--muted);font-size:14.5px}
.ex-pct{font-size:26px;--dm-on:var(--accent)}
.ex-ctx{margin-top:10px;font-size:14px;line-height:1.5;color:var(--muted)}.ex-ctx b{color:var(--soft)}

.cal-head{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:6px}
.cal-count{font-family:var(--display);font-size:16px;letter-spacing:.06em;color:var(--soft)}
.cal{display:block;width:100%;height:auto}
.cal-grid line{stroke:rgba(241,245,242,.09);stroke-width:1}
.cal-grid text,.cal-axis{fill:var(--muted);font-size:12px;font-family:var(--font)}
.cal-perfect{stroke:var(--chalk);stroke-width:1.5;stroke-dasharray:6 6}
.cal-luck{stroke:rgba(241,245,242,.2);stroke-width:7;stroke-linecap:round}
.cal-line{fill:none;stroke:var(--accent);stroke-width:2.5;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:0}
.cal-pt{fill:var(--accent);stroke:var(--bg);stroke-width:2}
.cal-pt.is-out{fill:var(--miss)}
.cal-n{fill:var(--ink);font-size:11.5px;font-weight:700;font-family:var(--font)}
.cal-pub{fill:rgba(47,208,122,.18);stroke:var(--field);stroke-width:2}
.js .live--calibration:not(.is-drawn) .cal-line{stroke-dashoffset:1}
.js .live--calibration:not(.is-drawn) .cal-pt,.js .live--calibration:not(.is-drawn) .cal-n,.js .live--calibration:not(.is-drawn) .cal-pub{opacity:0}
.live--calibration.is-drawn .cal-line{transition:stroke-dashoffset 1.6s cubic-bezier(.4,0,.2,1)}
.live--calibration.is-drawn .cal-pt,.live--calibration.is-drawn .cal-n{transition:opacity .4s ease calc(.25s + var(--i,0) * .14s)}
.live--calibration.is-drawn .cal-pub{transition:opacity .5s ease 1.7s}
.reveal-off .live--calibration .cal-line{stroke-dashoffset:0!important}.reveal-off .live--calibration :is(.cal-pt,.cal-n,.cal-pub){opacity:1!important}
.cal-legend{display:flex;flex-wrap:wrap;gap:6px 18px;margin-top:8px;font-size:13px;color:var(--muted)}
.cal-legend li{display:flex;align-items:center;gap:7px}
.cal-legend i{flex:none;display:block}
.lg-pt{width:11px;height:11px;border-radius:50%;background:var(--accent)}
.lg-luck{width:6px;height:16px;border-radius:3px;background:rgba(241,245,242,.24)}
.lg-pub{width:10px;height:10px;transform:rotate(45deg);border:2px solid var(--field);background:rgba(47,208,122,.18)}
.cal-scores{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:12px}
.cal-scores div{display:grid;padding:9px 11px;border-radius:8px;background:var(--surface);border:1px solid var(--line)}
.cal-scores div:first-child{border-color:rgba(255,122,26,.5)}
.cal-scores span{font-size:12.5px;color:var(--muted);line-height:1.3}
.cal-scores b{font-family:var(--display);font-size:24px;font-weight:600;line-height:1.2}
.cal-scores small{font-size:12px;color:var(--muted)}

.ledgers{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:0;align-items:stretch}
.ledger{display:grid;align-content:start;gap:10px;padding:16px;border-radius:10px;background:var(--surface);border:1px solid var(--line)}
.ledger--pub{border-color:rgba(47,208,122,.4)}
.ledger--back{border-style:dashed;border-color:rgba(241,245,242,.3)}
.ledger .tag{justify-self:start}
.ledger-num{display:grid;gap:4px}
.ledger-num .dm{font-size:clamp(34px,4.2vw,50px)}
.ledger--pub .ledger-num .dm{--dm-on:var(--field)}
.ledger--back .ledger-num .dm{--dm-on:#aab6ae}
.ledger-num span:last-child{font-size:13.5px;color:var(--muted)}
.ledger-facts{display:grid;gap:5px;font-size:14.5px;line-height:1.45;color:var(--soft)}
.ledger-facts b{color:var(--ink)}
.ledger-note{display:flex;gap:8px;font-size:13px;line-height:1.45;color:var(--muted);padding-top:8px;border-top:1px solid var(--line)}
.ledger-note .eb-ic{flex:none;margin-top:2px}
.ledgers-wall{position:relative;width:44px;display:flex;align-items:center;justify-content:center}
.ledgers-wall::before{content:"";position:absolute;top:0;bottom:0;left:50%;width:2px;margin-left:-1px;background:repeating-linear-gradient(var(--chalk) 0 8px,transparent 8px 14px)}
.ledgers-wall span{position:relative;writing-mode:vertical-rl;transform:rotate(180deg);padding:8px 3px;background:var(--bg);border:1px solid var(--line-2);border-radius:4px;font-family:var(--display);font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--soft);white-space:nowrap}
.panel .ledgers-wall span{background:#0d1411}
.live--compact .ledgers{grid-template-columns:minmax(0,1fr)}
.live--compact .ledgers-wall{width:auto;height:40px}
.live--compact .ledgers-wall::before{top:50%;bottom:auto;left:0;right:0;width:auto;height:2px;margin:-1px 0 0;background:repeating-linear-gradient(90deg,var(--chalk) 0 8px,transparent 8px 14px)}
.live--compact .ledgers-wall span{writing-mode:horizontal-tb;transform:none;padding:3px 8px}
.live--compact .ledger-num .dm{font-size:34px}

.rec{margin-top:34px}
.rec-head{display:grid;gap:10px;justify-items:start;margin-bottom:18px;max-width:760px}
.rec-head h2{font-size:clamp(28px,3.4vw,42px)}
.rec-head p{color:var(--soft)}
.rec--back{margin-top:64px;padding-top:40px;border-top:2px dashed rgba(241,245,242,.22)}
.rec .callout{margin-bottom:16px}
.tiles{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-bottom:12px}
.tiles--4{grid-template-columns:repeat(4,minmax(0,1fr))}
.tile{display:grid;gap:7px;align-content:start;padding:14px 14px 13px;border-radius:10px;background:var(--surface);border:1px solid var(--line)}
.tile > span:first-child{font-family:var(--display);font-size:13.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.tile .dm{font-size:clamp(26px,3vw,38px)}
.rec--pub .tile .dm{--dm-on:var(--field)}
.rec--back .tile .dm{--dm-on:#aab6ae}
.tile small{font-size:13px;color:var(--muted);line-height:1.35}
.tablewrap{overflow-x:auto;border:1px solid var(--line);border-radius:10px;background:var(--surface);margin-bottom:12px}
.tbl{width:100%;border-collapse:collapse;font-size:15.5px;font-variant-numeric:tabular-nums}
.tbl th{font-family:var(--display);font-weight:500;font-size:13.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);text-align:right;padding:12px 16px;border-bottom:1px solid var(--line);white-space:nowrap}
.tbl td{padding:12px 16px;border-bottom:1px solid var(--line);text-align:right}
.tbl th:first-child,.tbl td:first-child{text-align:left}
.tbl tr:last-child td{border-bottom:0}
.tbl .is-me td{background:rgba(255,122,26,.08)}
.tbl .is-me td:first-child{box-shadow:inset 3px 0 0 var(--accent);font-weight:700}
.tbl .is-best{color:var(--field);font-weight:700}
.tbl small{display:block;color:var(--muted);font-size:13px;font-weight:400}

.lgrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.lg{display:grid;gap:3px;align-content:start;padding:16px;border-radius:10px;background:rgba(13,20,17,.86);border:1px solid var(--line);color:var(--ink);text-decoration:none;transition:border-color .2s ease,transform .2s ease}
a.lg:hover{border-color:var(--accent);transform:translateY(-2px)}
.lg strong{font-family:var(--display);font-size:22px;font-weight:600;letter-spacing:.06em}
.lg-n{font-size:30px;margin-top:6px}
.lg-l{font-size:13px;color:var(--muted)}
.lg-next{margin-top:8px;font-size:14px;color:var(--soft);line-height:1.4}
.lg-src{font-size:12.5px;color:var(--muted)}
.lg--wait{color:var(--muted)}

/* ---------- bands ---------- */
.band{position:relative;padding:clamp(64px,9vw,120px) 0;background:var(--bg);overflow:hidden;overflow:clip}
.band--tight{padding:clamp(40px,6vw,72px) 0 clamp(64px,8vw,104px)}
.band--turf{background:repeating-linear-gradient(90deg,rgba(47,208,122,.03) 0 120px,rgba(47,208,122,0) 120px 240px),radial-gradient(110% 80% at 50% -20%,rgba(255,244,220,.07),rgba(255,244,220,0) 62%),var(--turf);border-top:1px solid var(--chalk)}
.band--turf::before{content:"";position:absolute;top:0;left:0;right:0;height:9px;background:repeating-linear-gradient(90deg,var(--chalk) 0 2px,transparent 2px 48px);opacity:.8}
.split-head{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;margin-bottom:clamp(28px,4vw,48px);max-width:860px}
.split-head p{color:var(--soft);max-width:62ch;font-size:clamp(17.5px,1.4vw,19.5px)}
.ticks{display:grid;gap:9px}
.ticks li{position:relative;padding-left:30px;color:var(--soft);line-height:1.5}
.ticks li::before{content:"";position:absolute;left:2px;top:.42em;width:14px;height:8px;border-left:2.5px solid var(--field);border-bottom:2.5px solid var(--field);transform:rotate(-45deg)}
.ticks--no li::before{width:14px;height:2.5px;top:.72em;border:0;background:var(--miss);transform:none}
.ticks--plain li::before{width:7px;height:7px;top:.6em;left:5px;border:0;border-radius:50%;background:var(--accent);transform:none}
.ticks a{color:var(--ink)}

.notice{display:flex;gap:14px;align-items:flex-start;padding:16px 18px;border-radius:10px;background:var(--surface);border:1px solid var(--line-2);margin-top:28px}
.notice .ic{flex:none;color:var(--accent);margin-top:3px}
.notice p{font-size:15.5px;line-height:1.55;color:var(--soft);max-width:none}
.notice a{color:var(--ink);font-weight:600;white-space:nowrap}
.notice--top{margin-top:0;margin-bottom:8px}
.notice--big{margin:0 0 34px;padding:22px 24px;border-color:rgba(255,122,26,.5);background:rgba(255,122,26,.06)}
.notice--big p{font-size:clamp(18px,1.7vw,21px);color:var(--ink);line-height:1.5}
.notice--side{margin-top:0}.notice--side p{font-size:14.5px}

/* knows / leagues */
.knows-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,.9fr);gap:16px}
.knows-col{padding:22px;border-radius:12px;background:rgba(13,20,17,.86);border:1px solid var(--line)}
.knows-col h3{display:flex;align-items:center;gap:10px;margin-bottom:14px;color:var(--field)}
.knows-col--no h3{color:var(--miss)}
.knows-col--cta{display:grid;align-content:space-between;gap:18px;background:transparent;border-style:dashed}
.knows-col--cta p{color:var(--soft)}
.knows-col--cta .btn{justify-self:start}
.leagues{margin-top:clamp(36px,5vw,64px)}
.leagues-h{margin-bottom:16px;color:var(--soft)}

/* pro */
.pro-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(22px,3.4vw,48px)}
.pro-item h3{margin:22px 0 8px;font-size:23px}
.pro-item p{color:var(--soft);max-width:52ch}

/* plans */
.plans{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.plan{position:relative;display:grid;align-content:start;gap:14px;padding:clamp(22px,2.8vw,34px);border-radius:12px;background:rgba(13,20,17,.9);border:1px solid var(--line-2)}
.plan--pro{border-color:var(--accent);box-shadow:0 30px 80px -40px rgba(255,122,26,.5)}
.plan--pro::before{content:"";position:absolute;top:-1px;left:24px;right:24px;height:3px;background:var(--accent);box-shadow:0 0 22px 3px rgba(255,122,26,.6)}
.plan h2,.plan h3{font-size:26px;font-weight:600;letter-spacing:.06em}
.plan-price{display:flex;align-items:flex-end;gap:12px}
.plan-price .dm{font-size:clamp(46px,6vw,68px)}
.plan--free .plan-price .dm{--dm-on:#c9d4cd}
.plan-price span{font-size:15px;color:var(--muted);padding-bottom:6px}
.plan-blurb{color:var(--ink);font-weight:600}
.plan .btn{justify-self:start;margin-top:6px}
.plan-fine{font-size:14px;color:var(--muted)}
.plans-more{margin-top:18px}

/* closing band */
.cta-band{position:relative;overflow:hidden;padding:clamp(90px,13vw,170px) 0;background:var(--bg-deep);border-top:1px solid var(--line)}
.cta-photo{position:absolute;inset:-12% 0;background:url(../img/photo/haze.webp) center 42%/cover no-repeat;opacity:.9}
.cta-band::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(6,10,8,.9) 0%,rgba(6,10,8,.5) 46%,rgba(6,10,8,.1) 100%),linear-gradient(0deg,rgba(6,10,8,.85),rgba(6,10,8,0) 40%)}
.cta-in{position:relative;z-index:1;display:grid;gap:16px;justify-items:start}
.cta-in h2{font-size:clamp(38px,6vw,82px)}
.cta-in p{color:var(--soft);font-size:clamp(18px,1.6vw,21px);max-width:44ch}
.cta-btns{display:flex;flex-wrap:wrap;gap:12px;margin-top:10px}

/* ---------- inner page head + ribbon board ---------- */
.phead{position:relative;overflow:hidden;background:var(--bg-deep);border-bottom:1px solid var(--line)}
.phead-bg{position:absolute;inset:0}
.phead-photo{position:absolute;inset:-14% 0 -14% 0;background:url(../img/photo/haze.webp) center 40%/cover no-repeat}
.phead--tower .phead-photo{left:auto;right:0;width:min(56%,820px);background-image:url(../img/photo/tower.webp);background-position:50% 24%;background-size:cover;-webkit-mask-image:linear-gradient(90deg,transparent,#000 42%);mask-image:linear-gradient(90deg,transparent,#000 42%)}
.phead-haze{position:absolute;inset:0;background:linear-gradient(90deg,rgba(6,10,8,.9) 0%,rgba(6,10,8,.6) 38%,rgba(6,10,8,0) 78%),linear-gradient(0deg,rgba(6,10,8,.9) 0%,rgba(6,10,8,0) 40%)}
.phead-in{position:relative;z-index:1;padding:clamp(64px,9vw,128px) 0 clamp(36px,5vw,64px)}
.phead h1{font-size:clamp(42px,7.4vw,104px);max-width:12em}
.article .phead h1{font-size:clamp(34px,5vw,68px);max-width:16em}
.phead-lede{margin-top:20px;font-size:clamp(18px,1.7vw,22px);line-height:1.5;color:var(--soft);max-width:58ch}
.phead-meta{margin-top:16px;font-size:14.5px;color:var(--muted)}
.crumb{margin-bottom:18px}
.crumb a{display:inline-flex;align-items:center;min-height:44px;color:var(--soft);text-decoration:none;font-weight:600;font-size:15.5px}
.crumb a:hover{color:var(--ink)}
.ribbon{position:relative;z-index:1;height:58px;background:#050806;border-top:1px solid var(--line-2);overflow:hidden;display:flex;align-items:center}
.ribbon canvas{position:absolute;inset:0;width:100%;height:100%;display:block}
.ribbon-text{display:block;padding:0 var(--gut);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-family:var(--display);font-size:20px;letter-spacing:.16em;color:var(--led);opacity:.9}
.ribbon.is-live .ribbon-text{visibility:hidden}

/* jump bar */
.jump{position:sticky;top:var(--head);z-index:30;background:var(--bg);border-bottom:1px solid var(--line)}
.jump-in{display:flex;gap:4px;overflow-x:auto;scrollbar-width:none}
.jump-in::-webkit-scrollbar{display:none}
.jump a{flex:none;display:inline-flex;align-items:center;min-height:50px;padding:0 14px;color:var(--soft);text-decoration:none;font-family:var(--display);font-size:15px;letter-spacing:.08em;text-transform:uppercase}
.jump a:first-child{padding-left:0}
.jump a:hover{color:var(--ink)}
/* 1.0.1: the bar marks the section being read, scrolls sideways to it, shows when more items are off to the side, and lets go after the last section */
.feats{position:relative}
.feat{scroll-margin-top:calc(var(--head) + 52px)}
.jump a{position:relative}
.jump a.is-on{color:var(--ink)}
.jump a.is-on::after{content:"";position:absolute;left:14px;right:14px;bottom:0;height:2px;background:var(--accent)}
.jump a.is-on:first-child::after{left:0}
.jump-in{scroll-behavior:smooth}
.jump.has-more-r .jump-in{-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 56px),transparent);mask-image:linear-gradient(90deg,#000 calc(100% - 56px),transparent)}
.jump.has-more-l .jump-in{-webkit-mask-image:linear-gradient(90deg,transparent,#000 56px);mask-image:linear-gradient(90deg,transparent,#000 56px)}
.jump.has-more-l.has-more-r .jump-in{-webkit-mask-image:linear-gradient(90deg,transparent,#000 56px,#000 calc(100% - 56px),transparent);mask-image:linear-gradient(90deg,transparent,#000 56px,#000 calc(100% - 56px),transparent)}

/* features */
.feat-in{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(28px,5vw,80px);align-items:center}
.feat--flip .feat-copy{order:2}
.feat-plan{display:inline-flex;margin-bottom:14px;padding:5px 10px;border-radius:5px;border:1px solid var(--line-2);font-size:13px;font-weight:650;color:var(--soft)}
.feat-copy h2{margin-bottom:14px}
.feat-lead{font-size:clamp(18px,1.55vw,20.5px);color:var(--ink);margin-bottom:18px;max-width:46ch;line-height:1.5}
.feat-copy .ticks{margin-bottom:14px;max-width:52ch}
.feat-shot{perspective:1400px}

/* method */
.msteps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;counter-reset:none}
.msteps li{position:relative;padding:22px 22px 24px;border-radius:12px;background:var(--surface);border:1px solid var(--line)}
.msteps-n{font-size:34px;margin-bottom:16px}
.msteps h3{margin-bottom:8px;font-size:21px}
.msteps p{color:var(--soft);font-size:16.5px}
#method-params td small{margin-top:2px}
.math{display:grid;gap:6px;padding:clamp(20px,3vw,34px);border-radius:12px;background:var(--surface);border:1px solid var(--line);max-width:980px}
.math dt{font-family:var(--display);letter-spacing:.08em;text-transform:uppercase;font-size:16px;color:var(--accent);margin-top:16px}
.math dt:first-child{margin-top:0}
.math dd{margin:0;color:var(--soft);line-height:1.7}
code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.86em;padding:3px 7px;border-radius:5px;background:#0a0f0d;border:1px solid var(--line);color:var(--ink);overflow-wrap:anywhere}
.rules{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:12px;overflow:hidden;margin-bottom:28px}
.rules--4{grid-template-columns:repeat(2,minmax(0,1fr))}
.rules li{padding:22px;background:#0d1612}
.rules h3{margin-bottom:8px;color:var(--ink);font-size:19px}
.rules p{color:var(--soft);font-size:16.5px}
.unk{display:grid;grid-template-columns:minmax(0,420px) minmax(0,1fr);gap:clamp(28px,5vw,80px);align-items:start}
.unk-photo{position:sticky;top:calc(var(--head) + 28px);border-radius:12px;overflow:hidden;border:1px solid var(--line)}
.unk-photo img{width:100%;aspect-ratio:4/5;object-fit:cover}
.unk-lede{margin:16px 0 26px;font-size:clamp(18px,1.6vw,21px);color:var(--soft);max-width:48ch}
.unk-list{display:grid;gap:0}
.unk-list li{padding:18px 0;border-top:1px solid var(--line)}
.unk-list h3{margin-bottom:6px;font-size:20px}
.unk-list p{color:var(--soft);max-width:60ch}
.sources{display:grid;gap:0;margin-bottom:26px;border-top:1px solid var(--line)}
.sources li{display:grid;grid-template-columns:90px minmax(0,1fr);gap:16px;padding:14px 0;border-bottom:1px solid var(--line)}
.sources b{font-family:var(--display);font-size:20px;letter-spacing:.06em}
.sources span{color:var(--soft)}

/* record */
.cal-wrap{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(28px,5vw,72px);align-items:center}
.cal-copy h2{margin-bottom:18px}
.cal-copy p{color:var(--soft);margin-top:14px;max-width:54ch}
.cal-copy .btn{margin-top:8px}
.read-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:12px;overflow:hidden}
.read-grid > div{padding:22px;background:var(--bg)}
.read-grid h3{margin-bottom:8px;font-size:19px}
.read-grid p{color:var(--soft);font-size:16.5px}
.read-more{margin-top:18px}

/* compare */
.compare th[scope="row"]{text-align:left;font-family:var(--font);font-weight:500;font-size:15.5px;letter-spacing:0;text-transform:none;color:var(--ink);white-space:normal;padding:12px 16px}
.compare thead th{font-size:17px;color:var(--ink);padding:16px}
.compare thead th small{display:inline;margin-left:6px;font-family:var(--font);letter-spacing:0;text-transform:none;font-size:14px}
.compare td{text-align:center;width:23%;font-size:14.5px;color:var(--soft)}
.compare thead th:not(:first-child){text-align:center}
.compare .yes{color:var(--field)}.compare .no{color:var(--muted)}
.compare tr.grp th{text-align:left;background:rgba(241,245,242,.05);color:var(--accent);font-size:14px;padding:9px 16px}
.compare td:last-child,.compare thead th:last-child{background:rgba(255,122,26,.05)}

/* FAQ */
.faq-wrap{display:grid;grid-template-columns:minmax(0,1fr);gap:28px}
.faq-wrap--side{grid-template-columns:minmax(0,1fr) minmax(0,340px);gap:clamp(28px,4vw,64px);align-items:start}
.faq-wrap--split{grid-template-columns:minmax(0,5fr) minmax(0,8fr);gap:clamp(28px,5vw,80px);align-items:start}
.faq-lead{display:grid;gap:14px;justify-items:start}
.faq-lead p{color:var(--soft);max-width:36ch}
.faq{border-top:1px solid var(--line-2);max-width:860px}
.faq details{border-bottom:1px solid var(--line-2)}
.faq summary{display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:64px;padding:14px 2px;cursor:pointer;list-style:none;font-family:var(--display);font-size:clamp(19px,2vw,23px);font-weight:500;letter-spacing:.02em;line-height:1.25}
.faq summary::-webkit-details-marker{display:none}
.faq summary .ic{flex:none;color:var(--accent);transition:transform .25s ease}
.faq details[open] summary .ic{transform:rotate(180deg)}
.faq-a{padding:0 2px 22px}
.faq-a p{color:var(--soft);max-width:68ch}
.faq-side{position:sticky;top:calc(var(--head) + 24px);display:grid;gap:14px;padding:22px;border-radius:12px;background:var(--surface);border:1px solid var(--line)}
.faq-side p{color:var(--soft);font-size:16px}
.faq-side .btn{justify-self:start}
.faq-side-rec{margin-top:10px;padding-top:18px;border-top:1px solid var(--line);display:grid;gap:12px}
.faq-more{margin-top:8px}

/* about */
.about-why{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:clamp(28px,5vw,80px);align-items:center}
.about-why h2{margin-bottom:20px}
.about-why .lead{margin-bottom:16px}
.about-photo{border-radius:12px;overflow:hidden;border:1px solid var(--line)}
.about-photo img{width:100%;aspect-ratio:4/3;object-fit:cover;object-position:40% 50%}
.wont{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(28px,5vw,80px)}
.wont h2{margin-bottom:16px}
.wont p{color:var(--soft)}
.wont-list{gap:0}
.wont-list li{padding:15px 0 15px 34px;border-bottom:1px solid var(--line);color:var(--ink);font-size:18px}
.wont-list li::before{top:1.55em}
.credits{display:grid;gap:12px}
.credits p{color:var(--soft);max-width:80ch;font-size:16px}
.credits a{color:var(--ink)}

/* contact */
.contact-wrap{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(28px,5vw,72px);align-items:start}
.contact{display:grid;gap:16px;padding:clamp(20px,3vw,32px)}
.contact label{display:grid;gap:7px;font-weight:600;font-size:15.5px}
.contact input,.contact textarea,.contact select{width:100%;font:inherit;font-size:17px;padding:13px 14px;min-height:52px;border:1px solid var(--line-2);border-radius:var(--radius);background:#0a0f0d;color:var(--ink)}
.contact select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--soft) 50%),linear-gradient(135deg,var(--soft) 50%,transparent 50%);background-position:calc(100% - 22px) 23px,calc(100% - 16px) 23px;background-size:6px 6px;background-repeat:no-repeat;padding-right:44px}
.contact textarea{resize:vertical;min-height:150px}
.contact .btn{justify-self:start}
.contact-side{display:grid;gap:26px}
.contact-side .h3{margin-bottom:12px}
.contact-help{padding:20px;border-radius:12px;border:1px solid rgba(255,122,26,.4);background:rgba(255,122,26,.05)}
.contact-help p{color:var(--soft);font-size:16px}.contact-help a{color:var(--ink);font-weight:600}
.contact-who{color:var(--muted);font-size:15px}

/* responsible play */
.play{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,4fr);gap:clamp(28px,5vw,72px);align-items:start}
.play-sec{padding:26px 0;border-top:1px solid var(--line)}
.play-sec h2{font-size:clamp(24px,2.8vw,32px);margin-bottom:12px}
.play-sec p{color:var(--soft);margin-top:10px;max-width:66ch}
.play-sec .ticks{margin-top:12px;max-width:66ch}
.play-help{position:sticky;top:calc(var(--head) + 24px);display:grid;gap:14px;padding:22px;border-radius:12px;background:var(--surface);border:1px solid var(--line-2)}
.play-help p{color:var(--soft);font-size:16px}
.help-line{display:flex;align-items:center;gap:14px;padding:16px;border-radius:10px;background:#0a0f0d;border:1px solid rgba(255,122,26,.5);color:var(--ink);text-decoration:none}
.help-line .ic{color:var(--accent)}
.help-line span{display:grid;gap:6px}
.help-line .dm{font-size:22px}
.help-line small{font-size:13px;color:var(--muted)}
.play-rec .live{margin-top:18px}

/* legal + prose */
.legal{display:grid;grid-template-columns:minmax(0,250px) minmax(0,1fr);gap:clamp(28px,5vw,80px);align-items:start}
.legal-toc{position:sticky;top:calc(var(--head) + 24px);display:grid;gap:0;font-size:15px}
.legal-toc strong{font-family:var(--display);letter-spacing:.12em;text-transform:uppercase;font-weight:500;color:var(--muted);font-size:13.5px;margin-bottom:8px}
.legal-toc a{display:flex;align-items:center;min-height:38px;color:var(--soft);text-decoration:none;border-left:2px solid var(--line);padding-left:14px}
.legal-toc a:hover{color:var(--ink);border-color:var(--accent)}
.prose{max-width:72ch}
.prose > * + *{margin-top:1.05em}
.prose h2{font-size:clamp(25px,2.7vw,33px);margin-top:1.9em;line-height:1.1}
.prose h2:first-child{margin-top:0}
.prose p,.prose li{color:var(--soft)}
.prose .lead{color:var(--ink)}
.prose ul,.prose ol{display:grid;gap:10px;padding-left:24px}
.prose ul{list-style:none;padding-left:0}
.prose ul li{position:relative;padding-left:26px}
.prose ul li::before{content:"";position:absolute;left:4px;top:.66em;width:7px;height:7px;border-radius:50%;background:var(--accent)}
.prose ol{list-style:decimal}
.prose ol li{padding-left:6px}
.prose ol li::marker{color:var(--accent);font-family:var(--display);font-weight:600}
.prose strong{color:var(--ink)}
.prose--article{font-size:18.5px;line-height:1.7}
.prose--article > p:first-child{font-size:1.14em;color:var(--ink);line-height:1.6}
.article-wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,300px);gap:clamp(28px,5vw,80px);align-items:start}
.article-side{position:sticky;top:calc(var(--head) + 24px);display:grid;gap:16px}
.side-box{display:grid;gap:0;padding:18px;border-radius:12px;background:var(--surface);border:1px solid var(--line)}
.side-box .h3{margin-bottom:6px;font-size:17px;color:var(--muted)}
.side-link{display:flex;align-items:center;min-height:48px;padding:8px 0;border-top:1px solid var(--line);color:var(--ink);text-decoration:none;font-weight:600;font-size:15.5px;line-height:1.35}
.side-link:hover{color:var(--accent)}

/* blog index */
.posts{display:grid;gap:0;border-top:1px solid var(--line-2)}
.post-card{border-bottom:1px solid var(--line-2)}
.post-card a{display:grid;grid-template-columns:150px minmax(0,1fr);gap:clamp(16px,3vw,40px);padding:clamp(24px,3.4vw,44px) 0;color:var(--ink);text-decoration:none;align-items:start}
.post-n{font-size:30px;--dm-on:#7d8d84;margin-top:6px}
.post-card a:hover .post-n{--dm-on:var(--accent)}
.post-meta{font-size:14px;color:var(--muted);margin-bottom:8px}
.post-card h2{font-size:clamp(26px,3.6vw,46px);margin-bottom:12px;transition:color .2s ease}
.post-card a:hover h2{color:var(--lamp)}
.post-card p{color:var(--soft);max-width:66ch}
.post-card .link{margin-top:8px}

/* 404 */
.nf-in{padding-top:clamp(56px,8vw,110px)}
.nf-code{margin-bottom:22px}
.nf-code .dm{font-size:clamp(72px,14vw,170px)}
.nf h1{font-size:clamp(34px,5.4vw,72px)}

/* ---------- footer ---------- */
.site-foot{position:relative;padding:0 0 calc(34px + env(safe-area-inset-bottom));background:var(--bg-deep);color:var(--muted);font-size:15.5px}
.foot-line{height:9px;background:repeating-linear-gradient(90deg,var(--chalk) 0 2px,transparent 2px 48px);border-top:1px solid var(--chalk)}
.foot-notice{display:flex;gap:14px;align-items:flex-start;padding:26px 0;border-bottom:1px solid var(--line)}
.foot-notice .ic{flex:none;color:var(--accent);margin-top:2px}
.foot-notice p{color:var(--soft);font-size:15.5px;line-height:1.55;max-width:96ch}
.foot-grid{display:grid;grid-template-columns:minmax(0,1.6fr) repeat(3,minmax(0,1fr));gap:30px;padding:40px 0 30px}
.foot-brand{display:grid;gap:10px;align-content:start}
.foot-brand p{max-width:34ch}
.foot-by{font-size:14.5px}
.foot-grid nav{display:grid;gap:0;align-content:start}
.foot-grid strong{font-family:var(--display);font-weight:500;letter-spacing:.14em;text-transform:uppercase;font-size:13.5px;color:var(--muted);margin-bottom:6px}
.foot-grid nav a{display:flex;align-items:center;min-height:42px;color:var(--soft);text-decoration:none}
.foot-grid nav a:hover{color:var(--ink)}
.foot-fine{font-size:13.5px;line-height:1.55;max-width:96ch;padding-top:20px;border-top:1px solid var(--line)}
.foot-base{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:18px;font-size:14px}

/* ---------- the tool page ---------- */
.app-shell{min-height:70vh;background:var(--bg)}
.app-missing{padding:80px 0}.app-missing h1{font-size:clamp(30px,4vw,48px);margin-bottom:12px}
.is-app .site-foot .foot-notice{display:none}
html.ackit-bare .site-head,html.ackit-bare .site-foot{display:none}

/* ---------- reveals: on by default, hidden only while scripts are running ---------- */
.js [data-reveal]{opacity:0;transform:translateY(20px)}
.js [data-reveal].is-in{opacity:1;transform:none;transition:opacity .7s cubic-bezier(.2,.7,.2,1) var(--d,0s),transform .7s cubic-bezier(.2,.7,.2,1) var(--d,0s)}
.js .lamp[data-reveal]{transform:none}
.js .lamp[data-reveal].is-in{transition:none;animation:lampOn .9s steps(1,end) both}
.js .phead h1.lamp,.js .nf h1.lamp{animation:lampOn .7s steps(1,end) both}
@keyframes lampOn{0%{opacity:0;text-shadow:none}10%{opacity:.55}16%{opacity:.12}30%{opacity:.8}36%{opacity:.35}48%{opacity:1;text-shadow:0 0 60px rgba(255,244,220,.5)}100%{opacity:1;text-shadow:0 0 44px rgba(255,244,220,.14)}}
.reveal-off [data-reveal],.no-js [data-reveal]{opacity:1!important;transform:none!important;animation:none!important}
.js .pbar i{transition:flex-basis .9s cubic-bezier(.2,.7,.2,1)}

/* ---------- responsive ---------- */
@media (max-width:1100px){
  .knows-grid{grid-template-columns:1fr 1fr}.knows-col--cta{grid-column:1/-1;grid-template-columns:minmax(0,1fr) auto;align-items:center}
  .lgrid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tiles{grid-template-columns:repeat(3,minmax(0,1fr))}
  .msteps{grid-template-columns:repeat(2,minmax(0,1fr))}
  .rules{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:900px){
  body{font-size:17px}
  .scene{position:absolute;top:0;left:0;right:0;height:min(64svh,560px);margin:0}
  .scene-still{background-image:url(../img/scene-poster-m.webp)}
  .scene-shade{background:linear-gradient(0deg,var(--bg-deep) 0%,rgba(6,10,8,.72) 22%,rgba(6,10,8,0) 56%)}
  .stage{background:var(--bg-deep)}
  .hero{min-height:0;padding:min(38svh,318px) 0 26px;align-items:flex-start}
  .hero-in{grid-template-columns:minmax(0,1fr);gap:24px}
  .hero-title{font-size:clamp(33px,8.6vw,54px)}
  .hero-btns .btn{flex:1 1 auto}
  .hero-cue{display:none}
  .live--now{min-height:170px}
  .ticker{height:52px}.tick{height:52px;padding:0 18px}
  .ticker-label{padding-right:12px;font-size:14px}
  .film{background:var(--bg)}
  .act{padding:56px 0}
  .feat-in,.cal-wrap,.about-why,.wont,.contact-wrap,.play,.article-wrap,.unk{grid-template-columns:minmax(0,1fr)}
  .feat--flip .feat-copy{order:0}
  .faq-wrap--side,.faq-wrap--split{grid-template-columns:minmax(0,1fr)}
  .faq-side,.play-help,.article-side,.unk-photo,.legal-toc{position:static}
  .play-help{order:-1}
  .legal{grid-template-columns:minmax(0,1fr)}
  .legal-toc{padding:16px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}
  .legal-toc a{min-height:44px}
  .unk-photo img{aspect-ratio:16/11;object-position:60% 30%}
  .pro-grid{grid-template-columns:minmax(0,1fr)}
  .read-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .foot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .foot-brand{grid-column:1/-1}
  .phead--tower .phead-photo{width:100%;-webkit-mask-image:none;mask-image:none;background-position:60% 30%}
  .phead-haze{background:linear-gradient(90deg,rgba(6,10,8,.9) 0%,rgba(6,10,8,.6) 60%,rgba(6,10,8,.3) 100%),linear-gradient(0deg,rgba(6,10,8,.95) 0%,rgba(6,10,8,0) 50%)}
}
@media (max-width:700px){
  .plans{grid-template-columns:minmax(0,1fr)}
  .knows-grid{grid-template-columns:minmax(0,1fr)}.knows-col--cta{grid-template-columns:minmax(0,1fr)}
  .tiles,.tiles--4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tiles .tile:last-child:nth-child(odd){grid-column:1/-1}
  .msteps,.rules,.rules--4,.read-grid{grid-template-columns:minmax(0,1fr)}
  .ledgers{grid-template-columns:minmax(0,1fr)}
  .ledgers-wall{width:auto;height:40px}
  .ledgers-wall::before{top:50%;bottom:auto;left:0;right:0;width:auto;height:2px;margin:-1px 0 0;background:repeating-linear-gradient(90deg,var(--chalk) 0 8px,transparent 8px 14px)}
  .ledgers-wall span{writing-mode:horizontal-tb;transform:none;padding:3px 8px}
  .cal-scores{grid-template-columns:minmax(0,1fr)}
  .cal-scores div{grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:10px}
  .cal-scores small{grid-column:1/-1}
  .panel{padding:14px 12px}
  .act .gcards .gcard:nth-child(n+4){display:none}
  .post-card a{grid-template-columns:minmax(0,1fr)}
  .post-n{font-size:24px}
  .sources li{grid-template-columns:64px minmax(0,1fr)}
  .ribbon{height:46px}.ribbon-text{font-size:16px}
  .screen-bezel{padding:6px;border-radius:22px;max-width:360px;margin-inline:auto}
  .screen-bezel img{border-radius:17px}
  .screen-lamps{left:50%;margin-left:-30px}
  .screen figcaption{flex-direction:column;max-width:360px;margin-inline:auto}
  .screen figcaption b{border-radius:4px 4px 0 0;align-self:flex-start}
  .screen figcaption span{border-left:1px solid var(--line);border-radius:0 4px 4px 4px}
  .foot-grid{gap:22px 16px}
  .cta-btns .btn,.hero-btns .btn{width:100%}
  .tbl{font-size:15px}
  .tbl th,.tbl td{padding:11px 10px}
  /* tables that would not fit a phone become stacked rows */
  .tbl--stack thead{display:none}
  .tbl--stack,.tbl--stack tbody{display:block}
  .tbl--stack tr{display:grid;grid-template-columns:1fr 1fr;gap:8px 14px;padding:14px 12px;border-bottom:1px solid var(--line)}
  .tbl--stack tr:last-child{border-bottom:0}
  .tbl--stack td,.tbl--stack td:first-child{display:block;padding:0;border:0;text-align:left}
  .tbl--stack td:first-child{grid-column:1/-1;font-family:var(--display);font-size:20px;letter-spacing:.05em;color:var(--accent)}
  .tbl--stack td[data-label]::before{content:attr(data-label);display:block;font-size:11.5px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--muted)}
  #rec-live-base th:first-child,#rec-back-base th:first-child{white-space:normal}
  .compare th[scope="row"]{padding:11px 10px;font-size:14.5px}
  .compare thead th{padding:12px 6px;font-size:15px}
  .compare thead th small{display:block;margin:2px 0 0}
  .compare td{font-size:13px;padding:10px 6px;width:26%}
}
@media (max-width:420px){
  .lgrid{grid-template-columns:minmax(0,1fr)}
  .gcard-pct{font-size:25px;min-width:54px}
  .now-pct{font-size:27px}
}
@media (prefers-reduced-motion:reduce){
  *{scroll-behavior:auto!important}
  .ticker-track{animation:none}
  .live--ticker{overflow-x:auto}
  .hero-cue span,.panel-label i,.live-wait i{animation:none}
  .js .lamp[data-reveal].is-in,.js .phead h1.lamp,.js .nf h1.lamp{animation:none}
}
/* 1.0.1: screenshots open full size on wider screens (the button sits in the caption, never over the picture) */
.screen-zoom{display:none;align-items:center;gap:6px;margin-left:8px;padding:5px 11px;min-height:30px;border:1px solid var(--line-2);border-radius:4px;background:transparent;color:var(--ink);font:600 12.5px/1 var(--display);letter-spacing:.08em;text-transform:uppercase;cursor:pointer}
.screen-zoom:hover,.screen-zoom:focus-visible{border-color:var(--accent);color:var(--accent)}
@media (min-width:701px){.screen-zoom{display:inline-flex}.screen-bezel img{cursor:zoom-in}}
.zoom{position:fixed;inset:0;z-index:200;display:flex;flex-direction:column;background:rgba(5,8,6,.94);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.zoom-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px clamp(16px,3vw,32px);border-bottom:1px solid var(--line);color:var(--muted);font-size:14px}
.zoom-bar button{min-height:44px;padding:0 18px;border:1px solid var(--line-2);border-radius:6px;background:var(--surface);color:var(--ink);font:600 14px/1 var(--display);letter-spacing:.08em;text-transform:uppercase;cursor:pointer}
.zoom-body{flex:1;overflow:auto;padding:clamp(16px,3vw,32px);overscroll-behavior:contain}
.zoom-body img{display:block;width:min(1000px,100%);height:auto;margin:0 auto;border-radius:8px;box-shadow:0 30px 80px -30px #000}
html.zoom-open,html.zoom-open body{overflow:hidden}
