/* Grilled on the Hill, direction C: the receipt prints under your thumb. Ink, paper, one heat colour.
   Type: Newsreader (OFL, fonts/OFL-Newsreader.txt) for headlines, Inter for body and UI, Anton only for the wordmark and the stamp. */
@font-face{font-family:"Anton";src:url("fonts/anton.woff") format("woff");font-display:swap}
@font-face{font-family:"Newsreader";src:url("fonts/newsreader.woff") format("woff");font-weight:400 600;font-display:swap}
@font-face{font-family:"Inter";src:url("fonts/inter.woff") format("woff");font-weight:100 900;font-display:swap}

:root{
  --ink:#141210; --ink-2:#1E1A17; --ink-3:#2A2622; --ink-4:#3A342E;
  --paper:#F5EFE6; --paper-2:#E9E1D4; --paper-3:#D9CFC0; --slip:#FFFDF8;
  --heat:#FF6A1A; --heat-ink:#B8470A;
  --dim:#D4CABD; --mute:#B3A89A; --mute-on-paper:#5A5249;
  --anton:"Anton","Arial Narrow",sans-serif; --serif:"Newsreader",Georgia,"Times New Roman",serif; --inter:"Inter",system-ui,-apple-system,"Segoe UI",sans-serif; --mono:"Courier New",Courier,monospace;
  --ease-out:cubic-bezier(.22,1,.36,1); --ease-soft:cubic-bezier(.33,1,.68,1);
  --gutter:24px; --max:1180px;
  --hp:0; --pr:1; --ps:1; --pa:1; --led:0; --sh:0;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;background:var(--ink)}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--ink);color:var(--paper);font:16px/1.6 var(--inter);overflow-x:clip;font-feature-settings:"tnum" 1}
::selection{background:var(--heat);color:var(--ink)}
img,video,canvas{max-width:100%;height:auto;display:block}
a{color:inherit;text-underline-offset:3px}
p{margin:0 0 1em}
:focus-visible{outline:3px solid var(--heat);outline-offset:3px}
.print :focus-visible,.index :focus-visible,.score :focus-visible,.sub :focus-visible,.slip :focus-visible,.page .slip :focus-visible{outline-color:var(--ink)}
.wrap{max-width:var(--max);margin:0 auto;padding-left:var(--gutter);padding-right:var(--gutter)}
.skip{position:absolute;left:-999px;top:0;background:var(--heat);color:var(--ink);padding:10px 14px;font-weight:600;z-index:60}
.skip:focus{left:16px}
h1,h2,h3,h4{margin:0;line-height:1.05}
h1,h2{font-family:var(--serif);font-weight:600;letter-spacing:0;line-height:1.12;text-wrap:balance}
h3,h4{font-family:var(--inter);font-weight:600;letter-spacing:-.01em}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:12px 22px;background:var(--paper);color:var(--ink);text-decoration:none;font:600 16px var(--inter);border:2px solid var(--paper);transition:background .18s,color .18s,border-color .18s,transform .14s}
.btn:hover{background:var(--heat);border-color:var(--heat);color:var(--ink)}
.btn:active{transform:scale(.97)}
.btn.hot{background:var(--heat);border-color:var(--heat)}
.btn.hot:hover{background:var(--paper);border-color:var(--paper)}
.btn.ghost{background:transparent;color:var(--paper)}
.btn.ghost:hover{background:var(--paper);color:var(--ink)}
.cta{display:flex;flex-wrap:wrap;gap:12px}
.meta{font:500 14px/1.45 var(--inter);color:var(--mute)}
.meta time{color:var(--dim);font-weight:600}
.cap{font:500 14px/1.45 var(--inter);color:var(--mute);margin:10px 0 0}

/* top bar */
.top{background:var(--ink);position:relative;z-index:20}
.top .wrap{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;padding-top:10px;padding-bottom:10px}
.top .mark{display:flex;align-items:center;gap:10px;text-decoration:none;font:400 20px var(--anton);letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;min-height:44px}
.top .mark img{width:36px;height:36px;border-radius:50%}
.top nav{flex:1 0 100%;display:flex;justify-content:space-between;gap:6px;font:600 14px var(--inter)}
.top nav a{text-decoration:none;color:var(--dim);min-height:44px;display:inline-flex;align-items:center;padding:0 2px;border-bottom:3px solid transparent}
.top nav a:hover,.top nav a[aria-current]{color:var(--paper);border-bottom-color:var(--heat)}

