/* palette: deep navy + one warm gold; green/red only ever mean win/loss or live */
:root{--navy:#101B2D;--navy2:#1A2942;--navy3:#26395A;--gold:#E2B33C;--goldd:#946500;--goldt:#FDF5DB;--ink:#1B2534;--mut:#5F6B7C;
--faint:#97A1B0;--win:#177A3E;--wint:#E4F4EA;--loss:#BC3B36;--losst:#FBE9E8;--card:#F4F6F9;--line:#E1E6ED;--bg:#fff;
--surface:#fff;--page:#E6EAF0;--chip:#EBEFF4;--done:#E6EAF0;--flash:#FFE48A;--head:#101B2D;--red:#E5484D;--blue:#2A5DA8;--bluet:#E6EEFB}
/* dark mode: follows the phone's setting. Only the tokens change; every rule below reads them. */
@media (prefers-color-scheme:dark){:root{color-scheme:dark;--navy:#1A2638;--navy3:#30425F;--goldd:#EAC65C;--goldt:#33290A;--ink:#E7ECF3;--mut:#A2AEBF;
--faint:#718096;--win:#4FC985;--wint:#11321F;--loss:#F2807C;--losst:#3A1B1B;--card:#18212E;--line:#263244;--bg:#0D131C;
--surface:#141C28;--page:#080C12;--chip:#222E40;--done:#222C3B;--flash:#6B5A14;--head:#F2F5F9;--blue:#7FB0F0;--bluet:#16283F}}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}
body{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;color:var(--ink);background:var(--page);font-size:15px}
.wrap{max-width:560px;margin:0 auto;background:var(--bg);min-height:100vh;padding-bottom:calc(76px + env(safe-area-inset-bottom))}
.display{font-family:"Bebas Neue",Impact,"Arial Narrow",sans-serif;font-weight:400;letter-spacing:.5px}
header.top{background:radial-gradient(120% 140% at 100% 0%,var(--navy3) 0%,var(--navy) 55%);color:#fff;padding:18px 18px 14px;border-bottom:4px solid var(--gold);position:relative;overflow:hidden}
header.top:after{content:"";position:absolute;right:-30px;top:-30px;width:150px;height:150px;border:18px solid rgba(226,179,60,.09);border-radius:50%}
header.top h1{font-size:40px;line-height:1}
header.top h1{font-size:clamp(25px,7.6vw,40px)} header.top h1 span{color:var(--gold)}
header.top p{color:#B8C2CF;font-size:12.5px;margin-top:4px} header.top p b{color:var(--gold)}
nav.tabs{position:fixed;bottom:0;left:0;right:0;z-index:20;background:var(--navy);display:flex;justify-content:center;padding-bottom:env(safe-area-inset-bottom);box-shadow:0 -4px 14px rgba(0,0,0,.18)}
nav.tabs .in{display:flex;width:100%;max-width:560px}
nav.tabs button{flex:1;background:none;border:0;color:#8894A5;padding:9px 0 8px;font:600 10.5px Inter,Arial,sans-serif;letter-spacing:.4px;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:3px}
nav.tabs button svg{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:1.8}
nav.tabs button.on{color:var(--gold)}
nav.tabs .dot{width:6px;height:6px;border-radius:50%;background:var(--red);position:absolute;margin-left:18px;margin-top:-2px}
section{padding:14px 14px 2px}
h2{background:var(--navy);color:#fff;font-size:20px;padding:7px 12px 5px;display:flex;justify-content:space-between;align-items:center;border-radius:6px 6px 0 0}
h2 small{font-family:Inter,Arial,sans-serif;color:var(--gold);font-size:10.5px;font-weight:700;letter-spacing:.5px;text-transform:uppercase}
.cards{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:14px 14px 0}
.card{background:var(--card);border-top:3px solid var(--gold);padding:10px 12px;border-radius:4px;min-width:0}
.card.wide{grid-column:1/3;display:flex;align-items:center;gap:12px}
.card small{display:block;font-size:10px;font-weight:700;letter-spacing:.8px;color:var(--goldd)}
.card strong{display:block;font-size:26px;color:var(--head);line-height:1.1;margin:3px 0 2px}
.card span{font-size:11.5px;color:var(--mut);line-height:1.35;display:block}
.av{width:34px;height:34px;border-radius:50%;background:var(--chip) center/cover;flex:0 0 auto;border:2px solid var(--surface);box-shadow:0 0 0 1px var(--line)}
.av.lg{width:52px;height:52px;font-size:18px}
.av.ini{display:inline-flex;align-items:center;justify-content:center;color:#fff;font-weight:800;font-size:12px;letter-spacing:.3px}
.av.ph{border-radius:8px;background-color:var(--chip)}
table{width:100%;border-collapse:collapse}
td{padding:8px 4px;border-bottom:1px solid var(--line);vertical-align:middle}
tr.cut td{border-bottom:2px dashed var(--gold)}
.rk{width:22px;text-align:center;font-weight:800;color:var(--head);font-size:16px}
.tmc{display:flex;align-items:center;gap:9px;min-width:0}
.tm{min-width:0} .tm b{display:block;font-size:14.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis} .tm span{font-size:11.5px;color:var(--mut)}
.rec{text-align:center;font-size:15px;font-weight:800;white-space:nowrap;color:var(--faint)}
.w{color:var(--win)} .l{color:var(--loss)}
.num{text-align:right;white-space:nowrap} .num b{display:block;font-size:13.5px} .num span{font-size:11.5px;font-weight:700} .num span:not(.pos):not(.neg){font-weight:500;color:var(--mut)}
.pos{color:var(--win)} .neg{color:var(--loss)}
/* standings: fixed columns so long team names shorten with "…" instead of pushing the table off the screen */
table.stand{table-layout:fixed} .stand td.rk{width:34px} .stand td.tmcol{overflow:hidden}
.stand td.rec{width:56px} .stand td.num{width:70px} .odds.stand td.pct{width:58px}
.seed{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;font-style:normal}
.seed.bye{background:var(--gold);color:var(--navy)} .seed.in{background:var(--wint);color:var(--win);box-shadow:inset 0 0 0 1.5px color-mix(in srgb,var(--win) 45%,transparent)}
.note.seeds{display:flex;gap:16px;font-weight:700;color:var(--mut)} .note.seeds span{display:inline-flex;align-items:center;gap:6px}
.note.seeds .seed{width:12px;height:12px}
.note{font-size:11.5px;color:var(--faint);padding:8px 2px 0;line-height:1.45}
.game{border:1px solid var(--line);border-radius:6px;margin-top:10px;overflow:hidden;background:var(--surface)}
.game .hd{display:flex;justify-content:space-between;font-size:10.5px;font-weight:700;letter-spacing:.5px;color:var(--faint);padding:7px 12px 0;text-transform:uppercase}
.team{display:flex;justify-content:space-between;align-items:center;padding:9px 12px;gap:10px}
.team+.team{border-top:1px solid var(--line)}
.team .tw{color:var(--goldd);font-weight:700}
.team .sub{font-size:11.5px;color:var(--mut);margin-top:1px}
.sc{text-align:right;white-space:nowrap} .sc strong{display:block;font-size:24px;line-height:1}
.sc span{font-size:10.5px;color:var(--faint);display:block;margin-top:1px}
.sc .pjl i{font-style:normal;font-weight:700} .sc .up{color:var(--win)} .sc .dn{color:var(--loss)}
.sc strong.est{color:var(--faint)}
.game .hd .fav{color:var(--goldd)}
.win strong{color:var(--win)} .lose .tm b,.lose strong{color:var(--faint)} .lose .tw{opacity:.6}
.bar{height:5px;background:var(--losst);display:flex}.bar i{background:var(--win);display:block}
.expand{border-top:1px solid var(--line);display:none;background:var(--card)}
.game.open .expand{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.expand .col{padding:6px 8px;min-width:0}
.expand .col+.col{border-left:1px solid var(--line)}
/* injury / availability badge next to a player's name */
.injs{flex:none} .injs:empty{display:none}
.inj{display:inline-block;font-style:normal;font-size:8.5px;font-weight:800;letter-spacing:.2px;line-height:1;padding:2px 4px;border-radius:3px;vertical-align:1px;background:#FDF0C4;color:#8A6100}
.inj.d{background:#FFE0C2;color:#A14A00} .inj.o{background:#FBD5D5;color:#A32626}
.rrow .who b .injs{margin-left:6px}
.inj.bye{background:var(--chip);color:var(--mut)}
/* second line under a lineup name: opponent and day / live / final */
.pl .nm .gl{display:block;font-size:9px;font-weight:400;line-height:1.15;color:var(--faint);letter-spacing:.1px;overflow:hidden;text-overflow:ellipsis}
.pl.now .nm .gl{color:var(--win)}
/* lineup header band: team name over each column, with PROJ / PTS labels lined up over the numbers */
.lh{display:flex;align-items:center;gap:6px;min-width:0;padding:7px 8px 6px;background:var(--chip);border-bottom:1px solid var(--line)}
.lh+.lh{border-left:1px solid var(--line)}
.lh .nm{flex:1;min-width:0;font-size:11px;font-weight:800;letter-spacing:.2px;color:var(--head);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lh .pj,.lh .pt{flex:none;text-align:right;font-size:8.5px;font-weight:800;letter-spacing:.4px;color:var(--faint)}
.lh .pj{width:28px} .lh .pt{min-width:38px}
@media (max-width:420px){.lh{gap:3px;padding:6px 4px 5px 5px}.lh .pj{width:25px}.lh .pt{min-width:36px}}
/* bench: tucked behind a small toggle inside the open lineups */
.btog{grid-column:1/-1;display:flex;align-items:center;justify-content:center;gap:6px;padding:7px;border-top:1px solid var(--line);font-size:10.5px;font-weight:800;letter-spacing:.6px;text-transform:uppercase;color:var(--mut);cursor:pointer}
.btog svg{width:10px;height:7px;transition:transform .15s} .game.bench .btog svg{transform:rotate(180deg)}
.game.bench .btog .b1,.game:not(.bench) .btog .b2{display:none}
.expand .bcol{display:none;border-top:1px solid var(--line)} .game.bench .expand .bcol{display:block}
.expand .bcol+.bcol{border-left:1px solid var(--line)} .expand .btog+.bcol{border-left:0}
.pl.bn .nm{color:var(--mut)} .pl.bn .pt{font-weight:600;color:var(--mut)}
.pl{display:flex;align-items:center;gap:6px;padding:4px 0;font-size:12px;border-bottom:1px solid var(--line)}
.pl:last-child{border:0}
.pl .slot{width:30px;font-size:9.5px;font-weight:800;color:var(--faint)}
.pl .nm{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pl .pt{flex:none;white-space:nowrap;font-variant-numeric:tabular-nums;min-width:38px;text-align:right}
.pl .pj{flex:none;width:28px;text-align:right;font-size:10px;color:var(--faint);font-variant-numeric:tabular-nums}
.pl .fi{font-style:normal}
.pl.hdr{padding:1px 0 3px;border:0} .pl.hdr .pj,.pl.hdr .pt{font-size:8.5px;font-weight:800;letter-spacing:.4px;color:var(--faint)}
.pl.foot{border-top:1px solid var(--line);border-bottom:0;margin-top:2px;padding-top:6px} .pl.foot .nm{font-size:10.5px;color:var(--mut);font-weight:700} .pl.foot .pt{color:var(--goldd)}
@media (max-width:420px){.expand .col{padding:5px 4px 5px 5px}.pl{font-size:11.5px;gap:3px}.pl .slot{width:19px;font-size:8.5px}.pl .fi{display:none}.pl .pj{width:25px;font-size:9.5px}.pl .pt{min-width:36px}}
.pl .pt{font-weight:700;font-variant-numeric:tabular-nums}
.pl.star .nm{color:var(--goldd);font-weight:700}
.pl.out{opacity:.45;text-decoration:line-through}
.game.can{cursor:pointer} .game.can .expand{cursor:default}
.tap{display:flex;align-items:center;justify-content:center;gap:7px;font-size:12px;font-weight:700;letter-spacing:.3px;color:var(--head);background:var(--card);padding:10px;border-top:1px solid var(--line);cursor:pointer}
.tap svg{width:11px;height:8px;transition:transform .15s} .game.open .tap svg{transform:rotate(180deg)}
.game.open .tap .t1,.game:not(.open) .tap .t2{display:none}
.game.open .tap{background:var(--surface)}
.live-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--red);margin-right:6px;animation:p 1.6s infinite;vertical-align:middle}
@keyframes p{50%{opacity:.25}}
/* live games: who is playing right now, and a flash when points change */
.pulse{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--win);margin-right:5px;vertical-align:middle;animation:p 1.4s infinite}
.team .sub .lv{font-style:normal;color:var(--win);font-weight:700;white-space:nowrap}
.pl.now{background:linear-gradient(90deg,color-mix(in srgb,var(--win) 16%,transparent),transparent 85%);box-shadow:inset 2px 0 0 var(--win);padding-left:4px;margin-left:-4px}
.pl.now .nm{font-weight:700}
/* finished: shaded "locked in" row with a check mark */
.pl.done{background:var(--done);box-shadow:inset 2px 0 0 var(--faint);padding-left:4px;margin-left:-4px;border-bottom-color:var(--line)}
.pl.done .slot,.pl.done .pj{color:var(--faint)}
.lk{display:inline-block;width:9px;height:11px;margin-right:5px;vertical-align:-1px;color:var(--mut)}
.team .sub .fin{font-style:normal;font-weight:700;color:var(--mut);white-space:nowrap}
@keyframes flash{0%,35%{background-color:var(--flash)}100%{background-color:transparent}}
.pl.flash{animation:flash 2.4s ease-out}
@keyframes pop{0%{color:var(--goldd);transform:scale(1.12)}100%{transform:scale(1)}}
.sc strong.flash{animation:pop 1.6s ease-out;transform-origin:right center}
@media (prefers-reduced-motion:reduce){.pulse,.pl.flash,.sc strong.flash{animation:none}}
.chips{display:flex;gap:8px;padding:14px 14px 0;overflow-x:auto;scrollbar-width:none}
.chips button{border:1px solid var(--line);background:var(--surface);border-radius:18px;padding:8px 14px;font:700 13px Inter,Arial,sans-serif;color:var(--mut);white-space:nowrap;cursor:pointer}
.chips button.on{background:var(--head);color:var(--bg);border-color:var(--head)}
.twist-banner{margin:14px 14px 0;background:linear-gradient(135deg,var(--navy) 0%,var(--navy3) 100%);color:#fff;border-radius:8px;padding:12px 14px;border-left:5px solid var(--gold)}
.twist-banner small{color:var(--gold);font-size:10.5px;font-weight:800;letter-spacing:.8px}
.twist-banner b{display:block;font-family:"Bebas Neue",Impact,sans-serif;font-weight:400;font-size:26px;letter-spacing:.5px;margin:2px 0}
.twist-banner span{font-size:13px;color:#C9D1DB;line-height:1.4;display:block}
.awards{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}
.awards.three{grid-template-columns:1fr 1fr 1fr;margin-top:0} .awards.three .aw strong{font-size:16px}
[data-team]{cursor:pointer}
@media (max-width:420px){nav.tabs button{font-size:9.5px;letter-spacing:.2px}}
/* stats tab */
.stand tr.th td{font-size:9.5px;font-weight:800;letter-spacing:.5px;color:var(--faint);padding:6px 4px 2px;border:0}
.stand.ap td.rec{width:70px} .stand.ap td.num{width:54px} .stand td.num.wide{width:96px}
.mv{display:flex;gap:12px;padding:10px 4px;border-bottom:1px solid var(--line);font-size:13px;line-height:1.45}
.mv>small{flex:0 0 62px;font-size:9.5px;font-weight:800;letter-spacing:.4px;color:var(--goldd);line-height:1.5;padding-top:2px}
.mv>div{min-width:0;flex:1} .mv i{font-style:normal;font-size:10.5px;color:var(--faint);font-weight:700} .mv .add{color:var(--win)} .mv .drop{color:var(--loss)}
/* roster on the team page */
.rrow{display:flex;align-items:center;gap:10px;padding:9px 4px;border-bottom:1px solid var(--line);cursor:pointer}
.rrow.hdr{cursor:default;padding:8px 4px 2px;border:0} .rrow.hdr .n{font-size:9.5px;font-weight:800;letter-spacing:.5px;color:var(--faint)}
.rrow .hs{flex:0 0 38px;height:38px;border-radius:50%;background:var(--chip) center top/cover no-repeat;box-shadow:0 0 0 1px var(--line)}
.rrow .hs.logo{background-size:78%;background-position:center;background-color:#fff}
.rrow .pos{display:inline-block;font-style:normal;font-size:9.5px;font-weight:800;padding:1px 5px;border-radius:3px;margin-right:6px;background:var(--chip);color:var(--mut)}
.rrow .pos.QB{background:var(--losst);color:var(--loss)} .rrow .pos.RB{background:var(--wint);color:var(--win)} .rrow .pos.WR{background:var(--bluet);color:var(--blue)} .rrow .pos.TE{background:var(--goldt);color:var(--goldd)}
.rrow .who{flex:1;min-width:0} .rrow .who b{display:block;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis} .rrow .who span{font-size:11.5px;color:var(--mut)} .rrow .who>span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rrow .n{flex:0 0 58px;text-align:right;font-size:13px;font-variant-numeric:tabular-nums;color:var(--mut)} .rrow .n.b{font-weight:800;color:var(--ink)}
.rrow.open{background:var(--card)}
.pdet{background:var(--card);padding:4px 8px 8px 52px;border-bottom:1px solid var(--line)}
.pw{display:flex;gap:10px;align-items:flex-start;padding:6px 0;border-top:1px solid var(--line);font-size:12.5px} .pw:first-child{border:0}
.pw>b{flex:0 0 26px;color:var(--goldd);font-size:11.5px;padding-top:1px} .pw>div{flex:1;min-width:0} .pw strong{display:block;font-size:12.5px}
.pw span{display:block;color:var(--mut);font-size:11.5px;line-height:1.4} .pw .tg{color:var(--faint);font-size:10.5px}
.pw em{font-style:normal;font-weight:800;font-variant-numeric:tabular-nums}
/* playoff bracket */
.bracket2{display:grid;gap:8px;margin-top:10px}
.bg{background:var(--card);border-radius:6px;padding:8px 10px} .bg small{display:block;font-size:10px;font-weight:800;color:var(--goldd);letter-spacing:.6px;margin-bottom:4px}
.bt{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:5px 0;font-size:14px} .bt+.bt{border-top:1px solid var(--line)}
.bt span{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis} .bt i{font-style:normal;display:inline-block;width:18px;font-size:11px;font-weight:800;color:var(--faint)}
.bt b{font-variant-numeric:tabular-nums} .bt.win span{font-weight:800} .bt.win b{color:var(--win)} .bt.lose{color:var(--faint)} .bt.tbd{color:var(--faint);font-style:italic;font-size:12.5px}
/* home: compact look at this week's games */
.minis{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}
.mini{border:1px solid var(--line);border-radius:6px;padding:8px 10px;cursor:pointer;min-width:0;background:var(--surface)}
.mr{display:flex;justify-content:space-between;align-items:baseline;gap:8px;padding:2px 0;font-size:13px;color:var(--mut)}
.mr span{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis} .mr b{font-variant-numeric:tabular-nums;color:var(--ink)}
.mr.lead span{color:var(--ink);font-weight:700} .mr.lead b{color:var(--win)} .mr b.est{color:var(--faint);font-weight:600}
.mini small{display:block;margin-top:4px;font-size:10px;font-weight:700;letter-spacing:.3px;color:var(--faint);text-transform:uppercase}
/* live win chance */
.wc{display:inline-block;margin-top:4px;font-style:normal;font-size:10px;font-weight:800;letter-spacing:.3px;padding:3px 7px;border-radius:10px;background:var(--chip);color:var(--mut);white-space:nowrap}
.wc.fav{background:var(--wint);color:var(--win)}
/* team page */
.tp{padding:12px 14px 0} .tp .back{font-size:12px;font-weight:700;color:var(--goldd);text-decoration:none}
.tph{display:flex;align-items:center;gap:12px;margin-top:10px} .tph h3{font-size:26px;line-height:1.05;color:var(--head)} .tph span{font-size:12.5px;color:var(--mut)}
.wkrow{display:flex;align-items:center;gap:10px;padding:10px 4px;border-bottom:1px solid var(--line)} .wkrow[data-go]{cursor:pointer}
.wkrow>b{width:28px;font-size:12px;color:var(--goldd)}
.res{font-style:normal;font-size:10px;font-weight:800;width:34px;text-align:center;padding:4px 0;border-radius:4px;background:var(--chip);color:var(--mut)}
.res.W{background:var(--wint);color:var(--win)} .res.L{background:var(--losst);color:var(--loss)}
.wkrow .opp{flex:1;min-width:0} .wkrow .opp strong{display:block;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis} .wkrow .opp span{font-size:11.5px;color:var(--mut)}
.aw{background:var(--card);border-radius:6px;padding:10px;display:flex;flex-direction:column;gap:2px;min-width:0}
/* award badges: one look for every award, in the site's own gold (matches the gold label under it) */
.aw .top{display:flex;align-items:center;gap:7px;margin-bottom:5px;min-width:0} .aw .top small{line-height:1.2}
.aw .ic{flex:none;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;font-size:15px;background:var(--goldt);color:var(--goldd);box-shadow:inset 0 0 0 1px rgba(226,179,60,.4)}
.aw .ic svg{width:16px;height:16px}
.aw small{font-size:10px;font-weight:800;letter-spacing:.6px;color:var(--goldd);text-transform:uppercase}
.aw b{font-size:13.5px;line-height:1.25}
.aw span{font-size:11px;color:var(--mut)} .aw strong{font-size:17px;color:var(--head)}
.recap{background:var(--card);border-left:4px solid var(--gold);padding:12px 14px;margin-top:12px;font-size:14px;line-height:1.55;border-radius:0 6px 6px 0}
.recap p+p{margin-top:9px} .recap p:first-of-type{font-weight:700}
.recap small{display:block;font-size:10.5px;letter-spacing:.8px;color:var(--goldd);margin-bottom:6px;font-weight:800}
.odds td{font-size:13px}
.meter{height:8px;border-radius:4px;background:var(--chip);overflow:hidden;margin-top:4px}
.meter i{display:block;height:100%;background:linear-gradient(90deg,var(--gold),#F0CB66)}
.pct{text-align:right;font-weight:800;font-variant-numeric:tabular-nums;white-space:nowrap}
.bracket{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}
.bk{background:var(--card);border-radius:6px;padding:10px;font-size:12.5px}
.bk small{display:block;font-size:10px;font-weight:800;color:var(--goldd);letter-spacing:.6px;margin-bottom:4px}
.bk div{display:flex;justify-content:space-between;padding:2px 0}
.srow{display:flex;align-items:center;padding:9px 6px;border-bottom:1px solid var(--line)}
.st{flex:1;font-size:14px} .std{width:62px;text-align:right;font-size:12px;color:var(--faint);text-decoration:line-through}
.lg{width:86px;text-align:right;font-size:16px;font-weight:800;color:var(--head)} .chg .lg{color:var(--goldd)}
.lg i,.std i{font-style:normal;font-size:10px;font-weight:700;color:var(--mut);margin-left:1px}
.legend{display:flex;justify-content:flex-end;gap:14px;padding:14px 18px 0;font-size:10.5px;color:var(--faint);font-weight:700;letter-spacing:.5px}
.legend span:last-child{color:var(--goldd)}
.tw-row{display:flex;gap:12px;padding:11px 6px;border-bottom:1px solid var(--line)}
.tw-row>b{flex:0 0 60px;font-size:12px;color:var(--goldd);padding-top:2px}
.tw-row strong{display:block;font-size:14.5px} .tw-row span{display:block;font-size:13px;color:var(--mut);margin-top:3px;line-height:1.4}
.empty{padding:40px 20px;text-align:center;color:var(--faint)}
.loading{padding:80px 20px;text-align:center;color:var(--faint);font-size:13px}
.spin{width:28px;height:28px;border:3px solid var(--line);border-top-color:var(--gold);border-radius:50%;margin:0 auto 12px;animation:s 0.8s linear infinite}
@keyframes s{to{transform:rotate(360deg)}}
footer{color:var(--faint);font-size:11px;text-align:center;padding:18px 14px 6px}
footer a{color:var(--goldd)}
[hidden]{display:none!important}
/* login + admin */
.login{min-height:100vh;display:flex;align-items:center;justify-content:center;background:radial-gradient(120% 90% at 100% 0%,var(--navy3) 0%,var(--navy) 60%);padding:20px}
.login form{width:100%;max-width:340px;text-align:center;color:#fff}
.login h1{font-size:54px;line-height:1}
.login p{color:#B8C2CF;font-size:13px;margin:6px 0 26px}
input,select,textarea{font:inherit;font-size:16px;width:100%;padding:12px 14px;border-radius:8px;border:1px solid var(--line);background:var(--surface);color:var(--ink)}
.login input{border:0;text-align:center;letter-spacing:2px}
.btn{display:inline-block;width:100%;margin-top:12px;padding:13px;border:0;border-radius:8px;background:var(--gold);color:var(--navy);font:800 15px Inter,Arial,sans-serif;letter-spacing:.5px;cursor:pointer}
.btn.sec{background:var(--chip);color:var(--ink)} .btn.small{width:auto;padding:9px 14px;font-size:13px;margin:0}
.err{color:#FFB4B4;font-size:13px;min-height:20px;margin-top:10px}
.field{margin-top:10px} .field label{display:block;font-size:11px;font-weight:800;letter-spacing:.6px;color:var(--mut);margin-bottom:4px;text-transform:uppercase}
.pickrow{display:grid;grid-template-columns:1fr;gap:6px;padding:10px 0;border-bottom:1px solid var(--line)}
.pickrow b{font-size:13.5px}
.two{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.toast{position:fixed;left:50%;bottom:90px;transform:translateX(-50%);background:var(--navy);color:#fff;padding:10px 16px;border-radius:20px;font-size:13px;z-index:50;box-shadow:0 4px 14px rgba(0,0,0,.25)}
.status{display:inline-block;font-size:10.5px;font-weight:800;padding:3px 7px;border-radius:4px;letter-spacing:.4px}
.status.locked{background:var(--wint);color:var(--win)} .status.live{background:var(--losst);color:var(--loss)} .status.up{background:var(--chip);color:var(--mut)}

/* "my team": picked once per phone */
.stand tr.me td{background:var(--goldt)} .tmc.mine .av{box-shadow:0 0 0 2px var(--gold)}
.game.mine,.mini.mine{border-color:var(--gold);box-shadow:0 0 0 1px var(--gold)}
.aw.mine{box-shadow:0 0 0 2px var(--gold)}
.pick{padding-bottom:0} .pk{background:var(--goldt);border:1px solid var(--gold);border-radius:8px;padding:12px 14px}
.pk>b{display:block;font-size:15px;color:var(--head)} .pk>span{display:block;font-size:12px;color:var(--mut);margin-top:2px;line-height:1.4}
.pkc{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.pkc button{border:1px solid var(--gold);background:var(--surface);color:var(--ink);border-radius:16px;padding:7px 12px;font:700 12.5px Inter,Arial,sans-serif;cursor:pointer;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pkx{display:block;margin:10px 0 0 auto;border:0;background:none;color:var(--mut);font:600 11.5px Inter,Arial,sans-serif;text-decoration:underline;cursor:pointer}
.mybtn{display:inline-block;margin-top:10px;padding:8px 14px;border-radius:18px;border:1px solid var(--gold);background:var(--surface);color:var(--goldd);font:700 12.5px Inter,Arial,sans-serif;cursor:pointer}
.mybtn.on{background:var(--gold);color:#101B2D}
.upd{font-size:10.5px;color:var(--faint);text-align:right;padding:6px 2px 0}
/* polish */
.awards:not(.three) .aw:last-child:nth-child(odd),.awards.three .aw:last-child:nth-child(3n+1){grid-column:1/-1}
.key{display:flex;flex-wrap:wrap;gap:6px 14px;margin-top:12px;padding:9px 12px;background:var(--card);border-radius:6px;font-size:11px;font-weight:600;color:var(--mut)}
.key span{display:inline-flex;align-items:center;gap:4px;white-space:nowrap} .key .lk,.key .pulse{margin-right:1px}
.more{display:flex;justify-content:space-between;align-items:center;margin-top:8px;padding:10px 12px;border-radius:6px;background:var(--card);color:var(--head);font-size:12.5px;font-weight:700;text-decoration:none} .more span{color:var(--goldd)}
.wkrow.sm{padding:7px 4px}
.odds.stand tr.th td.pct{font-size:9.5px}
.bracket .bg{min-width:0} .bracket .bt{font-size:13px;padding:4px 0}
.you{display:flex;align-items:center;gap:10px;border:1px solid var(--gold);background:var(--goldt);border-radius:8px;padding:10px 12px}
.you .yt{display:flex;align-items:center;gap:9px;flex:1;min-width:0} .you .av{box-shadow:0 0 0 2px var(--gold)}
.you .yw{flex:none;text-align:right;cursor:pointer;max-width:48%} .you .yw small{display:block;font-size:9px;font-weight:800;letter-spacing:.5px;color:var(--goldd)}
.you .yw b{display:block;font-size:15px;font-variant-numeric:tabular-nums;color:var(--head)} .you .yw b i{font-style:normal;color:var(--faint);margin:0 3px}
.you .yw span{display:block;font-size:11px;color:var(--mut);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bt.me span{font-weight:800;color:var(--goldd)} .bt.me i{color:var(--goldd)} .mv b.me{color:var(--goldd)}
.aw[data-openg]{cursor:pointer}
@media (prefers-color-scheme:dark){.inj{background:#4A3B0C;color:#F0CF6A}.inj.d{background:#4A2A0E;color:#F5A562}.inj.o{background:#4A1C1C;color:#F29090}.inj.bye{background:var(--chip);color:var(--mut)}}
