/* Cheap Seats Index (college football): a night game. Near-black turf, chalk white, lime for "now", pylon orange for predictions. */
:root{
  --night:#06100b; --night2:#0a1a12; --turf:#0f3a28; --turf2:#165238;
  --chalk:#f2f5ee; --mute:#8aa395; --line:rgba(242,245,238,.12);
  --lime:#c8ff3d; --pylon:#ff5a1f; --win:#4be38a; --loss:#ff6b5b;
  --fd:"Big Shoulders Display","Oswald",Impact,sans-serif;
  --fb:"Barlow","Helvetica Neue",Arial,sans-serif;
  --fm:"Martian Mono",ui-monospace,Menlo,monospace;
  --ease:cubic-bezier(.16,1,.3,1);
  --pad:clamp(18px,4vw,64px);
}
*{box-sizing:border-box;margin:0;padding:0}
html{background:var(--night);color:var(--chalk);scroll-behavior:auto}
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
.lenis.lenis-stopped{overflow:hidden}
body{font-family:var(--fb);font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased;background:var(--night);overflow-x:hidden}
body.loading{overflow:hidden}
a{color:inherit;text-decoration:none}
button,input,select{font:inherit;color:inherit}
button{cursor:pointer;background:none;border:0}
:focus-visible{outline:2px solid var(--lime);outline-offset:3px}
::selection{background:var(--lime);color:var(--night)}
em{font-style:normal;color:var(--lime)}

/* ---------- loader ---------- */
.loader{position:fixed;inset:0;z-index:200;background:var(--night);display:grid;place-items:center;overflow:hidden}
.loader-lines{position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0 calc(10% - 2px),rgba(242,245,238,.07) calc(10% - 2px) 10%)}
.loader-count{position:relative;font-family:var(--fd);font-weight:900;font-size:clamp(120px,28vw,380px);line-height:.8;letter-spacing:-.02em;display:flex;align-items:flex-start;color:var(--chalk)}
.loader-count i{font-style:normal;font-size:.28em;color:var(--lime);margin-top:.12em}
.loader-word{position:absolute;left:var(--pad);bottom:calc(var(--pad) + 14px);font-family:var(--fd);font-weight:800;letter-spacing:.2em;font-size:14px;color:var(--mute)}
.loader-bar{position:absolute;left:0;right:0;bottom:0;height:6px;background:rgba(242,245,238,.08)}
.loader-bar b{display:block;height:100%;width:100%;background:var(--lime);transform:scaleX(0);transform-origin:left}