/* 1. the tape (hero): plate behind, ink band in front, three layers recede at different rates */
.tape{background:var(--ink);overflow:clip}
.tape-stage{position:relative;display:grid}
.plate{position:relative;background:var(--ink-2);display:grid}
.media{position:relative;aspect-ratio:16/9;overflow:hidden;background:var(--ink-2)}
.chyron{position:relative;z-index:3;display:grid;gap:12px 20px;align-items:center;background:var(--ink);border-top:6px solid var(--heat);padding:14px var(--gutter) 16px}
.chyron h1{font-size:clamp(26px,6vw,44px);line-height:1.12;max-width:30ch}
.chyron h1 .w{display:inline-block}
.tape .plate{width:min(100%,1440px,calc((min(76svh,720px) - 140px) * 16 / 9));margin:0 auto}
.media>img,.media>video,.media>canvas,.ep-plate>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.media>video{opacity:0}
.plate.vid .media>video{opacity:1}
.media>canvas{opacity:0;pointer-events:none}
.plate.gl .media>canvas{opacity:1}
.plate.gl .media>video{opacity:0}
.plate-play{position:relative;z-index:4;justify-self:start;display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:0 14px 0 12px;background:var(--ink);color:var(--paper);text-decoration:none;font:600 14px var(--inter);border:2px solid var(--ink)}
.plate-play b{color:var(--heat);font-weight:600}
.plate-play:before{content:"";width:0;height:0;border-style:solid;border-width:7px 0 7px 12px;border-color:transparent transparent transparent var(--heat)}
a.plate-play:hover{border-color:var(--heat)}
.under{display:grid;gap:16px;padding-top:20px;padding-bottom:28px}
.under .q{font-size:clamp(16px,1.6vw,18px);color:var(--dim);max-width:58ch;margin:0 0 10px}
.under .q b{color:var(--paper);font-weight:600}
.under .meta{max-width:60ch}
.js .under>*{opacity:0;transform:translateY(14px)}
.js .chyron h1 .w{opacity:0;transform:translateY(.5em)}
.js.loaded .under>*{opacity:1;transform:none;transition:opacity .7s var(--ease-out),transform .7s var(--ease-out)}
.js.loaded .chyron h1 .w{opacity:1;transform:none;transition:opacity .6s var(--ease-out),transform .7s var(--ease-out);transition-delay:calc(.12s + var(--i,0)*.045s)}
.js.loaded .under>div{transition-delay:.5s}
.js.loaded .under .cta{transition-delay:.62s}

/* 2. the receipt prints (signature act, pinned): --pr print progress, --ps stamp, --pa the line after, --led the printer light, --sh shake */
.print{background:var(--paper);color:var(--ink)}
.io .print{height:140svh}
.io .print-stage{position:sticky;top:0}
.print-stage{position:relative;display:grid;max-width:760px;margin:0 auto;padding:16px var(--gutter) 18px;transform:translate3d(calc(var(--sh)*1px),0,0)}
.printer{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:4px 0 10px}
.printer h2{font-size:clamp(20px,2.4vw,26px)}
.led{width:12px;height:12px;border-radius:50%;background:var(--heat);flex:0 0 auto;opacity:calc(.22 + .78*var(--led))}
.slot{height:22px;background:var(--ink);border-radius:3px;position:relative;z-index:3;box-shadow:0 10px 18px -8px rgba(20,18,16,.5)}
.slot:after{content:"";position:absolute;left:12px;right:12px;top:9px;height:5px;background:var(--ink-4);border-radius:3px}
.slip-wrap{position:relative;overflow:hidden;min-height:0;padding:0 2px 14px;transform:translate3d(0,calc((1 - var(--pr))*-6px),0)}
.slip{position:relative;background:var(--slip);color:var(--ink);padding:20px 22px 24px;margin:0 6px;font:15px/1.5 var(--inter);box-shadow:0 22px 40px -22px rgba(20,18,16,.6);transform-origin:50% 0;clip-path:inset(0 0 calc((1 - var(--pr))*100%) 0);will-change:clip-path}
.slip:after{content:"";position:absolute;left:0;right:0;bottom:-10px;height:10px;background:linear-gradient(135deg,transparent 50%,var(--slip) 50%) 0 0/14px 10px repeat-x,linear-gradient(45deg,transparent 50%,var(--slip) 50%) 0 0/14px 10px repeat-x}
.slip a{color:var(--ink)}
.slip a:hover{color:var(--heat-ink)}
.rc-head{display:flex;justify-content:space-between;gap:12px;align-items:baseline;font:600 12px var(--mono);letter-spacing:.08em;text-transform:uppercase;border-bottom:2px dashed var(--ink);padding-bottom:8px;margin-bottom:12px;color:var(--mute-on-paper)}
.rc-head b{color:var(--ink);font-weight:600}
.rc-label{display:block;font:600 12px/1.3 var(--inter);letter-spacing:.02em;color:var(--mute-on-paper);margin:0 0 3px}
.rc-claim{font:600 clamp(20px,2.3vw,25px)/1.2 var(--serif);margin:0 0 14px;text-wrap:pretty}
.rc-record{margin:0 0 12px;padding:0;border-top:1px solid var(--paper-3)}
.rc-record div{display:grid;grid-template-columns:1fr;gap:1px 14px;padding:8px 0;border-bottom:1px solid var(--paper-3)}
.rc-record dt{font:600 12px/1.3 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--mute-on-paper)}
.rc-record dd{margin:0}
.rc-source{margin:0 0 12px;font-size:14px;color:var(--mute-on-paper)}
.rc-source b{color:var(--ink);font-weight:600}
.rc-finding{position:relative;display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;margin:0 0 10px;padding:10px 12px;border:3px solid var(--ink)}
.rc-finding .rc-label{flex-basis:100%;margin:0}
.rc-finding .verdict{font:700 clamp(17px,2vw,22px)/1.15 var(--inter);letter-spacing:.02em;color:var(--heat-ink);text-transform:uppercase}
.rc-finding .group{font:600 13px var(--inter);padding:5px 9px;border:2px solid var(--ink);text-transform:uppercase;letter-spacing:.04em}
.rc-finding .group.supported{background:var(--ink);color:var(--paper)}
.rc-finding .group.not-supported{border-style:dashed}
.rc-finding .group.mixed{background:var(--paper-2)}
.rc-finding .group.see{color:var(--mute-on-paper);border-color:var(--mute-on-paper)}
.rc-clip{font-size:14px;color:var(--mute-on-paper);margin:0 0 4px}
.rc-meta{display:flex;flex-wrap:wrap;gap:3px 14px;font:500 12px/1.5 var(--mono);color:var(--mute-on-paper);border-top:1px dashed var(--ink);padding-top:8px;margin:10px 0 0}
.stamp{position:absolute;right:3%;top:-22%;z-index:4;pointer-events:none;color:var(--heat-ink);border:7px solid var(--heat-ink);border-radius:9px;padding:6px 12px;background:rgba(255,253,248,.35);font-family:var(--anton);line-height:1;letter-spacing:.03em;text-align:center;text-transform:uppercase;mix-blend-mode:multiply;max-width:84%;text-wrap:balance;opacity:var(--ps);transform:rotate(-9deg) translate3d(0,0,0) scale(calc(1 + 1.5*(1 - var(--ps))));transform-origin:50% 50%}
@media (max-width:599px){.stamp{top:auto;bottom:-30%;right:2%}}
.stamp.big{font-size:clamp(40px,7vw,64px)}
.stamp.mid{font-size:clamp(28px,4.6vw,44px)}
.stamp.small{font-size:clamp(20px,3vw,30px)}
.stamp span{display:block}
.print .slip:focus-within{clip-path:none!important}
.print-after{display:flex;flex-wrap:wrap;gap:10px 18px;align-items:center;padding:10px 0 6px;margin:0;opacity:var(--pa);transform:translate3d(0,calc((1 - var(--pa))*14px),0)}
.print-after span{font-size:14px;color:var(--mute-on-paper);max-width:46ch}
.print-after .btn.ghost{color:var(--ink);border-color:var(--ink)}
.print-after .btn.ghost:hover{background:var(--ink);color:var(--paper)}