/* ---------- cursor / progress ---------- */
.cursor{position:fixed;left:0;top:0;z-index:150;pointer-events:none;mix-blend-mode:difference;opacity:0}
.cursor span{display:block;width:18px;height:18px;margin:-9px 0 0 -9px;border-radius:50%;background:#fff;transition:transform .35s var(--ease)}
.cursor.link span{transform:scale(3.2)}
@media (hover:none),(pointer:coarse){.cursor{display:none}}
.progress{position:fixed;left:0;top:0;height:3px;width:100%;z-index:120;background:var(--lime);transform:scaleX(0);transform-origin:left}

/* ---------- nav ---------- */
.nav{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:16px var(--pad);transition:transform .5s var(--ease),background .3s}
.nav.hide{transform:translateY(-110%)}
.nav.solid{background:rgba(6,16,11,.72);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.logo{display:flex;align-items:center;gap:12px}
.logo-mark{display:block;width:44px;height:44px;flex:none}
.logo-acc{color:var(--lime)}
.logo-word{font-family:var(--fd);font-weight:900;font-size:15px;line-height:.95;letter-spacing:.08em}
.nav nav{display:flex;gap:6px}
.nav nav a{font-family:var(--fd);font-weight:800;font-size:17px;letter-spacing:.06em;text-transform:uppercase;padding:8px 14px;border-radius:99px;transition:background .25s,color .25s}
.nav nav a:hover{background:var(--chalk);color:var(--night)}
.menu-btn{display:none;width:44px;height:44px;border-radius:50%;border:1px solid var(--line);position:relative}
.menu-btn i{position:absolute;left:12px;right:12px;height:2px;background:var(--chalk);transition:transform .4s var(--ease)}
.menu-btn i:nth-child(1){top:18px}.menu-btn i:nth-child(2){top:25px}
.menu-btn[aria-expanded=true] i:nth-child(1){transform:translateY(3.5px) rotate(45deg)}
.menu-btn[aria-expanded=true] i:nth-child(2){transform:translateY(-3.5px) rotate(-45deg)}
.sheet{position:fixed;inset:0;z-index:90;background:var(--night);display:flex;flex-direction:column;justify-content:center;gap:4px;padding:var(--pad);clip-path:inset(0 0 100% 0);transition:clip-path .7s var(--ease)}
.sheet.on{clip-path:inset(0 0 0 0)}
.sheet a{font-family:var(--fd);font-weight:900;font-size:clamp(56px,16vw,120px);line-height:.95;text-transform:uppercase}
@media (max-width:820px){.nav nav{display:none}.menu-btn{display:block}}

/* ---------- hero ---------- */
.hero{position:relative;min-height:100svh;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:32px;padding:120px var(--pad) 72px;overflow:hidden;background:
  radial-gradient(120% 80% at 80% 0%,#12452f 0%,transparent 60%),linear-gradient(180deg,var(--night),var(--turf) 140%)}
#field{position:absolute;inset:0;width:100%;height:100%}
.hero-grain{position:absolute;inset:0;opacity:.12;mix-blend-mode:overlay;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.hero-inner{position:relative;z-index:2;min-width:0}
.eyebrow{display:flex;align-items:center;gap:10px;font-family:var(--fm);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--mute);margin-bottom:22px}
.eyebrow .dot{width:9px;height:9px;border-radius:50%;background:var(--lime);box-shadow:0 0 0 0 rgba(200,255,61,.6);animation:pulse 2s infinite}
@keyframes pulse{70%{box-shadow:0 0 0 12px rgba(200,255,61,0)}100%{box-shadow:0 0 0 0 rgba(200,255,61,0)}}
.mega{font-family:var(--fd);font-weight:900;font-size:clamp(52px,10.4vw,210px);line-height:.84;letter-spacing:-.025em;text-transform:uppercase}
@media (max-width:900px){.mega{font-size:clamp(52px,16.5vw,150px)}}
.mega .line{white-space:nowrap;display:block;overflow:hidden;padding-bottom:.06em}
.mega .line.accent{color:var(--lime);-webkit-text-stroke:0}
.mega .ch{display:inline-block;will-change:transform}
.lede{max-width:46ch;margin-top:34px;font-size:clamp(16px,1.5vw,20px);color:#c9d8ce}
.cta{display:inline-flex;align-items:center;gap:14px;margin-top:30px;padding:16px 26px;border-radius:99px;background:var(--lime);color:var(--night);font-family:var(--fd);font-weight:900;font-size:20px;letter-spacing:.06em;text-transform:uppercase;transition:transform .4s var(--ease),background .3s}
.cta:hover{transform:translateY(-3px);background:#fff}
.cta svg{transition:transform .4s var(--ease)}.cta:hover svg{transform:translateY(4px)}
.hero-card{position:relative;z-index:2;width:min(380px,100%);padding:22px;border-radius:22px;background:rgba(6,16,11,.55);border:1px solid var(--line);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);cursor:pointer;transition:transform .5s var(--ease)}
.hero-card:hover{transform:translateY(-6px) rotate(-1deg)}
.hc-k{font-family:var(--fm);font-size:11px;letter-spacing:.14em;color:var(--lime)}
.hc-n{font-family:var(--fd);font-weight:900;font-size:120px;line-height:.85;margin:10px 0 6px;color:var(--chalk)}
.hc-t{display:flex;align-items:center;gap:12px}
.hc-t b{font-family:var(--fd);font-weight:900;font-size:36px;line-height:1}
.hc-t small{display:block;color:var(--mute);font-size:13px}
.hc-bar{height:6px;border-radius:3px;background:rgba(255,255,255,.12);margin-top:16px;overflow:hidden}
.hc-bar i{display:block;height:100%;background:var(--pylon);transform-origin:left}
.hc-bar-l{display:flex;justify-content:space-between;font-family:var(--fm);font-size:11px;color:var(--mute);margin-top:8px}
.hero-scroll{position:absolute;left:50%;bottom:22px;z-index:2;display:flex;flex-direction:column;align-items:center;gap:8px;font-family:var(--fm);font-size:10px;letter-spacing:.2em;color:var(--mute);transform:translateX(-50%)}
.hero-scroll i{width:1px;height:38px;background:linear-gradient(var(--lime),transparent);animation:drip 1.8s var(--ease) infinite;transform-origin:top}
@keyframes drip{0%{transform:scaleY(0)}60%{transform:scaleY(1)}100%{transform:scaleY(1);opacity:0}}
@media (max-width:900px){.hero{grid-template-columns:1fr;padding-top:110px}.hero-card{width:100%;display:grid;grid-template-columns:auto 1fr;gap:0 18px;align-items:center}.hc-n{font-size:84px;grid-row:span 3;margin:0}.hero-scroll{display:none}}

/* badge */
.bdg{--c:#555;display:inline-grid;place-items:center;flex:none;width:36px;height:36px;border-radius:10px;background:var(--c);color:#fff;font-family:var(--fd);font-weight:900;font-size:13px;letter-spacing:.02em;box-shadow:inset 0 -3px 0 rgba(0,0,0,.2),0 0 0 1px rgba(255,255,255,.12)}
.bdg.dk{color:#0b140f}
.bdg.lg{width:64px;height:64px;font-size:22px;border-radius:16px}
.bdg.sm{width:26px;height:26px;font-size:10px;border-radius:7px}
.bdg.xl{width:92px;height:92px;font-size:30px;border-radius:22px}

/* ---------- ticker ---------- */
.ticker{overflow:hidden;background:var(--lime);color:var(--night);border-block:1px solid #000;transform:rotate(-1.2deg);margin:-14px -2vw 0;position:relative;z-index:5}
.ticker-track{display:flex;width:max-content;gap:0;padding:12px 0;will-change:transform}
.tk{display:flex;align-items:center;gap:12px;padding:0 28px;font-family:var(--fd);font-weight:900;font-size:26px;letter-spacing:.03em;white-space:nowrap;text-transform:uppercase}
.tk b{opacity:.55;font-size:20px}
.tk i{width:8px;height:8px;background:var(--night);transform:rotate(45deg)}

/* ---------- stats ---------- */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:0;padding:110px var(--pad) 40px}
.stat{padding:0 20px;border-left:1px solid var(--line)}
.stat b{display:block;font-family:var(--fd);font-weight:900;font-size:clamp(54px,9vw,150px);line-height:.9;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.stat span{display:block;margin-top:10px;color:var(--mute);font-size:14px;max-width:20ch}
@media (max-width:760px){.stats{grid-template-columns:1fr 1fr;gap:34px 0}}

/* ---------- horizontal scroll ---------- */
.hscroll{position:relative;padding-top:40px}
.hs-pin{height:100svh;display:flex;flex-direction:column;justify-content:center;gap:34px;overflow:hidden}
.hs-head{padding:0 var(--pad)}
.h2{font-family:var(--fd);font-weight:900;font-size:clamp(48px,8.5vw,140px);line-height:.88;letter-spacing:-.02em;text-transform:uppercase;text-wrap:balance}
.hs-track{display:flex;gap:22px;padding:0 var(--pad);width:max-content;will-change:transform}
.tcard{--c:#333;position:relative;flex:none;width:clamp(270px,26vw,380px);height:clamp(340px,44vh,440px);border-radius:26px;padding:22px;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;cursor:pointer;color:#fff;background:linear-gradient(155deg,var(--c),color-mix(in srgb,var(--c) 40%,#000));transition:transform .6s var(--ease)}
.tcard.lt{color:#0b140f}
.tcard:hover{transform:translateY(-10px) rotate(-1deg)}
.tcard .big{position:absolute;right:-10px;bottom:-34px;font-family:var(--fd);font-weight:900;font-size:300px;line-height:.8;opacity:.16;letter-spacing:-.04em;pointer-events:none}
.tcard .tp{display:flex;justify-content:space-between;align-items:flex-start;position:relative}
.tcard .rk{font-family:var(--fd);font-weight:900;font-size:78px;line-height:.8}
.tcard .nm{font-family:var(--fd);font-weight:900;font-size:clamp(34px,3.4vw,50px);line-height:.92;text-transform:uppercase;position:relative}
.tcard .meta{font-family:var(--fm);font-size:11px;opacity:.8;margin-top:8px;position:relative}
.tcard .odds-row{display:flex;gap:18px;margin-top:16px;position:relative}
.tcard .odds-row div{font-size:12px;opacity:.85}
.tcard .odds-row b{display:block;font-family:var(--fd);font-weight:900;font-size:30px;line-height:1;opacity:1}
.hs-hint{padding:0 var(--pad);font-family:var(--fm);font-size:11px;letter-spacing:.2em;color:var(--mute);display:flex;align-items:center;gap:12px}
.hs-hint i{display:block;width:60px;height:1px;background:var(--mute);animation:slide 1.6s var(--ease) infinite;transform-origin:left}
@keyframes slide{0%{transform:scaleX(0)}70%{transform:scaleX(1)}100%{transform:scaleX(1);opacity:0}}

/* ---------- equation ---------- */
.equation{position:relative;background:var(--night2);border-block:1px solid var(--line)}
.eq-pin{min-height:100svh;display:flex;flex-direction:column;justify-content:center;padding:80px var(--pad)}
.eq-row{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;gap:24px;align-items:stretch}
.eq-box{padding:30px;border-radius:24px;border:1px solid var(--line);background:rgba(255,255,255,.02);display:flex;flex-direction:column;gap:10px}
.eq-box small{font-family:var(--fm);font-size:11px;letter-spacing:.16em;color:var(--mute)}
.eq-box h3{font-family:var(--fd);font-weight:900;font-size:clamp(48px,7vw,110px);line-height:.88}
.eq-box p{color:#c9d8ce;max-width:30ch}
.eq-box.hot{background:var(--lime);color:var(--night)}
.eq-box.hot small,.eq-box.hot p{color:#1e3a1a}
.eq-op{display:grid;place-items:center;font-family:var(--fd);font-weight:900;font-size:clamp(48px,7vw,110px);color:var(--lime)}
@media (max-width:900px){.eq-row{grid-template-columns:1fr}.eq-op{font-size:56px}}

/* ---------- sections ---------- */
.sec{padding:clamp(80px,12vw,190px) var(--pad)}
.sec.dark2{background:var(--night2);border-block:1px solid var(--line)}
.sec-head{margin-bottom:44px;max-width:1300px}
.sec-sub{margin-top:20px;color:#c9d8ce;max-width:62ch;font-size:18px}
.reveal-lines .ln{display:block;overflow:hidden;padding-bottom:.06em}
.reveal-lines .ln>span{display:block;will-change:transform}
.h3{font-family:var(--fd);font-weight:900;font-size:clamp(34px,4.5vw,64px);text-transform:uppercase;margin:70px 0 22px;line-height:.9}

.controls{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-bottom:26px}
.seg{display:inline-flex;border:1px solid var(--line);border-radius:99px;padding:4px;background:rgba(255,255,255,.03)}
.seg button{padding:8px 18px;border-radius:99px;font-family:var(--fd);font-weight:800;font-size:17px;letter-spacing:.05em;color:var(--mute);transition:background .3s,color .3s}
.seg button[aria-pressed=true]{background:var(--chalk);color:var(--night)}
select,input{background:rgba(255,255,255,.04);border:1px solid var(--line);border-radius:14px;padding:11px 16px;min-width:0}
select option{background:#0a1a12}
input::placeholder{color:var(--mute)}
input[type=search]{width:min(260px,100%)}
.btn{padding:12px 24px;border-radius:99px;background:var(--pylon);color:#fff;font-family:var(--fd);font-weight:900;font-size:19px;letter-spacing:.05em;text-transform:uppercase;transition:transform .35s var(--ease),filter .2s}
.btn:hover{transform:translateY(-3px);filter:brightness(1.1)}

/* ---------- rankings ---------- */
.rank-list{border-top:1px solid var(--line)}
.rrow{--c:#333;position:relative;display:grid;grid-template-columns:90px minmax(0,1.6fr) 90px minmax(80px,1fr) 80px 90px;gap:16px;align-items:center;padding:14px 8px;border-bottom:1px solid var(--line);cursor:pointer;overflow:hidden;isolation:isolate}
.rrow::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--c);opacity:.0;transform:scaleX(0);transform-origin:left;transition:transform .55s var(--ease),opacity .3s}
.rrow:hover::before{transform:scaleX(1);opacity:.28}
.rrow .rk{font-family:var(--fd);font-weight:900;font-size:56px;line-height:.9;color:var(--chalk);font-variant-numeric:tabular-nums}
.rrow .tm{display:flex;align-items:center;gap:14px;min-width:0}
.rrow .tm b{display:block;font-family:var(--fd);font-weight:800;font-size:26px;line-height:1;text-transform:uppercase;letter-spacing:.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rrow .tm small{display:block;color:var(--mute);font-size:13px}
.rrow .rec{font-family:var(--fm);font-size:14px}
.rrow .meter{height:8px;border-radius:4px;background:rgba(255,255,255,.1);overflow:hidden}
.rrow .meter i{display:block;height:100%;border-radius:4px;background:var(--lime);transform-origin:left}
.rrow .pw,.rrow .po{font-family:var(--fm);font-size:13px;text-align:right}
.rrow .po b{color:var(--pylon);font-weight:500}
.rrow.in{animation:rin .6s var(--ease) both}
@keyframes rin{from{opacity:0;transform:translateY(18px)}}
.rhead{display:grid;grid-template-columns:90px minmax(0,1.6fr) 90px minmax(80px,1fr) 80px 90px;gap:16px;padding:10px 8px;font-family:var(--fm);font-size:11px;letter-spacing:.12em;color:var(--mute);text-transform:uppercase}
.rhead span:nth-child(5),.rhead span:nth-child(6){text-align:right}
.more{display:block;margin:34px auto 0;padding:14px 30px;border:1px solid var(--chalk);border-radius:99px;font-family:var(--fd);font-weight:900;font-size:19px;letter-spacing:.06em;text-transform:uppercase;transition:background .3s,color .3s}
.more:hover{background:var(--chalk);color:var(--night)}
.empty{padding:40px 8px;color:var(--mute)}
@media (max-width:760px){
  .rrow,.rhead{grid-template-columns:54px minmax(0,1fr) 70px 64px;gap:10px}
  .rrow .meter,.rhead span:nth-child(4),.rrow .pw,.rhead span:nth-child(5){display:none}
  .rrow .rk{font-size:40px}.rrow .tm b{font-size:21px}
}

/* ---------- matchup ---------- */
.mu-pick{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:14px;align-items:end;margin-bottom:18px}
.mu-pick label{display:block;font-family:var(--fm);font-size:11px;letter-spacing:.14em;color:var(--mute);text-transform:uppercase}
.mu-pick input{display:block;width:100%;margin-top:8px;font-family:var(--fd);font-weight:800;font-size:28px;padding:12px 18px}
.swap{width:54px;height:54px;border-radius:50%;border:1px solid var(--line);font-size:22px;transition:transform .5s var(--ease),background .3s}
.swap:hover{transform:rotate(180deg);background:var(--lime);color:var(--night)}
@media (max-width:640px){.mu-pick{grid-template-columns:1fr}.swap{justify-self:center}}
.board{--ca:#555;--cb:#999;position:relative;margin-top:18px;border-radius:28px;overflow:hidden;background:#050c08;border:1px solid var(--line)}
.board::before{content:"";position:absolute;inset:0;background:linear-gradient(100deg,color-mix(in srgb,var(--ca) 55%,transparent),transparent 45%,transparent 55%,color-mix(in srgb,var(--cb) 55%,transparent));opacity:.55}
.board-in{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:20px;align-items:center;padding:34px 30px}
.side{display:flex;align-items:center;gap:18px;min-width:0}
.side.r{justify-content:flex-end;text-align:right}
.side .nm{font-family:var(--fd);font-weight:900;font-size:clamp(28px,4.4vw,64px);line-height:.9;text-transform:uppercase;overflow-wrap:anywhere}
.side small{display:block;color:#c9d8ce;font-size:13px;margin-top:6px}
.score{font-family:var(--fd);font-weight:900;font-size:clamp(70px,13vw,190px);line-height:.8;display:flex;gap:14px;align-items:baseline;font-variant-numeric:tabular-nums}
.score em{font-size:.3em;color:var(--pylon)}
.wp{position:relative;display:flex;height:14px;margin:0 30px}
.wp i{display:block;height:100%}
.wp i:first-child{border-radius:7px 0 0 7px}.wp i:last-child{border-radius:0 7px 7px 0}
.board-meta{position:relative;display:flex;flex-wrap:wrap;gap:8px 28px;padding:20px 30px 28px;font-size:15px;color:#c9d8ce}
.board-meta b{color:var(--chalk)}
@media (max-width:700px){.board-in{grid-template-columns:1fr;text-align:center}.side,.side.r{justify-content:center;text-align:center}}
.tape{display:grid;gap:10px;margin-top:28px}
.tape .h{font-family:var(--fd);font-weight:900;font-size:30px;text-transform:uppercase;margin:16px 0 4px}
.trow{display:grid;grid-template-columns:minmax(60px,70px) 1fr minmax(120px,160px) 1fr minmax(60px,70px);gap:12px;align-items:center;font-size:13px}
.trow .v{font-family:var(--fm);font-size:12px}
.trow .v:first-child{text-align:right}
.trow .l{text-align:center;color:var(--mute);font-size:12px}
.tb{height:10px;border-radius:5px;background:rgba(255,255,255,.08);position:relative;overflow:hidden}
.tb i{position:absolute;top:0;bottom:0;border-radius:5px;transform-origin:var(--o)}
.tb.a i{right:0;--o:right}.tb.b i{left:0;--o:left}
.simbox{margin-top:24px;padding:22px;border:1px solid var(--line);border-radius:22px;background:rgba(255,255,255,.02)}
.hist{display:flex;align-items:flex-end;gap:6px;height:150px;margin-top:16px}
.hist div{flex:1;border-radius:5px 5px 0 0;transform-origin:bottom;position:relative}
.hist span{position:absolute;bottom:-20px;left:50%;transform:translateX(-50%);font-family:var(--fm);font-size:10px;color:var(--mute);white-space:nowrap}
@media (max-width:640px){.trow{grid-template-columns:48px 1fr 1fr 48px}.trow .l{grid-column:1/-1;grid-row:1}.trow .tb.a{grid-column:2}.trow .tb.b{grid-column:3}}

/* ---------- week ---------- */
.games{display:grid;grid-template-columns:repeat(auto-fill,minmax(310px,1fr));gap:16px}
.gcard{position:relative;padding:18px;border-radius:22px;border:1px solid var(--line);background:rgba(255,255,255,.025);display:grid;gap:10px;cursor:pointer;transition:transform .5s var(--ease),border-color .3s,background .3s}
.gcard:hover{transform:translateY(-6px);background:rgba(255,255,255,.05)}
.gcard.up{border-color:var(--pylon)}
.gcard.up::after{content:"UPSET WATCH";position:absolute;top:-10px;right:16px;background:var(--pylon);color:#fff;font-family:var(--fm);font-size:10px;letter-spacing:.12em;padding:3px 9px;border-radius:99px}
.gt{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;gap:10px;align-items:center}
.gt b{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gt .p{font-family:var(--fm);font-size:12px;color:var(--mute)}
.gt .s{font-family:var(--fd);font-weight:900;font-size:30px;min-width:34px;text-align:right}
.gt.f .s{color:var(--lime)}
.gbar{height:5px;border-radius:3px;overflow:hidden;display:flex;background:rgba(255,255,255,.08)}
.gbar i{display:block;height:100%}
.gm{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;font-size:12px;color:var(--mute)}

/* ---------- playoff ---------- */
.bracket-wrap{overflow-x:auto;padding:10px 0 20px;margin:0 calc(var(--pad) * -1);padding-inline:var(--pad)}
.bracket{display:grid;grid-template-columns:repeat(4,minmax(240px,1fr));gap:26px;min-width:1040px}
.bcol{display:flex;flex-direction:column;justify-content:space-around;gap:16px}
.bcol h5{font-family:var(--fm);font-weight:400;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--mute)}
.mt{border:1px solid var(--line);border-radius:16px;overflow:hidden;background:rgba(255,255,255,.03)}
.mt .tt{display:grid;grid-template-columns:20px auto minmax(0,1fr) auto;gap:10px;align-items:center;padding:10px 12px;font-size:14px;cursor:pointer}
.mt .tt+.tt{border-top:1px solid var(--line)}
.mt .tt.w{background:rgba(200,255,61,.1)}
.mt .tt.w b{color:var(--lime)}
.mt .sd{font-family:var(--fd);font-weight:900;color:var(--mute);text-align:center}
.mt .pp{font-family:var(--fm);font-size:11px;color:var(--mute)}
.mt .tt b{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mt .lb{font-family:var(--fm);font-size:10px;letter-spacing:.06em;color:var(--mute);padding:6px 12px;background:rgba(255,255,255,.04)}
.champ{margin-top:16px;padding:22px;border-radius:22px;background:var(--lime);color:var(--night);text-align:center}
.champ strong{display:block;font-family:var(--fd);font-weight:900;font-size:44px;line-height:.9;text-transform:uppercase;margin-top:10px}
.champ small{font-family:var(--fm);font-size:11px;letter-spacing:.12em;text-transform:uppercase}
.odds{display:grid;gap:8px}
.orow{display:grid;grid-template-columns:36px minmax(120px,240px) 1fr 70px;gap:14px;align-items:center;cursor:pointer;padding:6px 0}
.orow b{font-family:var(--fd);font-weight:800;font-size:22px;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.orow .tr{height:16px;border-radius:8px;background:rgba(255,255,255,.07);overflow:hidden}
.orow .tr i{display:block;height:100%;border-radius:8px;transform-origin:left}
.orow .v{font-family:var(--fm);font-size:14px;text-align:right}

/* ---------- method ---------- */
.prose{max-width:76ch}
.prose h3{font-family:var(--fd);font-weight:900;font-size:clamp(32px,4vw,54px);text-transform:uppercase;margin:50px 0 10px;line-height:.9;color:var(--lime)}
.prose p,.prose li{color:#c9d8ce;margin-bottom:12px}
.prose ul{padding-left:20px}
.prose code{font-family:var(--fm);font-size:13px;background:rgba(255,255,255,.08);padding:2px 6px;border-radius:6px}
.formula{font-family:var(--fm);font-size:13px;border-left:4px solid var(--pylon);background:rgba(255,255,255,.04);border-radius:10px;padding:16px 18px;overflow-x:auto;white-space:pre;color:var(--chalk);margin:14px 0}

/* ---------- footer ---------- */
.foot{padding:80px var(--pad) 40px;overflow:hidden;border-top:1px solid var(--line)}
.foot-big{font-family:var(--fd);font-weight:900;font-size:clamp(70px,17vw,320px);line-height:.8;letter-spacing:-.03em;color:transparent;-webkit-text-stroke:1px rgba(242,245,238,.35);white-space:nowrap;transition:color .6s}
.foot-big:hover{color:var(--lime);-webkit-text-stroke-color:var(--lime)}
.foot p{margin-top:34px;max-width:80ch;color:var(--mute);font-size:13px}

/* ---------- drawer ---------- */
.scrim{position:fixed;inset:0;z-index:130;background:rgba(0,0,0,.6);opacity:0;pointer-events:none;transition:opacity .4s}
.scrim.on{opacity:1;pointer-events:auto}
.drawer{position:fixed;z-index:131;top:0;right:0;bottom:0;width:min(720px,100%);background:var(--night);border-left:1px solid var(--line);overflow-y:auto;overscroll-behavior:contain;transform:translateX(104%);transition:transform .7s var(--ease)}
.drawer.on{transform:none}
.dh{--c:#333;position:relative;padding:30px 26px 26px;overflow:hidden;background:linear-gradient(130deg,var(--c),color-mix(in srgb,var(--c) 40%,#000))}
.dh.lt{color:#0b140f}
.dh .x{position:absolute;top:14px;right:14px;width:44px;height:44px;border-radius:50%;background:rgba(0,0,0,.3);color:#fff;font-size:22px;z-index:2}
.dh .row{display:flex;gap:18px;align-items:center;position:relative}
.dh h3{font-family:var(--fd);font-weight:900;font-size:clamp(40px,7vw,72px);line-height:.88;text-transform:uppercase}
.dh .sub{opacity:.85;margin-top:6px;font-size:14px}
.dh .ghost{position:absolute;right:-10px;bottom:-40px;font-family:var(--fd);font-weight:900;font-size:260px;line-height:.8;opacity:.14;pointer-events:none}
.db{padding:22px 26px 60px;display:grid;gap:30px}
.chips{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px}
.chip{padding:14px;border-radius:16px;border:1px solid var(--line);background:rgba(255,255,255,.03)}
.chip b{display:block;font-family:var(--fd);font-weight:900;font-size:36px;line-height:1}
.chip span{font-size:12px;color:var(--mute)}
.chip.p b{color:var(--pylon)}
.db h4{font-family:var(--fd);font-weight:900;font-size:28px;text-transform:uppercase;margin-bottom:10px}
.glog{width:100%;border-collapse:collapse;font-size:13px}
.glog td,.glog th{padding:8px 6px;border-bottom:1px solid var(--line);text-align:right}
.glog th{font-family:var(--fm);font-weight:400;font-size:10px;letter-spacing:.1em;color:var(--mute);text-transform:uppercase}
.glog td:first-child,.glog th:first-child,.glog td:nth-child(2),.glog th:nth-child(2){text-align:left}
.glog tr[data-t]{cursor:pointer}.glog tr[data-t]:hover{background:rgba(255,255,255,.05)}
.pill{display:inline-block;padding:2px 9px;border-radius:99px;font-family:var(--fm);font-size:11px}
.pill.w{background:rgba(75,227,138,.16);color:var(--win)}.pill.l{background:rgba(255,107,91,.16);color:var(--loss)}.pill.p{background:rgba(255,90,31,.18);color:var(--pylon)}
.mini{display:flex;align-items:center;gap:8px}

/* reveal helper (JS sets initial state so no-JS stays visible) */
.js [data-rv]{opacity:0;transform:translateY(40px)}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}

/* mobile polish */
html{overflow-x:clip}
body{overflow-x:clip}
.ticker{margin-inline:0;width:100%}
@media (max-width:760px){
  .rrow,.rhead{grid-template-columns:40px minmax(0,1fr) 54px 52px;gap:8px;padding-inline:0}
  .rrow .rk{font-size:34px}
  .rrow .tm{gap:10px}.rrow .tm .bdg{width:30px;height:30px;font-size:10px}
  .rrow .tm b{font-size:19px}.rrow .tm small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .rrow .rec{font-size:12px}
}

/* ---------- multi-page ---------- */
.nav nav a[aria-current=page]{background:var(--chalk);color:var(--night)}
.wipe{position:fixed;inset:0;z-index:180;background:var(--lime);clip-path:inset(100% 0 0 0);pointer-events:none}
.ph{padding:clamp(120px,16vw,190px) var(--pad) clamp(28px,4vw,56px)}
.mega.sm{font-size:clamp(46px,9.2vw,168px);line-height:.86}
@media (max-width:900px){.mega.sm{font-size:clamp(40px,11.4vw,110px)}}
.ph-sub{max-width:62ch;margin-top:22px;color:#c9d8ce;font-size:clamp(16px,1.4vw,19px);min-height:1.5em}
.sec.pg{padding-top:clamp(10px,2vw,30px)}
.tiles-sec{padding:clamp(70px,10vw,150px) var(--pad)}
.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px}
.tile{position:relative;display:flex;flex-direction:column;gap:8px;min-height:240px;padding:24px;border:1px solid var(--line);border-radius:24px;overflow:hidden;isolation:isolate;transition:transform .6s var(--ease),border-color .3s}
.tile::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--lime);transform:translateY(101%);transition:transform .6s var(--ease)}
.tile:hover{transform:translateY(-6px);color:var(--night);border-color:var(--lime)}
.tile:hover::before{transform:none}
.tile small{font-family:var(--fm);font-size:11px;letter-spacing:.16em;color:var(--mute);transition:color .3s}
.tile b{font-family:var(--fd);font-weight:900;font-size:clamp(40px,4.6vw,68px);line-height:.9;text-transform:uppercase;margin-top:auto}
.tile span{font-size:14px;color:#c9d8ce;max-width:26ch;transition:color .3s}
.tile i{position:absolute;top:20px;right:22px;font-style:normal;font-family:var(--fd);font-weight:900;font-size:34px;transition:transform .5s var(--ease)}
.tile:hover small,.tile:hover span{color:#1e3a1a}
.tile:hover i{transform:translateX(8px)}
.foot-nav{display:flex;flex-wrap:wrap;gap:6px 26px;margin-bottom:40px}
.foot-nav a{font-family:var(--fd);font-weight:800;font-size:22px;letter-spacing:.06em;text-transform:uppercase;color:var(--mute);transition:color .25s}
.foot-nav a:hover{color:var(--lime)}
body.inner .progress{height:3px}

/* ---------- logos ---------- */
.bdg{position:relative;overflow:hidden}
.bdg i{font-style:normal}
.bdg.has-logo{background:rgba(242,245,238,.07);box-shadow:inset 0 0 0 1px rgba(242,245,238,.14)}
.bdg.has-logo img{position:absolute;inset:11%;width:78%;height:78%;object-fit:contain;filter:drop-shadow(0 1px 2px rgba(0,0,0,.35))}
.bdg.has-logo i{opacity:0;position:absolute}
.bdg.sm.has-logo img{inset:8%;width:84%;height:84%}
.tcard .bdg.has-logo{background:rgba(0,0,0,.22);box-shadow:inset 0 0 0 1px rgba(255,255,255,.18)}
.dh .bdg.has-logo{background:rgba(0,0,0,.25)}
.cta-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:6px}
.btn.ghost{background:transparent;border:1px solid var(--chalk);color:var(--chalk)}
.btn.ghost:hover{background:var(--chalk);color:var(--night);filter:none}
.btn{display:inline-block}

/* ---------- teams page: picker ---------- */
.pick{padding:0 var(--pad) 26px}
.pk-wrap{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-start}
.pk-box{position:relative;flex:1 1 320px;max-width:560px}
.pk-box input{width:100%;font-family:var(--fd);font-weight:800;font-size:28px;padding:14px 20px;border-radius:18px;background:rgba(255,255,255,.05)}
.pk-list{display:none;position:absolute;left:0;right:0;top:calc(100% + 8px);z-index:60;max-height:420px;overflow:auto;padding:6px;border:1px solid var(--line);border-radius:18px;background:#0b1a12;box-shadow:0 30px 60px -20px rgba(0,0,0,.8)}
.pk-list.open{display:block}
.pk-it{display:grid;grid-template-columns:auto 1fr auto auto;gap:12px;align-items:center;padding:8px 10px;border-radius:12px;cursor:pointer}
.pk-it b{font-family:var(--fd);font-weight:800;font-size:22px;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pk-it small{color:var(--mute);font-size:12px}
.pk-it span{font-family:var(--fm);font-size:12px;color:var(--lime)}
.pk-it.on,.pk-it:hover{background:rgba(200,255,61,.12)}
.pk-none{padding:16px;color:var(--mute)}
#pkConf{padding:17px 16px}
.pk-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.pk-chip{display:inline-flex;align-items:center;gap:8px;padding:6px 14px 6px 6px;border:1px solid var(--line);border-radius:99px;font-family:var(--fd);font-weight:800;font-size:16px;letter-spacing:.05em;transition:background .3s,color .3s,border-color .3s}
.pk-chip:hover{background:var(--chalk);color:var(--night)}
.pk-chip.rnd{padding:9px 18px;border-style:dashed;color:var(--lime)}

/* ---------- teams page: the story ---------- */
#story{--tc:#c8ff3d;--tc2:#c8ff3d;position:relative}
.sh{position:relative;overflow:hidden;margin:0 var(--pad);border-radius:32px;background:linear-gradient(125deg,var(--c),color-mix(in srgb,var(--c) 38%,#04100a));color:#fff;isolation:isolate}
.sh-bg{position:absolute;inset:0;z-index:-1;overflow:hidden;pointer-events:none}
.sh-bg span{position:absolute;right:-2%;bottom:-18%;font-family:var(--fd);font-weight:900;font-size:clamp(260px,42vw,640px);line-height:.8;letter-spacing:-.05em;opacity:.12}
.sh-bg::after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0 calc(10% - 2px),rgba(255,255,255,.07) calc(10% - 2px) 10%)}
.sh-in{padding:clamp(24px,4vw,56px)}
.sh-top{display:flex;gap:20px;align-items:center}
.sh-conf{font-family:var(--fm);font-size:12px;letter-spacing:.14em;text-transform:uppercase;opacity:.85;margin-bottom:6px}
.sh-name{font-family:var(--fd);font-weight:900;font-size:clamp(48px,9vw,140px);line-height:.85;text-transform:uppercase;letter-spacing:-.02em;overflow-wrap:anywhere}
.sh-row{display:flex;flex-wrap:wrap;gap:28px 40px;align-items:flex-end;margin-top:clamp(20px,3vw,40px)}
.sh-rank small{display:block;font-family:var(--fm);font-size:11px;letter-spacing:.16em;opacity:.8}
.sh-rank b{display:block;font-family:var(--fd);font-weight:900;font-size:clamp(90px,14vw,200px);line-height:.8}
.sh-rank span{font-size:14px;opacity:.8}
.sh-chips{display:grid;grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:10px;flex:1 1 360px}
.chp{padding:12px 14px;border-radius:16px;background:rgba(0,0,0,.28);border:1px solid rgba(255,255,255,.14)}
.chp b{display:block;font-family:var(--fd);font-weight:900;font-size:34px;line-height:1}
.chp span{font-size:12px;opacity:.8}
.chp.hot{background:rgba(255,90,31,.85);border-color:transparent}
.sh-lede{margin-top:28px;max-width:60ch;font-size:clamp(16px,1.5vw,20px)}
.rail{position:fixed;left:14px;top:50%;transform:translateY(-50%);z-index:50;display:none;flex-direction:column;gap:12px}
@media (min-width:1280px){.rail{display:flex}}
.rail a{display:flex;align-items:center;gap:10px;font-family:var(--fm);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--mute)}
.rail a i{width:8px;height:8px;border-radius:50%;background:var(--line);transition:transform .4s var(--ease),background .3s}
.rail a span{opacity:0;transform:translateX(-6px);transition:opacity .3s,transform .3s}
.rail a:hover span,.rail a.on span{opacity:1;transform:none}
.rail a.on i{background:var(--tc);transform:scale(1.8)}
.rail a.on{color:var(--chalk)}
.chap{padding:clamp(70px,9vw,130px) var(--pad) 0;scroll-margin-top:80px}
.chap-h{display:grid;grid-template-columns:auto minmax(0,1fr);gap:clamp(14px,3vw,40px);align-items:start;margin-bottom:28px}
.chap-n{font-family:var(--fd);font-weight:900;font-size:clamp(70px,11vw,170px);line-height:.8;color:transparent;-webkit-text-stroke:1.5px var(--tc)}
.chap-h h3{font-family:var(--fd);font-weight:900;font-size:clamp(36px,5.4vw,84px);line-height:.9;text-transform:uppercase}
.chap-t{margin-top:14px;max-width:70ch;color:#c9d8ce;font-size:clamp(16px,1.4vw,19px)}
.panel{padding:clamp(16px,2vw,26px);border:1px solid var(--line);border-radius:24px;background:rgba(255,255,255,.025);margin-top:16px;min-width:0}
.panel.winloss{background:linear-gradient(160deg,color-mix(in srgb,var(--tc) 14%,transparent),transparent)}
.panel.note{color:var(--mute)}
.pn-t{font-family:var(--fd);font-weight:800;font-size:22px;text-transform:uppercase;letter-spacing:.03em;margin-bottom:12px}
.pn-t small{display:block;font-family:var(--fb);font-weight:400;font-size:13px;text-transform:none;letter-spacing:0;color:var(--mute);margin-top:2px}
.pn-h{display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;align-items:flex-start}
.seg.sm button{padding:5px 12px;font-size:14px}
.cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.cols.three{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:980px){.cols,.cols.three{grid-template-columns:minmax(0,1fr)}}
.bars .pg h5{font-family:var(--fm);font-weight:400;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--mute);margin:16px 0 8px}
.pbar{display:grid;grid-template-columns:minmax(92px,128px) 1fr minmax(82px,112px);gap:12px;align-items:center;padding:6px 0}
.pl{font-size:14px;font-weight:600}
.pt{position:relative;height:10px;border-radius:5px;background:rgba(255,255,255,.08)}
.pt .pf{position:absolute;left:0;top:0;bottom:0;border-radius:5px;opacity:.5}
.pt .pb{position:absolute;top:50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:30px;height:30px;border-radius:50%;font-family:var(--fm);font-weight:500;font-size:11px;color:#06100b;box-shadow:0 0 0 3px #06100b}
.pv{text-align:right;line-height:1.15}
.pv b{display:block;font-family:var(--fm);font-weight:500;font-size:13px}
.pv small{font-size:11px;color:var(--mute)}
.funnel{display:grid;gap:10px}
.fr{display:grid;grid-template-columns:minmax(150px,230px) 1fr 56px;gap:14px;align-items:center}
.fr span{font-size:14px}
.ft{height:14px;border-radius:7px;background:rgba(255,255,255,.07);overflow:hidden}
.ft .pf{display:block;height:100%;border-radius:7px}
.fr b{font-family:var(--fm);font-weight:500;font-size:14px;text-align:right}
.tier{display:grid;grid-template-columns:minmax(110px,150px) 1fr 54px;gap:12px;align-items:center;padding:8px 0}
.tier span{font-size:14px}.tier b{font-family:var(--fm);font-weight:500;font-size:13px;text-align:right}
.tr2{height:10px;border-radius:5px;background:rgba(255,107,91,.45);overflow:hidden}
.tr2 .pf{display:block;height:100%}
.gcx{display:flex;gap:14px;align-items:center}
.gcx b{display:block;font-family:var(--fd);font-weight:900;font-size:28px;line-height:1;text-transform:uppercase}
.gcx small{color:var(--mute);font-size:13px}
.splits{display:grid;grid-template-columns:repeat(auto-fit,minmax(90px,1fr));gap:12px}
.splits b{display:block;font-family:var(--fd);font-weight:900;font-size:38px;line-height:1}
.splits span{font-size:13px;font-weight:600}.splits small{display:block;color:var(--mute);font-size:12px}
.mini-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px;margin-top:22px}
.mini-stats b{display:block;font-family:var(--fd);font-weight:900;font-size:30px;line-height:1}
.mini-stats span{font-size:12px;color:var(--mute)}
.rem{display:grid;gap:6px}
.rm{display:grid;grid-template-columns:auto minmax(0,1fr) minmax(70px,150px) 48px;gap:12px;align-items:center;padding:8px 10px;border-radius:14px}
.rm.tight{background:rgba(255,90,31,.12);box-shadow:inset 0 0 0 1px rgba(255,90,31,.5)}
.rm-n b{display:block;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rm-n small{color:var(--mute);font-size:12px}
.rm-b{height:8px;border-radius:4px;background:rgba(255,255,255,.1);overflow:hidden}
.rm-b .pf{display:block;height:100%;border-radius:4px}
.rm-p{font-family:var(--fm);font-weight:500;font-size:13px;text-align:right}
.rr{margin-top:26px}
.rr-track{position:relative;height:14px;border-radius:7px;background:rgba(255,255,255,.08);margin:26px 8px 8px}
.rr-band{position:absolute;top:0;bottom:0;border-radius:7px;opacity:.55}
.rr-now{position:absolute;top:-30px;transform:translateX(-50%);font-family:var(--fd);font-weight:900;font-size:22px;color:var(--chalk)}
.rr-now::after{content:"";position:absolute;left:50%;top:26px;width:2px;height:22px;background:var(--chalk);transform:translateX(-50%)}
.rr-avg{position:absolute;top:50%;width:16px;height:16px;border-radius:50%;background:#06100b;border:3px solid var(--tc);transform:translate(-50%,-50%)}
.rr-ax{display:flex;justify-content:space-between;font-family:var(--fm);font-size:10px;color:var(--mute);padding:0 4px}
.rr-cap{margin-top:12px;font-size:14px;color:#c9d8ce}
.twins{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;margin-top:16px}
.twin{--c:#333;display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:22px;border-radius:24px;border:1px solid var(--line);text-align:left;background:linear-gradient(155deg,color-mix(in srgb,var(--c) 40%,transparent),transparent 70%);transition:transform .5s var(--ease),border-color .3s}
.twin:hover{transform:translateY(-6px);border-color:var(--lime)}
.twin b{font-family:var(--fd);font-weight:900;font-size:34px;line-height:.95;text-transform:uppercase;margin-top:10px}
.twin small{color:var(--mute);font-size:13px}
.tw-m{width:100%;height:6px;border-radius:3px;background:rgba(255,255,255,.1);overflow:hidden;margin-top:10px}
.tw-m i{display:block;height:100%;background:var(--lime)}
.twin span{font-family:var(--fm);font-size:11px;color:var(--lime)}
.chap:last-child{padding-bottom:clamp(80px,10vw,150px)}
.tip{position:fixed;z-index:200;pointer-events:none;max-width:300px;padding:8px 12px;border-radius:10px;background:var(--chalk);color:var(--night);font-size:12.5px;font-weight:500;opacity:0;transition:opacity .12s;left:0;top:0}
@media (max-width:640px){.pbar{grid-template-columns:90px 1fr 76px;gap:8px}.fr{grid-template-columns:1fr 1fr 46px}.fr span{grid-column:1/-1}.rm{grid-template-columns:auto minmax(0,1fr) 44px}.rm-b{display:none}}

/* ---------- outlook page ---------- */
@media (max-width:1240px){.nav nav a{padding:8px 10px;font-size:15.5px}}
@media (max-width:1060px){.nav nav a{padding:8px 7px;font-size:14.5px}.logo-word{display:none}}
.of-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:14px}
.of{--c:#333;position:relative;overflow:hidden;padding:24px;border-radius:26px;cursor:pointer;color:#fff;background:linear-gradient(135deg,var(--c),color-mix(in srgb,var(--c) 35%,#04100a));transition:transform .5s var(--ease)}
.of:hover{transform:translateY(-6px)}
.of small{font-family:var(--fm);font-size:11px;letter-spacing:.16em;opacity:.85}
.of-t{display:flex;gap:16px;align-items:center;margin:14px 0}
.of-t b{font-family:var(--fd);font-weight:900;font-size:clamp(40px,5vw,72px);line-height:.9;text-transform:uppercase}
.of-n{font-size:15px;opacity:.92}
.ol-note{max-width:70ch;margin:22px 0 26px;color:#c9d8ce;font-size:14px}
.ol-list{border-top:1px solid var(--line)}
.orh,.orw{display:grid;grid-template-columns:64px minmax(0,1.5fr) 84px 96px minmax(120px,1.3fr) 64px 64px 64px;gap:14px;align-items:center;padding:12px 8px}
.orh{font-family:var(--fm);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--mute);padding-block:10px}
.orw{position:relative;border-bottom:1px solid var(--line);cursor:pointer;isolation:isolate;overflow:hidden}
.orw::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--c);opacity:0;transform:scaleX(0);transform-origin:left;transition:transform .55s var(--ease),opacity .3s}
.orw:hover::before{transform:scaleX(1);opacity:.26}
.orw.in{animation:rin .6s var(--ease) both}
.orw .op{font-family:var(--fd);font-weight:900;font-size:48px;line-height:.9;text-align:center}
.orw .tm{display:flex;align-items:center;gap:12px;min-width:0}
.orw .tm b{display:block;font-family:var(--fd);font-weight:800;font-size:24px;line-height:1;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.orw .tm small{display:block;color:var(--mute);font-size:12px}
.orw .onow,.orw .orec,.orw .o1,.orw .o25,.orw .ocfp{font-family:var(--fm);font-size:13px}
.orw .o1,.orw .ocfp{color:var(--pylon)}
.mv{font-family:var(--fm);font-size:11px;margin-left:6px}
.mv.up{color:var(--win)}.mv.dn{color:var(--loss)}
.orng{position:relative;height:18px}
.orng::before{content:"";position:absolute;left:0;right:0;top:8px;height:2px;background:rgba(255,255,255,.12)}
.orng i{position:absolute;top:5px;height:8px;border-radius:4px;background:rgba(255,90,31,.5)}
.orng b{position:absolute;top:2px;width:14px;height:14px;border-radius:50%;background:var(--pylon);transform:translateX(-50%);box-shadow:0 0 0 3px #06100b}
@media (max-width:820px){
  .orh,.orw{grid-template-columns:44px minmax(0,1fr) 58px 58px;gap:8px}
  .orh span:nth-child(n+4),.orw .orec,.orw .orng,.orw .o25,.orw .ocfp{display:none}
  .orh span:nth-child(3),.orw .onow{display:block}
  .orw .op{font-size:34px}.orw .tm b{font-size:19px}
  .orh span:nth-child(6){display:block}
}

/* ---------- desktop content width ----------
   Content is capped at 1280px and centered (common desktop range is 1200-1440px; 1280px is the standard
   "extra large" breakpoint). Every section pads its sides with --pad, so widening --pad past the gutter
   centers the content while full-bleed backgrounds (hero, ticker, dark bands, footer) still reach the edges. */
:root{--maxw:1280px;--pad:max(clamp(18px,4vw,64px),calc((100vw - var(--maxw)) / 2))}
@media (min-width:901px){.mega.sm{font-size:clamp(46px,9.2vw,150px)}}
/* hero: headline and the No. 1 card share the 1280px column, so the headline scales to leave the card its 380px */
@media (min-width:1101px){.hero .mega{font-size:min(7.6vw,122px)}.hero-card{width:380px}}
@media (min-width:901px) and (max-width:1100px){.hero{grid-template-columns:minmax(0,1fr)}.hero .mega{font-size:clamp(52px,10vw,148px)}}
.stat b{font-size:clamp(54px,8vw,108px)}
.eq-box h3,.eq-op{font-size:clamp(48px,6.4vw,92px)}
.h2{font-size:clamp(48px,8.5vw,124px)}
.sh-name{font-size:clamp(48px,9vw,128px)}

/* ---------- mobile label fixes ---------- */
.hist span{bottom:-30px;line-height:1.15;text-align:center}
.sim-cap{margin-top:46px;color:#c9d8ce}
@media (max-width:640px){
  .hist{gap:3px}
  .hist div:nth-child(odd) span{display:none}   /* every other margin bucket labelled, so labels never collide */
  .hist span{font-size:9px}
  .formula{white-space:pre-wrap;overflow-wrap:anywhere}
}
/* cards never wider than a small phone */
.games{grid-template-columns:repeat(auto-fill,minmax(min(310px,100%),1fr))}
.of-row{grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr))}

/* ---------- history page ---------- */
.hi-note{max-width:78ch;padding:16px 20px;border-left:4px solid var(--pylon);border-radius:12px;background:rgba(255,90,31,.07);color:#c9d8ce;font-size:14.5px;margin-bottom:26px}
.tag{display:inline-grid;place-items:center;width:18px;height:18px;border-radius:5px;background:rgba(242,245,238,.14);color:var(--chalk);font-style:normal;font-family:var(--fm);font-size:10px;margin-left:6px;vertical-align:middle}
.seg.wrap{flex-wrap:wrap;border-radius:20px}
.hi-src{color:var(--mute);font-size:14px;margin:-6px 0 16px}
.hi-src b{color:var(--chalk)}
.hi-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(170px,100%),1fr));gap:12px}
.ht{padding:18px;border:1px solid var(--line);border-radius:20px;background:rgba(255,255,255,.025)}
.ht small{display:block;font-family:var(--fm);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--mute)}
.ht b{display:block;font-family:var(--fd);font-weight:900;font-size:clamp(38px,4.4vw,54px);line-height:1;margin:10px 0 6px;color:var(--lime)}
.ht span{font-size:12.5px;color:#c9d8ce}
.hi-exp{margin:18px 0 6px;color:#c9d8ce;max-width:80ch}
.hi-cal svg{margin:0 auto}
.hi-li{list-style:none;display:grid;gap:4px}
.hi-li a{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;padding:8px;border-radius:12px;transition:background .25s}
.hi-li a:hover{background:rgba(255,255,255,.05)}
.hi-li b{display:block;font-weight:600;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hi-li small{display:block;color:var(--mute);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hi-li em{font-style:normal;font-family:var(--fm);font-size:12px;color:var(--pylon)}
.hi-li .none{color:var(--mute);padding:8px}
.hi-break{display:grid}
.hb{display:grid;grid-template-columns:minmax(120px,1.6fr) repeat(4,minmax(54px,1fr));gap:10px;padding:9px 4px;border-bottom:1px solid var(--line);font-size:14px}
.hb span:not(:first-child){text-align:right;font-family:var(--fm);font-size:13px}
.hb b{color:var(--lime);font-weight:500}
.hb-h{font-family:var(--fm);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--mute)}
.hb-h span{font-size:10.5px!important}
.hi-count{font-family:var(--fm);font-size:12px;color:var(--mute)}
#hiMiss[aria-pressed=true]{background:var(--pylon);color:#fff;border-color:var(--pylon)}
.hi-list{border-top:1px solid var(--line)}
.hi-list .hl{display:grid;grid-template-columns:96px minmax(0,380px) 44px minmax(150px,1fr);gap:14px;align-items:center;padding:10px 6px;border-bottom:1px solid var(--line)}
.hi-list .hl-h{font-family:var(--fm);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--mute)}
.hi-list .hl-w{font-family:var(--fm);font-size:12.5px;color:var(--chalk);line-height:1.35}
.hi-list .hl-w small{display:block;color:var(--mute);font-size:11px}
/* scoreboard: each team across from its score, scores in a shaded box (green = our pick won, red = it lost) */
.hi-list .hl-sb{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:stretch;min-width:0}
.hi-list .hl-tm{display:grid;gap:6px;min-width:0}
.hi-list .hl-tm a{display:flex;align-items:center;gap:8px;min-width:0;font-weight:500;font-size:14.5px;color:var(--mute);line-height:22px}
.hi-list .hl-tm a span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hi-list .hl-tm a.win{color:var(--chalk);font-weight:700}
.hi-list .hl-tm a:hover span{color:var(--lime)}
.hi-list .hl-sc{display:grid;gap:6px;min-width:52px;padding:0 10px;border-radius:9px;text-align:right;font-family:var(--fd);font-weight:800;font-size:20px;line-height:22px;align-content:center}
.hi-list .hl-sc.w{background:rgba(75,227,138,.14)}.hi-list .hl-sc.l{background:rgba(255,107,91,.14)}
.hi-list .hl-sc b{font-weight:800;color:var(--mute)}.hi-list .hl-sc b.win{color:var(--chalk)}
.hi-list .hl-ck{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;font-size:22px;font-weight:900;line-height:1}
.hi-list .hl-ck.w{background:rgba(75,227,138,.16);color:var(--win)}.hi-list .hl-ck.l{background:rgba(255,107,91,.16);color:var(--loss)}
.hi-list .hl-c b{display:block;font-size:14px;font-weight:600}
.hi-list .hl-c small{color:var(--mute);font-size:12px}
@media (max-width:760px){
  .hi-list .hl{grid-template-columns:auto minmax(0,1fr) 36px;gap:8px 8px;padding:12px 30px 12px 2px}
  .hi-list .hl-h{display:none}
  .hi-list .hl-sb{grid-column:1/3;grid-row:1}
  .hi-list .hl-ck{grid-column:3;grid-row:1;width:36px;height:36px;font-size:20px}
  .hi-list .hl-w{grid-column:1;grid-row:2;font-size:11.5px;color:var(--mute);white-space:nowrap}
  .hi-list .hl-w small{display:none}
  .hi-list .hl-c{grid-column:2/-1;grid-row:2;display:flex;gap:6px;align-items:baseline;white-space:nowrap;overflow:hidden;min-width:0}
  .hi-list .hl-c::before{content:"·";color:var(--mute);font-size:11.5px}
  .hi-list .hl-c b{display:inline;font-size:12.5px}
  .hi-list .hl-c small{overflow:hidden;text-overflow:ellipsis}
  .hb{grid-template-columns:minmax(100px,1.4fr) repeat(4,minmax(40px,1fr));font-size:12.5px;gap:6px}
}
@media (max-width:420px){.hb{grid-template-columns:minmax(0,1.5fr) repeat(4,minmax(0,1fr));gap:6px;font-size:12px}.hb span:not(:first-child){font-size:11.5px}.hb-h span{font-size:9.5px!important;letter-spacing:.04em}}
@media (max-width:640px){.hi-tiles{grid-template-columns:1fr 1fr;gap:10px}.ht{padding:14px}.ht b{font-size:32px;margin:8px 0 4px}.ht span{font-size:11.5px}}

/* ---------- history game-log filters ---------- */
.hi-filters{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:16px}
.hi-pk{flex:1 1 220px;max-width:300px}
.hi-pk input{font-family:var(--fb);font-weight:600;font-size:16px;padding:11px 40px 11px 16px;border-radius:14px}
.hi-x{position:absolute;right:8px;top:50%;transform:translateY(-50%);width:28px;height:28px;border-radius:50%;background:rgba(242,245,238,.12);color:var(--chalk);font-size:18px;line-height:1}
.hi-x:hover{background:var(--chalk);color:var(--night)}
.hi-filters select{padding:11px 14px}
.hi-filters .seg button{padding:7px 14px;font-size:15px}
.hi-teamsum{--c:#333;display:flex;gap:16px;align-items:center;padding:16px 18px;margin-bottom:14px;border-radius:20px;border:1px solid var(--line);background:linear-gradient(120deg,color-mix(in srgb,var(--c) 45%,transparent),transparent 75%)}
.hi-teamsum b{display:block;font-family:var(--fd);font-weight:900;font-size:30px;line-height:1;text-transform:uppercase}
.hi-teamsum span{display:block;color:#c9d8ce;font-size:14px;margin-top:4px}
.hi-teamsum a{display:inline-block;margin-top:6px;font-size:13px;color:var(--lime)}
.hi-count{margin:0 0 10px}
@media (max-width:640px){.hi-pk{max-width:none;flex-basis:100%}.hi-filters select{flex:1 1 calc(50% - 5px);min-width:0}.hi-filters .seg{flex:0 0 auto}}

/* ---------- self-review ---------- */
.review{margin:0 0 30px}
.rv-cols{margin-top:6px}
.rv-cols ul{list-style:none;display:grid;gap:10px}
.rv-cols li{font-size:14px;color:#c9d8ce;line-height:1.5}
.rv-cols li b{color:var(--chalk)}
.rv-h{font-family:var(--fm);font-weight:500;font-size:11px;letter-spacing:.16em;text-transform:uppercase;margin-bottom:12px;padding-bottom:8px;border-bottom:2px solid}
.rv-h.good{color:var(--win);border-color:var(--win)}
.rv-h.bad{color:var(--loss);border-color:var(--loss)}
.rv-h.fix{color:var(--lime);border-color:var(--lime)}
.rv-note{margin-top:18px;font-size:13.5px;color:var(--mute);max-width:90ch}
.tag.v2{width:auto;padding:0 6px;background:rgba(200,255,61,.2);color:var(--lime)}

/* ---------- revision history ---------- */
.revs{border-top:1px solid var(--line)}
.rev{display:grid;grid-template-columns:90px 130px minmax(0,1fr);gap:16px;align-items:start;padding:16px 4px;border-bottom:1px solid var(--line)}
.rev-v b{display:block;font-family:var(--fd);font-weight:900;font-size:34px;line-height:.9;color:var(--lime)}
.rev-v small{display:inline-block;margin-top:6px;padding:2px 8px;border-radius:99px;background:rgba(200,255,61,.15);color:var(--lime);font-family:var(--fm);font-size:10px;letter-spacing:.1em;text-transform:uppercase}
.rev-d{font-family:var(--fm);font-size:13px;color:var(--mute);padding-top:6px}
.rev p{color:#c9d8ce;font-size:14.5px;max-width:80ch}
@media (max-width:640px){.rev{grid-template-columns:70px minmax(0,1fr);gap:4px 14px}.rev-d{padding-top:2px}.rev p{grid-column:1/-1;margin-top:6px}}

/* ---------- poll tags (comparison only) ---------- */
.poll{display:inline-block;margin-left:7px;padding:0 5px;border:1px solid rgba(242,245,238,.22);border-radius:5px;font-family:var(--fm);font-style:normal;font-weight:400;font-size:10px;letter-spacing:.02em;line-height:16px;color:#c9d8ce;vertical-align:1px;white-space:nowrap;text-transform:none}
.poll.cfp{border-color:rgba(255,90,31,.45);color:#ffb08c}
.tcard .poll,.dh .poll,.sh .poll{border-color:rgba(255,255,255,.4);color:inherit;opacity:.9}
.tcard.lt .poll,.dh.lt .poll{border-color:rgba(0,0,0,.35)}
.gt b .poll{margin-left:5px}
.cfp-note{margin-top:-6px}
.cfp-cmp{border-top:1px solid var(--line);margin-top:14px}
.cc{display:grid;grid-template-columns:48px minmax(0,1.6fr) 90px minmax(120px,1fr) 110px;gap:12px;align-items:center;padding:10px 6px;border-bottom:1px solid var(--line);cursor:pointer}
.cc:not(.cc-h):hover{background:rgba(255,255,255,.04)}
.cc-h{font-family:var(--fm);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--mute);cursor:default}
.cc-r{font-family:var(--fd);font-weight:900;font-size:26px;color:#ffb08c}
.cc-t{display:flex;align-items:center;gap:10px;min-width:0}
.cc-t b{font-family:var(--fd);font-weight:800;font-size:20px;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cc-t small{color:var(--mute);font-size:12px}
.cc-o,.cc-p{font-family:var(--fm);font-size:13px}
.cc-g{font-size:13px;color:var(--mute)}.cc-g.up{color:var(--win)}.cc-g.dn{color:var(--loss)}
.cc-h span:nth-child(n+3){text-align:left}
@media (max-width:700px){.cc{grid-template-columns:36px minmax(0,1fr) 54px 96px;gap:8px}.cc-p,.cc-h span:nth-child(5){display:none}.cc-r{font-size:22px}.cc-t b{font-size:17px}.cc-t small{display:none}.cc-g{font-size:11.5px}}

/* ---------- expandable list games (history) ---------- */
.hi-li .hx{border-radius:12px;transition:background .25s}
.hi-li .hx.open{background:rgba(255,255,255,.05)}
.hx-b{display:grid;grid-template-columns:auto minmax(0,1fr) auto 18px;gap:10px;align-items:center;width:100%;padding:8px;border-radius:12px;text-align:left;color:inherit}
.hx-b:hover{background:rgba(255,255,255,.05)}
.hx-b b{display:block;font-weight:600;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hx-b small{display:block;color:var(--mute);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hx-b em{font-style:normal;font-family:var(--fm);font-size:12px;color:var(--pylon)}
.hx-c{font-style:normal;font-family:var(--fm);color:var(--mute);transition:transform .3s var(--ease)}
.hx.open .hx-c{transform:rotate(45deg);color:var(--lime)}
.hx-d{padding:2px 10px 14px 46px;overflow:hidden}
.hx-d p{font-size:13.5px;color:#c9d8ce;margin-top:8px;line-height:1.5}
.hx-d p b{color:var(--chalk)}
.hx-d .hx-s{font-size:12px;color:var(--mute)}
.hx-l{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.hx-l a{display:inline-flex;align-items:center;gap:6px;padding:5px 12px 5px 5px;border:1px solid var(--line);border-radius:99px;font-size:12.5px;font-weight:600;transition:background .25s,color .25s}
.hx-l a:last-child{padding-left:12px}
.hx-l a:hover{background:var(--chalk);color:var(--night)}
@media (max-width:640px){.hx-d{padding-left:10px}}
.hx-d b{display:inline;white-space:normal;overflow:visible;font-size:inherit;font-weight:600}
/* touch: tapping a chart shows the same info as hovering; the tapped dot or bar gets a ring */
.panel svg [data-tip]{cursor:pointer}
.tapped{stroke:#f2f5ee!important;stroke-width:2.5!important}
rect.tapped,g.tapped rect.gb{stroke:#f2f5ee;stroke-width:2}

@media (max-width:760px){.rrow .tm small{white-space:normal;overflow:visible}}

/* week cards: poll tags get their own line under the team name instead of being squeezed into the row */
.gt b{display:flex;flex-direction:column;min-width:0;white-space:normal;overflow:visible}
.gt b .gnm{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gt b .gpl{display:block;line-height:1.3;margin-top:1px}
.gt b .gpl .poll:first-child,.orw .tm small .poll:first-child{margin-left:0}
/* outlook rows: conference and tags wrap inside the team column */
.orw .tm small{white-space:normal}
.orw .tm small .poll{margin-top:2px}
/* team drawer: long names never run under the close button */
.dh .row>div{padding-right:44px;min-width:0}

.cc-g i{font-style:normal}.cc-g .short{display:none}
@media (max-width:700px){.cc{grid-template-columns:30px minmax(0,1fr) 44px 40px;gap:8px}.cc-t .bdg{display:none}.cc-g .full{display:none}.cc-g .short{display:inline;font-family:var(--fm);font-size:12px}.cc-h span:nth-child(4){font-size:9px}}
@media (max-width:380px){.orw .ocf{display:none}.orw .tm small .poll{margin-left:0;margin-right:4px}}
.dh h3{overflow-wrap:anywhere}
@media (max-width:420px){.dh h3{font-size:clamp(30px,10vw,44px)}}
.sh-rank small{margin-bottom:10px}
.sh-rank b{line-height:.92}
.sh-rank span{display:block;margin-top:6px}
@media (max-width:380px){.orw .tm small .poll{display:table;margin:2px 0 0}}

/* ---------- playoff bracket: first round feeds the quarterfinals ---------- */
.bracket{grid-template-columns:repeat(4,minmax(220px,1fr));grid-template-rows:auto repeat(8,minmax(58px,auto));column-gap:clamp(36px,4vw,64px);row-gap:12px;position:relative;align-items:center}
.bk-h{grid-row:1;font-family:var(--fm);font-weight:400;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--mute);align-self:end;padding-bottom:6px}
.bk-m{position:relative;z-index:1;align-self:center}
.bk-m .mt{background:#0b1a12}
.bk-f{display:flex;flex-direction:column;gap:14px}
.bk-f .champ{margin-top:0}
.bk-lines{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible;z-index:0}
.bk-lines path{fill:none;stroke:rgba(242,245,238,.22);stroke-width:2;stroke-linejoin:round}
.bk-lines path.champ-path{stroke:var(--lime);stroke-width:2.5}

/* ---------- confidence score ---------- */
.conf{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:99px;font-family:var(--fm);font-size:11px;letter-spacing:.02em;border:1px solid var(--line);color:#c9d8ce;white-space:nowrap}
.conf b{font-weight:500;color:var(--chalk)}
.conf.cf0{border-color:rgba(242,245,238,.25)}
.conf.cf1{border-color:rgba(200,255,61,.35)}
.conf.cf2{border-color:rgba(200,255,61,.55);background:rgba(200,255,61,.06)}
.conf.cf3{border-color:rgba(200,255,61,.75);background:rgba(200,255,61,.12)}
.conf.cf4{border-color:var(--lime);background:rgba(200,255,61,.2)}
.conf.cf3 b,.conf.cf4 b{color:var(--lime)}
.gcf{margin-top:2px}
.board-meta .conf{font-size:12px}
.board-conf{position:relative;padding:0 30px 24px;margin-top:-12px;font-size:12.5px;color:#c9d8ce;max-width:90ch}
@media (max-width:700px){.board-conf{padding:0 20px 20px}}

/* ==========================================================================
   Mobile pass (2026-11-04). Every rule below sits inside a max-width query,
   so desktop layouts are untouched. Targets: 44px tap targets (Apple HIG 44pt,
   WCAG 2.5.5), compact filter rows, aligned columns, no clipped labels.
   ========================================================================== */
@media (max-width:820px){
  /* header: opaque enough to read over content, 64px tall, mark + stacked wordmark */
  .nav{padding-block:10px}
  .nav.solid{background:rgba(6,16,11,.94)}
  .logo{gap:10px;min-height:44px}
  .logo-mark{width:40px;height:40px}
  .logo-word{display:block;font-size:18px;line-height:.95;letter-spacing:.08em}
  /* footer links: full 44px rows */
  .foot-nav{gap:0 24px}
  .foot-nav a{display:inline-flex;align-items:center;min-height:44px}
  /* segmented controls: every option is a 44px target */
  .seg{padding:3px}
  .seg button{min-height:44px}
  .seg.sm button{min-height:44px;padding:5px 14px}
}
@media (max-width:640px){
  /* rankings: division segment full width, conference + search share one row */
  body[data-page=rankings] .controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  body[data-page=rankings] .controls .seg{grid-column:1/-1;display:flex}
  body[data-page=rankings] .controls .seg button{flex:1}
  body[data-page=rankings] .controls select,body[data-page=rankings] .controls input{width:100%;min-height:44px}

  /* matchup: team boxes stacked with the swap button beside them, site options in one full-width row */
  .mu-pick{grid-template-columns:minmax(0,1fr) auto;gap:10px 12px;align-items:center}
  .mu-pick label:first-child{grid-column:1;grid-row:1}
  .mu-pick label:last-child{grid-column:1;grid-row:2}
  .mu-pick .swap{grid-column:2;grid-row:1/3;align-self:center;justify-self:end;margin-top:20px}
  .mu-pick input{font-size:24px;padding:10px 16px}
  body[data-page=matchup] .controls{display:grid;grid-template-columns:minmax(0,1fr);gap:10px}
  body[data-page=matchup] .controls .seg{display:flex}
  body[data-page=matchup] .controls .seg button{flex:1;padding:8px 6px;font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  body[data-page=matchup] .controls .btn{width:100%;min-height:48px}
  .score{justify-content:center}

  /* week picker and history range: one row of chips that scrolls sideways, cut off at the edge to show there is more */
  #wkseg,#hiScope{display:flex;flex:1 1 auto;min-width:0;flex-wrap:nowrap;gap:8px;width:auto;max-width:none;overflow-x:auto;margin-inline:calc(var(--pad) * -1);padding:2px var(--pad);border:0;border-radius:0;background:none;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  #wkseg::-webkit-scrollbar,#hiScope::-webkit-scrollbar{display:none}
  #wkseg button,#hiScope button{flex:none;white-space:nowrap;padding:8px 16px;border:1px solid var(--line)}
  #wkseg button[aria-pressed=true],#hiScope button[aria-pressed=true]{border-color:var(--chalk)}
  body[data-page=week] .controls,body[data-page=history] .controls{flex-wrap:nowrap}

  /* teams: one-line shortcut chips that scroll sideways, conference menu full width */
  #pkConf{flex:1 1 100%;width:100%}
  .pk-chips{flex-wrap:nowrap;overflow-x:auto;margin-inline:calc(var(--pad) * -1);padding:2px var(--pad);scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .pk-chips::-webkit-scrollbar{display:none}
  .pk-chip{flex:none;min-height:44px;white-space:nowrap}
  /* chapter heads: number beside the title, the text below uses the full width */
  .chap-h{grid-template-columns:auto minmax(0,1fr);gap:6px 14px;align-items:center}
  .chap-h>div{display:contents}
  .chap-h h3{grid-column:2;grid-row:1}
  .chap-t{grid-column:1/-1;grid-row:2;margin-top:6px}
  .chap-ctx{grid-column:1/-1;grid-row:3;margin-top:4px}
  .chap-n{font-size:56px}
  /* team hero: badge beside the conference line, the name gets the full card width so long names break between words */
  .sh-top{display:grid;grid-template-columns:auto minmax(0,1fr);gap:14px;align-items:center}
  .sh-top>div{display:contents}
  .sh-top .bdg.xl{width:64px;height:64px;border-radius:16px;font-size:22px}
  .sh-conf{grid-column:2;grid-row:1;margin:0}
  .sh-name{grid-column:1/-1;grid-row:2;overflow-wrap:break-word}
  /* chart labels that cross bars get a dark halo so they stay readable */
  .panel svg text[fill="#ff5a1f"]{paint-order:stroke;stroke:#06100b;stroke-width:3px;stroke-linejoin:round}
  /* path to the title: bar and value share one row under the label */
  .fr{grid-template-columns:minmax(0,1fr) 46px;gap:6px 12px}
  .fr span{grid-column:1/-1}
  /* similar teams: two per row */
  .twins{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .twin{padding:16px;border-radius:20px}
  .twin b{font-size:22px;overflow-wrap:anywhere}
  /* action buttons under a story: one full-width column instead of ragged pills */
  .cta-row{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;margin-top:16px}
  .cta-row .btn{width:100%;text-align:center}

  /* playoff: title chance bar gets its own row instead of being squeezed to nothing */
  .orow{grid-template-columns:36px minmax(0,1fr) 52px;gap:6px 12px;padding:8px 0}
  .orow .bdg{grid-row:1/3;align-self:center}
  .orow b{grid-column:2;grid-row:1;font-size:20px}
  .orow .v{grid-column:3;grid-row:1}
  .orow .tr{grid-column:2/-1;grid-row:2;height:10px}
  .mt .tt b{white-space:normal;line-height:1.15}

  /* history: team search and sort stay visible, the other filters fold behind one Filters button */
  .hi-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .hi-filters .hi-pk{grid-column:1/-1;max-width:none}
  .hi-filters .hi-ftog{grid-row:2;grid-column:1}
  .hi-filters #hiSort{grid-row:2;grid-column:2}
  .hi-filters select{min-height:44px;width:100%}
  .hi-filters #hiType{grid-column:1/-1}
  .hi-filters .seg{grid-column:1/-1;display:flex}
  .hi-filters .seg button{flex:1;min-height:44px}
  .hi-filters #hiClear{grid-column:1/-1;justify-content:center;min-height:44px}
  .hi-filters:not(.open)>.seg,.hi-filters:not(.open)>#hiConf,.hi-filters:not(.open)>#hiWeek,.hi-filters:not(.open)>#hiType,.hi-filters:not(.open)>#hiClear{display:none}
  .hi-teamsum[hidden]{display:none}

  /* home: explore tiles without the tall empty middle */
  .tiles{gap:10px}
  .tile{min-height:132px;padding:20px}
  .tile b{font-size:40px}

  /* team drawer: score pills stay on one line */
  .glog .pill{white-space:nowrap}
}
@media (max-width:640px){
  /* the Filters button is marked hidden in the page and only shown on phones */
  .hi-ftog[hidden]{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 16px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.04);font-family:var(--fd);font-weight:800;font-size:17px;letter-spacing:.05em}
  .hi-ftog b{display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 6px;border-radius:99px;background:var(--lime);color:var(--night);font-family:var(--fm);font-weight:500;font-size:11px}
  .hi-ftog b:empty{display:none}
  .hi-ftog i{font-style:normal;transition:transform .3s var(--ease)}
  .hi-ftog[aria-expanded=true] i{transform:rotate(45deg)}
}
@media (max-width:760px){
  /* rankings header: PLAYOFF fits its column instead of running past the row edge */
  .rrow,.rhead{grid-template-columns:40px minmax(0,1fr) 52px 60px}
  .rhead{font-size:10px;letter-spacing:.06em}
}
@media (min-width:360px) and (max-width:640px){
  /* team hero stats: three across so five or six chips form tidy rows */
  .sh-chips{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
  .chp{padding:10px 12px}
  .chp b{font-size:28px}
}
@media (max-width:360px){
  /* very narrow phones: game log menus get a full row each so their labels are not cut off */
  .hi-filters #hiConf,.hi-filters #hiWeek{grid-column:1/-1}
  body[data-page=rankings] .controls select,body[data-page=rankings] .controls input{grid-column:1/-1}
  body[data-page=matchup] .controls .seg button{font-size:14px;padding-inline:4px}
}

/* ---------- playoff: how it works, today vs projected, the field ---------- */
.cfp-how{border:1px solid var(--line);border-radius:24px;padding:clamp(18px,2.4vw,28px);background:rgba(255,255,255,.025);margin-bottom:22px}
.cfp-how-t{font-family:var(--fd);font-weight:900;font-size:clamp(24px,3vw,32px);text-transform:uppercase;line-height:1;margin-bottom:16px}
.cfp-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;counter-reset:st}
.cfp-steps li{counter-increment:st;position:relative;padding-top:34px;font-size:14.5px;line-height:1.5;color:#c9d8ce}
.cfp-steps li::before{content:counter(st);position:absolute;top:0;left:0;width:26px;height:26px;border-radius:50%;background:var(--lime);color:var(--night);font:900 15px/26px var(--fd);text-align:center}
.cfp-steps b{color:var(--chalk)}
.cfp-how-n{margin-top:16px;font-size:13px;color:var(--mute)}
.cfp-how-n a{color:var(--lime)}
.pf-ctl{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px}
.pf-note{font-size:14px;color:var(--mute);max-width:62ch;margin:0}
.tt b{display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-width:0;line-height:1.15}
.tt-n{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tt-r{display:flex;align-items:center;gap:6px;font-family:var(--fm);font-size:10.5px;color:var(--mute);font-weight:400}
.tt-r .poll{margin:0}
.pf-field{border:1px solid var(--line);border-radius:20px;overflow:hidden}
.pff{display:grid;grid-template-columns:52px minmax(0,1.4fr) 70px 82px minmax(0,1.6fr);gap:10px;align-items:center;padding:10px 16px;border-top:1px solid var(--line);cursor:pointer}
.pff:hover{background:rgba(255,255,255,.04)}
.pff-h{cursor:default;border-top:0;font-family:var(--fm);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--mute)}
.pff-h:hover{background:none}
.pff-s{font:900 22px var(--fd);color:var(--lime)}
.pff-t{display:flex;align-items:center;gap:10px;min-width:0}.pff-t b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pff-r,.pff-k{font-family:var(--fm);font-size:13px;font-variant-numeric:tabular-nums}
.pff-h2{font-size:14px;color:#c9d8ce}
.pff-h2 em{font-style:normal;font-family:var(--fm);font-size:10px;letter-spacing:.1em;text-transform:uppercase;background:var(--lime);color:var(--night);padding:2px 7px;border-radius:99px;margin-left:6px}
@media (max-width:900px){.cfp-steps{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){
  .cfp-steps{grid-template-columns:1fr;gap:12px}.cfp-steps li{padding:2px 0 0 38px}
  .pff{grid-template-columns:34px minmax(0,1fr) auto;row-gap:2px;padding:10px 12px}
  .pff-h{display:none}.pff-s{grid-row:1/span 2;font-size:20px}.pff-k{display:none}
  .pff-h2{grid-column:2/-1;font-size:13px;color:var(--mute)}
  .pf-ctl .seg{width:100%;display:flex}.pf-ctl .seg button{flex:1;min-height:44px}
}

/* ---------- teams: current or projected header, play-by-play chapter ---------- */
.sh-mode{margin:6px 0 14px}
.adv-bar{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:6px}
.adv-k{font-family:var(--fm);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--mute)}
.ffs{display:grid;gap:12px}
.ff{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1.4fr) 92px;gap:12px;align-items:center}
.ff-l b{display:block;font-weight:600;font-size:15px}.ff-l small{display:block;color:var(--mute);font-size:12px;line-height:1.3}
.ff-t{position:relative;height:12px;border-radius:99px;background:rgba(242,245,238,.08);overflow:hidden}
.ff-t i{position:absolute;left:0;top:0;bottom:0;border-radius:99px}
.ff-t em{position:absolute;top:-2px;bottom:-2px;width:2px;background:rgba(242,245,238,.45);transform:translateX(-1px)}
.ff-v{text-align:right;font-family:var(--fm);font-variant-numeric:tabular-nums}.ff-v b{display:block;font-size:14px;font-weight:500}.ff-v small{color:var(--mute);font-size:11px}
.sws{display:grid;gap:9px}
.sw{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1.4fr) 62px;gap:10px;align-items:center}
.sw-l{font-size:14px;display:flex;align-items:center;gap:8px;min-width:0}
.sd{font-style:normal;font-family:var(--fm);font-size:9.5px;letter-spacing:.08em;padding:2px 6px;border-radius:6px;background:rgba(242,245,238,.1);color:var(--mute);flex:none}
.sd.o{color:var(--lime)}.sd.d{color:#9ec9ff}
.sw-t{position:relative;height:12px;background:rgba(242,245,238,.06);border-radius:99px}
.sw-mid{position:absolute;left:50%;top:-3px;bottom:-3px;width:2px;background:rgba(242,245,238,.4);transform:translateX(-1px)}
.sw-t i{position:absolute;top:0;bottom:0;border-radius:99px}.sw-t i.g{background:var(--win)}.sw-t i.b{background:var(--loss)}
.sw-v{text-align:right;font-family:var(--fm);font-size:12.5px;font-variant-numeric:tabular-nums}
.lead-big{display:flex;align-items:center;gap:14px;margin-bottom:12px}
.lead-big b{font:900 52px/1 var(--fd);color:var(--tc,var(--lime))}
.lead-big span{font-size:14px;color:#c9d8ce;line-height:1.35}.lead-big small{color:var(--mute)}
#xSel{max-width:100%;padding:9px 14px;border-radius:12px}
.xp-cap{font-size:14px;color:#c9d8ce;margin:4px 0 12px;max-width:72ch}.xp-cap b{color:var(--chalk)}
.xp-key{font-size:12px;color:var(--mute);margin-top:6px}
@media (max-width:640px){
  .ff{grid-template-columns:minmax(0,1fr) 84px;row-gap:6px}.ff-t{grid-column:1/-1;grid-row:2}
  .sw{grid-template-columns:minmax(0,1fr) 58px;row-gap:5px}.sw-t{grid-column:1/-1;grid-row:2}
  .adv-bar .seg{display:flex;width:100%}.adv-bar .seg button{flex:1;min-height:44px}
  #xSel{width:100%;min-height:44px}
}

/* ---------- matchup: why, each side of the ball, form, common opponents ---------- */
.mu-why{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:18px}
.mw{border:1px solid var(--line);border-left:4px solid var(--c);border-radius:20px;padding:18px 20px;background:rgba(255,255,255,.025);min-width:0}
.mw-h{font:800 20px var(--fd);text-transform:uppercase;letter-spacing:.03em;margin-bottom:10px}
.mw ul{margin:0;padding-left:18px;display:grid;gap:8px}.mw li{font-size:15px;line-height:1.5;color:#c9d8ce}
.mw-n{font-size:15px;color:var(--mute)}
.mu-h{margin-top:34px}
.pe-p .pe{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr) minmax(0,1fr) 62px;gap:10px;align-items:center;padding:6px 0}
.pe-hd{font-family:var(--fm);font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--mute);padding-bottom:2px}
.pe-l{font-size:14px;font-weight:600}
.pe-b{position:relative;height:18px;border-radius:6px;background:rgba(242,245,238,.07);overflow:hidden}
.pe-b i{position:absolute;left:0;top:0;bottom:0;border-radius:6px;opacity:.9}
.pe-b b{position:absolute;right:6px;top:0;font:500 11px/18px var(--fm);color:var(--chalk);text-shadow:0 0 4px #06100b}
.pe-e{font-family:var(--fm);font-size:11px;text-align:right;color:var(--mute);text-transform:uppercase}
.pe-sum{font-size:13px;color:var(--mute);margin-top:10px}
.legend{display:flex;flex-wrap:wrap;gap:14px;font-size:13px;color:#c9d8ce;margin-bottom:8px}.legend i{display:inline-block;width:12px;height:12px;border-radius:3px;margin-right:6px;vertical-align:-1px}
.mu-form svg{display:block;width:100%;height:auto}
.co-t{display:grid}.co{display:grid;grid-template-columns:minmax(0,1.4fr) 1fr 1fr;gap:10px;align-items:center;padding:8px 0;border-top:1px solid var(--line)}
.co-h{font-family:var(--fm);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--mute);border-top:0}
.co .mini{display:flex;align-items:center;gap:8px;min-width:0}.co .mini b{font-weight:600;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.co-sum{font-size:13px;color:var(--mute);margin-top:10px}
@media (max-width:760px){.mu-why{grid-template-columns:1fr}}
@media (max-width:640px){
  .pe-p .pe{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 52px;row-gap:4px}
  .pe-p .pe .pe-l{grid-column:1/-1}.pe-hd span:first-child{display:none}
  .mw{padding:16px}.mw li{font-size:14.5px}
}

/* ---------- this week: why an upset ---------- */
.gcard.upick{border-color:var(--pylon)}
.gcard.upick::after{content:"UPSET PICK";position:absolute;top:-10px;right:16px;background:var(--pylon);color:#fff;font-family:var(--fm);font-size:10px;letter-spacing:.12em;padding:3px 9px;border-radius:99px}
.gwhy{border-top:1px solid var(--line);padding-top:8px;margin-top:2px}
.gwhy-b{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;min-height:44px;padding:6px 12px;border:1px solid rgba(255,90,31,.45);border-radius:12px;background:rgba(255,90,31,.08);color:var(--pylon);font:800 15px var(--fd);text-transform:uppercase;letter-spacing:.05em;text-align:left;cursor:pointer;transition:background .25s}
.gwhy-b:hover{background:rgba(255,90,31,.16)}
.gwhy-b i{font-style:normal;font-family:var(--fm);font-size:16px;transition:transform .3s var(--ease)}
.gwhy.open .gwhy-b i{transform:rotate(45deg)}
.gwhy-d{padding:10px 2px 2px;overflow:hidden;cursor:default}
.gwhy-c{font-size:13px;color:var(--mute);margin:0 0 6px}
.gwhy ul{margin:0;padding-left:16px;display:grid;gap:5px}.gwhy li{font-size:13.5px;line-height:1.45;color:#c9d8ce}
/* expanding one game's reasoning should only grow that card, not stretch its row */
.games{align-items:start}
.gcard{align-content:start}
/* rankings: projected movement under the rank number */
.rrow .rk{display:flex;align-items:center;gap:6px}
.rrow .rk .mv{display:inline-block;margin:0;font-size:12px;line-height:1;letter-spacing:0;font-family:var(--fm);font-weight:500}
.rk-note{margin:-4px 0 14px}
.rk-note:empty{display:none}
@media (max-width:640px){.rrow .po-w{display:none}}

/* projected records that include a conference title game */
.ccg{display:inline-block;margin-left:6px;font-family:var(--fm);font-size:10px;line-height:1.3;letter-spacing:.02em;color:var(--lime);font-weight:400;text-transform:none;white-space:nowrap}
.pff-h2 .ccg{display:block;margin:2px 0 0}
.ccg-m{color:var(--lime);font-weight:700;margin-left:1px}
.ccg-k{white-space:nowrap}

/* ---------- title races ---------- */
.rc-ctl{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.rc-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:16px;align-items:start;margin-top:14px}
.rc-main{display:grid;gap:0;min-width:0}
.rcg{border:1px solid var(--line);border-radius:24px;padding:20px 22px;background:linear-gradient(120deg,color-mix(in srgb,var(--ca) 22%,transparent),transparent 45%,transparent 55%,color-mix(in srgb,var(--cb) 22%,transparent))}
.rcg-k{font-family:var(--fm);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--mute);margin-bottom:12px}
.rcg-t{display:flex;align-items:center;justify-content:space-between;gap:12px}
.rcg-s{display:flex;align-items:center;gap:12px;min-width:0;cursor:pointer}
.rcg-s:last-child{flex-direction:row-reverse;text-align:right}
.rcg-s b{display:block;font:900 clamp(24px,3vw,36px)/1 var(--fd);text-transform:uppercase}
.rcg-s small{color:var(--mute);font-size:13px}
.rcg-v{font:900 20px var(--fd);color:var(--mute)}
.rcg-p{margin-top:12px;font-size:14px;color:#c9d8ce}
.rc-w{font-size:15px;line-height:1.5;color:#c9d8ce;margin:0 0 8px}
.rc-w.tie{color:var(--chalk)}
.rc-s{display:inline-block;font-family:var(--fm);font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--night);background:var(--lime);padding:2px 7px;border-radius:99px;margin-right:4px;vertical-align:1px}
.rc-rules{font-size:13px;color:var(--mute);margin-top:12px;line-height:1.5}.rc-rules b{color:#c9d8ce}
.rct{display:grid}
.rcr{display:grid;grid-template-columns:minmax(0,1.6fr) 60px 82px minmax(0,1.2fr) 92px;gap:10px;align-items:center;padding:8px 0;border-top:1px solid var(--line);cursor:pointer}
.rch{cursor:default;border-top:0;font-family:var(--fm);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--mute)}
.rcr.in{background:linear-gradient(90deg,rgba(200,255,61,.08),transparent)}
.rcr-t{display:flex;align-items:center;gap:8px;min-width:0}.rcr-t b{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rcr-c,.rcr-o{font-family:var(--fm);font-size:13px;font-variant-numeric:tabular-nums}
.rcr-p{position:relative;height:18px;border-radius:6px;background:rgba(242,245,238,.07);overflow:hidden}
.rcr-p i{position:absolute;left:0;top:0;bottom:0;opacity:.8}.rcr-p b{position:absolute;right:6px;top:0;font:500 11px/18px var(--fm)}
.rcr-x em{font-style:normal;font-family:var(--fm);font-size:10px;letter-spacing:.08em;text-transform:uppercase;background:var(--lime);color:var(--night);padding:3px 8px;border-radius:99px}
.rcl{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:6px;align-items:center;padding:10px 0;border-top:1px solid var(--line)}
.rcl:first-child{border-top:0}
.rcl-w{grid-column:1/-1;font-family:var(--fm);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--mute)}
.rcl.ch .rcl-w{color:var(--pylon)}
.rcl-at{font-family:var(--fm);font-size:11px;color:var(--mute);text-align:center}
.rcb{display:flex;align-items:center;gap:8px;min-height:44px;min-width:0;padding:6px 10px;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.02);color:var(--mute);cursor:pointer;text-align:left;transition:background .2s,border-color .2s,color .2s}
.rcb b{font-weight:600;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;flex:1}
.rcb small{font-family:var(--fm);font-size:11px}
.rcb.on{border-color:var(--c);background:color-mix(in srgb,var(--c) 20%,transparent);color:var(--chalk)}
.rcb:hover{border-color:rgba(242,245,238,.35)}
@media (max-width:1000px){.rc-grid{grid-template-columns:1fr}}
@media (max-width:640px){
  .rc-ctl select{flex:1 1 100%;min-height:44px}.rc-ctl .seg{display:flex;flex:1}.rc-ctl .seg button{flex:1;min-height:44px}
  .rcg-t{flex-direction:column;align-items:stretch}.rcg-s:last-child{flex-direction:row;text-align:left}.rcg-v{text-align:center}
  .rcr{grid-template-columns:minmax(0,1fr) 46px 64px;row-gap:4px}.rcr-p{grid-column:1/-1;grid-row:2}.rcr-x{display:none}.rcr.in .rcr-t b{color:var(--lime)}
  .rch span:nth-child(4),.rch span:nth-child(5){display:none}
  .rcb small{display:none}
}
.rcr-x em{white-space:nowrap}
.rcr{grid-template-columns:minmax(0,1.6fr) 60px 82px minmax(0,1.2fr) 44px}
@media (max-width:640px){.rcr{grid-template-columns:minmax(0,1fr) 46px 64px}}

/* this week: kickoff and TV */
.gkick{display:flex;justify-content:space-between;gap:8px;font-family:var(--fm);font-size:11.5px;color:#c9d8ce}
.gkick b{font-weight:500;color:var(--chalk);background:rgba(242,245,238,.08);border-radius:6px;padding:1px 7px}
.gkick b.tba{color:var(--mute);background:none;padding:0}
.chip .mv,.chp .mv{font-size:12px;margin-left:4px;vertical-align:2px}

/* rankings: bigger logos, AP and CFP tags kept together */
.rrow .tm .bdg{width:52px;height:52px;border-radius:13px;font-size:16px}
.rrow .tm .rpl{display:inline-block;white-space:nowrap}
.rrow .tm .rpl .poll:first-child{margin-left:6px}
@media (max-width:760px){.rrow .tm .bdg{width:44px;height:44px;border-radius:11px;font-size:13px}.rrow .tm .rpl{display:block;margin-top:3px}.rrow .tm .rpl .poll:first-child{margin-left:0}}
/* history: each update opens on click */
.rev{display:block;padding:0;border-bottom:1px solid var(--line)}
.rev-b{display:grid;grid-template-columns:90px 130px minmax(0,1fr) 24px;gap:16px;align-items:center;width:100%;min-height:56px;padding:14px 4px;text-align:left;color:inherit;cursor:pointer;transition:background .2s}
.rev-b:hover{background:rgba(255,255,255,.03)}
.rev-t{font-size:15.5px;font-weight:600;color:var(--chalk)}
.rev-d{padding-top:0}
.rev-c{font-style:normal;font-family:var(--fm);font-size:18px;color:var(--mute);transition:transform .3s var(--ease)}
.rev.open .rev-c{transform:rotate(45deg);color:var(--lime)}
.rev .rev-x{margin:0 0 16px calc(90px + 130px + 36px);max-width:80ch;overflow:hidden}
@media (max-width:640px){
  .rev-b{grid-template-columns:62px minmax(0,1fr) 22px;gap:2px 12px;padding:12px 2px}
  .rev-b .rev-v{grid-row:1/3}.rev-b .rev-d{grid-column:2;grid-row:2;font-size:12px}.rev-b .rev-t{grid-column:2;grid-row:1;font-size:14.5px}.rev-b .rev-c{grid-column:3;grid-row:1/3}
  .rev-v b{font-size:28px}.rev .rev-x{margin:0 0 14px 74px}
}

/* rankings: index and résumé as numbers; rows expand to "Defend your ranking" */
.rrow,.rhead{grid-template-columns:90px minmax(0,1.6fr) 80px 70px 70px 70px 90px}
.rrow .ix,.rrow .rsm{font-family:var(--fm);font-size:13px;text-align:right}
.rrow .ix{color:var(--lime)}
.rhead span:nth-child(4),.rhead span:nth-child(5),.rhead span:nth-child(6),.rhead span:nth-child(7){text-align:right}
.rrow .rdef{grid-column:1/-1;display:none;cursor:default;padding:4px 0 8px 106px;max-width:860px}
.rrow.open .rdef{display:block;animation:rin .4s var(--ease) both}
.rrow.open::before{transform:scaleX(1);opacity:.18}
.rdef h4{margin:0 0 8px;font-family:var(--fd);font-weight:900;font-size:20px;letter-spacing:.04em;text-transform:uppercase;color:var(--lime)}
.rdef p{margin:0 0 14px;font-size:15px;line-height:1.55;color:var(--chalk)}
.rdef small{display:block;margin:-4px 0 10px;color:var(--mute);font-size:12px}
.rdef-pf{padding:9px 16px;border:1px solid var(--chalk);border-radius:99px;font-family:var(--fd);font-weight:800;font-size:15px;letter-spacing:.06em;text-transform:uppercase;background:none;color:var(--chalk);cursor:pointer;transition:background .3s,color .3s}
.rdef-pf:hover{background:var(--chalk);color:var(--night)}
@media (max-width:760px){
  .rrow,.rhead{grid-template-columns:40px minmax(0,1fr) 52px 60px}
  .rrow .ix,.rrow .rsm,.rrow .pw,.rhead span:nth-child(4),.rhead span:nth-child(5),.rhead span:nth-child(6){display:none}
  .rhead span:nth-child(7){text-align:right}
  .rrow .rdef{padding:2px 0 6px}
  .rdef p{font-size:14px}
}

/* races: games left grouped by week or team, each group collapsible */
.rcl-ctl{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}
.rclg{border-top:1px solid var(--line)}
.rclg-h{display:flex;align-items:center;gap:10px;width:100%;padding:12px 2px;background:none;border:0;color:var(--chalk);cursor:pointer;text-align:left;font:inherit}
.rclg-h b{font-family:var(--fd);font-weight:800;font-size:19px;text-transform:uppercase;letter-spacing:.02em}
.rclg-h small{color:var(--mute);font-family:var(--fm);font-size:11.5px;letter-spacing:.04em}
.rclg-h i{margin-left:auto;font-style:normal;font-size:20px;line-height:1;color:var(--mute);transition:transform .3s var(--ease)}
.rclg.open .rclg-h i{transform:rotate(45deg);color:var(--lime)}
.rclg-h:hover b{color:var(--lime)}
.rclg-b{display:none;padding-bottom:8px}
.rclg.open .rclg-b{display:block;animation:rin .35s var(--ease) both}

/* a hidden chip stays hidden (its display:inline-flex would otherwise override the hidden attribute) */
.pk-chip[hidden]{display:none}

.rdef-s span{display:block;margin-bottom:4px;font-family:var(--fm);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--mute)}

/* box scores (History): opened inside a game row; one section at a time */
.hi-list .hl.bxable{cursor:pointer}
.hi-list .hl.bxable:hover,.hi-list .hl.bx-open{background:rgba(255,255,255,.03)}
.hi-list .hl{position:relative;padding-right:34px}
.hl-x{position:absolute;right:8px;top:50%;margin-top:-11px;font-style:normal;font-size:20px;line-height:22px;color:var(--mute);transition:transform .3s var(--ease),color .3s}
.hl.bxable:hover .hl-x{color:var(--chalk)}
.hl.bx-open .hl-x{transform:rotate(45deg);color:var(--lime)}
.hl.bxable:focus-visible{outline:2px solid var(--lime);outline-offset:-2px}
.hl-bx{padding:6px 6px 18px;border-bottom:1px solid var(--line);animation:rin .35s var(--ease) both}
.bx{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;max-width:940px;min-width:0}
.hl-bx{min-width:0;max-width:100%;overflow:hidden}
.bx-more{margin-top:6px;padding:5px 12px;border:1px solid var(--line);border-radius:99px;background:none;color:var(--mute);font-family:var(--fm);font-size:11px;letter-spacing:.06em;text-transform:uppercase;cursor:pointer}
.bx-more:hover{color:var(--lime);border-color:var(--lime)}
.bx-t tr.bx-hid{display:none}
.bx-sc.all .bx-t tr.bx-hid{display:table-row}
.bx-ls{border-collapse:collapse;font-family:var(--fm);font-size:13px;width:max-content;max-width:100%;justify-self:start}
.bx-ls th{font-weight:500;font-size:10.5px;color:var(--mute);padding:2px 10px;text-align:center}
.bx-ls td{padding:5px 10px;text-align:center;color:var(--mute)}
.bx-ls td:first-child{text-align:left;display:flex;align-items:center;gap:8px;color:var(--chalk);font-family:var(--fb,inherit)}
.bx-ls td:first-child b{font-weight:600;white-space:nowrap}
.bx-ls tr.w td{color:var(--chalk)}
.bx-ls td.tot{font-weight:700;font-size:15px;color:var(--chalk)}
.bx-ls tr:not(.w) td.tot{color:var(--mute)}
.bx-meta,.bx-note{color:var(--mute);font-size:12.5px;margin:0}
.bx-ctl{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between}
.bx-tabs{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;max-width:100%}
.bx-tabs::-webkit-scrollbar{display:none}
.bx-tabs button{flex:none;padding:7px 13px;border:1px solid var(--line);border-radius:99px;background:none;color:var(--mute);font-family:var(--fd);font-weight:800;font-size:14px;letter-spacing:.04em;text-transform:uppercase;cursor:pointer}
.bx-tabs button[aria-selected=true]{background:var(--chalk);color:var(--night);border-color:var(--chalk)}
.bx-side button{display:inline-flex;align-items:center;gap:6px}
.bx-st{margin:8px 0 4px;font-family:var(--fm);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--lime)}
.bx-sc{overflow-x:auto;max-width:100%;-webkit-overflow-scrolling:touch}
.bx-t{border-collapse:collapse;width:100%;font-family:var(--fm);font-size:13px;font-variant-numeric:tabular-nums}
.bx-t th{font-weight:500;font-size:10.5px;letter-spacing:.06em;color:var(--mute);text-align:right;padding:6px 8px;border-bottom:1px solid var(--line);white-space:nowrap}
.bx-t td{text-align:right;padding:6px 8px;border-bottom:1px solid rgba(255,255,255,.05);white-space:nowrap}
.bx-t th:first-child,.bx-t td:first-child{text-align:left;position:sticky;left:0;background:var(--night);font-family:inherit}
.bx-t td:first-child{color:var(--chalk);font-family:var(--fb,inherit);font-size:13.5px}
.bx-t tfoot td{color:var(--chalk);font-weight:600;border-bottom:0;border-top:1px solid var(--line)}
.bx-ts{max-width:520px}
.bx-ts td:first-child{color:var(--mute)}
.bx-ts td:not(:first-child),.bx-ts th:not(:first-child){width:110px}
.bx-sp{display:grid;grid-template-columns:48px 30px minmax(0,1fr) 56px;gap:10px;align-items:center;padding:7px 0;border-bottom:1px solid rgba(255,255,255,.05);font-size:13.5px}
.bx-clk,.bx-scr{font-family:var(--fm);font-size:12px;color:var(--mute)}
.bx-scr{text-align:right;color:var(--chalk)}
.hp-f{margin-top:6px}
.hp-list .hl{grid-template-columns:40px minmax(0,1fr) 96px}
.hp-list .hl-h span:nth-child(3){text-align:right}
.hp-t{display:inline-flex;align-items:center;gap:7px;color:var(--mute)}
.hp-t.w{color:var(--chalk)}
.hp-nb{font-style:normal;font-size:11px;color:var(--mute);margin-left:4px}
@media (max-width:760px){
  .hp-list .hl{grid-template-columns:30px minmax(0,1fr) 80px}
  .hl-bx{padding-inline:0}
  .bx-ls td,.bx-ls th{padding:4px 6px}
  .bx-ctl{flex-direction:column;align-items:stretch}
  .bx-side{display:flex}.bx-side button{flex:1;justify-content:center}
  .bx-sp{grid-template-columns:40px 26px minmax(0,1fr) 46px;gap:8px;font-size:13px}
}

/* chart builder */
.cb-ctl{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;margin-bottom:14px}
.cb-l{display:flex;flex-direction:column;gap:6px;min-width:220px;flex:1 1 220px;max-width:340px}
.cb-l span{font-family:var(--fm);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--mute)}
.cb-l select{width:100%}
.cb-btns{display:flex;flex-wrap:wrap;gap:8px}
.cb-tg[aria-pressed=false]{color:var(--mute);border-color:var(--line)}
.cb-pre{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}
.cb-pre .pk-chip.on{background:var(--lime);color:var(--night);border-color:var(--lime);border-style:solid}
.cb-f{align-items:center}
.cb-find{position:relative;min-width:200px}
.cb-hl{display:flex;flex-wrap:wrap;gap:6px}
.cb-hl .pk-chip i{font-style:normal;color:var(--mute)}
.cb-panel{position:relative}
.cb-chart{position:relative;width:100%;min-height:360px}
.cb-chart svg{display:block;width:100%;height:auto;overflow:visible}
.cb-g{stroke:rgba(242,245,238,.07)}
.cb-md{stroke:rgba(242,245,238,.35);stroke-dasharray:5 5}
.cb-tr{stroke:var(--lime);stroke-width:1.5;stroke-dasharray:2 4;opacity:.6}
.cb-tk{fill:var(--mute);font-family:var(--fm);font-size:11px}
.cb-ml{fill:var(--mute);font-family:var(--fm);font-size:10.5px;letter-spacing:.04em;text-transform:uppercase}
.cb-q{fill:rgba(242,245,238,.32);font-family:var(--fm);font-size:11px;letter-spacing:.06em;text-transform:uppercase}
.cb-q.good{fill:color-mix(in srgb,var(--lime) 70%,transparent)}
.cb-ax{fill:var(--chalk);font-family:var(--fd);font-weight:800;font-size:15px;letter-spacing:.06em;text-transform:uppercase}
.cb-pt{cursor:pointer;transition:opacity .25s}
.cb-pt.dim{opacity:.22}
.cb-pt:hover{opacity:1}
.cb-tip{position:absolute;z-index:5;display:grid;grid-template-columns:auto 1fr;gap:2px 8px;align-items:center;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:var(--night2);box-shadow:0 10px 30px rgba(0,0,0,.45);pointer-events:none;font-size:13px;max-width:280px}
.cb-tip b{font-weight:600}.cb-tip small{grid-column:2;color:var(--mute);font-size:11.5px}
.cb-tip span,.cb-tip em{grid-column:1/-1;color:#c9d8ce}.cb-tip em{font-style:normal;color:var(--mute);font-size:11px;margin-top:2px}
.cb-desc{margin:10px 0 0;color:var(--mute);font-size:12.5px;line-height:1.5}.cb-desc b{color:#c9d8ce;font-weight:500}
.cb-story p:not(.pn-t){margin:0 0 8px;font-size:15px;line-height:1.55;color:#c9d8ce}.cb-story b{color:var(--chalk)}
.cbt{display:grid;grid-template-columns:34px minmax(0,1fr) 120px 120px;gap:10px;align-items:center;padding:7px 4px;border-bottom:1px solid var(--line);cursor:pointer}
.cbt:hover,.cbt.on{background:rgba(255,255,255,.04)}
.cbt-h{cursor:default;font-family:var(--fm);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--mute)}
.cbt-h button{background:none;border:0;color:inherit;font:inherit;letter-spacing:inherit;text-transform:inherit;text-align:right;cursor:pointer;padding:0}
.cbt-h button:first-of-type{text-align:left}
.cbt-h button:hover{color:var(--chalk)}
.cbt>span:first-child{font-family:var(--fm);font-size:12px;color:var(--mute)}
.cbt-t{display:flex;align-items:center;gap:8px;min-width:0}.cbt-t b{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cbt-t small{color:var(--mute);font-size:12px;white-space:nowrap}
.cbt-v{text-align:right;font-family:var(--fm);font-size:13px;padding:5px 8px;border-radius:8px;font-variant-numeric:tabular-nums}
.cbt-v small{display:block;font-size:10px;color:var(--mute)}
@media (max-width:760px){
  .cb-l{max-width:none}
  .cb-pre{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin-inline:calc(var(--pad) * -1);padding:2px var(--pad)}
  .cb-pre::-webkit-scrollbar{display:none}.cb-pre .pk-chip{flex:none}
  .cb-find{flex:1 1 100%}
  .cb-ax{font-size:13px}
  .cbt{grid-template-columns:24px minmax(0,1fr) 78px 78px;gap:6px}
  .cbt-t small{display:none}
}
.cb-tip[hidden]{display:none}
.cb-find input{font-family:var(--fb,inherit);font-size:15px;font-weight:500;letter-spacing:0;text-transform:none;padding:10px 16px;min-height:44px;border-radius:99px}

/* matchup radar */
.rd{max-width:560px;margin:4px auto 0}
.rd svg{display:block;width:100%;height:auto;overflow:visible}
.rd-l{font-family:var(--fm);font-size:11px;letter-spacing:.03em}
.rd-l.hot{font-weight:600}
.rd-sum{margin:6px 0 0;font-size:14px;line-height:1.5;color:#c9d8ce}
@media (max-width:760px){.rd-l{font-size:16px}}

/* matchup: last five, players to watch, previous meetings */
.l5s{display:grid;grid-template-columns:1fr 1fr;gap:14px 20px;margin-bottom:14px}
.l5-h{display:flex;align-items:center;gap:8px;margin:0 0 6px;font-family:var(--fd);font-weight:800;font-size:17px;text-transform:uppercase;letter-spacing:.03em}
.l5-h small{font-family:var(--fm);font-size:10.5px;color:var(--mute);letter-spacing:.08em}
.l5-r{display:grid;grid-template-columns:86px minmax(0,1fr) auto;gap:8px;align-items:center;padding:4px 0;font-size:13.5px}
.l5-r .pill{font-size:11.5px;justify-self:start}
.l5-o{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.l5-o small{color:var(--mute);font-family:var(--fm);font-size:10.5px}
.l5-w{font-family:var(--fm);font-size:11px;color:var(--mute)}
.pw{display:grid;grid-template-columns:1fr 1fr;gap:16px 22px}
.pw-r{display:grid;grid-template-columns:78px minmax(0,1fr);gap:0 8px;padding:7px 0;border-top:1px solid var(--line)}
.pw-k{grid-row:1/span 2;font-family:var(--fm);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--mute);padding-top:3px}
.pw-r b{font-weight:600;font-size:14.5px}.pw-r small{color:#c9d8ce;font-size:12.5px}
.mt-sum{margin:0 0 8px;font-size:15px;color:var(--chalk)}
.mt-r{position:relative;display:grid;grid-template-columns:96px minmax(0,1fr);gap:10px;align-items:center;padding:8px 34px 8px 2px;border-top:1px solid var(--line)}
.mt-r.bxable{cursor:pointer}.mt-r.bxable:hover,.mt-r.bx-open{background:rgba(255,255,255,.03)}
.mt-r.bx-open .hl-x{transform:rotate(45deg);color:var(--lime)}
.mt-r:focus-visible{outline:2px solid var(--lime);outline-offset:-2px}
.mt-y{font-family:var(--fd);font-weight:900;font-size:20px}.mt-y small{display:block;font-family:var(--fm);font-weight:400;font-size:10.5px;color:var(--mute);letter-spacing:.04em}
.mt-g{font-size:14px}.mt-g b{font-weight:600}.mt-g small{display:block;color:var(--mute);font-size:12px}
#muMeet .hl-bx{border-bottom:0}
@media (max-width:760px){.l5s,.pw{grid-template-columns:1fr}.mt-r{grid-template-columns:70px minmax(0,1fr)}}
.panel .bx-t th:first-child,.panel .bx-t td:first-child{background:#0b1510}

/* matchup simulation: blank chart until the one-time button is pressed */
.sim-empty{position:relative}
.hist .ghost{height:100%;background:none;border:1px dashed rgba(242,245,238,.1);border-bottom:0}
.sim-empty .hist{opacity:.8}
.sim-go{position:absolute;left:50%;top:56%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:10px;width:min(440px,86%);text-align:center}
.sim-go p{margin:0;color:var(--mute);font-size:13px;line-height:1.45}
.sim-empty .hist + .sim-go ~ *{display:none}
.sim-empty{padding-bottom:64px}

/* chart builder: highlighted teams glow */
.cb-glow{fill:rgba(200,255,61,.10);stroke:var(--lime);stroke-width:2.5;filter:drop-shadow(0 0 4px var(--lime)) drop-shadow(0 0 10px rgba(200,255,61,.75)) drop-shadow(0 0 20px rgba(200,255,61,.45))}
.cb-pt.on image{filter:drop-shadow(0 0 3px rgba(200,255,61,.9))}
.cb-pt.on{animation:cbPulse 2.4s ease-in-out infinite}
@keyframes cbPulse{0%,100%{opacity:1}50%{opacity:.86}}
@media (prefers-reduced-motion:reduce){.cb-pt.on{animation:none}}
.cb-hl .pk-chip{border-color:var(--lime);box-shadow:0 0 10px rgba(200,255,61,.35)}
.cbt.on{box-shadow:inset 3px 0 0 var(--lime);background:rgba(200,255,61,.06)}

/* chart builder: presets row with Custom, axis boxes only in Custom, tools on the chart */
.cb-axes[hidden]{display:none}
.cb-axes{padding:14px 16px;border:1px dashed rgba(200,255,61,.35);border-radius:18px;background:rgba(200,255,61,.03);margin:-4px 0 16px}
.cb-pre .cb-cus{border-style:solid;color:var(--chalk);border-color:var(--line)}
.cb-pre .cb-cus.on{background:var(--chalk);color:var(--night);border-color:var(--chalk)}
.cb-tools{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px;margin:-4px 0 8px}
.cb-tool{display:inline-flex;align-items:center;gap:7px;padding:6px 11px;border:1px solid var(--line);border-radius:10px;background:rgba(255,255,255,.03);color:var(--mute);font-family:var(--fm);font-size:11px;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;transition:color .2s,border-color .2s,background .2s}
.cb-tool:hover{color:var(--chalk);border-color:rgba(242,245,238,.3)}
.cb-tool i{font-style:normal;font-size:14px;line-height:1}
.cb-sw{position:relative;display:inline-block;width:24px;height:13px;border-radius:99px;background:rgba(242,245,238,.18);transition:background .2s}
.cb-sw::after{content:"";position:absolute;top:2px;left:2px;width:9px;height:9px;border-radius:50%;background:var(--chalk);transition:transform .2s}
.cb-tg[aria-pressed=true]{color:var(--chalk)}
.cb-tg[aria-pressed=true] .cb-sw{background:var(--lime)}
.cb-tg[aria-pressed=true] .cb-sw::after{transform:translateX(11px);background:var(--night)}
.cb-tg[aria-pressed=false]{color:var(--mute);border-color:var(--line)}
@media (max-width:760px){.cb-tools{justify-content:flex-start}}

/* chart builder: trend line is a lit button (no switch); tighter phone layout */
.cb-tg[aria-pressed=true]{color:var(--night);background:var(--lime);border-color:var(--lime)}
.cb-tg[aria-pressed=true]:hover{color:var(--night)}
@media (max-width:760px){
  .cb-f{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:center}
  .cb-f .seg button{padding:8px 12px;font-size:15px}
  .cb-f select{width:100%;min-width:0;min-height:44px}
  .cb-f .cb-find,.cb-f .cb-hl{grid-column:1/-1}
  .cb-tools{flex-wrap:nowrap;gap:5px}
  .cb-tool{flex:1 1 0;justify-content:center;min-width:0;padding:7px 4px;gap:4px;font-size:10px;letter-spacing:.02em;white-space:nowrap}
  .cb-tool i{font-size:12px}
}

/* award watch */
.aw-jump{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}
.aw-card{scroll-margin-top:90px;margin-top:22px;padding:clamp(18px,2.4vw,30px);border:1px solid var(--line);border-radius:28px;background:linear-gradient(160deg,rgba(255,255,255,.035),rgba(255,255,255,.01))}
.aw-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:14px;margin-bottom:18px}
.aw-g{margin:0 0 4px;font-family:var(--fm);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--lime)}
.aw-head h3{margin:0;font-family:var(--fd);font-weight:900;font-size:clamp(30px,4.2vw,52px);line-height:.95;text-transform:uppercase}
.aw-d{margin:8px 0 0;color:var(--mute);font-size:14px}
.aw-tabs button{font-size:15px;padding:8px 14px}
.aw-hero{--c:#333;position:relative;display:grid;grid-template-columns:minmax(220px,300px) minmax(0,1fr) minmax(0,1.25fr);gap:22px;align-items:center;padding:18px;border-radius:22px;overflow:hidden;isolation:isolate;background:linear-gradient(120deg,color-mix(in srgb,var(--c) 38%,transparent),transparent 62%);border:1px solid color-mix(in srgb,var(--c) 45%,var(--line))}
.aw-hero::after{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(circle at 12% 30%,color-mix(in srgb,var(--c) 40%,transparent),transparent 55%)}
.aw-ph{position:relative;aspect-ratio:320/232;border-radius:16px;overflow:hidden;background:color-mix(in srgb,var(--c) 30%,#06100b)}
.aw-img{display:block;width:100%;height:100%;object-fit:cover;object-position:center top}
.aw-nophoto{display:grid;place-items:center;width:100%;height:100%}
.aw-tm{position:absolute;right:8px;bottom:8px}
.aw-k{margin:0;font-family:var(--fm);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--lime)}
.aw-who h4{margin:6px 0 4px;font-family:var(--fd);font-weight:900;font-size:clamp(30px,3.4vw,46px);line-height:.92;text-transform:uppercase}
.aw-meta{margin:0 0 14px;color:#c9d8ce;font-size:14px}.aw-meta a:hover{color:var(--lime)}
.aw-ring{--p:66;--c:var(--lime);position:relative;display:grid;place-items:center;width:96px;height:96px;border-radius:50%;background:conic-gradient(var(--lime) calc(var(--p)*1%),rgba(242,245,238,.1) 0)}
.aw-ring::before{content:"";position:absolute;inset:7px;border-radius:50%;background:#0a1510}
.aw-ring b,.aw-ring small{position:relative}.aw-ring b{font-family:var(--fd);font-weight:900;font-size:34px;line-height:1;margin-top:8px}
.aw-ring small{font-family:var(--fm);font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--mute);margin-top:-14px}
.aw-stats{display:grid;gap:12px}
.aw-sl{margin:0 0 4px;font-family:var(--fm);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--mute)}
.aw-bar{display:grid;grid-template-columns:86px minmax(0,1fr) 58px;gap:8px;align-items:center;font-size:12px;color:var(--mute);margin-top:3px}
.aw-bar span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.aw-bar i{display:block;height:9px;border-radius:5px;background:rgba(242,245,238,.22)}
.aw-bar b{font-family:var(--fm);font-weight:500;font-size:13px;text-align:right;color:#c9d8ce}
.aw-bar.me{color:var(--chalk)}.aw-bar.me b{color:var(--chalk)}
.aw-nh{margin:20px 0 8px;font-family:var(--fm);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--mute)}
.aw-next{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.aw-c{--c:#333;position:relative;display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:center;padding:10px 12px 10px 10px;border:1px solid var(--line);border-radius:16px;background:linear-gradient(135deg,color-mix(in srgb,var(--c) 18%,transparent),transparent 70%)}
.aw-rk{position:absolute;left:8px;top:6px;z-index:1;font-family:var(--fd);font-weight:900;font-size:16px;color:var(--chalk);text-shadow:0 1px 6px #000}
.aw-cimg{width:64px;height:64px;border-radius:12px;object-fit:cover;object-position:center top;background:color-mix(in srgb,var(--c) 30%,#06100b)}
div.aw-cimg{display:grid;place-items:center}div.aw-cimg .bdg{width:40px;height:40px}
.aw-cw{min-width:0}.aw-cw b{display:block;font-weight:600;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding-right:30px}
.aw-cw small{display:block;color:var(--mute);font-size:11.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.aw-cv{display:flex;flex-wrap:wrap;gap:2px 10px;margin-top:4px;font-family:var(--fm);font-size:11.5px;color:#c9d8ce}
.aw-cv em{font-style:normal;color:var(--mute);margin-right:4px;font-size:10px}
.aw-cs{position:absolute;right:10px;top:9px;font-family:var(--fd);font-weight:900;font-size:22px}
.aw-cs.hi{color:var(--lime)}.aw-cs.mid{color:var(--chalk)}.aw-cs.lo{color:var(--mute)}
.aw-past{margin-top:14px;border-top:1px solid var(--line)}
.aw-past summary{display:flex;align-items:center;gap:10px;padding:12px 2px;cursor:pointer;list-style:none;font-family:var(--fd);font-weight:800;font-size:17px;text-transform:uppercase}
.aw-past summary::-webkit-details-marker{display:none}
.aw-past summary small{font-family:var(--fm);font-weight:400;font-size:11px;color:var(--mute);text-transform:none}
.aw-past summary i{margin-left:auto;font-style:normal;font-size:20px;color:var(--mute);transition:transform .3s}
.aw-past[open] summary i{transform:rotate(45deg);color:var(--lime)}
.aw-pt{overflow-x:auto}
.aw-pr{display:grid;grid-template-columns:56px minmax(150px,1.4fr) repeat(3,minmax(84px,1fr)) 70px;gap:10px;align-items:center;padding:7px 2px;border-top:1px solid rgba(255,255,255,.05);font-family:var(--fm);font-size:12.5px;min-width:520px}
.aw-pr span:nth-child(n+3){text-align:right}
.aw-pr b{font-family:var(--fb,inherit);font-weight:600;font-size:13.5px}.aw-pr small{display:block;color:var(--mute);font-size:11px;font-family:inherit}
.aw-ph2{font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--mute)}
.aw-pr.off{color:var(--mute)}.aw-why{grid-column:3/-1;text-align:left!important;font-size:11.5px}
.aw-avg{border-top:1px solid var(--line);color:var(--lime)}.aw-avg b{color:var(--lime)}
.aw-how p{margin:0 0 10px;font-size:14px;line-height:1.6;color:#c9d8ce}
@media (max-width:1100px){.aw-hero{grid-template-columns:minmax(200px,260px) minmax(0,1fr)}.aw-stats{grid-column:1/-1}.aw-next{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){
  .aw-jump{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin-inline:calc(var(--pad) * -1);padding:2px var(--pad)}.aw-jump::-webkit-scrollbar{display:none}.aw-jump .pk-chip{flex:none}
  .aw-hero{grid-template-columns:1fr;padding:12px;gap:14px}
  .aw-who{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:12px}.aw-who .aw-k,.aw-who h4,.aw-who .aw-meta{grid-column:1}.aw-ring{grid-column:2;grid-row:1/span 3;width:84px;height:84px}
  .aw-next{grid-template-columns:1fr}
  .aw-tabs{width:100%;display:flex}.aw-tabs button{flex:1;padding:8px 6px;font-size:13px}
}

.aw-prof{margin:-4px 0 16px}
.aw-pl{margin:0 0 8px;font-family:var(--fm);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--mute)}
.aw-pl small{text-transform:none;letter-spacing:.02em;margin-left:6px}
.aw-pf{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px 14px}
.aw-pf span{position:relative;display:flex;align-items:center;gap:6px;padding:6px 10px;border-radius:10px;overflow:hidden;background:rgba(255,255,255,.03);font-size:12.5px;isolation:isolate}
.aw-pf i{position:absolute;left:0;top:0;bottom:0;z-index:-1;background:color-mix(in srgb,var(--lime) 22%,transparent)}
.aw-pf span.tm i{background:color-mix(in srgb,var(--chalk) 14%,transparent)}
.aw-pf b{font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.aw-pf em{margin-left:auto;font-style:normal;font-family:var(--fm);font-size:9.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--mute)}
@media (max-width:760px){.aw-pf{grid-template-columns:1fr 1fr}}
@media (max-width:420px){.aw-pf{grid-template-columns:1fr}}

.aw-note{display:flex;gap:10px;align-items:baseline;margin:-6px 0 16px;padding:10px 14px;border:1px dashed rgba(242,245,238,.2);border-radius:14px;font-size:13px;line-height:1.5;color:#c9d8ce}
.aw-note b{flex:none;font-family:var(--fm);font-weight:500;font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--lime)}

.aw-grp{display:inline-block;margin-left:4px;padding:1px 8px;border:1px solid var(--line);border-radius:99px;font-family:var(--fm);font-size:10px;letter-spacing:.04em;color:var(--mute);vertical-align:1px}

.aw-bt{margin:8px 0 0;font-size:13px;line-height:1.5;color:#c9d8ce}
.aw-bt b{margin-right:10px;font-family:var(--fm);font-weight:500;font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--lime)}
.aw-bt em{font-style:normal;font-weight:700;color:var(--chalk)}
.aw-or{font-weight:600}.aw-or.one{color:var(--lime)}.aw-or.five{color:var(--chalk)}
.aw-pr.off .aw-why{grid-column:3/-1}

/* ---------- mobile tightening pass ---------- */
/* collapsible explainers (playoff rules, award method) */
.cfp-det summary,.aw-how summary{display:flex;align-items:center;justify-content:space-between;gap:10px;cursor:pointer;list-style:none}
.cfp-det summary::-webkit-details-marker,.aw-how summary::-webkit-details-marker{display:none}
.cfp-det summary i,.aw-how summary i{font-style:normal;font-size:22px;line-height:1;color:var(--mute);transition:transform .3s var(--ease)}
.cfp-det[open] summary i,.aw-how[open] summary i{transform:rotate(45deg);color:var(--lime)}
.cfp-det:not([open]) .cfp-how-t{margin-bottom:0}
.aw-how:not([open]) .pn-t{margin-bottom:0}
.aw-how b{color:var(--chalk);font-weight:600}
/* this week: site, projection and confidence on one line */
.gm{flex-wrap:nowrap;align-items:center}
.gm>span{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gm .conf{flex:none}
.gwhy-b span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.btn#simGo{white-space:nowrap}
@media (max-width:760px){
  /* rankings: the two switches share a row, as do conference and search */
  body[data-page=rankings] .controls{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}
  body[data-page=rankings] .controls .seg{grid-column:auto;display:flex}
  body[data-page=rankings] .controls .seg button{flex:1;padding:8px 6px;font-size:15px}
  body[data-page=rankings] .controls select,body[data-page=rankings] .controls input{grid-column:auto;min-width:0;width:100%}
  /* rankings rows: conference and the poll tags share a line when they fit; the tags wrap together */
  .rrow .tm small{display:flex;align-items:center;gap:5px;white-space:nowrap;overflow:hidden}
  .rrow .tm small .rcf{min-width:0;overflow:hidden;text-overflow:ellipsis}
  .rrow .tm .rpl{display:inline-flex;flex:none;gap:3px;margin:0;white-space:nowrap}
  .rrow .tm .rpl .poll{margin:0;font-size:9px;padding:1px 4px}
  .rrow .tm .bdg{width:34px;height:34px;border-radius:9px;font-size:11px}
  .rrow .tm{gap:8px}
  /* team page header: "#3 of 266" on one line */
  .sh-rank{display:grid;grid-template-columns:auto 1fr;align-items:end;column-gap:10px}
  .sh-rank small{grid-column:1/-1}
  .sh-rank b{font-size:76px}
  .sh-rank span{margin:0 0 8px}
  /* matchup: both team boxes and the swap button on one row */
  .mu-pick{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:8px;align-items:end}
  .mu-pick label:first-child,.mu-pick label:last-child{grid-row:auto;grid-column:auto}
  .mu-pick .swap{grid-row:auto;grid-column:auto;margin:0 0 4px;align-self:end;justify-self:center;width:40px;height:40px}
  .mu-pick input{font-size:18px;padding:10px 12px}
  .board-meta{display:grid;grid-template-columns:1fr 1fr;gap:6px 14px;padding:16px 18px 20px;font-size:14px}
  .board-conf{font-size:12px}
  /* races: conference and switch on one row; title game teams side by side */
  .rc-ctl{flex-wrap:nowrap}
  .rc-ctl select{flex:1 1 auto;min-width:0}
  .rc-ctl .seg{flex:none}.rc-ctl .seg button{flex:none;padding:8px 12px}
  .rcg-t{flex-direction:row;align-items:center}
  .rcg-s{flex-direction:column;align-items:flex-start;gap:6px}
  .rcg-s:last-child{flex-direction:column;align-items:flex-end;text-align:right}
  .rcg-s b{font-size:22px}
  .rcg-s .bdg{width:44px;height:44px}
  /* history tiles: tighter */
  .ht small{letter-spacing:.08em}
  .ht span{line-height:1.35}
}

.rcf .cs{display:none}
@media (max-width:760px){.rcf .cl{display:none}.rcf .cs{display:inline}.rrow .tm .rpl .poll{padding:1px 3px;letter-spacing:.02em}}
@media (max-width:760px){
  .sh-chips{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
  .chp{padding:8px 8px;border-radius:12px}
  .chp b{font-size:22px}
  .chp span{display:block;font-size:10.5px;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .chp .mv{font-size:10px;margin-left:2px}
}
@media (max-width:700px){
  /* matchup score card: both teams beside the score in one row */
  .board-in{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:8px;padding:20px 14px;text-align:center}
  .side,.side.r{flex-direction:column;justify-content:flex-start;align-items:center;gap:8px;text-align:center}
  .side.r{flex-direction:column-reverse}
  .side .bdg.xl{width:56px;height:56px;border-radius:14px}
  .side .nm{font-size:20px;line-height:1}
  .side small{font-size:11px;margin-top:4px;line-height:1.5}
  .side small .poll{font-size:8.5px;padding:1px 3px;margin:0 1px;letter-spacing:0}
  .score{font-size:64px;gap:6px}
}
.gcard{min-width:0}
#games>*{min-width:0}
@media (max-width:760px){.gm .conf{font-size:11px;padding:3px 8px}.gm{gap:6px}}
.gcard{grid-template-columns:minmax(0,1fr)}
@media (max-width:760px){.gm .cfw{display:none}}
.tcard .meta{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rclg-h{min-width:0}.rclg-h b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.rclg-h small{white-space:nowrap;flex-shrink:0}
@media (min-width:701px) and (max-width:1100px){.board .side .nm{font-size:clamp(20px,2.6vw,40px);overflow-wrap:normal;word-break:normal}}
/* this week: filters */
.wk-f{margin-top:-12px}
.wk-f input{flex:1 1 200px}
.wk-none{padding:24px 0}
@media (max-width:760px){
  body[data-page=week] .controls.wk-f{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;margin-top:-14px}
  body[data-page=week] .wk-f .seg{display:flex}
  body[data-page=week] .wk-f .seg button{flex:1;padding:8px 6px;font-size:15px}
  body[data-page=week] .wk-f select,body[data-page=week] .wk-f input{min-width:0;width:100%;min-height:44px}
  body[data-page=week] .wk-f input{grid-column:1/-1}
}
/* History lists: title and All / FBS / FCS switch on one line */
.pn-th{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}
.pn-th .pn-t{margin:0;min-width:0}
.hi-ld{flex-shrink:0}
.hi-ld button{padding:5px 10px;font-size:12px;min-height:0}
@media (max-width:760px){.pn-th .pn-t small{display:none}.hi-ld button{padding:5px 8px;font-size:11.5px}}
/* mobile menu: fit every link on short screens too (sized by height as well as width), scroll as a last resort */
.sheet{justify-content:safe center;overflow-y:auto;overscroll-behavior:contain;padding-top:calc(var(--pad) + 64px);padding-bottom:calc(var(--pad) + env(safe-area-inset-bottom))}
.sheet a{font-size:clamp(24px,min(13vw,6.2dvh),120px);flex-shrink:0;position:relative;transition:color .2s,transform .25s var(--ease)}
.sheet a[aria-current=page]{color:var(--lime)}
.sheet a:active,.sheet a.tap{color:var(--lime);transform:translateX(14px)}
.sheet a.tap::before{content:"";position:absolute;left:-14px;top:12%;bottom:12%;width:5px;border-radius:3px;background:var(--lime)}
.foot-big.lit{color:var(--lime);-webkit-text-stroke-color:var(--lime)}
/* Races: every conference's published tiebreaker rules, collapsed */
.rc-rulesall{margin-top:40px}
.rc-rulesall .pf-note{margin:-6px 0 14px}
.rr{border-top:1px solid var(--line)}
.rr:last-child{border-bottom:1px solid var(--line)}
.rr summary{display:flex;justify-content:space-between;align-items:center;padding:14px 4px;cursor:pointer;list-style:none;font-family:var(--fd);font-weight:800;font-size:19px;text-transform:uppercase;letter-spacing:.02em}
.rr summary::-webkit-details-marker{display:none}
.rr summary i{font-style:normal;font-size:20px;color:var(--mute);transition:transform .3s var(--ease)}
.rr[open] summary i{transform:rotate(45deg);color:var(--lime)}
.rr ol{margin:0 0 10px;padding-left:22px;display:grid;gap:6px;font-size:14px;color:var(--chalk)}
.rr-src{font-size:12px;color:var(--mute);margin:0 0 16px 4px}
.rr-src a{color:var(--lime)}
/* simulation chart: one bar per exact margin, a smooth curve on top, a readout that follows the pointer */
.simw{position:relative;margin-top:14px;padding-bottom:30px}
.simsvg{display:block;width:100%;height:190px;overflow:visible;touch-action:pan-y;cursor:crosshair}
.sim-bars rect{transform-box:fill-box;transform-origin:bottom;opacity:.55;transition:opacity .15s}
.simsvg.hov .sim-bars rect{opacity:.22}.simsvg .sim-bars rect.on{opacity:1}
.sim-curve{filter:drop-shadow(0 0 6px rgba(255,255,255,.25))}
.sim-z{stroke:rgba(242,245,238,.25);stroke-width:1;stroke-dasharray:3 4;vector-effect:non-scaling-stroke}
.sim-cur{stroke:var(--chalk);stroke-width:1;vector-effect:non-scaling-stroke;opacity:0;transition:opacity .15s;pointer-events:none}
.sim-ax{position:absolute;left:0;right:0;bottom:0;height:24px}
.sim-ax span{position:absolute;top:6px;transform:translateX(-50%);font-family:var(--fm);font-size:10.5px;color:var(--mute);white-space:nowrap}
.sim-read{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 14px;min-height:26px;margin:10px 0 0;font-family:var(--fm);font-size:13px;color:var(--mute)}
.sim-read b{font-family:var(--fd);font-weight:900;font-size:22px;text-transform:uppercase;color:var(--chalk)}
.sim-read em{font-style:normal;font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--lime);border:1px solid var(--lime);border-radius:4px;padding:0 5px}
@media (max-width:760px){.simsvg{height:150px}.sim-ax span:nth-child(even){display:none}.sim-read{font-size:12px;gap:2px 10px}.sim-read b{font-size:19px;width:100%}}
/* expanded ranking row: scores line (phones) and last week's rank */
.rdef .rdef-sc{margin:0 0 12px;font-family:var(--fm);font-size:12.5px;color:var(--mute);line-height:1.5}
.rdef-sc i{font-style:normal}.rdef-sc i.up{color:var(--win)}.rdef-sc i.dn{color:var(--loss)}
.rdef-sc .m-only{display:none}
.rdef-sc:empty{display:none}
@media (max-width:760px){.rdef-sc .m-only{display:inline}}
/* Races standings: a row opens "what it takes" to reach the title game */
.rcr-x{display:flex;align-items:center;justify-content:flex-end;gap:8px}
.rcr-pl{font-style:normal;font-size:18px;line-height:1;color:var(--mute);transition:transform .3s var(--ease),color .3s}
.rcr.open .rcr-pl{transform:rotate(45deg);color:var(--lime)}
.rcr:focus-visible{outline:2px solid var(--lime);outline-offset:-2px}
.rcr-d{padding:6px 4px 16px;border-top:1px dashed var(--line);max-width:760px}
.rcr-d h4{margin:4px 0 2px;font-family:var(--fd);font-weight:900;font-size:18px;letter-spacing:.04em;text-transform:uppercase;color:var(--lime)}
.rcr-d p{margin:0 0 8px;font-size:14px;line-height:1.5;color:var(--chalk)}
.rcr-d .rp-src,.rcr-d .rp-n{font-size:12.5px;color:var(--mute)}
.rcr-d .rp-k{display:inline-block;margin:4px 0 6px;font-family:var(--fm);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;padding:2px 8px;border-radius:99px;border:1px solid var(--line);color:var(--chalk)}
.rcr-d .rp-k.in{border-color:var(--lime);color:var(--lime)}.rcr-d .rp-k.out{border-color:var(--loss);color:var(--loss)}
.rcr-d .rp-l{margin:0 0 10px;padding-left:18px;display:grid;gap:4px;font-size:13.5px;color:var(--chalk)}
@media (max-width:760px){.rcr-x{display:flex;grid-column:4;grid-row:1}.rcr-x em{display:none}.rcr{grid-template-columns:minmax(0,1fr) 46px 64px 20px}.rcr-p{grid-column:1/-1}}

/* ===================== visual polish (backlog 33-54) ===================== */
/* charts: lit bars and glowing lines fade in after the chart's own entrance */
.gx-ov,.gx-glow{animation:gxin .6s ease .9s both}
@keyframes gxin{from{opacity:0}}
@media (prefers-reduced-motion:reduce){.gx-ov,.gx-glow{animation:none}}

/* V19 glass toggles: a chalk lens slides to the chosen option */
.seg.has-lens{position:relative;isolation:isolate}
.seg.has-lens>button{position:relative;z-index:1;background:transparent!important}
.seg.has-lens>button[aria-pressed=true]{color:var(--night)}
.seg-lens{position:absolute;z-index:0;border-radius:99px;pointer-events:none;background:linear-gradient(180deg,#ffffff,#e7ece4 60%,#cfd8cc);box-shadow:inset 0 -3px 8px rgba(0,0,0,.18),0 6px 16px rgba(242,245,238,.16);transition:left .55s cubic-bezier(.34,1.56,.64,1),top .55s cubic-bezier(.34,1.56,.64,1),width .55s cubic-bezier(.34,1.56,.64,1),height .55s,opacity .2s}
.seg-lens::after{content:"";position:absolute;left:12%;right:12%;top:9%;height:32%;border-radius:99px;background:linear-gradient(180deg,rgba(255,255,255,.9),rgba(255,255,255,0))}
.seg-lens.sq{animation:gxsq .55s ease}
@keyframes gxsq{30%{transform:scaleY(.82) scaleX(1.1)}60%{transform:scaleY(1.06) scaleX(.97)}}
@media (prefers-reduced-motion:reduce){.seg-lens{transition:none}}

/* V10 update bar */
.ubar{position:fixed;left:0;right:0;top:0;z-index:120;height:34px;display:flex;align-items:center;gap:12px;padding:0 max(var(--pad),env(safe-area-inset-right)) 0 max(var(--pad),env(safe-area-inset-left));background:var(--lime);color:var(--night);font-family:var(--fm);font-size:11px;letter-spacing:.08em;text-transform:uppercase;transition:transform .4s var(--ease)}
.ubar i{width:8px;height:8px;border-radius:50%;background:var(--pylon);flex:none;animation:ubp 1.4s ease-in-out infinite}
@keyframes ubp{50%{opacity:.25}}
.ubar span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ubar a{margin-left:auto;font-weight:500;white-space:nowrap;text-decoration:underline;text-underline-offset:3px}
.ubar button{flex:none;width:30px;height:30px;font-size:20px;line-height:1;color:var(--night)}
.nav{transition:transform .5s var(--ease),background .3s,top .4s var(--ease)}
body.has-ub .nav{top:34px}
body.has-ub.ub-away .ubar{transform:translateY(-100%)}
body.has-ub.ub-away .nav{top:0}
@media (max-width:560px){.ubar a{font-size:0}.ubar a::after{content:"→";font-size:14px}}

/* V11 wordmark bleed: solid lime, bigger, running off the bottom edge */
.foot{padding-bottom:0}
.foot-big{color:var(--lime);-webkit-text-stroke:0;font-size:clamp(40px,18.5vw,380px);margin:36px 0 -.19em;transition:color .6s,translate .8s var(--ease)}
.foot-big:hover,.foot-big.lit{color:var(--lime);translate:0 -9%}
.foot p{margin-top:0}

/* V12 countdown pill (no outline) */
.cdpill{display:inline-flex;align-items:center;gap:10px;padding:8px 14px 8px 12px;border-radius:99px;background:rgba(242,245,238,.06);margin-bottom:26px;font-family:var(--fm);font-size:11px;letter-spacing:.12em;color:var(--mute);max-width:100%;flex-wrap:wrap}
.cdpill>i{width:8px;height:8px;border-radius:50%;background:var(--lime);box-shadow:0 0 0 4px rgba(200,255,61,.16);flex:none}
.cd-d{display:inline-flex;align-items:baseline;gap:4px}
.cd-d b{font-family:var(--fd);font-weight:900;font-size:20px;line-height:1;letter-spacing:0;color:var(--chalk);background:rgba(242,245,238,.08);border-radius:5px;padding:2px 5px;font-variant-numeric:tabular-nums}
.cd-d em{font-style:normal;font-size:10px;color:var(--mute);margin-right:4px}

/* V13 playbook footer (wide screens; phones keep the plain list) */
.playbook{display:none;margin:0 0 26px}
.playbook svg{display:block;width:100%;height:auto;overflow:visible}
.pb-los{stroke:rgba(242,245,238,.28);stroke-width:2;stroke-dasharray:5 7}
.pb-x{stroke:rgba(255,143,107,.4);stroke-width:2.5;fill:none}
.pb-path,.pb-ah{fill:none;stroke:rgba(242,245,238,.38);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:stroke .2s}
.pb-path{stroke-dasharray:7 6}
.pb-o{fill:var(--night);stroke:var(--chalk);stroke-width:2.5;transition:stroke .2s,fill .2s}
.pb-rt text{font-family:var(--fd);font-weight:800;font-size:22px;letter-spacing:.06em;fill:var(--mute);transition:fill .2s}
.pb-rt:hover .pb-path,.pb-rt:focus-visible .pb-path{stroke:var(--lime);stroke-dasharray:none}
.pb-rt:hover .pb-ah,.pb-rt:focus-visible .pb-ah{stroke:var(--lime)}
.pb-rt:hover .pb-o,.pb-rt:focus-visible .pb-o{stroke:var(--lime);fill:var(--lime)}
.pb-rt:hover text,.pb-rt:focus-visible text{fill:var(--lime)}
.pb-rt:focus{outline:none}
@media (min-width:900px){.playbook{display:block}.foot-nav{display:none}}

/* V4b playbook chalk behind each page headline */
.ph{position:relative;overflow:hidden}
.ph>*{position:relative;z-index:1}
.ph>.ph-play{position:absolute;z-index:0;inset:0;pointer-events:none;-webkit-mask-image:linear-gradient(180deg,#000 45%,transparent 100%);mask-image:linear-gradient(180deg,#000 45%,transparent 100%)}
.ph-play svg{position:absolute;right:0;top:0;height:100%;width:min(980px,78%)}
.hp-o circle{fill:none;stroke:rgba(242,245,238,.1);stroke-width:4}
.hp-o path{fill:none;stroke:rgba(242,245,238,.085);stroke-width:4;stroke-linecap:round}
.hp-o .hp-smudge{stroke:rgba(242,245,238,.035);stroke-width:26}
.hp-r path{fill:none;stroke:rgba(242,245,238,.11);stroke-width:4;stroke-linecap:round;stroke-linejoin:round}
.hp-r .hp-hot path{stroke:rgba(200,255,61,.17)}
@media (max-width:700px){.ph-play svg{width:130%;opacity:.8}}

/* V3 scoreboard digits */
rl-c{display:inline-block;height:1em;overflow:hidden;vertical-align:top;line-height:1;font-variant-numeric:tabular-nums}
rl-r{display:block;will-change:transform}
rl-n{display:block;height:1em;line-height:1;text-align:center}
rl-s{display:inline-block;line-height:1}
.stat b,.hc-n,.sh-rank b{line-height:1;white-space:nowrap}
.rrow .rk-n{display:inline-block;line-height:1}

/* V5 giant team name on the Teams card (size set by polish.js to fill the width) */
.sh-top{align-items:center}
.sh-name{white-space:nowrap;overflow-wrap:normal;color:var(--alt,#fff);line-height:.84;margin-top:clamp(10px,2vw,22px);letter-spacing:-.01em;text-shadow:0 6px 0 rgba(0,0,0,.18)}

/* V6 chalk section (one per page) */
.prose .chalk{background:var(--chalk);color:#0b1a12;border-radius:26px;padding:clamp(22px,4vw,46px);margin:46px 0 30px}
.prose .chalk h3{color:#06100b;margin-top:0;font-size:clamp(54px,8vw,110px)}
.prose .chalk p{color:#22362a}
.prose .chalk b{color:#06100b}
.prose .chalk .formula{background:#06100b;color:var(--lime);border-left-color:var(--lime)}
.prose .chalk .chk{font-family:var(--fm);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#3d5a49;margin-bottom:8px}

/* V8 Method as a drawn route */
.mroute{position:relative;margin:10px 0 20px;max-width:none}
.mroute svg{display:block;width:100%;height:auto;overflow:visible}
.mr-trace{fill:none;stroke:var(--lime);stroke-width:3;stroke-dasharray:10 9;stroke-linecap:round}
.mr-mask{fill:none;stroke:var(--night);stroke-width:9}
.mr-dot{fill:var(--night);stroke:var(--lime);stroke-width:3}
.mr-steps{position:absolute;inset:0}
.mr-step{position:absolute;width:20%;transform:translate(-50%,0);text-decoration:none;opacity:.25;transition:opacity .5s,transform .5s var(--ease)}
.mr-step.on{opacity:1;transform:translate(-50%,-4px)}
.mr-step small{display:block;font-family:var(--fm);font-size:10px;color:var(--lime);letter-spacing:.1em}
.mr-step b{display:block;font-family:var(--fd);font-weight:900;font-size:clamp(18px,2.2vw,30px);text-transform:uppercase;line-height:.95;color:var(--chalk)}
.mr-step span{display:block;font-size:12.5px;color:var(--mute);line-height:1.35;margin-top:3px}
.mr-step:hover b,.mr-step:focus-visible b{color:var(--lime)}
.mroute-list{display:none}
@media (max-width:700px){.mroute{display:none}.mroute-list{display:grid;gap:0;margin:10px 0 24px;padding:0;list-style:none;border-left:3px dashed var(--lime)}.mroute-list li{padding:0 0 16px 18px;position:relative}.mroute-list li::before{content:"";position:absolute;left:-9px;top:4px;width:12px;height:12px;border-radius:50%;background:var(--night);border:3px solid var(--lime)}.mroute-list a{font-family:var(--fd);font-weight:900;font-size:24px;text-transform:uppercase;color:var(--chalk)}.mroute-list span{display:block;font-size:13px;color:var(--mute)}}
.prose h3[id]{scroll-margin-top:90px}

/* V14 pick your team (Home) */
.hero-acts{display:flex;flex-wrap:wrap;align-items:center;gap:14px}
.pickbox{position:relative;flex:1 1 280px;max-width:420px}
.pickbox::before{content:"#";position:absolute;left:16px;top:50%;transform:translateY(-52%);font-family:var(--fd);font-weight:900;font-size:26px;color:var(--lime);pointer-events:none;z-index:1}
#pickTeam{width:100%;font-family:var(--fd);font-weight:800;font-size:21px;letter-spacing:.03em;text-transform:uppercase;background:rgba(6,16,11,.7);color:var(--chalk);border:2px solid rgba(200,255,61,.55);border-radius:16px;padding:13px 16px 13px 44px;outline:none;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
#pickTeam::placeholder{color:#7c9586}
#pickTeam:focus{border-color:var(--lime);box-shadow:0 0 0 4px rgba(200,255,61,.15)}
#pickList{position:absolute;left:0;right:0;top:calc(100% + 6px);z-index:20;list-style:none;margin:0;padding:6px;background:#0d1f16;border:1px solid var(--line);border-radius:14px;max-height:320px;overflow:auto;box-shadow:0 18px 40px rgba(0,0,0,.5)}
#pickList li{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:10px;cursor:pointer}
#pickList li img{width:26px;height:26px;object-fit:contain}
#pickList li b{font-family:var(--fd);font-weight:800;font-size:18px;text-transform:uppercase}
#pickList li small{margin-left:auto;font-family:var(--fm);font-size:10px;color:var(--mute);white-space:nowrap}
#pickList li[aria-selected=true],#pickList li:hover{background:rgba(200,255,61,.12)}
#pickList li[aria-selected=true] b{color:var(--lime)}

/* V17 hover-grow ranking rows */
.rhv{display:none}
@media (hover:hover) and (pointer:fine){
  .rrow{transition:padding .35s var(--ease)}
  .rrow:not(.open):hover{padding-block:22px}
  .rrow .rk{transition:color .3s}
  .rrow:hover .rk{color:var(--lime)}
  .rrow .tm .bdg{transition:transform .5s var(--ease)}
  .rrow:not(.open):hover .tm .bdg{transform:rotate(-8deg) scale(1.18)}
  .rhv{display:block;max-height:0;overflow:hidden;font-style:normal;font-family:var(--fm);font-size:11px;color:#c9d6cc;white-space:nowrap;transition:max-height .4s var(--ease),margin .4s var(--ease)}
  .rrow:not(.open):hover .rhv{max-height:1.7em;margin-top:5px}
}

/* oversized logo bleed (white silhouette) */
.bleed{position:absolute;pointer-events:none;filter:brightness(0) invert(1);opacity:.1;z-index:0;max-width:none}
.sh-bleed{right:-7%;top:-24%;width:min(60%,640px)}
.tcard>.bleed{right:-20%;bottom:-16%;width:80%;top:auto}
.tcard>*:not(.bleed){position:relative;z-index:1}
.rrow.open{overflow:hidden}
.rrow .rbleed{right:-5%;top:84px;width:min(44%,520px)}
.rrow .rdef>*:not(.bleed){position:relative;z-index:1}
.champ{position:relative;overflow:hidden;isolation:isolate}
.champ>.bleed{filter:brightness(0);opacity:.13;left:-18%;top:-40%;width:136%}
.champ>*:not(.bleed){position:relative;z-index:1}
@media (max-width:640px){.rrow .rbleed{width:70%;right:-20%;opacity:.07}}

/* C3 lit scatter, kept very subtle: faint corner tints and a small shadow under every point */
/* one shadow for the whole group: a shadow on each of up to 1,700 dots froze scrolling for up to 0.8s the first time the strip came into view (backlog 64) */
.gx-dots{filter:url(#gxDot)}
.cb-pt image{filter:url(#gxDot)}

/* C5 grooved bars: cut-in tracks, glossy rails, raised number chips */
.pt,.ft,.ff-t,.rm-b,.rr-track,.pe-b{background:linear-gradient(180deg,#040a07,#13251b)!important;box-shadow:inset 0 1px 3px rgba(0,0,0,.85),0 1px 0 rgba(242,245,238,.07)}
.pt .pf,.ft .pf,.ff-t i,.rm-b .pf,.pe-b i{background-image:linear-gradient(180deg,rgba(255,255,255,.34),rgba(255,255,255,0) 48%,rgba(0,0,0,.22))!important}
.pt .pf{opacity:.95}
.pt .pf.lit{background-color:#c8ff3d!important;box-shadow:0 0 10px rgba(200,255,61,.35)}
.pt::after{content:"";position:absolute;left:50%;top:-4px;bottom:-4px;width:1px;background:rgba(242,245,238,.2);pointer-events:none}
.pt .pb{z-index:1;background:radial-gradient(circle at 35% 30%,#ffffff,#d9e4d3 45%,#a9b8a6)!important;color:#06100b;box-shadow:0 3px 6px rgba(0,0,0,.6),inset 0 -2px 3px rgba(0,0,0,.25)!important}
.gx-pulse{transform-box:fill-box;transform-origin:center;animation:gxpulse 1.8s ease-in-out infinite}
@keyframes gxpulse{50%{transform:scale(1.9);opacity:.05}}
@media (prefers-reduced-motion:reduce){.gx-pulse{animation:none}}
.hero-inner{z-index:3}
/* C5 groove, extended: strengths and weak spots, tale of the tape, races title odds, record by tier */
.sw-t,.tb,.rcr-p{background:linear-gradient(180deg,#040a07,#13251b)!important;box-shadow:inset 0 1px 3px rgba(0,0,0,.85),0 1px 0 rgba(242,245,238,.07)}
.sw-t i,.tb i,.rcr-p i,.tr2 .pf{background-image:linear-gradient(180deg,rgba(255,255,255,.34),rgba(255,255,255,0) 48%,rgba(0,0,0,.22))!important}
.rcr-p i{opacity:.92}
.tr2{background:linear-gradient(180deg,#3a120e,#8f3127)!important;box-shadow:inset 0 1px 3px rgba(0,0,0,.85),0 1px 0 rgba(242,245,238,.07)}

/* logos stand on their own: no box, no border, no tint behind them */
.bdg.has-logo,.tcard .bdg.has-logo,.dh .bdg.has-logo{background:none;box-shadow:none;border-radius:0;overflow:visible}
.bdg.has-logo img,.bdg.sm.has-logo img{inset:2%;width:96%;height:96%;filter:drop-shadow(0 1px 2px rgba(0,0,0,.4))}
.champ .bdg.has-logo img,.tcard.lt .bdg.has-logo img,.dh.lt .bdg.has-logo img,.sh.lt .bdg.has-logo img{filter:none}
/* silhouettes now use ESPN's all-white logo; teams without one whiten the regular logo */
.bleed{filter:none}
.bleed.bleed-f{filter:brightness(0) invert(1)}
.champ>.bleed,.champ>.bleed.bleed-f{filter:brightness(0)}

/* ---------- Players page (backlog 55-59): list rows follow the rankings rows, the story follows the Teams page ---------- */
.plrow{--c:#333;position:relative;display:grid;grid-template-columns:76px minmax(0,1.5fr) minmax(0,1.1fr) minmax(130px,.9fr);gap:16px;align-items:center;padding:12px 8px;border-bottom:1px solid var(--line);cursor:pointer;overflow:hidden;isolation:isolate}
.plrow::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--c);opacity:0;transform:scaleX(0);transform-origin:left;transition:transform .55s var(--ease),opacity .3s}
.plrow:hover::before,.plrow:focus-visible::before{transform:scaleX(1);opacity:.28}
.plrow.in{animation:rin .6s var(--ease) both}
.plrow .rk{font-family:var(--fd);font-weight:900;font-size:46px;line-height:.9;font-variant-numeric:tabular-nums}
.plrow .rk .nr{font-size:20px;color:var(--mute);letter-spacing:.08em}
.plrow .tm{display:flex;align-items:center;gap:14px;min-width:0}
.plrow .tm b{display:block;font-family:var(--fd);font-weight:800;font-size:24px;line-height:1;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.plrow .tm small{display:block;color:var(--mute);font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pl-ln{font-size:14px;min-width:0}.pl-ln small{display:block;color:var(--mute);font-size:12px}
.pl-ix{display:flex;align-items:center;gap:10px}.pl-ix b{font-family:var(--fm);font-weight:500;font-size:13px;width:42px;text-align:right}.pl-ix small{color:var(--mute);font-size:12px}
.pl-gv{flex:1;height:10px}
.plhead{display:grid;grid-template-columns:76px minmax(0,1.5fr) minmax(0,1.1fr) minmax(130px,.9fr);gap:16px;padding:10px 8px;font-family:var(--fm);font-size:11px;letter-spacing:.12em;color:var(--mute);text-transform:uppercase}
@media (max-width:760px){
  .plrow,.plhead{grid-template-columns:44px minmax(0,1fr) 96px;gap:10px}
  .plrow .rk{font-size:30px}.plrow .tm b{font-size:19px}.plrow .tm .bdg{width:40px;height:40px;border-radius:10px;font-size:12px}
  .plrow .pl-ln{grid-column:2/4;grid-row:2;margin-top:-4px;padding-left:54px}.plhead span:nth-child(3){display:none}
}
#pstory{--tc:#c8ff3d;position:relative;padding-top:8px}
#pstory:empty{display:none}
.pl-sh .sh-conf a{text-decoration:underline;text-underline-offset:3px}
.pl-jn{position:absolute;right:2%;bottom:-14%;font-family:var(--fd);font-weight:900;font-size:clamp(220px,34vw,520px);line-height:.8;opacity:.1}
.pl-shot{position:absolute;right:clamp(10px,4vw,60px);bottom:0;height:clamp(150px,26vw,330px);width:auto;max-width:44%;object-fit:contain;object-position:bottom;z-index:0;pointer-events:none;filter:drop-shadow(0 10px 30px rgba(0,0,0,.45))}
.pl-sh .sh-in{position:relative;z-index:1}
@media (max-width:760px){.pl-shot{height:130px;top:16px;bottom:auto;opacity:.9}.pl-sh .sh-name{padding-right:0}}
.pl-key{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:12px;font-size:13px;color:#c9d8ce}
.pl-key i{display:inline-block;width:12px;height:12px;border-radius:3px;margin-right:6px;vertical-align:-1px}
.pl-wide{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr)}
@media (max-width:980px){.pl-wide{grid-template-columns:minmax(0,1fr)}}
.pl-logt{margin-top:16px;padding:10px 20px;border:1px solid var(--line);border-radius:99px;font-family:var(--fd);font-weight:800;font-size:17px;letter-spacing:.05em;text-transform:uppercase;color:var(--chalk)}
.pl-logt:hover{border-color:var(--lime)}
.pl-logx{overflow-x:auto}
.pl-log{width:100%;min-width:520px;border-collapse:collapse;font-size:14px;font-variant-numeric:tabular-nums}
.pl-log th{font-family:var(--fm);font-weight:400;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--mute);text-align:left;padding:8px 10px;border-bottom:1px solid var(--line)}
.pl-log td{padding:8px 10px;border-bottom:1px solid rgba(242,245,238,.06)}
.pl-log td.w{color:var(--win)}.pl-log td.l{color:var(--loss)}
.pl-method{padding-top:60px}
.pl-pad{padding:40px var(--pad)}
.pl-twin b{font-size:28px}
/* Teams page: top players row */
.tp-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px}
.tp-p{display:flex;flex-direction:column;gap:4px;padding:16px 18px;border-radius:20px;border:1px solid var(--line);background:linear-gradient(155deg,color-mix(in srgb,var(--tc) 16%,transparent),transparent 70%);transition:transform .35s var(--ease),border-color .3s}
.tp-p:hover{transform:translateY(-4px);border-color:var(--lime)}
.tp-p small{font-family:var(--fm);font-size:11px;letter-spacing:.12em;color:var(--mute)}
.tp-p b{font-family:var(--fd);font-weight:900;font-size:26px;line-height:.95;text-transform:uppercase}
.tp-p span{font-size:13px;color:#c9d8ce}
@media (min-width:761px){.pl-sh.has-shot .sh-row,.pl-sh.has-shot .sh-lede{margin-right:min(30%,340px)}}
.pl-bio{display:block;margin-top:4px}
@media (max-width:560px){.tp-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.tp-p{padding:12px 14px}.tp-p b{font-size:20px}.tp-p span{font-size:12px}}

/* ---------- grouped menu (backlog 61): four groups, each opens a panel of its pages ---------- */
.ngs{display:flex;gap:6px;align-items:center}
.ng{position:relative}
.ng-b{display:flex;align-items:center;gap:8px;font-family:var(--fd);font-weight:800;font-size:17px;letter-spacing:.06em;text-transform:uppercase;padding:8px 14px;border-radius:99px;color:var(--chalk);transition:background .25s,color .25s}
.ng-b i{width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-2px) rotate(45deg);transition:transform .3s var(--ease);opacity:.7}
.ng.cur>.ng-b{background:var(--chalk);color:var(--night)}
.ng.open>.ng-b,.ng-b:focus-visible{background:rgba(242,245,238,.12)}
.ng.cur.open>.ng-b{background:var(--lime);color:var(--night)}
.ng.open>.ng-b i{transform:translateY(1px) rotate(225deg)}
.ng-p{position:absolute;top:calc(100% + 10px);right:0;min-width:320px;display:grid;gap:4px;padding:10px;border-radius:22px;background:rgba(8,20,14,.94);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border:1px solid var(--line);box-shadow:0 24px 60px rgba(0,0,0,.55);opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .22s,transform .3s var(--ease),visibility 0s .3s;z-index:110}
.ng-p::before{content:"";position:absolute;left:0;right:0;top:-12px;height:12px} /* keeps hover alive across the gap */
.ng.open>.ng-p{opacity:1;visibility:visible;transform:none;transition:opacity .22s,transform .3s var(--ease)}
.ngs .ng-p a{display:grid;gap:2px;padding:12px 16px 12px 20px;border-radius:14px;position:relative;text-transform:none;letter-spacing:0;font-family:var(--fb);font-weight:400;font-size:14px;background:none;color:var(--chalk)}
.ngs .ng-p a b{font-family:var(--fd);font-weight:900;font-size:24px;line-height:1;text-transform:uppercase;letter-spacing:.03em}
.ngs .ng-p a span{color:var(--mute);font-size:13px}
.ngs .ng-p a::before{content:"";position:absolute;left:8px;top:16px;bottom:16px;width:3px;border-radius:2px;background:var(--lime);transform:scaleY(0);transition:transform .3s var(--ease)}
.ngs .ng-p a:hover,.ngs .ng-p a:focus-visible{background:rgba(242,245,238,.06);color:var(--chalk)}
.ngs .ng-p a:hover::before,.ngs .ng-p a:focus-visible::before,.ngs .ng-p a[aria-current=page]::before{transform:none}
.ngs .ng-p a[aria-current=page]{background:rgba(200,255,61,.08)}
.ngs .ng-p a[aria-current=page] b{color:var(--lime)}
@media (max-width:1060px){.ng-b{padding:8px 10px;font-size:15.5px}}
@media (max-width:820px){.nav .ngs{display:none}}
/* phone menu: the same four groups */
.sheet{gap:0;justify-content:safe center}
.sheet .sg{display:flex;flex-direction:column;padding:10px 0 12px;border-top:1px solid var(--line)}
.sheet .sg-h{font-family:var(--fm);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--lime);margin:0 0 4px}
.sheet .sg a,.sheet a.sg-home{font-size:clamp(26px,min(9.5vw,4.6dvh),64px);line-height:1.02}
.sheet a.sg-home{margin-bottom:8px}
@media (min-width:600px){.sheet .sg{display:grid;grid-template-columns:180px repeat(3,auto);align-items:baseline;gap:4px 24px;justify-content:start}.sheet .sg-h{margin:0}}
.glog td.pl-gl{font-size:13px;color:#c9d8ce}
.pk-f{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.pk-f select{max-width:100%}
@media (max-width:620px){.pk-f select{flex:1 1 140px}}
.pick .pk-f{order:-1;flex:1 1 100%}
/* phone menu: right-aligned under the menu button (backlog 32) and sized to fit the screen without scrolling */
.sheet{height:100dvh;align-items:flex-end;text-align:right;padding-top:calc(env(safe-area-inset-top,0px) + 76px);padding-bottom:calc(16px + env(safe-area-inset-bottom,0px))}
.sheet .sg,.sheet a.sg-home{width:100%}
.sheet .sg{display:flex;flex-direction:column;align-items:flex-end;padding:8px 0 10px}
.sheet .sg-h{margin:0 0 2px}
.sheet .sg a,.sheet a.sg-home{font-size:clamp(20px,min(9vw,3.9dvh),56px);line-height:1.02}
.sheet a.sg-home{margin-bottom:6px}
.sheet a:active,.sheet a.tap{transform:translateX(-14px)}
.sheet a.tap::before{left:auto;right:-14px}

/* ---------- Teams page, Nov 2026 chapters (drives, situations, special teams, tendencies, how they play) ---------- */
.chp small.chp-of{display:block;font-family:var(--fm);font-size:10.5px;opacity:.7;margin-top:2px}
.rbx .pl small.rbs{display:block;font-weight:400;font-size:12px;color:var(--mute)}
.rbx{grid-template-columns:minmax(120px,170px) 1fr minmax(82px,112px)}
.scout .sc-l{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.scout .sc-l li{padding:12px 14px;border-radius:14px;background:rgba(255,255,255,.03);border-left:4px solid var(--win)}
.scout .sc-l.wk li{border-left-color:var(--loss)}
.scout .sc-l li b{display:block;font-family:var(--fd);font-weight:800;font-size:20px;line-height:1.05;text-transform:uppercase}
.scout .sc-l li span{font-size:14px;color:#c9d8ce}
.mtiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin-top:6px}
.mtile{padding:16px;border-radius:18px;background:rgba(255,255,255,.03);border:1px solid var(--line)}
.mtile b{display:block;font-family:var(--fd);font-weight:900;font-size:40px;line-height:1}
.mtile span{display:block;font-size:13px;color:#c9d8ce;margin-top:4px}
.mtile small{display:block;font-family:var(--fm);font-size:11px;color:var(--mute);margin-top:6px}
.mtile.lit{border-color:rgba(200,255,61,.55);background:linear-gradient(160deg,rgba(200,255,61,.12),transparent)}
.key-row{display:flex;flex-wrap:wrap;gap:6px 18px;margin-top:10px;font-size:12.5px;color:#c9d8ce}
.key-row i{display:inline-block;width:12px;height:12px;border-radius:3px;margin-right:6px;vertical-align:-1px}
.key-row i.dash{width:18px;height:0;border-top:2px dashed rgba(242,245,238,.6);border-radius:0;vertical-align:3px}
.h5x{font-family:var(--fm);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--mute);margin:10px 0 2px}
.tier a{color:inherit;text-decoration:underline;text-decoration-color:rgba(242,245,238,.3);text-underline-offset:3px}
.tier small{color:var(--mute);font-family:var(--fm);font-size:10px}
.tr2.tr2n{background:linear-gradient(180deg,#040a07,#13251b)!important}
.tw{overflow-x:auto}
table.spl{border-collapse:collapse;width:100%;min-width:640px;font-size:14px;font-variant-numeric:tabular-nums}
table.spl th{font-family:var(--fm);font-weight:400;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--mute);text-align:right;padding:8px 10px;border-bottom:1px solid var(--line);white-space:nowrap}
table.spl td{padding:9px 10px;border-bottom:1px solid rgba(242,245,238,.06);text-align:right;white-space:nowrap}
table.spl th:first-child,table.spl td:first-child{text-align:left}
table.spl td.w{color:var(--win)}table.spl td.l{color:var(--loss)}table.spl tr.hl td{background:rgba(200,255,61,.06)}
.mini-stats.luck{margin-top:0}
#tzSeg{margin-bottom:12px}
@media (max-width:640px){.rbx{grid-template-columns:96px 1fr 76px}}

/* player story, Nov 2026: profile groups break the bar list into clear sections; side totals under the throw maps */
.bars .pg2{margin-top:6px}
.bars .pg2+.pg2{margin-top:26px;padding-top:18px;border-top:1px solid var(--line)}
.bars h5.fam{font-family:var(--fd);font-weight:900;font-size:24px;letter-spacing:.04em;text-transform:uppercase;color:var(--chalk);margin:0 0 8px}
.side-tot{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:10px;text-align:center}
.side-tot b{display:block;font-family:var(--fd);font-weight:900;font-size:26px;line-height:1}
.side-tot span{font-family:var(--fm);font-size:11px;color:var(--mute);letter-spacing:.06em}
.pl-log.prod td:first-child{font-weight:600}.pl-log.prod td{text-align:left}
.pl-log tr.hl td{background:rgba(200,255,61,.06)}
.pl-log a{color:inherit;text-decoration:underline;text-decoration-color:rgba(242,245,238,.3);text-underline-offset:3px}
.meas{font-family:var(--fm);font-size:9.5px;letter-spacing:.1em;color:var(--pylon);border:1px solid rgba(255,90,31,.5);padding:1px 5px;border-radius:3px}

/* player story, Nov 2026 round 2: production tiles, ranked lists as rows, career cards, collapsible tables */
.ptiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}
.ptile{padding:16px 16px 14px;border-radius:18px;background:linear-gradient(160deg,color-mix(in srgb,var(--tc) 14%,transparent),rgba(255,255,255,.02) 70%);border:1px solid var(--line)}
.ptile b{display:block;font-family:var(--fd);font-weight:900;font-size:clamp(30px,3.4vw,42px);line-height:1}
.ptile span{display:block;font-size:13px;font-weight:600;margin-top:6px}
.ptile small{display:block;font-family:var(--fm);font-size:11px;color:var(--mute);margin-top:3px}
.rl{display:grid;gap:4px}
.rl-r{--c:#333;position:relative;display:grid;grid-template-columns:34px auto minmax(0,1fr) minmax(60px,.8fr) 46px;gap:10px;align-items:center;padding:8px 10px;border-radius:12px;overflow:hidden;isolation:isolate;transition:background .25s}
.rl-r::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--c);opacity:0;transition:opacity .25s}
.rl-r:hover::before{opacity:.18}
.rl-r.me{background:rgba(200,255,61,.08);box-shadow:inset 3px 0 0 var(--lime)}
.rl-k{font-family:var(--fd);font-weight:900;font-size:24px;line-height:1;text-align:right;color:var(--mute)}
.rl-r.me .rl-k{color:var(--lime)}
.rl-n{min-width:0}.rl-n b{display:block;font-family:var(--fd);font-weight:800;font-size:19px;line-height:1;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rl-n small{display:block;font-size:12px;color:var(--mute);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rl-b{height:10px;border-radius:5px;background:linear-gradient(180deg,#040a07,#13251b);box-shadow:inset 0 1px 3px rgba(0,0,0,.85);overflow:hidden}
.rl-b i{display:block;height:100%;border-radius:5px;background:var(--tc)}
.rl-r.me .rl-b i{background:var(--lime);box-shadow:0 0 10px rgba(200,255,61,.4)}
.rl-v{font-family:var(--fm);font-size:13px;text-align:right}
.ccards{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px}
.ccard{display:flex;flex-direction:column;gap:4px;padding:16px;border-radius:18px;border:1px solid var(--line);background:rgba(255,255,255,.025)}
.ccard.now{border-color:rgba(200,255,61,.55);background:linear-gradient(160deg,rgba(200,255,61,.1),transparent)}
.ccard small{font-family:var(--fm);font-size:11px;letter-spacing:.08em;color:var(--mute);text-transform:uppercase}
.ccard b{font-family:var(--fd);font-weight:900;font-size:40px;line-height:1}
.ccard .cc-r{font-size:13px;font-weight:600}.ccard .cc-l{font-size:12.5px;color:#c9d8ce}.ccard .cc-g{font-family:var(--fm);font-size:11px;color:var(--mute)}
details.pl-det>summary{cursor:pointer;list-style:none;font-family:var(--fd);font-weight:800;font-size:20px;text-transform:uppercase;letter-spacing:.03em;display:flex;align-items:center;gap:12px;flex-wrap:wrap}
details.pl-det>summary::-webkit-details-marker{display:none}
details.pl-det>summary::before{content:"+";display:grid;place-items:center;width:28px;height:28px;border-radius:50%;border:1px solid var(--line);font-family:var(--fm);font-size:16px;transition:transform .25s}
details.pl-det[open]>summary::before{content:"−"}
details.pl-det>summary small{font-family:var(--fb);font-weight:400;font-size:13px;text-transform:none;letter-spacing:0;color:var(--mute)}
details.pl-det[open]>summary{margin-bottom:12px}
@media (max-width:640px){.rl-r{grid-template-columns:28px auto minmax(0,1fr) 42px}.rl-b{display:none}.rl-k{font-size:20px}}
.rl-b i{background:rgba(242,245,238,.45)}

/* matchup page, Nov 2026 rework (matchup.js): numbered sections under the prediction */
.mx-ch{--tc:var(--lime);padding-top:clamp(64px,8vw,110px);scroll-margin-top:80px}.mx-ch.first{padding-top:clamp(28px,4vw,48px)}
.mx-ch .chap-h b{color:var(--chalk)}
.mx-ch .panel{margin-top:16px}
.mx-cap{font-size:13.5px;color:var(--mute);margin-top:10px}.mx-mute{color:var(--mute)}
.mx-load{padding:40px 0;text-align:center}
.mx-keys{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}@media (max-width:820px){.mx-keys{grid-template-columns:1fr}}
.mx-key{padding:18px;border-radius:20px;background:linear-gradient(160deg,rgba(200,255,61,.12),transparent);border:1px solid rgba(200,255,61,.3)}
.mx-key b{display:block;font-family:var(--fd);font-weight:900;font-size:44px;line-height:.9;color:var(--lime)}
.mx-key h4{margin:6px 0 4px;font-family:var(--fd);font-weight:900;font-size:22px;line-height:1;text-transform:uppercase}.mx-key p{margin:0;font-size:14px;color:#c9d8ce}
.mx-mh,.mx-mr{display:grid;grid-template-columns:52px minmax(0,1fr) minmax(110px,190px) minmax(0,1fr) 52px;gap:10px;align-items:center}
.mx-mh{grid-template-columns:1fr 1fr 1fr;font-family:var(--fd);font-weight:900;font-size:22px;text-transform:uppercase;margin-bottom:8px}.mx-mh span:last-child{text-align:right}
.mx-mir{display:grid;gap:8px}
.mx-mr .k{font-family:var(--fm);font-size:12px;text-align:center;color:var(--mute)}.mx-mr .k.w{color:var(--chalk);font-weight:500}
.mx-mr .l{text-align:center;font-size:13.5px;font-weight:600;line-height:1.15}
.mx-mr .bar{height:14px;border-radius:7px;background:linear-gradient(180deg,#040a07,#13251b);box-shadow:inset 0 1px 3px rgba(0,0,0,.85);overflow:hidden;display:flex}
.mx-mr .bar.a{justify-content:flex-end}.mx-mr .bar.a i{transform-origin:100% 50%}.mx-mr .bar i{transform-origin:0 50%}
.mx-mr .bar i{display:block;height:100%;border-radius:7px;background-image:linear-gradient(180deg,rgba(255,255,255,.34),rgba(255,255,255,0) 48%,rgba(0,0,0,.22))}.mx-mr .bar i.dim{opacity:.35}
@media (max-width:640px){.mx-mr{grid-template-columns:34px minmax(0,1fr) 92px minmax(0,1fr) 34px;gap:6px}.mx-mr .l{font-size:12px}}
.mx-rd{max-width:560px;margin:0 auto}.mx-rd svg{display:block;width:100%;height:auto;overflow:visible}
.mx-edges{display:grid;gap:8px;margin-top:10px}
.mx-edge{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;padding:10px 14px;border-radius:14px;background:rgba(255,255,255,.03);border-left:4px solid var(--c)}
.mx-edge b{display:block;font-family:var(--fd);font-weight:800;font-size:18px;line-height:1.05;text-transform:uppercase}.mx-edge span{display:block;font-size:13px;color:#c9d8ce;margin-top:3px}
.mx-edge em{font-style:normal;font-family:var(--fm);font-size:10px;letter-spacing:.1em;padding:3px 7px;border-radius:4px;background:var(--c);color:#06100b;white-space:nowrap}
.mx-edge em.stat{background:none;border:1px solid var(--c);color:var(--c)}
.mx-duel{display:grid;gap:12px}
.mx-dl{display:grid;grid-template-columns:minmax(120px,1fr) 2fr;gap:12px;align-items:center}
.mx-dl .t{font-size:14px;font-weight:600}.mx-dl .t small{display:block;font-weight:400;color:var(--mute);font-size:12px}
.mx-dl .bars{display:grid;gap:4px}.mx-dl .b{display:grid;grid-template-columns:62px minmax(0,1fr) 56px;gap:8px;align-items:center;font-size:12px}
.mx-dl .b span{font-family:var(--fm);color:#c9d8ce;font-size:11px}.mx-dl .b b{font-family:var(--fm);font-weight:500;text-align:right}
.mx-dl .tr{height:12px;border-radius:6px;background:linear-gradient(180deg,#040a07,#13251b);box-shadow:inset 0 1px 3px rgba(0,0,0,.85);overflow:hidden}.mx-dl .tr i{display:block;height:100%;border-radius:6px}
.mx-duel.tight .mx-dl{grid-template-columns:1fr;gap:6px}.mx-duel.tight .mx-dl .b{grid-template-columns:44px minmax(0,1fr) 50px}
@media (max-width:640px){.mx-dl{grid-template-columns:1fr}}
.mx-verdict{margin-top:14px;padding:12px 14px;border-radius:14px;background:rgba(200,255,61,.07);border:1px solid rgba(200,255,61,.25);font-size:14px}
.mx-verdict b{font-family:var(--fd);font-weight:900;text-transform:uppercase;font-size:18px;margin-right:6px}
.mx-pm{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,270px),1fr));gap:14px}
.mx-pc{position:relative;overflow:hidden;padding:18px;border-radius:22px;border:1px solid var(--line);background:linear-gradient(150deg,color-mix(in srgb,var(--c) 22%,transparent),rgba(255,255,255,.02) 60%)}
.mx-pc .shot{position:absolute;right:-6px;top:-4px;width:118px;height:auto;z-index:-1;opacity:.95;-webkit-mask-image:linear-gradient(180deg,#000 55%,transparent);mask-image:linear-gradient(180deg,#000 55%,transparent)}
.mx-pc{isolation:isolate}.mx-pc h4,.mx-pc .ln,.mx-pc .pos{position:relative;max-width:calc(100% - 92px)}
.mx-pc .pos{font-family:var(--fm);font-size:11px;letter-spacing:.14em;color:#c9d8ce}
.mx-pc h4{margin:6px 0 2px;font-family:var(--fd);font-weight:900;font-size:30px;line-height:.95;text-transform:uppercase}.mx-pc h4 a{color:inherit;text-decoration:none}.mx-pc h4 a:hover{color:var(--lime)}
.mx-pc .ln{font-size:13px;color:#c9d8ce}
.mx-pc .vs{display:grid;grid-template-columns:1fr auto 1fr;gap:8px;align-items:center;margin-top:14px}
.mx-pc .vs div{padding:10px;border-radius:12px;background:rgba(0,0,0,.28);text-align:center}
.mx-pc .vs b{display:block;font-family:var(--fd);font-weight:900;font-size:26px;line-height:1}.mx-pc .vs small{font-size:11px;color:#c9d8ce}
.mx-pc .vs i{font-style:normal;font-family:var(--fd);font-weight:900;color:var(--mute)}
.mx-pc .call{margin-top:12px;font-family:var(--fm);font-size:11px;letter-spacing:.1em;text-transform:uppercase}
.mx-bt{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,380px),1fr));gap:14px}
.mx-btc{padding:18px;border-radius:22px;border:1px solid var(--line);background:rgba(255,255,255,.025)}
.mx-btc h4{margin:0 0 10px;font-family:var(--fd);font-weight:900;font-size:24px;text-transform:uppercase}
.mx-btc .who{margin:10px 0 0;font-size:13px;color:#c9d8ce}.mx-btc .who b{color:var(--chalk)}
.mx-qg{display:grid;grid-template-columns:64px repeat(4,minmax(0,1fr));gap:8px;align-items:stretch}
.mx-qg .qh{font-family:var(--fm);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--mute);text-align:center}
.mx-qg .qn{align-self:center;font-family:var(--fd);font-weight:900;font-size:22px;text-transform:uppercase}
.mx-qt{padding:12px 10px 10px;border-radius:16px;border:1px solid var(--line);background:rgba(255,255,255,.025);text-align:center;min-width:0}
.mx-qt.up{background:linear-gradient(160deg,color-mix(in srgb,var(--c) 34%,transparent),rgba(255,255,255,.02));border-color:color-mix(in srgb,var(--c) 55%,transparent)}
.mx-qt b{display:block;font-family:var(--fd);font-weight:900;font-size:clamp(24px,3vw,36px);line-height:1}.mx-qt.dn b{color:var(--mute)}
.mx-qt .qb{display:flex;height:8px;border-radius:4px;overflow:hidden;margin:8px 0 6px;background:#13251b}.mx-qt .qb i{display:block;height:100%}.mx-qt .qb i+i{background:rgba(242,245,238,.22)}
.mx-qt small{font-family:var(--fm);font-size:10.5px;color:#c9d8ce;white-space:nowrap}.mx-qt small .sep{color:var(--mute)}
@media (max-width:640px){.mx-qg{grid-template-columns:40px repeat(4,minmax(0,1fr));gap:5px}.mx-qt{padding:10px 3px 8px;border-radius:12px}.mx-qt b{font-size:21px}.mx-qt small{font-size:10px}.mx-qt small .sep{display:none}.mx-qt small .f{display:block}.mx-qg .qn{font-size:16px}}
.mx-sc{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,176px),1fr));gap:12px}
.mx-scn{padding:16px;border-radius:20px;border:1px solid var(--line);background:rgba(255,255,255,.025)}
.mx-scn h4{margin:0 0 8px;font-family:var(--fd);font-weight:900;font-size:20px;line-height:1;text-transform:uppercase}
.mx-scn .rec{display:grid;grid-template-columns:1fr 1fr;gap:8px}.mx-scn .rec div{padding:10px;border-radius:12px;background:rgba(0,0,0,.25)}
.mx-scn .rec b{display:block;font-family:var(--fd);font-weight:900;font-size:26px;line-height:1}.mx-scn .rec small{font-size:11px;color:#c9d8ce}
.mx-scn p{margin:10px 0 0;font-size:13px;color:#c9d8ce}
.mx-ser{display:flex;gap:10px;margin:4px 0 12px}.mx-ser div{flex:1;padding:10px 14px;border-radius:14px;background:linear-gradient(160deg,color-mix(in srgb,var(--c) 22%,transparent),transparent);border:1px solid var(--line)}
.mx-ser b{display:block;font-family:var(--fd);font-weight:900;font-size:32px;line-height:1;color:var(--c)}.mx-ser span{font-size:12px;color:#c9d8ce}
.mx-db{display:grid;grid-template-columns:1fr 1fr;align-items:center;min-width:0}
.mx-db .l,.mx-db .r{display:flex;align-items:center;gap:6px;min-width:0;height:20px}.mx-db .l{justify-content:flex-end;border-right:1px solid rgba(242,245,238,.35)}
.mx-db i{display:block;height:16px;border-radius:5px;flex:none}.mx-db em{font-style:normal;font-family:var(--fm);font-size:11px;white-space:nowrap}
.mx-mtl{display:grid}
#muMeet .mt-r.mx-mt{grid-template-columns:70px minmax(0,1fr) 22px;padding:7px 0;border-top:0}
.mx-mt .y{font-family:var(--fd);font-weight:800;font-size:17px;line-height:1}.mx-mt .y small{display:block;font-family:var(--fm);font-weight:400;font-size:9px;letter-spacing:.08em;color:var(--mute);margin-top:2px}
.mx-co{display:grid;gap:14px}.mx-cor .o{margin:0 0 4px;font-family:var(--fd);font-weight:800;font-size:17px;text-transform:uppercase;display:flex;align-items:center;gap:8px}.mx-cor .o i{width:11px;height:11px;border-radius:50%}
.mx-cob{display:grid;grid-template-columns:48px minmax(0,1fr);align-items:center;font-family:var(--fm);font-size:10px}
.mx-l5s{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:14px}@media (max-width:820px){.mx-l5s{grid-template-columns:1fr}}
.mx-l5h{margin:0 0 8px;font-family:var(--fd);font-weight:900;font-size:20px;text-transform:uppercase}.mx-l5h small{font-family:var(--fm);font-weight:400;font-size:10px;color:var(--mute);letter-spacing:.1em}
.mx-l5{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}
.mx-l5 .g{padding:8px 4px;border-radius:12px;text-align:center;border:1px solid var(--line);background:rgba(255,255,255,.02);min-width:0}
.mx-l5 .g.w{background:color-mix(in srgb,var(--c) 30%,transparent);border-color:color-mix(in srgb,var(--c) 60%,transparent)}
.mx-l5 .g b{display:block;font-family:var(--fd);font-weight:900;font-size:22px;line-height:1}.mx-l5 .g.l b{color:var(--mute)}
.mx-l5 .g span{display:block;font-family:var(--fm);font-size:10.5px;margin-top:3px}.mx-l5 .g small{display:block;font-size:10px;color:#c9d8ce;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mx-form svg{display:block;max-width:100%}

/* player charts (pcharts.js): position row, player photo in the hover card */
.pc-pos{margin-bottom:10px}.pc-pos .pk-chip{padding:6px 16px}
.pc-sep{width:1px;align-self:stretch;background:var(--line);margin:4px 4px}
.pc-tip{min-width:230px}
.pc-th{position:relative;height:84px;margin:-4px 0 6px;display:flex;align-items:flex-end;gap:8px;border-bottom:1px solid var(--line)}
.pc-th .pc-shot{height:84px;width:auto}.pc-th .pc-logo{position:absolute;right:0;top:0;width:34px;height:34px;object-fit:contain}
.pc-tip{grid-template-columns:1fr}.pc-tip small{grid-column:1}
/* player charts on phones: four tools go two by two; player names may take two lines */
@media (max-width:600px){.pc-tb-on .cb-tools{flex-wrap:wrap}.pc-tb-on .cb-tool{flex:1 1 calc(50% - 5px)}.pc-tb-on .cbt-t b{white-space:normal;line-height:1.1;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}}

/* method page: Player Index weights, one stacked bar per position */
.mpi{display:grid;gap:10px;margin:14px 0 18px}
.mpi-k{display:flex;flex-wrap:wrap;gap:14px;font-size:13px;color:#c9d8ce}.mpi-k i{display:inline-block;width:12px;height:12px;border-radius:3px;margin-right:6px;vertical-align:-1px}.mpi-k .mpi-n{margin-left:auto;font-family:var(--fm);font-size:11px;color:var(--mute);letter-spacing:.06em;text-transform:uppercase}
.mpi-r{display:grid;grid-template-columns:44px minmax(0,1fr);gap:3px 12px;align-items:center}.mpi-r small{grid-column:2}
.mpi-g{font-family:var(--fd);font-weight:900;font-size:22px}
.mpi-r small{font-family:var(--fm);font-size:11px;color:var(--mute)}
.mpi-b{display:flex;gap:3px;height:38px;border-radius:10px;overflow:hidden}
.mpi-b i{position:relative;display:flex;flex-direction:column;justify-content:center;padding:0 8px;min-width:0;background:color-mix(in srgb,var(--c) 26%,#0a1a12);border-top:3px solid var(--c);font-style:normal}
.mpi-b i span{font-size:11.5px;font-weight:600;color:var(--chalk);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.1}
.mpi-b i b{font-family:var(--fm);font-weight:500;font-size:10.5px;color:var(--c);line-height:1.1}
@media (max-width:700px){.mpi-r{grid-template-columns:36px minmax(0,1fr);gap:4px 10px}.mpi-r small{grid-column:2}.mpi-b i{padding:0 4px}.mpi-b i span{display:none}.mpi-k .mpi-n{margin-left:0;flex-basis:100%}}

/* charts on touch screens: a tap opens the pop-up (with a button to the page) instead of jumping straight there */
.cb-tip.tap{pointer-events:auto}
.cb-cta{grid-column:1/-1;margin-top:6px;padding:9px 12px;border:0;border-radius:99px;background:var(--lime);color:var(--night);font-family:var(--fd);font-weight:900;font-size:15px;letter-spacing:.04em;text-transform:uppercase;cursor:pointer;text-align:center}

/* C5 groove, extended again (Nov 2026): the newer charts get the same cut-in tracks and glossy bars */
.mx-qt .qb,.rl-b,.tw-m,.orow .tr,.hc-bar,.gbar{background:linear-gradient(180deg,#040a07,#13251b)!important;box-shadow:inset 0 1px 3px rgba(0,0,0,.85),0 1px 0 rgba(242,245,238,.07)}
.mx-dl .tr i,.mx-qt .qb i,.rl-b i,.tw-m i,.orow .tr i,.hc-bar i,.gbar i,.mx-db i,.wp i,.mpi-b i{background-image:linear-gradient(180deg,rgba(255,255,255,.34),rgba(255,255,255,0) 48%,rgba(0,0,0,.22))!important}
.mx-qt .qb{height:10px;border-radius:5px;padding:0}.mx-qt .qb i+i{background-color:rgba(242,245,238,.18)}
.mx-db .l,.mx-db .r{height:22px;padding:0 3px;background:linear-gradient(180deg,#040a07,#13251b);box-shadow:inset 0 1px 3px rgba(0,0,0,.85),0 1px 0 rgba(242,245,238,.07)}
.mx-db .l{border-radius:11px 0 0 11px;border-right:1px solid rgba(242,245,238,.35)}.mx-db .r{border-radius:0 11px 11px 0}
.mx-db i{height:14px;border-radius:7px}.mx-db em{padding:0 4px}
.wp{border-radius:7px;box-shadow:inset 0 1px 3px rgba(0,0,0,.85),0 1px 0 rgba(242,245,238,.07)}

/* ---------- consistency pass (Nov 12 2026): one size per role, following the brand guide ----------
   toggles: page filters 17px (15px on phones), toggles inside a panel 14px; both at least 44px tall to tap.
   dropdowns and secondary search boxes: Barlow 16px, 14px corners, the same height.
   section headings: .h3 size everywhere outside the numbered chapters. labels: never under 11px (brand minimum). */
.hi-filters .seg button{font-size:17px;padding:8px 18px}
.pn-th .seg button,.adv-bar .seg button,.aw-head .seg button{font-size:14px;padding:7px 14px}
.pn-th .seg{padding:3px}
#pkConf,#xSel{padding:11px 16px;border-radius:14px}
.hi-pk input,.cb-find input{font-family:var(--fb);font-weight:400;font-size:16px;letter-spacing:0;text-transform:none;padding:11px 16px;min-height:0;border-radius:14px}
.hi-pk input{padding-right:40px}
.aw-head h3,.prose h3{font-size:clamp(34px,4.5vw,64px)}
.poll,.sw-l .sd,.rr-ax span,.hi-key .tag,small .tag,.rev-v small,.tt .sd,.ccg-m,.mt .lb,.pff-h2 em,.pff-h2 .ccg,.aw-pl small,.aw-meta .aw-grp,.aw-ring small,.aw-pf em,
.cbt-v small,.mx-edge em,.mx-mt .y small,.mx-cob span,.mx-l5h small,.mx-l5 .g small,.mx-qt small,.rhead span,.meas{font-size:11px}
.aw-pf span{background:linear-gradient(180deg,#040a07,#13251b);box-shadow:inset 0 1px 3px rgba(0,0,0,.85),0 1px 0 rgba(242,245,238,.07)}
.aw-pf i{background-image:linear-gradient(180deg,rgba(255,255,255,.34),rgba(255,255,255,0) 48%,rgba(0,0,0,.22))}
@media (max-width:760px){
  body[data-page] .controls .seg button,body[data-page] .wk-f .seg button,.cb-f .seg button,.hi-filters .seg button{font-size:15px}
  .pn-th .seg button,.adv-bar .seg button,.aw-head .seg button,[id$=Seg] button,#tMode button,#ppkDiv button{font-size:14px;min-height:44px}
  .aw-head .seg button{padding:7px 10px;white-space:nowrap}
  .cb-tool{font-size:11px;min-height:44px}
}

.board .poll,small .poll,.cc-h span,.chp .mv,.tier small,.aw-cv em,.hi-break .hb span{font-size:11px}
/* filter rows: dropdowns and search boxes share one height so they line up side by side */
select,input[type=search],.hi-pk input,.cb-find input{height:48px;box-sizing:border-box}

/* type-ahead team boxes on Rankings and This week (backlog 30): the box keeps its filter-row size */
.tt-box{flex:0 1 260px;max-width:none}.tt-box input{width:100%}
@media (max-width:760px){.tt-box{flex:1 1 100%}}
.tt-box .pk-list{left:auto;right:0;width:min(380px,calc(100vw - 32px))}
@media (max-width:760px){.tt-box .pk-list{left:0;right:0;width:auto}}

/* method page: head-to-head check by week (backlog 25) */
.h2c{margin:18px 0 8px;padding:18px 20px;border:1px solid var(--line);border-radius:20px;background:rgba(255,255,255,.025)}
.h2c .chk{margin:0 0 6px}
.h2c-c{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:8px;height:150px;margin-top:14px}
.h2c-b{display:grid;grid-template-rows:auto 1fr auto;gap:4px;text-align:center;min-width:0}
.h2c-v{font-family:var(--fm);font-size:12px;color:var(--chalk)}
.h2c-t{position:relative;border-radius:8px;background:linear-gradient(180deg,#040a07,#13251b);box-shadow:inset 0 1px 3px rgba(0,0,0,.85),0 1px 0 rgba(242,245,238,.07);overflow:hidden}
.h2c-t i{position:absolute;left:0;right:0;bottom:0;border-radius:8px;background:var(--lime);background-image:linear-gradient(90deg,rgba(255,255,255,.3),rgba(255,255,255,0) 50%,rgba(0,0,0,.2))}
.h2c-b small{font-family:var(--fm);font-size:11px;color:var(--mute)}
.h2c-x{margin:4px 0 0;text-align:center;font-family:var(--fm);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--mute)}
.h2c-d{margin-top:12px}.h2c-d summary{cursor:pointer;font-family:var(--fd);font-weight:800;font-size:18px;text-transform:uppercase;letter-spacing:.03em}
.h2c-d ul{list-style:none;margin:10px 0 0;padding:0;display:grid;gap:6px}.h2c-d li{display:flex;align-items:center;gap:10px;font-size:14.5px}.h2c-d li small{color:var(--mute);font-family:var(--fm);font-size:11px;margin-left:6px}
/* This week Why boxes: the common-opponent and past-meeting line (backlog 23) */
.gwhy-x{margin:8px 0 0;padding-top:8px;border-top:1px solid var(--line);font-size:14px;color:#c9d8ce}.gwhy-x+.gwhy-x{border-top:0;padding-top:0}

/* live card in the Games menu (backlog 31): top game and upset alert; percentages in pylon because they are projections */
.ng-live{display:grid;gap:4px;margin-top:4px;padding-top:8px;border-top:1px solid var(--line)}
.ngs .ng-p .ng-live a{gap:4px;padding:10px 14px 10px 20px}
.ng-live small{font-family:var(--fm);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--mute)}
.ng-live .nl-tm{display:flex;align-items:center;gap:6px}.ng-live .nl-tm b{font-family:var(--fd);font-weight:900;font-size:22px;line-height:1;text-transform:uppercase;color:var(--chalk)}
.ng-live .nl-tm em{font-style:normal;font-family:var(--fm);font-size:11px;color:var(--mute);margin:0 2px}
.ng-live .nl-m,.ng-live .nl-up span{font-size:13px;color:#c9d8ce}.ng-live i{font-style:normal;font-family:var(--fm);color:var(--pylon)}
.ng-live .nl-up span{font-weight:600;color:var(--chalk)}
.sg-live{margin-top:6px}.sg-live a{display:grid;gap:4px;padding:12px 14px;border-radius:14px;background:rgba(242,245,238,.04)}
.tt-box input{font-family:var(--fb);font-weight:400;font-size:16px;letter-spacing:0;text-transform:none;padding:11px 16px;border-radius:14px;height:48px}
/* the live card in the phone menu keeps card text, not the big menu-link type */
.sheet .sg .sg-live a{font-family:var(--fb);font-weight:400;font-size:14px;line-height:1.3;text-transform:none;text-align:left;width:100%}
.sheet .sg .sg-live{width:100%;max-width:360px;margin-left:auto}

/* player story: CollegeFootballData.com facts (backlog 57) */
.pl-tr{display:inline-block;margin-left:10px;padding:2px 8px;border-radius:6px;background:rgba(0,0,0,.28);font-family:var(--fm);font-size:11px;letter-spacing:.06em;text-transform:uppercase}
.pt-use{border-style:dashed}

/* Player Index: transfers (backlog 66) */
.plrow .tm small.pl-from{color:#c9d8ce;font-family:var(--fm);font-size:11px;letter-spacing:.04em;text-transform:uppercase;white-space:normal;overflow:visible;line-height:1.3}

/* game filter on the player and team stories (backlog 65) */
.gpick{display:flex;gap:8px;align-items:stretch;overflow-x:auto;scrollbar-width:none;margin:18px 0 0;padding:4px var(--pad) 8px;position:relative}
.gpick::-webkit-scrollbar{display:none}
.gpick-h{align-self:center;flex:none;font-family:var(--fm);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--mute);margin-right:4px}
.gp-c{flex:none;display:flex;align-items:center;gap:8px;min-height:48px;padding:6px 14px 6px 8px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.03);color:var(--chalk);cursor:pointer;text-align:left}
.gp-c[data-g="-1"]{padding:6px 16px;font-family:var(--fd);font-weight:800;font-size:16px;letter-spacing:.04em;text-transform:uppercase}
.gp-c span{display:grid;line-height:1.1}.gp-c b{font-family:var(--fd);font-weight:900;font-size:17px}.gp-c b.w{color:var(--win)}.gp-c b.l{color:var(--loss)}
.gp-c small{font-family:var(--fm);font-size:11px;color:var(--mute);white-space:nowrap}
.gp-c.on{border-color:var(--lime);background:rgba(200,255,61,.12);box-shadow:0 0 0 1px var(--lime) inset}
.gtag{display:inline-block;margin-left:12px;padding:4px 9px;border-radius:7px;border:1px solid var(--line);font-family:var(--fm);font-weight:400;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--mute);vertical-align:middle}
.gtag.on{border-color:var(--lime);color:var(--lime)}
.pt .gsea{position:absolute;top:-5px;bottom:-5px;width:3px;margin-left:-1.5px;border-radius:2px;background:#f2f5ee;box-shadow:0 0 0 1px rgba(6,16,11,.6);z-index:2}

/* about, privacy, terms and sources pages (backlog 4) */
.prose.legal{max-width:72ch}.prose.legal h3{margin-top:42px}.prose.legal a{color:var(--lime);text-decoration:underline;text-underline-offset:3px}
.legal-date{font-family:var(--fm);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--mute)}
.nf-links{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}.nf-links .tile{min-height:160px}

/* navigation (backlog 4): breadcrumbs, previous/next, grouped footer, info links in the phone menu */
.crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;margin:-8px 0 18px;font-family:var(--fm);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--mute)}
.crumbs a{color:#c9d8ce;text-decoration:none;border-bottom:1px solid transparent;transition:color .2s,border-color .2s}.crumbs a:hover{color:var(--lime);border-color:var(--lime)}
.crumbs i{font-style:normal;color:rgba(242,245,238,.25)}.crumbs [aria-current]{color:var(--chalk)}
.pnav{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:clamp(56px,7vw,96px) var(--pad) 0}
.pnav a{display:grid;gap:4px;padding:20px 24px;border:1px solid var(--line);border-radius:20px;background:rgba(255,255,255,.025);text-decoration:none;transition:border-color .25s,background .25s}
.pnav a:hover{border-color:var(--lime);background:rgba(200,255,61,.06)}
.pnav small{font-family:var(--fm);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--mute)}
.pnav b{font-family:var(--fd);font-weight:900;font-size:clamp(24px,3vw,36px);line-height:1;text-transform:uppercase;color:var(--chalk)}
.pnav .pn-next{text-align:right}
@media (max-width:560px){.pnav{gap:10px}.pnav a{padding:14px 16px}.pnav b{font-size:20px}}
.foot-cols{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:28px 24px;margin-bottom:40px}
.fc{display:grid;gap:8px;align-content:start}.fc-h{margin:0 0 4px!important;font-family:var(--fm);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--mute)}
.fc a{font-family:var(--fd);font-weight:800;font-size:19px;letter-spacing:.04em;text-transform:uppercase;color:#c9d8ce;text-decoration:none;transition:color .2s}.fc a:hover{color:var(--lime)}
@media (max-width:900px){.foot-cols{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:560px){.foot-cols{grid-template-columns:repeat(2,minmax(0,1fr))}.fc a{font-size:17px}}
.sheet .sg-info{display:flex;flex-wrap:wrap;gap:6px 18px;padding:14px 0 6px;border-top:1px solid var(--line)}
.sheet .sg-info a{font-family:var(--fm);font-weight:400;font-size:12px;letter-spacing:.12em;text-transform:uppercase;line-height:1.4;color:var(--mute)}

/* footer: the playbook draws the menu pages on desktop, with the info pages in a small row under it; phones get the grouped columns */
@media (min-width:900px){.foot-cols{display:none}}
.pb-info{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 26px;margin-top:10px}.pb-info a{font-family:var(--fm);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--mute);text-decoration:none}.pb-info a:hover{color:var(--lime)}

/* About this page: written text on every tool page, quieter than the tools above it */
.pg-about{padding-top:clamp(40px,6vw,80px)}
.pg-about .prose{border-top:1px solid var(--line);padding-top:28px}
.pg-about .prose h3{font-size:clamp(24px,2.6vw,34px);margin:26px 0 8px}
.pg-about .prose p{font-size:15px;line-height:1.6}
.pg-about .prose a{color:var(--lime)}
/* Team Index snapshot written into the page; replaced by the live list when the script runs */
.rk-static{list-style:none;margin:0;padding:0;display:grid;gap:2px}
.rk-static li{padding:12px 4px;border-bottom:1px solid var(--line);color:var(--chalk)}
.rk-static b{display:inline-block;min-width:2.4em;font-family:var(--fm);color:var(--lime)}
.rk-static span{color:var(--mute);font-size:13px;margin-left:6px}

/* Chapter context (backlog 68): why the chapter matters and where this team or player stands, under the intro */
.chap-ctx{margin-top:10px;max-width:76ch;color:#b7c8bd;font-size:15px;line-height:1.6}
.chap-ctx .cx-w{color:var(--lime);font-weight:600}
/* Static story pages (scripts/make-stories.mjs): the written story shown until the live story replaces it */
.story-static{padding:clamp(28px,4vw,56px) var(--pad) 0}
.story-static .ss-h{font-family:var(--fd);font-weight:900;font-size:clamp(34px,5vw,64px);line-height:.95;text-transform:uppercase;color:var(--chalk);margin:0 0 14px}
.story-static .ss-lede{max-width:76ch;color:#c9d8ce;font-size:17px;line-height:1.6;margin:0 0 10px}
.story-static .chap{padding-left:0;padding-right:0}
/* Long story pages: the last chapter, the About text and the previous/next links each brought their own padding,
   which stacked into a tall empty band. Keep one comfortable gap between each. */
#storyBody>.chap:last-child,#pstory>.chap:last-child{padding-bottom:clamp(32px,4vw,56px)}
.pg-about{padding-top:clamp(32px,4vw,56px);padding-bottom:0}
.pg-about+.pnav{padding-top:clamp(56px,6vw,88px)}
main>.sec:has(+.pg-about){padding-bottom:clamp(40px,5vw,72px)}
/* Layout shift (Lighthouse, Nov 13): the content above "About this page" is drawn by script, so the About text
   started on screen and was pushed down. Reserve a screen of height for that content so nothing visible moves. */
main>*:has(+.pg-about):not(.rel),main>*:has(+.rel){min-height:100vh;min-height:100svh}

/* visually hidden, still read by screen readers */
.vh{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

/* Related stories on the static story pages (scripts/make-stories.mjs) */
.rel{padding-top:clamp(40px,5vw,72px)}
.rel-g+.rel-g{margin-top:28px}
.rel-h{font-family:var(--fm);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--mute);font-weight:400;margin:0 0 12px}
.rel-l{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:8px}
.rel-a{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--line);border-radius:14px;text-decoration:none;color:var(--chalk);background:rgba(255,255,255,.02);transition:border-color .2s,background .2s;min-width:0}
.rel-a:hover{border-color:var(--lime);background:rgba(200,255,61,.06)}
.rel-a img{width:28px;height:28px;object-fit:contain;flex:none}
.rel-a span{display:grid;min-width:0}.rel-a b{font-weight:600;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rel-a small{font-size:12px;color:var(--mute);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* "don't count me" confirmation (?notrack=1 / ?notrack=0) */
.nt-toast{position:fixed;left:50%;bottom:calc(24px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);z-index:9999;background:#0f1f17;color:#f2f5ee;border:1px solid var(--lime);border-radius:999px;padding:10px 18px;font-size:14px;box-shadow:0 8px 30px rgba(0,0,0,.5)}

/* Player Index filters on phones (Nov 13): positions on one line, division, conference and team as three dropdowns
   on one line, search below. The Division buttons stay on wider screens. */
#plDivSel{display:none}
.pl-card-tr{margin-top:4px;font-family:var(--fm);font-size:11px;letter-spacing:.08em;text-transform:uppercase;opacity:.85}
@media (max-width:640px){
  body[data-page=players] #plSec .controls{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}
  body[data-page=players] #plDivSel{grid-column:span 2}body[data-page=players] #plConf{grid-column:span 4}body[data-page=players] #plTeam{grid-column:span 3}
  body[data-page=players] #plPos{grid-column:1/-1;display:flex;flex-wrap:nowrap;border-radius:999px}
  body[data-page=players] #plPos button{flex:1 1 0;min-width:0;padding:9px 0;font-size:15px}
  body[data-page=players] #plDiv{display:none}
  body[data-page=players] #plDivSel{display:block}
  body[data-page=players] #plSec .controls select{width:100%;min-width:0;min-height:44px;font-size:14px;padding-inline:10px 26px;text-overflow:ellipsis}
  body[data-page=players] #plQ{grid-column:span 3;width:100%;min-width:0;min-height:44px}
}

/* chart tap and hover boxes (Nov 13): the site's dark card instead of a plain white box */
.tip{background:#0f1f17;color:var(--chalk);border:1px solid rgba(242,245,238,.16);border-top:3px solid var(--lime);box-shadow:0 12px 32px rgba(0,0,0,.55);padding:10px 14px;display:grid;gap:3px;max-width:min(300px,calc(100vw - 24px));font-size:13px;line-height:1.35}
.tip .tip-h{font-family:var(--fm);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--lime);margin-bottom:3px}
.tip .tip-l{display:block}
.tip b{font-weight:700;color:#fff;font-variant-numeric:tabular-nums}
/* Player card photo on phones (Nov 13): team logo on the left and the photo on the right in the top row, then the
   team and bio lines at full width beneath, then the name, so the photo never covers text */
@media (max-width:760px){
  .pl-sh.has-shot .pl-shot{height:112px;top:14px;right:12px;max-width:44%}
  .pl-sh.has-shot .sh-top{grid-template-columns:64px minmax(0,1fr);grid-template-rows:minmax(100px,auto) auto;align-items:center}
  .pl-sh.has-shot .sh-conf{grid-column:1/-1;grid-row:2;margin-top:10px}
  .pl-sh .sh-in{position:relative;z-index:1}
}
/* Matchup "Who is better" on phones (Nov 13): each label on its own line above its pair of bars, so the bars get the
   full width and the differences show */
@media (max-width:640px){
  .mx-mr{grid-template-columns:36px minmax(0,1fr) minmax(0,1fr) 36px;grid-template-areas:"l l l l" "ka ba bb kb";gap:4px 6px;padding-block:2px}
  .mx-mr .l{grid-area:l;font-size:12.5px;text-align:center;color:var(--mute);font-weight:600}
  .mx-mr>.k:first-child{grid-area:ka}.mx-mr>.bar.a{grid-area:ba}.mx-mr>.bar:not(.a){grid-area:bb}.mx-mr>.k:last-child{grid-area:kb}
  .mx-mir{gap:10px}
}

/* Phone menu groups (Nov 13): headings are buttons that open their group; one group open at a time on phones, every
   group shown on wider screens. The top game and upset pick card sits at the bottom. */
.sheet .sg-h{background:none;border:0;padding:6px 0;cursor:pointer;display:inline-flex;align-items:center;gap:10px;align-self:flex-end;font-family:var(--fm);font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--lime)}
.sheet .sg-h i{width:9px;height:9px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translateY(-3px);transition:transform .25s var(--ease)}
.sheet .sg.open .sg-h i{transform:rotate(-135deg) translate(-2px,-1px)}
.sheet .sg-l{display:flex;flex-direction:column;align-items:flex-end}
.sheet .sg:not(.open) .sg-l{display:none}
.sheet .sg{padding:6px 0 8px}
.sheet .sg.open{padding-bottom:12px}
.sheet .sg-live{width:100%;margin-top:14px}
.sheet .sg-h:focus-visible{outline:2px solid var(--lime);outline-offset:4px}
@media (min-width:600px){
  .sheet .sg:not(.open) .sg-l,.sheet .sg-l{display:contents}
  .sheet .sg-h{cursor:default;pointer-events:none;align-self:auto}.sheet .sg-h i{display:none}
}
/* the tap highlight outlines the shape only, never its numbers (Nov 13) */
.tapped text,[data-tip].tapped text{stroke:none}
/* the picks card keeps its own look inside the phone menu (Nov 13) */
.sheet .sg-live{text-align:left}.sheet .sg-live *{text-align:left}
.sheet .sg-live a{text-transform:none;transform:none}.sheet .sg-live a::before{display:none}
/* Previous and next page links (Nov 13, Mike): plain text links in one quiet row, no boxes */
.pnav,.pg-about+.pnav{padding-top:clamp(28px,4vw,48px);gap:16px;align-items:baseline}
.pnav a{display:inline-flex;align-items:baseline;gap:8px;padding:0;border:0;border-radius:0;background:none;min-width:0}
.pnav a:hover{background:none}
.pnav small{font-size:11px}
.pnav b{font-family:var(--fb);font-weight:600;font-size:15px;line-height:1.3;text-transform:none;color:var(--chalk);text-decoration:underline;text-decoration-color:var(--line2,rgba(242,245,238,.25));text-underline-offset:4px;transition:color .2s,text-decoration-color .2s}
.pnav a:hover b,.pnav a:focus-visible b{color:var(--lime);text-decoration-color:var(--lime)}
.pnav .pn-next{justify-content:flex-end}
@media (max-width:560px){.pnav{gap:10px}.pnav a{padding:0;flex-direction:column;gap:2px}.pnav .pn-next{align-items:flex-end}.pnav b{font-size:14px}}

/* College football home headline (Nov 13): the sport named first, on its own smaller line so it never clips */
.mega .line.sport{font-size:.56em;letter-spacing:-.01em}