/* 3. the rest of the docket (ink) */
.docket{background:var(--ink);padding:56px 0 48px}
.docket-grid{display:grid;gap:28px}
.docket-loop video{width:100%;background:var(--ink-2);border:3px solid var(--ink-3)}
.docket-list h2{font-size:clamp(28px,3.4vw,40px)}
.docket-lede{color:var(--dim);margin:12px 0 18px;max-width:52ch}
.docket-rows{list-style:none;margin:0;padding:0}
.docket-rows li a{display:grid;grid-template-columns:1fr;gap:6px 18px;padding:16px 0;border-top:3px solid var(--ink-3);text-decoration:none;color:var(--paper)}
.docket-rows li:last-child a{border-bottom:3px solid var(--ink-3)}
.docket-rows li a:hover .dk-claim{color:var(--heat)}
.dk-round{font:600 13px var(--inter);color:var(--mute);letter-spacing:.02em}
.dk-claim{font:600 clamp(18px,1.9vw,22px)/1.25 var(--serif);transition:color .18s}
.dk-find{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.dk-stamp{display:inline-block;font:400 15px/1 var(--anton);letter-spacing:.04em;color:var(--heat);border:3px solid var(--heat);border-radius:6px;padding:6px 8px;transform:rotate(-6deg);text-transform:uppercase}
.dk-verdict{font:600 14px var(--inter);color:var(--dim);text-transform:uppercase;letter-spacing:.03em}
.docket-scores{list-style:none;margin:18px 0 0;padding:0;display:grid;gap:8px}
.docket-scores li{font-size:15px;color:var(--dim)}
.docket-scores b{display:block;font:600 17px/1.3 var(--inter);color:var(--paper)}
.docket-more{margin:22px 0 0}
.docket-more a{font:600 15px var(--inter);color:var(--paper);min-height:44px;display:inline-flex;align-items:center}
.docket-more a:hover{color:var(--heat)}

/* 4. every tape (paper): an index with preview */
.index{background:var(--paper);color:var(--ink);padding:56px 0 60px}
.sec{display:grid;gap:8px;margin-bottom:22px}
.sec h2{font-size:clamp(30px,3.6vw,42px)}
.sec p{margin:0;color:var(--mute-on-paper);max-width:60ch}
.idx{list-style:none;margin:0;padding:0}
.row{display:grid;grid-template-columns:1fr;gap:12px 24px;padding:18px 0;border-top:2px solid var(--paper-3)}
.row:last-child{border-bottom:3px solid var(--paper-3)}
.row-th{position:relative;display:block;max-width:320px}
.row-th img{aspect-ratio:16/9;object-fit:cover;width:100%;border:3px solid var(--ink);background:var(--ink-2);transition:border-color .2s}
.row-th:hover img,.row-th:focus-visible img{border-color:var(--heat-ink)}
.row-th .dur{position:absolute;right:8px;top:8px;z-index:2;font:600 13px var(--inter);background:var(--ink);color:var(--paper);padding:5px 8px}
.row-th .pv{position:absolute;inset:3px;width:calc(100% - 6px);height:calc(100% - 6px);border:0;pointer-events:none;background:#000;opacity:0;transition:opacity .35s;z-index:1}
.row-th .pv.on{opacity:1}
.row-body{display:grid;gap:6px;align-content:start;min-width:0}
.row-title{font:600 clamp(22px,2.1vw,30px)/1.2 var(--serif);text-wrap:pretty;margin:0}
.row-title a{text-decoration:none;color:var(--ink)}
.row-title a:hover,.row-title a:focus-visible{color:var(--heat-ink)}
.row-meta{font:500 14px var(--inter);color:var(--mute-on-paper);margin:0}
.row-meta time{color:var(--ink);font-weight:600}
.row-links{display:flex;flex-wrap:wrap;gap:4px 18px;margin:2px 0 0}
.row-links a{font:600 14px var(--inter);color:var(--ink);text-decoration:underline;min-height:44px;display:inline-flex;align-items:center}
.row-links a:hover{color:var(--heat-ink)}
.arch{margin-top:28px}

/* 5. shorts (filmstrip drag row, ink-2) */
.strip{background:var(--ink-2);padding:52px 0 40px}
.strip .sec h2,.strip .sec p{color:var(--paper)}
.strip .sec p{color:var(--dim)}
.film-wrap{position:relative;padding:22px 0;background:var(--ink)}
.film-wrap:before,.film-wrap:after{content:"";position:absolute;left:0;right:0;height:14px;background:repeating-linear-gradient(90deg,transparent 0 16px,var(--paper-3) 16px 30px,transparent 30px 46px)}
.film-wrap:before{top:4px}
.film-wrap:after{bottom:4px}
.film{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:var(--gutter);padding:4px var(--gutter);margin:0;list-style:none;scrollbar-width:thin;scrollbar-color:var(--heat) var(--ink-3)}
.film:focus-visible{outline-offset:-3px}
.film li{flex:0 0 min(58vw,210px);scroll-snap-align:start;display:grid;gap:8px;align-content:start}
.fr{position:relative;display:block}
.fr img{aspect-ratio:9/16;object-fit:cover;width:100%;border:3px solid var(--ink-4);background:var(--ink-2);transition:border-color .2s}
.fr:hover img,.fr:focus-visible img{border-color:var(--heat)}
.fr .dur{position:absolute;right:10px;top:10px;z-index:2;font:600 13px var(--inter);background:var(--heat);color:var(--ink);padding:5px 8px}
.film h3{font:600 15px/1.35 var(--inter)}
.film h3 a{text-decoration:none}
.film h3 a:hover{text-decoration:underline;text-decoration-color:var(--heat)}
.film .full{font:600 14px var(--inter);color:var(--dim);text-decoration:underline;min-height:44px;display:inline-flex;align-items:center}
.film .full:hover{color:var(--heat)}
.film-nav{display:flex;gap:10px;margin-top:16px}
.film-nav button{min-width:44px;min-height:44px;padding:0 18px;background:transparent;color:var(--paper);border:2px solid var(--ink-4);font:600 15px var(--inter);cursor:pointer}
.film-nav button:hover{border-color:var(--heat);color:var(--heat)}

/* 6. how we score (paper) */
.score{background:var(--paper);color:var(--ink);padding:56px 0 60px}
.score-grid{display:grid;gap:30px}
.score-text h2{font-size:clamp(30px,3.6vw,42px)}
.score-text .lede{font-size:17px;color:var(--mute-on-paper);margin:14px 0 20px;max-width:58ch}
.score-text .lede b,.score-text p b{color:var(--ink);font-weight:600}
.score-text p{color:var(--mute-on-paper);max-width:58ch}
.ladder{list-style:none;margin:0 0 20px;padding:0;display:grid;gap:14px}
.ladder li{display:grid;grid-template-columns:1fr;gap:4px 18px;align-items:baseline}
.ladder b{font:600 clamp(22px,2.4vw,28px)/1.2 var(--serif);color:var(--ink)}
.ladder span{color:var(--mute-on-paper);font-size:15px;max-width:48ch}
.score-text .btn.ghost{color:var(--ink);border-color:var(--ink)}
.score-text .btn.ghost:hover{background:var(--ink);color:var(--paper)}
.score-loop video{width:100%;border:4px solid var(--ink);background:var(--ink)}
.score-loop .cap{color:var(--mute-on-paper)}

/* reveals: only on the few elements that ask, once, no travel under reduced motion */
.io [data-reveal]{opacity:0;transform:translateY(16px);transition:opacity .6s var(--ease-out),transform .7s var(--ease-out)}
.io [data-reveal].in,.io [data-reveal]:focus-within{opacity:1;transform:none}
.docket-rows li[data-reveal]:nth-child(2){transition-delay:.07s}
.docket-rows li[data-reveal]:nth-child(3){transition-delay:.14s}

/* subscribe band (heat) */
.sub{background:var(--heat);color:var(--ink);padding:30px 0}
.sub .wrap{display:grid;gap:14px}
.sub p{margin:0;font:600 clamp(22px,2.6vw,30px)/1.15 var(--serif);max-width:26ch;text-wrap:balance}
.sub .btn{background:var(--ink);color:var(--paper);border-color:var(--ink);justify-self:start}
.sub .btn:hover{background:var(--paper);color:var(--ink);border-color:var(--paper)}

/* footer */
footer{padding:44px 0 34px;background:var(--ink)}
.signoff{font-family:var(--serif);font-weight:600;font-size:clamp(28px,3.8vw,44px);line-height:1.12;margin:0 0 26px}
.signoff span{color:var(--paper)}
.signoff b{color:var(--heat);font-weight:600}
.foot-grid{display:grid;gap:22px}
footer p{margin:0;color:var(--dim);font-size:15px;max-width:60ch}
footer a{color:var(--paper)}
.flinks{display:flex;flex-wrap:wrap;gap:8px 10px;list-style:none;margin:0;padding:0}
.flinks a{display:inline-flex;align-items:center;min-height:44px;padding:0 16px;border:2px solid var(--ink-4);text-decoration:none;font:600 14px var(--inter)}
.flinks a:hover{border-color:var(--heat);color:var(--heat)}
.bug{display:flex;flex-wrap:wrap;align-items:center;gap:12px 16px;font:600 13px var(--inter);color:var(--dim)}
.bug img{width:44px;height:44px;border-radius:50%}
.motion-toggle{min-height:44px;padding:0 16px;background:transparent;color:var(--paper);border:2px solid var(--ink-4);font:600 14px var(--inter);cursor:pointer}
.motion-toggle:hover,.motion-toggle:focus-visible{border-color:var(--heat);color:var(--heat)}
.still *,.still *:before,.still *:after{animation-play-state:paused!important;transition:none!important}

/* episode page */
.ep-tape{background:var(--ink)}
.ep-plate{display:block;position:relative;aspect-ratio:16/9;width:min(100%,1180px,calc(72svh*16/9));margin:0 auto;transform:none}
.ep-plate .plate-play{position:absolute;right:14px;bottom:14px}
.ep-plate img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-bottom:4px solid var(--heat)}
.ep-plate:hover .plate-play{border-color:var(--heat)}
.ep-band{padding-top:26px;padding-bottom:30px}
.ep-band h1{font-size:clamp(26px,3.8vw,44px);max-width:30ch}
.ep-band .meta{margin:12px 0 18px;max-width:70ch}
.ep-grid{display:grid;gap:36px;padding-top:34px;padding-bottom:20px}
.ep-main{display:grid;gap:40px;min-width:0}
.ep-aside{display:grid;gap:30px;align-content:start;min-width:0}
.ep-aside h2{font-size:22px;margin-bottom:12px;border-bottom:2px solid var(--ink-3);padding-bottom:8px}
.srcs,.chaps{list-style:none;margin:0;padding:0}
.srcs li,.chaps li{padding:9px 0;border-bottom:1px solid var(--ink-3);font-size:15px;color:var(--dim);overflow-wrap:anywhere}
.srcs a,.chaps a{color:var(--paper);text-decoration:underline}
.srcs a:hover,.chaps a:hover{color:var(--heat)}
.srcs .meta{display:inline}
.chaps time{display:inline-block;min-width:52px;font:600 14px var(--inter);color:var(--heat)}
.ep-receipts{display:grid;gap:28px}
.ep-receipts h2,.ep-scores h2{font-size:clamp(26px,3.2vw,36px)}
.toc{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:0;padding:0}
.toc a{display:inline-flex;align-items:center;min-height:44px;padding:0 14px;border:2px solid var(--ink-4);font:600 14px var(--inter);text-decoration:none;color:var(--dim)}
.toc a:hover{border-color:var(--heat);color:var(--heat)}
.ep-receipts .slip{margin:0;max-width:720px;transform:none}
.io .ep-receipts .slip{clip-path:inset(0 0 100% 0)}
.io .ep-receipts .slip.in{clip-path:inset(0 0 -12px 0);transition:clip-path 1.1s steps(26)}
.io .ep-receipts .slip .stamp{opacity:0;transform:rotate(-9deg) scale(2.4)}
.io .ep-receipts .slip.in .stamp{opacity:1;transform:rotate(-9deg) scale(1);transition:opacity .22s .95s,transform .26s cubic-bezier(.3,0,.6,1) .95s}
.ep-scores .meta{margin:10px 0 16px;max-width:66ch}
.scores{display:grid;gap:14px;list-style:none;margin:0 0 18px;padding:0}
.score-card,.scores .score{background:var(--ink-2);padding:18px 20px}
.scores .score h4{font-size:18px;margin-bottom:12px}
.comps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0 0 12px;padding:0}
.comps div{background:var(--ink);padding:10px 12px}
.comps dt{font:600 12px/1.3 var(--inter);color:var(--mute)}
.comps dd{margin:4px 0 0;font:700 34px/1.1 var(--inter);color:var(--heat)}
.comps dd.na{font:600 14px/1.3 var(--inter);color:var(--dim);padding-top:8px}
.avg{font:600 15px var(--inter);color:var(--dim);margin:0 0 8px}
.avg b{font:700 22px/1 var(--inter);color:var(--heat);margin-right:6px}
.counts{display:grid;gap:8px;margin:0 0 10px;padding:0}
.counts div{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid var(--ink-3);padding:8px 0}
.counts dt{color:var(--dim)}
.counts dd{margin:0;font:700 22px/1 var(--inter);color:var(--heat)}
.note{font-size:15px;color:var(--dim);margin:0}

/* text pages */
.page{padding-top:36px}
.page h1{font-size:clamp(34px,4.6vw,54px)}
.page .lede{font-size:18px;color:var(--dim);max-width:62ch;margin:16px 0 0}
.page .lede b{color:var(--paper);font-weight:600}
.page h2{font-size:clamp(24px,2.8vw,34px);margin:48px 0 12px}
.page h3{font:600 19px/1.3 var(--inter);margin:26px 0 8px}
.page p,.page li{max-width:66ch}
.page ul{padding-left:20px}
.page li{margin:6px 0;color:var(--dim)}
.page li b,.page p b{color:var(--paper);font-weight:600}
.page p{color:var(--dim)}
.page .status{background:var(--ink-2);padding:14px 16px;font-size:15px;color:var(--dim);max-width:66ch;margin-top:20px}
.anchors{list-style:none;padding:0;margin:0}
.anchors li{display:grid;grid-template-columns:48px 1fr;gap:12px;align-items:baseline;padding:8px 0}
.anchors b{font:700 22px/1.2 var(--inter);color:var(--heat)}
.example{background:var(--ink-2);padding:20px;display:grid;gap:18px;margin-top:16px}
.example h3{margin:0}
.example .slip{max-width:none;margin:0;transform:none}
.loopbox{position:relative;background:var(--ink);max-width:720px;margin-top:18px}
.loopbox[data-narrow]{max-width:420px}
.loopbox video,.loopbox img{width:100%;border:3px solid var(--ink-3)}
.loopbox .cap{padding:8px 0 0}
.loopbox.paper{background:var(--paper)}
.loopbox.paper video,.loopbox.paper img{aspect-ratio:600/690;height:auto;object-fit:cover;object-position:50% 0;border-color:var(--paper-3)}
.loopbox.paper .cap{color:var(--mute-on-paper);padding:8px 12px 10px}
.page .slip p,.page .slip dd,.page .slip dt{max-width:none;color:var(--ink)}
.page .slip .rc-source,.page .slip .rc-clip,.page .slip .rc-head,.page .slip .rc-label,.page .slip .rc-meta,.page .slip .rc-record dt{color:var(--mute-on-paper)}
.page .slip .rc-source b,.page .slip .rc-head b{color:var(--ink)}
.page .slip .rc-finding .group.supported{color:var(--paper)}
.page .example .note,.page .example .avg{max-width:none}

/* hover previews (desktop only): site.js adds the frame on hover and removes it on leave */
.fr .pv{position:absolute;inset:3px;width:calc(100% - 6px);height:calc(100% - 6px);border:0;pointer-events:none;background:#000;opacity:0;transition:opacity .35s;z-index:1}
.fr .pv.on{opacity:1}

@media (min-width:600px){
  .row{grid-template-columns:minmax(180px,240px) minmax(0,1fr)}
  .rc-record div{grid-template-columns:170px 1fr}
  .sub .wrap{grid-template-columns:1fr auto;align-items:center}
  .ladder li{grid-template-columns:150px 1fr}
  .docket-rows li a{grid-template-columns:1fr auto;grid-template-areas:"round round" "claim find"}
  .dk-round{grid-area:round}.dk-claim{grid-area:claim}.dk-find{grid-area:find;justify-self:end}
}
@media (min-width:820px){
  :root{--gutter:48px}
  body{font-size:17px}
  .top .wrap{flex-wrap:nowrap;min-height:64px;padding-top:0;padding-bottom:0}
  .top nav{flex:0 0 auto;margin-left:auto;gap:22px}
  .tape{padding-top:20px}
  .chyron{grid-template-columns:minmax(0,1fr) auto;padding:16px 28px 18px}
  .under{grid-template-columns:minmax(0,1fr) auto;align-items:end;padding-top:22px;padding-bottom:30px}
  .band{align-self:end;justify-self:start;max-width:min(720px,70vw);margin:0 0 0 var(--gutter);padding:28px 32px 34px;transform:translate3d(0,calc(var(--hp)*-12vh),0)}
  .io .tape .media>*{transform:scale(calc(1 + .05*var(--hp))) translate3d(0,calc(var(--hp)*3vh),0)}
  .io .tape .media{opacity:calc(1 - .4*var(--hp))}
  .io .chyron{transform:translate3d(0,calc(var(--hp)*-4vh),0)}
  .io .under{transform:translate3d(0,calc(var(--hp)*-10vh),0);opacity:calc(1 - .6*var(--hp))}
  .print-stage{padding-top:22px}
  .docket-grid{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:48px;align-items:start}
  .score-grid{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:48px;align-items:start}
  .ep-grid{grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);gap:48px}
  .foot-grid{grid-template-columns:1fr auto;align-items:end}
  .film li{flex-basis:220px}
  .film-wrap:before,.film-wrap:after{height:16px}
}
@media (min-width:1200px){
  :root{--gutter:72px}
}
@media (prefers-reduced-motion:reduce){
  .btn,.btn:active{transition:none;transform:none}
  .media>*,.media,.chyron,.under,.slip,.slip-wrap,.stamp,.print-after{transform:none!important;transition:none!important;clip-path:none!important}
}

/* More room on both sides of every page and inside every receipt (Minh 2026-10-17) */
.slip{padding:24px 26px 28px}
@media (min-width:700px){.slip{padding:30px 40px 34px}}
/* Episode video lines up with the text instead of running edge to edge (Minh 2026-10-17) */
.ep-tape{padding:16px var(--gutter) 0}
.ep-plate{width:min(100%,1180px,calc(72svh*16/9))}
/* Play button sits below the burned-in thumbnail title, not on it */
.ep-plate .plate-play{top:14px;bottom:auto}
/* Nav: even spacing from the left instead of stretched across the bar */
.top nav{justify-content:flex-start;gap:6px 28px}
/* Home: the tape plate lines up with the page text instead of running edge to edge (Minh 2026-10-17) */
.tape{padding-left:var(--gutter);padding-right:var(--gutter)}
.tape .plate{max-width:100%}
/* Text under the video starts at the video's left edge (no double indent) */
.tape .wrap{padding-left:0;padding-right:0}
.chyron{padding-left:0;padding-right:0}
@media (min-width:700px){.chyron{padding-left:0;padding-right:0}}
/* Full-screen review fixes (Minh 2026-10-17) */
/* 1. no parallax drift in the hero text: it slid under the headline while scrolling */
.io .chyron,.io .under{transform:none!important;opacity:1!important}
/* 2. text under the video spans exactly the video's width */
.tape .under{width:min(100%,1440px,calc((min(76svh,720px) - 140px) * 16 / 9));margin-left:auto;margin-right:auto}
/* 3. the printed receipt gets more width on large screens */
@media (min-width:1100px){.print-stage{max-width:900px}}
/* 4. one verdict on the signature receipt: the stamp; the group chip is redundant there */
.print .rc-finding .group{display:none}
/* Phone: stamps stay inside the receipt (audit 2026-10-17: a 424 px stamp widened the episode page) */
@media (max-width:599px){
  .stamp{max-width:78%;white-space:normal;overflow-wrap:anywhere;border-width:5px;padding:4px 9px}
  .stamp.big{font-size:30px}.stamp.mid{font-size:22px}.stamp.small{font-size:17px}
}
.ep-receipts,.print{overflow-x:clip}
/* Phone nav: keep "How we score" on one line */
@media (max-width:699px){.top nav{gap:4px 18px}.top nav a{white-space:nowrap;font-size:14px}}
/* Contrast fixes (Codex lead, confirmed by James 2026-10-17): text on dark pages */
.page .idx,.page .idx .row-title a,.page .idx .row-links a{color:var(--paper)}
.page .idx .row-meta,.page .idx .row-meta time{color:var(--dim)}
.page .idx .row-title a:hover,.page .idx .row-links a:hover{color:var(--heat)}
.scores .score{color:var(--paper)}
.scores .score h4{color:var(--paper)}
/* No-JS fallback for the deferred loop posters (site.js sets the poster when near the viewport) */
.docket-loop img,.score-loop img{display:block;width:100%;height:auto}
.docket-loop img{border:3px solid var(--ink-3)}
.score-loop img{border:4px solid var(--ink)}
