/* ==========================================================================
   CFB Pick'Em — "broadcast ledger" skin
   Design source: Pickem Redesigns, turn 4 (4a–4d) with Make Picks as 2a.
   Sharp panels, Anton mastheads, IBM Plex Mono metadata, #ffd23f for
   "your input needed", green/red reserved for results.
   ========================================================================== */
:root{
  --bg:#0a0a0b; --panel:#0d0d0f; --panel2:#131316; --panel3:#17171b;
  --line:#1d1d20; --line2:#2c2c31; --line3:#26262b; --hair:#151518;
  --ink:#f2f2ef; --ink2:#c9c9d2; --dim:#a5a5b0; --dim2:#8d8d96;
  --dim3:#6f6f78; --dim4:#4a4a52; --dim5:#3d3d45;
  --acc:#ffd23f; --acc-line:#3d3524; --win:#7fd1a8; --loss:#d98a86;
  --mono:'IBM Plex Mono',ui-monospace,SFMono-Regular,Menlo,monospace;
  --display:Anton,'Archivo',system-ui,sans-serif;
}
*{box-sizing:border-box}
html,body{margin:0;height:100%}
body{
  background:var(--bg); color:var(--ink);
  font:400 15px/1.45 Archivo,system-ui,-apple-system,Segoe UI,sans-serif;
  -webkit-font-smoothing:antialiased;
}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
.mono{font-family:var(--mono);font-weight:500;font-size:.85em}
.dim{color:var(--dim2)} .sm{font-size:.78em}
.dim2{color:var(--dim2)} .dim3{color:var(--dim3)} .dim5{color:var(--dim5)}
.gold{color:var(--acc)}
h1,h2,h3,h4{margin:0;font-family:var(--display);font-weight:400;text-transform:uppercase;letter-spacing:.01em}

/* ---------- top bar ---------- */
#app{max-width:1320px;margin:0 auto;padding:0 0 60px}

.topbar{
  display:flex;align-items:center;gap:26px;flex-wrap:wrap;
  padding:18px 30px;background:var(--panel);border-bottom:1px solid var(--line);
}
.brand{display:flex;align-items:center;gap:22px;flex:1 1 340px;min-width:0}
.brandmark{
  flex:none;display:grid;place-items:center;padding:7px 10px 5px;
  background:var(--acc);color:var(--bg);
  font-family:var(--display);font-size:26px;line-height:1;letter-spacing:.02em;
}
.brand h1{font-size:24px;line-height:1}
.brand p{margin:7px 0 0;font:500 11px/1 var(--mono);letter-spacing:.12em;
  text-transform:uppercase;color:var(--dim3)}
.progress-wrap{flex:0 0 auto;text-align:right}
.progress{width:190px;height:5px;background:var(--line);order:2;margin-top:7px}
.progress i{display:block;height:100%;background:var(--acc);transition:width .2s}
.progress-wrap{display:flex;flex-direction:column;align-items:flex-end}
.progress-label{order:1;font-family:var(--mono);font-size:22px;font-weight:600;line-height:1;white-space:nowrap}
.progress-label span{color:var(--dim5)}
.tools{display:flex;gap:6px}
.btn{
  padding:9px 14px;background:var(--acc);color:var(--bg);
  font:700 11.5px/1 Archivo,sans-serif;letter-spacing:.08em;text-transform:uppercase;
  border:1px solid var(--acc);transition:.12s;
}
.btn:hover{background:#ffdd6b;border-color:#ffdd6b}
.btn.ghost{background:transparent;border-color:var(--line2);color:var(--dim)}
.btn.ghost:hover{background:transparent;border-color:var(--dim3);color:var(--ink)}
.btn.wide{display:block;width:100%;margin-top:14px;text-align:center;padding:11px 12px;font-size:12px}
.btn.sm{padding:9px 12px;font-size:10.5px}
.btn.ghost.gold{color:var(--acc);border-color:var(--acc-line)}
.btn.ghost.gold:hover{border-color:var(--acc);color:#ffdd6b}

/* ---------- bottom nav (mobile) ---------- */
.bottomnav{
  display:none;position:fixed;left:0;right:0;bottom:0;z-index:10;
  grid-template-columns:repeat(4,1fr);background:var(--panel);border-top:1px solid var(--line);
}
.bn{padding:11px 0 14px;font:700 10px/1 Archivo,sans-serif;letter-spacing:.09em;
  text-transform:uppercase;color:var(--dim3);box-shadow:inset 0 2px 0 transparent}
.bn.on{color:var(--ink);box-shadow:inset 0 2px 0 var(--acc)}

/* ---------- tabs ---------- */
.tabs{display:flex;padding:0 30px;background:var(--panel);
  border-bottom:1px solid var(--line);margin-bottom:22px;overflow-x:auto}
.tab{
  padding:13px 18px;font:700 12.5px/1 Archivo,sans-serif;letter-spacing:.1em;
  text-transform:uppercase;color:var(--dim3);white-space:nowrap;
  border-bottom:3px solid transparent;margin-bottom:-1px;
}
.tab:hover{color:var(--ink)}
.tab.on{color:var(--ink);border-bottom-color:var(--acc)}

main.view{padding:0 30px}
.notice{margin-left:30px;margin-right:30px}

/* ---------- shared bits ---------- */
.logo{
  width:26px;height:26px;display:inline-grid;place-items:center;flex:none;
  font:600 9.5px/1 var(--mono);letter-spacing:.02em;
}
.logo.l4{font-size:8.5px} .logo.l5{font-size:7.5px;letter-spacing:0}
.logo.big{width:44px;height:44px;font-size:15px}
.logo.big.l4{font-size:13px} .logo.big.l5{font-size:11px}
.badge{
  font:500 9px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;
  padding:4px 6px;border:1px solid var(--line2);color:var(--dim3);white-space:nowrap;
}
.badge.gold{border-color:var(--acc-line);color:var(--acc)}
.badge.bye{border-color:#2a3b33;color:var(--win)}
.badge.dimb{border-style:dashed;color:var(--dim4)}
.pill{font:500 9.5px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;
  padding:5px 8px;border:1px solid var(--line3);color:var(--dim2);white-space:nowrap}
.pill.ok{color:var(--win);border-color:#2a3b33}
.pill.gold{color:var(--acc);border-color:var(--acc-line)}
.card{background:var(--panel);border:1px solid var(--line);padding:0 16px 16px;margin-bottom:18px}
.cardhead{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;
  margin:0 -16px 6px;padding:13px 16px;border-bottom:1px solid var(--line)}
.cardhead h3{font-size:19px;line-height:1.05}
.cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(360px,1fr));gap:18px;align-items:start}
.card.slim{padding:0}
.card.slim .cardhead{margin:0;border-bottom:0;padding:16px}
.card.slim .cardhead h3{font-size:26px}
.foot{margin:14px 0 0;font:500 10.5px/1.6 var(--mono);letter-spacing:.08em;
  text-transform:uppercase;color:var(--dim4)}
.warn{margin:14px 0 0;font:500 10.5px/1.6 var(--mono);letter-spacing:.08em;
  text-transform:uppercase;color:var(--acc);border-left:3px solid var(--acc);padding:2px 0 2px 11px}
.warn.sm{margin:0 0 14px}
.notice{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:-10px 0 18px;
  padding:11px 14px;border:1px solid var(--acc-line);background:rgba(255,210,63,.06);
  color:var(--acc);font:500 11px/1.5 var(--mono);letter-spacing:.08em;text-transform:uppercase}
.notice.warn{margin:-10px 0 18px;border-left:1px solid var(--acc-line);padding:11px 14px}
.notice button{font-size:18px;line-height:1;color:inherit;opacity:.7}
.opp{display:flex;align-items:center;gap:9px;min-width:0;text-align:left;
  font:700 13px/1 Archivo,sans-serif;letter-spacing:.02em}
.opp span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.opp.link:hover span{color:var(--acc)}

/* ---------- make picks (2a — the ledger) ---------- */
.pickbody{display:grid;grid-template-columns:272px 1fr;gap:0;align-items:start;
  border:1px solid var(--line);background:var(--panel)}
.sidebar{position:sticky;top:0;border-right:1px solid var(--line);
  background:#0c0c0e;padding:18px 0 22px}
.confchips{display:flex;flex-wrap:wrap;gap:5px;padding:0 20px 12px}
.cchip{display:flex;align-items:center;gap:5px;padding:6px 9px;
  border:1px solid var(--line3);font:500 10px/1 var(--mono);letter-spacing:.14em;
  text-transform:uppercase;color:var(--dim3)}
.cchip span{color:var(--dim4)}
.cchip:hover{color:var(--ink);border-color:var(--dim4)}
.cchip.on{background:var(--acc);border-color:var(--acc);color:var(--bg)}
.cchip.on span{color:rgba(10,10,11,.6)}
.g6row{margin:-6px 0 6px;padding:8px 20px 4px;background:#0a0a0b;border-top:1px solid var(--line)}
.cchip.g6toggle{border-style:dashed;color:var(--dim4)}
.cchip.g6toggle i{font-style:normal;color:var(--dim4)}
.cchip.g6toggle b{font-weight:400;font-size:9px}
.cchip.g6toggle.open{border-style:solid;color:var(--ink);background:var(--panel2)}
.teamlist{list-style:none;margin:0;padding:0;max-height:60vh;overflow-y:auto;
  border-top:1px solid var(--line)}
.teamlist .divhead{padding:11px 20px 6px;font:500 10px/1 var(--mono);letter-spacing:.18em;
  text-transform:uppercase;color:var(--acc)}
h4.divlabel{margin:14px 0 6px;font:500 10px/1 var(--mono);letter-spacing:.18em;color:var(--acc)}
h4.divlabel:first-of-type{margin-top:8px}
.teamlist li+li{border-top:1px solid var(--hair)}
.teambtn{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:10px;
  width:100%;padding:9px 20px;text-align:left}
.teambtn .logo{display:none}
.teambtn:hover{background:var(--panel2)}
.teambtn.on{background:var(--panel3);box-shadow:inset 4px 0 0 var(--acc)}
.teambtn .tn{font:700 13.5px/1 Archivo,sans-serif;letter-spacing:.02em;color:var(--dim);
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.teambtn.on .tn{color:#fff}
.teambtn .tr{font:500 12px/1 var(--mono);color:var(--dim3);white-space:nowrap}
.teambtn .tp{font:500 11px/1 var(--mono);color:var(--dim4);width:36px;text-align:right}
.teambtn .tp.full{color:var(--win)}
.sidebar .btn.wide{margin:16px 20px 0;width:calc(100% - 40px)}

.detail{min-width:0;padding:22px 30px 30px}
.teamhero{display:flex;align-items:flex-end;gap:18px;flex-wrap:wrap;
  padding-bottom:16px;border-bottom:1px solid var(--line);margin-bottom:18px}
.teamhero .logo.big{width:60px;height:60px;font-family:var(--display);font-size:21px;font-weight:400}
.teamhero .th-txt{flex:1 1 220px;min-width:0}
.teamhero h2{font-family:var(--display);font-size:38px;line-height:.95}
.teamhero h2 em{font-style:normal;color:var(--dim4)}
.teamhero p{margin:7px 0 0;font:500 11.5px/1 var(--mono);letter-spacing:.16em;
  text-transform:uppercase;color:var(--dim3)}
.th-stats{display:flex;gap:1px}
.th-stats div{background:var(--panel2);padding:10px 18px;text-align:center;min-width:78px}
.th-stats b{display:block;font-family:var(--mono);font-size:24px;font-weight:600;line-height:1}
.th-stats span{display:block;margin-top:6px;font:500 10px/1 var(--mono);letter-spacing:.14em;
  text-transform:uppercase;color:var(--dim3)}
.th-stats .win-total b{color:var(--acc);font-size:19px;white-space:nowrap}

.resume-panel{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;
  margin:18px 0;background:var(--line)}
.resume-panel>div{display:flex;flex-direction:column;gap:5px;min-height:74px;
  padding:11px 13px;background:var(--panel2)}
.resume-panel .resume-lead{background:#1a1a12;box-shadow:inset 3px 0 0 var(--acc)}
.resume-panel b{font:700 15px/1.2 Archivo,sans-serif;letter-spacing:.02em;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.resume-panel b em{font:600 12px var(--mono);font-style:normal;color:var(--acc);margin-left:5px}
.resume-panel span{font:500 9.5px/1 var(--mono);letter-spacing:.14em;
  text-transform:uppercase;color:var(--dim3)}
.resume-panel em{font:500 10.5px/1.3 var(--mono);font-style:normal;color:var(--dim2)}
.resume-why{margin:-8px 0 14px;font:500 10.5px/1.7 var(--mono);letter-spacing:.06em;color:var(--dim4)}
.resume-why b{color:var(--dim2)}

.gamelist{border-top:1px solid var(--line)}
.game{display:grid;
  grid-template-columns:212px minmax(130px,1.4fr) minmax(170px,1fr) 112px;
  align-items:center;gap:14px;padding:11px 0;border-bottom:1px solid #17171a}
.game:hover{background:var(--panel2)}
.gmeta{display:flex;align-items:baseline;flex-wrap:wrap;gap:3px 8px;
  font:500 11px/1.3 var(--mono);letter-spacing:.06em;text-transform:uppercase}
.gmeta b{font-weight:500;color:var(--dim4)}
.gmeta span{color:var(--dim3)}
.gmeta i{font-style:normal;color:var(--dim2);font-variant-numeric:tabular-nums}
.game .opp{gap:11px;font:700 16px/1 Archivo,sans-serif}
.game .opp .logo{width:28px;height:28px;font-size:10px}
.game.picked .opp span{color:var(--ink2)}
.tag{font:500 10.5px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--dim4)}
.tag.neutral{color:var(--dim4)}
.market{display:grid;grid-template-columns:1fr 1fr auto;gap:3px 8px;align-items:center;min-width:0;
  padding:5px 8px;background:var(--panel2);font:500 10px/1.2 var(--mono)}
.market-side{display:flex;align-items:baseline;gap:5px;min-width:0;white-space:nowrap}
.market-side b{width:32px;overflow:hidden;text-overflow:ellipsis;font-weight:600;color:var(--dim2)}
.market-side em{font-style:normal;color:var(--ink2)}
.market-spread{grid-column:3;grid-row:1/3;align-self:stretch;display:flex;flex-direction:column;
  justify-content:center;gap:3px;padding-left:8px;border-left:1px solid var(--line2);white-space:nowrap}
.market-spread b{font:500 8.5px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--dim4)}
.market-spread em{font-style:normal;font-weight:600;color:var(--acc)}
.pickbtns{display:flex;gap:5px;justify-self:end}
.pb{width:48px;height:32px;display:grid;place-items:center;
  font:600 13px/1 var(--mono);border:1px solid var(--line3);color:var(--dim4);transition:.12s}
.pb:hover{color:var(--ink);border-color:var(--dim3)}
.pb.w.on{background:var(--win);border-color:var(--win);color:var(--bg)}
.pb.l.on{background:var(--loss);border-color:var(--loss);color:var(--bg)}
.byes{margin:16px 0 0;font:500 11px/1.7 var(--mono);letter-spacing:.08em;
  text-transform:uppercase;color:var(--dim4)}

/* ---------- section masthead (3a/3c/3d) ---------- */
.masthead-wrap{padding:0}
.masthead{margin:0 -16px 18px;padding:22px 28px 20px;border-bottom:1px solid var(--line);
  display:flex;align-items:flex-end;justify-content:space-between;gap:24px;flex-wrap:wrap}
.mh-eyebrow{font:500 11px/1 var(--mono);letter-spacing:.22em;text-transform:uppercase;color:var(--dim3)}
.masthead h2{margin:8px 0 0;font-family:var(--display);font-size:42px;font-weight:400;
  line-height:.9;text-transform:uppercase;letter-spacing:.005em}
.masthead p{margin:8px 0 0;font:500 12px/1 var(--mono);letter-spacing:.1em;
  text-transform:uppercase;color:var(--dim3)}
.mh-stats{display:flex;gap:1px;flex:none}
.mh-tile{background:var(--panel2);padding:10px 18px;text-align:center;min-width:74px;flex:none}
.mh-tile b{display:block;font-family:var(--mono);font-size:24px;font-weight:600;line-height:1;white-space:nowrap}
.mh-tile b span{color:var(--dim5)}
.mh-tile span{display:block;margin-top:6px;font:500 10px/1 var(--mono);letter-spacing:.14em;
  text-transform:uppercase;color:var(--dim3)}
.mh-tile.gold b{color:var(--acc)}
.mh-progress{text-align:right}
.mh-pnum{font-family:var(--mono);font-size:32px;font-weight:600;line-height:1;color:var(--acc)}
.mh-pnum span{color:var(--dim5)}
.mh-ticks{margin-top:9px;display:flex;gap:2px;justify-content:flex-end}
.mh-ticks span{width:12px;height:7px;display:block;background:var(--line)}
.mh-ticks span.on{background:var(--acc)}
.mh-plabel{margin-top:8px;font:500 11px/1 var(--mono);letter-spacing:.14em;
  text-transform:uppercase;color:var(--dim3)}

/* ---------- standings (3a) ---------- */
.stand-divhead{margin:14px 0 2px;font:500 10px/1 var(--mono);letter-spacing:.18em;
  text-transform:uppercase;color:var(--acc)}
.stand-divhead:first-child{margin-top:0}
.stand-grid{display:grid;grid-template-columns:1fr 300px;gap:26px;margin-top:16px}
.stand-headrow,.stand-row{display:grid;
  grid-template-columns:30px 1fr 60px 60px 60px 92px;align-items:center;gap:12px}
.stand-headrow{padding:0 4px 9px;border-bottom:1px solid var(--line);
  font:500 10px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--dim4)}
.stand-headrow span:nth-child(n+3){text-align:right}
.stand-row{padding:9px 4px;border-bottom:1px solid var(--hair)}
.stand-row.zone{box-shadow:inset 3px 0 0 var(--acc)}
.stand-row .sr-pos{font:500 12px/1 var(--mono);color:var(--dim4);padding-left:11px}
.stand-row.zone .sr-pos{color:var(--ink)}
.stand-row .sr-team{gap:10px;font:700 14px/1 Archivo,sans-serif;letter-spacing:.02em}
.sr-team .tbchip{margin-left:2px}
.stand-row .sr-conf,.stand-row .sr-ovr{text-align:right;font-size:13px;font-weight:600}
.stand-row .sr-ovr{color:var(--dim2);font-weight:500}
.stand-row .sr-streak{text-align:right;font-size:12.5px;color:var(--dim3)}
.sr-streak.w{color:var(--win)}
.sr-streak.l{color:var(--loss)}
.stand-row .sr-last5{display:flex;gap:3px;justify-content:flex-end}
.sr-last5 i{width:14px;height:14px;display:block;font-style:normal;background:var(--line)}
.sr-last5 i.win{background:var(--win)}
.sr-last5 i.loss{background:var(--loss)}
.tbchip{display:inline-block;font:500 9px/1 var(--mono);letter-spacing:.08em;
  padding:4px 5px;background:var(--line);color:var(--dim2);cursor:help}
.stand-side{border-left:1px solid var(--line);padding:0 0 0 22px}
.sb-label{font:500 10.5px/1 var(--mono);letter-spacing:.16em;text-transform:uppercase;
  color:var(--dim4);margin-bottom:12px}
.sb-item{background:var(--panel2);padding:14px 15px;margin-bottom:8px;border-left:3px solid var(--acc)}
.sb-item.done{border-left-color:var(--line3)}
.sb-title{font:700 13.5px/1.35 Archivo,sans-serif;letter-spacing:.02em}
.sb-title.dim{color:var(--dim2);font-weight:500}
.sb-sub{margin-top:8px;font:500 11px/1.6 var(--mono);letter-spacing:.06em;
  text-transform:uppercase;color:var(--dim2)}
.sb-more{font:500 10.5px/1.6 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--dim4)}
.sb-rule{border-top:1px solid var(--line);margin:18px 0 14px}
.sb-team{display:flex;align-items:center;gap:10px;background:var(--panel2);padding:10px 12px}
.sb-team+.sb-team{margin-top:1px}
.sb-tname{font:700 13px/1 Archivo,sans-serif;flex:1}
.sb-tag{font:500 10px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--win)}
.stand-side .btn.wide{margin-top:18px}

/* ---------- championships (4b) ---------- */
.cgmatch{display:grid;grid-template-columns:1fr 34px 1fr;align-items:stretch;padding:16px 0 0}
.cgteam{display:flex;flex-direction:column;align-items:center;gap:9px;padding:14px 14px 16px;
  position:relative;border:1px solid var(--line3);background:var(--panel2);transition:.13s}
.cgteam:hover{border-color:var(--dim4)}
.cgteam.on{border-color:var(--acc);background:rgba(255,210,63,.07)}
.cgteam .logo.big{width:44px;height:44px;font-size:14px}
.cgteam b{font:700 16px/1.2 Archivo,sans-serif;letter-spacing:.02em;text-align:center}
.cgteam.on b{color:var(--acc)}
.cgteam .mono{font-size:11px;color:var(--dim3)}
.cgteam .seedno{font:500 9.5px/1 var(--mono);letter-spacing:.14em;color:var(--dim3);order:-1}
.cgteam .tbnote{font:500 10px/1.3 var(--mono);font-style:normal;color:var(--dim4);text-align:center}
.vs{display:grid;place-items:center;font:500 10px/1 var(--mono);letter-spacing:.1em;
  text-transform:uppercase;color:var(--dim4)}
.champline{margin:16px 0 0;font:700 13px/1.4 Archivo,sans-serif;letter-spacing:.02em;color:var(--acc)}
.pending{padding:18px 0 4px}
.pending p{margin:0 0 10px;font:700 15px/1.4 Archivo,sans-serif;letter-spacing:.02em}
.pending p b{color:var(--acc)}
.pending p.dim{font:500 11px/1.6 var(--mono);letter-spacing:.06em;color:var(--dim2)}
.pending .btn{margin-top:4px;background:transparent;border-color:var(--line2);color:var(--dim)}
.pending .btn:hover{border-color:var(--dim3);color:var(--ink)}

/* ---------- rankings (3c) ---------- */
.rk{width:26px;text-align:right;font:600 14px/1 var(--mono);color:var(--dim3);flex:none}
.rank-body{display:grid;grid-template-columns:1fr 1fr;gap:26px;padding-top:2px}
.rank-colhead{display:flex;align-items:center;justify-content:space-between;padding:0 4px 9px;
  border-bottom:1px solid var(--line);font:500 10px/1 var(--mono);letter-spacing:.16em;
  text-transform:uppercase;color:var(--dim4)}
.rank-row{display:flex;align-items:center;gap:12px;padding:10px 4px;border-bottom:1px solid var(--hair)}
.rank-row.infield .rr-pos{color:var(--acc)}
.rr-pos{width:24px;text-align:right;font:600 14px/1 var(--mono);color:var(--dim3);flex:none}
.rr-team{flex:1;min-width:0;font:700 15px/1 Archivo,sans-serif;letter-spacing:.02em}
.rank-row .badge{border:1px solid var(--acc-line);padding:4px 6px;font-size:9px;color:var(--acc);flex:none}
.rr-rec{font:500 12.5px/1 var(--mono);color:var(--dim2);white-space:nowrap}
.rr-conf{width:76px;text-align:right;font:500 10px/1 var(--mono);letter-spacing:.06em;
  text-transform:uppercase;color:var(--dim3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* ---------- playoff (3d) ---------- */
.byes-strip{display:flex;flex-wrap:wrap;align-items:center;gap:9px;margin:-18px -16px -18px;
  padding:14px 28px;border-top:1px solid var(--line);background:var(--panel2)}
.bs-label{font:500 10px/1 var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--dim4)}
.bs-chip{display:flex;align-items:center;gap:8px;padding:7px 11px 7px 6px;background:var(--panel3)}
.bs-seed{font:500 11px/1 var(--mono);color:var(--acc)}
.bs-name{font:700 12.5px/1 Archivo,sans-serif;letter-spacing:.02em}

.bids{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;padding-top:16px}
.bid{display:flex;flex-direction:column;align-items:center;gap:8px;padding:13px 12px 12px;
  background:var(--panel2);border:1px solid var(--line3);text-align:center}
.bid.auto{border-color:var(--acc-line)}
.bid.empty{border-style:dashed;border-color:var(--line2)}
.bidlabel{font:500 9.5px/1.3 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--dim3)}
.bid .logo.big{width:38px;height:38px;font-size:13px}
.bid b{font:700 14px/1.2 Archivo,sans-serif;letter-spacing:.02em}
.bid b.dim{color:#5e5e68}
.bid .sm{font:500 10.5px/1 var(--mono);color:var(--dim3)}
.bidtag{font:500 9px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;
  padding:4px 7px;border:1px solid var(--line2);color:var(--dim3)}
.bid.auto .bidtag{border-color:var(--acc-line);color:var(--acc)}
.qmark{width:38px;height:38px;display:grid;place-items:center;border:1px dashed var(--line2);
  color:var(--dim4);font:600 15px/1 var(--mono)}
.chips{display:flex;flex-wrap:wrap;gap:7px;padding:14px 0 0}
.chip{display:flex;align-items:center;gap:8px;padding:6px 10px 6px 7px;
  border:1px solid var(--line3);background:transparent;
  font:700 12.5px/1 Archivo,sans-serif;letter-spacing:.02em;color:#5e5e68;transition:.12s}
.chip .logo{width:22px;height:22px;font-size:8px}
.chip:hover{border-color:var(--dim4)}
.chip.in{background:var(--panel2);border-color:var(--line2);color:var(--ink)}
.chip.manual,.chip.required{border-color:var(--acc-line)}
.chip.required{cursor:default}
.chip .rk{width:auto;font:500 10px/1 var(--mono);color:var(--dim3)}
.chip .mono{font-size:10.5px;color:#5e5e68}
.guarantee{margin:14px 0 0;padding:2px 0 2px 11px;border-left:3px solid var(--acc);
  font:500 10.5px/1.6 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--acc)}
.seedlist{list-style:none;margin:0;padding:12px 0 0;display:grid;
  grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:1px 18px}
.seedlist li{display:flex;align-items:center;gap:10px;padding:8px 11px;background:transparent}
.seedlist li.bye{background:var(--panel2)}
.seedlist li.bye .rk{color:var(--acc)}
.seedlist .rk{width:18px;font-size:12px}
.seedlist .logo{width:22px;height:22px;font-size:8px}
.seedlist .nm{flex:1 1 auto;min-width:0;font:700 13px/1 Archivo,sans-serif;letter-spacing:.02em;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.seedlist .badge{flex:none}
.seedlist .rec{font:500 10.5px/1 var(--mono);color:var(--dim3)}

.bracket{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;padding-top:16px;overflow-x:auto}
.round{min-width:190px;display:flex;flex-direction:column;justify-content:space-around;gap:10px}
.round h4{margin-bottom:14px;padding-bottom:12px;border-bottom:1px solid var(--line);
  font-family:var(--mono);font-size:10px;font-weight:500;letter-spacing:.16em;color:var(--dim4)}
.round:last-child h4{color:var(--acc)}
.matchup{background:var(--panel2);border-left:3px solid var(--line2)}
.round:last-child .matchup{border:1px solid var(--acc-line);border-left:1px solid var(--acc-line)}
.side{display:flex;align-items:center;gap:9px;width:100%;padding:9px 11px;text-align:left;transition:.12s}
.side+.side{border-top:1px solid var(--panel)}
.side .logo{width:22px;height:22px;font-size:8px}
.side:hover{background:var(--panel3)}
.side.on{background:var(--line)}
.side.on .nm{color:var(--acc)}
.side.out{opacity:.4}
.side.tbd{padding:9px 11px;font:500 11px/1 var(--mono);letter-spacing:.1em;color:var(--dim4)}
.side .sd{width:12px;flex:none;font:500 10px/1 var(--mono);color:var(--dim4)}
.side .nm{flex:1;font:700 12.5px/1 Archivo,sans-serif;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.side .mono{font-size:10.5px;color:var(--dim3)}
.trophy{display:flex;align-items:center;gap:16px;margin-top:20px;padding:16px;
  background:var(--panel2);border-left:3px solid var(--acc)}
.trophy span{display:block;font:500 10px/1 var(--mono);letter-spacing:.16em;
  text-transform:uppercase;color:var(--dim3)}
.trophy b{display:block;margin-top:8px;font-family:var(--display);font-weight:400;
  font-size:30px;line-height:1;text-transform:uppercase;color:var(--acc)}

/* ---------- home dashboard (1a) ---------- */
.home-mobile{max-width:480px;display:flex;flex-direction:column;gap:20px}
.home-head h2{margin:8px 0 0;font-family:var(--display);font-size:38px;line-height:.9;text-transform:uppercase}
.home-card{background:var(--panel2);border:1px solid var(--line3);padding:16px}
.home-card-head{display:flex;align-items:baseline;justify-content:space-between;
  font:500 10px/1 var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--dim2);margin-bottom:10px}
.home-pg{display:flex;align-items:center;gap:10px;padding:6px 0}
.home-pg .hpg-name{flex:1;min-width:0;font:700 14px/1 Archivo,sans-serif;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.home-pg .hpg-prob{font:500 11px/1 var(--mono);color:var(--dim2)}
.home-card .btn{margin-top:12px}
.home-tiles{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line)}
.home-tile{background:var(--panel2);padding:13px 14px;display:flex;flex-direction:column;gap:9px}
.home-tile span{font:500 9.5px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--dim3)}
.home-tile b{font:400 20px/1 var(--display);text-transform:uppercase}
.home-conf,.home-poll{display:flex;flex-direction:column;gap:10px}
.home-confrow{display:flex;align-items:center;gap:12px}
.hc-name{width:64px;flex:none;font:500 11px/1 var(--mono);color:var(--ink2)}
.hc-bar{flex:1;height:4px;background:var(--line)}
.hc-bar i{display:block;height:100%;background:var(--acc)}
.hc-pct{font:500 10px/1 var(--mono);color:var(--dim3)}
.home-pollrow{display:flex;align-items:center;gap:10px;width:100%;padding:8px 0;border-bottom:1px solid var(--hair)}
.hp-name{flex:1;font:700 13px/1 Archivo,sans-serif}

/* ---------- pick mode + week slate (1d) ---------- */
.pickmode{display:flex;gap:1px;margin-bottom:16px;max-width:340px}
.pm{flex:1;padding:9px 0;background:var(--panel2);color:var(--dim2);
  font:700 10.5px/1 Archivo,sans-serif;letter-spacing:.1em;text-transform:uppercase}
.pm.on{background:var(--acc);color:var(--bg)}
.weekslate{max-width:640px}
.weekslate-head{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:12px}
.weekslate-head h2{font-size:32px;line-height:.9}
.weekpills{display:flex;gap:6px;flex-wrap:wrap;padding-bottom:14px;border-bottom:1px solid var(--line);margin-bottom:14px}
.weekpill{padding:7px 10px;background:var(--panel2);font:500 10px/1 var(--mono);color:var(--dim4)}
.weekpill.on{background:var(--acc);color:var(--bg);font-weight:600}
.weekpill.done:not(.on){color:var(--win)}
.weekpill em{font-style:normal;margin-left:4px;opacity:.75}
.locks-banner{display:flex;align-items:center;gap:10px;flex-wrap:wrap;
  margin-bottom:14px;padding:12px 14px;border:1px solid var(--acc-line);background:rgba(255,210,63,.06)}
.locks-banner>span{flex:1;font:500 10.5px/1.4 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--acc)}
.weekfilters{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:14px}
.filternote{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;
  padding:10px 14px;margin-bottom:14px;background:var(--panel2);border:1px solid var(--acc-line)}
.filternote>span{font:500 10.5px/1.4 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--acc)}
.rs-main .filternote{margin:0 0 14px}
.weeklist{display:flex;flex-direction:column;gap:10px}
.wgroup-head{margin-top:8px;font:500 10px/1 var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--acc)}
.wgroup-head:first-child{margin-top:0}
.wgame{background:var(--panel2);border:1px solid var(--line3)}
.wgame.picked{opacity:.85}
.wgame-head{display:flex;justify-content:space-between;padding:9px 13px;
  border-bottom:1px solid var(--line);font:500 9.5px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--dim3)}
.wgh-spread{color:var(--acc)}
.wgh-picked{color:var(--win)}
.wgame-team{display:flex;align-items:center;gap:11px;width:100%;padding:13px;text-align:left}
.wgame-team+.wgame-team{border-top:1px solid var(--hair)}
.wgame-team.on{background:var(--panel3);box-shadow:inset 3px 0 0 var(--win)}
.wgt-name{flex:1;font:700 15px/1 Archivo,sans-serif;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.wgt-prob{font:500 11px/1 var(--mono);color:var(--dim2)}
.wgame-team.on .wgt-prob{color:var(--win);font-weight:600}
.weekslate-foot{display:flex;gap:10px;margin-top:16px}
.weekslate-foot .btn{flex:1}

/* ---------- team switcher (1f, mobile) ---------- */
.teamswitch{display:none;align-items:center;gap:12px;width:100%;padding:12px 14px;
  background:var(--panel2);border:1px solid var(--line3);text-align:left;margin-bottom:1px}
.teamswitch .ts-name{flex:1;font:700 15px/1 Archivo,sans-serif}
.teamswitch .ts-chev{color:var(--acc)}

/* ---------- postseason stepper (1g/1h/1i, mobile) ---------- */
.postseason-mobile{max-width:640px}
.poststep{display:flex;gap:1px;margin-bottom:16px}
.ps{flex:1;padding:9px 0;background:var(--panel2);color:var(--dim3);
  font:700 10px/1 Archivo,sans-serif;letter-spacing:.09em;text-transform:uppercase}
.ps.on{background:var(--acc);color:var(--bg)}
.ps-head{font:500 10px/1 var(--mono);letter-spacing:.2em;text-transform:uppercase;color:var(--dim3);margin-bottom:12px}
.crown-list{display:flex;flex-direction:column;gap:10px}
.crown-card{background:var(--panel2);border:1px solid var(--line3)}
.crown-card-head{display:flex;justify-content:space-between;padding:10px 13px;
  border-bottom:1px solid var(--line);font:500 9.5px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--dim2)}
.crown-pending{padding:14px}
.crown-pending p{margin:0 0 10px;font:700 14px/1.4 Archivo,sans-serif}
.crown-teams{display:flex}
.crown-team{flex:1;display:flex;flex-direction:column;align-items:center;gap:8px;padding:14px 10px;text-align:center}
.crown-team+.crown-team{border-left:1px solid var(--line)}
.crown-team.on{background:rgba(255,210,63,.07)}
.ct-seed{font:500 9px/1 var(--mono);letter-spacing:.1em;color:var(--dim3)}
.ct-name{font:700 14px/1.2 Archivo,sans-serif}
.crown-team.on .ct-name{color:var(--acc)}
.ct-tag{font:500 9px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--acc)}
.roundtabs{display:flex;gap:6px;flex-wrap:wrap;padding:14px 0;border-bottom:1px solid var(--line);margin-bottom:14px}
.rt{padding:8px 11px;border:1px solid var(--line3);color:var(--dim2);
  font:600 9.5px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase}
.rt.on{background:var(--acc);border-color:var(--acc);color:var(--bg)}
.bracket-step{display:flex;flex-direction:column;gap:10px}
.bracket-step .matchup{border:1px solid var(--line3);border-left-width:3px}
.poststep-foot{display:flex;gap:10px;margin-top:18px}
.poststep-foot .btn{flex:1}

/* ---------- desktop home (2a) ---------- */
.home-desktop{display:none}
.hd-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;
  padding-bottom:20px;border-bottom:1px solid var(--line);margin-bottom:20px}
.hd-head h2{margin:10px 0 0;font:400 42px/.9 var(--display);text-transform:uppercase}
.hd-tiles{display:flex;gap:1px;flex:none}
.hd-body{display:grid;grid-template-columns:1.4fr 1fr;gap:0}
.hd-main{padding-right:34px;border-right:1px solid var(--line);display:flex;flex-direction:column;gap:20px}
.hd-main-head{display:flex;align-items:center;justify-content:space-between;gap:16px}
.hd-actions{display:flex;gap:8px}
.nu-table{display:flex;flex-direction:column}
.nu-row{display:grid;grid-template-columns:44px minmax(0,1fr) 110px 76px 84px;gap:14px;align-items:center;
  padding:11px 4px;border-bottom:1px solid var(--hair)}
.nu-row.nu-head{border-bottom:1px solid var(--line);padding-bottom:9px;
  font:500 9.5px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase}
.nu-matchup{display:flex;align-items:center;gap:10px;min-width:0}
.nu-matchup b{font:700 14px/1 Archivo,sans-serif;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.nu-fpi{text-align:right;font:500 12px/1 var(--mono);color:var(--ink2)}
.nu-spread{text-align:right;font:600 11.5px/1 var(--mono)}
.nu-more{padding:10px 4px;font:500 10.5px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--dim4)}
.hd-conf{display:flex;flex-direction:column;gap:10px}
.hd-conf-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px 26px}
.hd-side{padding-left:26px;display:flex;flex-direction:column;gap:14px;overflow:hidden}
.story-card{background:var(--panel2);border-left:3px solid var(--line2);padding:13px 14px;
  display:flex;flex-direction:column;gap:8px}
.story-card:not(.off){border-left-color:var(--acc)}
.story-tag{font:500 9.5px/1 var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--dim3)}
.story-card:not(.off) .story-tag{color:var(--acc)}
.story-card b{font:700 14px/1.3 Archivo,sans-serif;text-wrap:pretty}
.hd-poll{display:flex;flex-direction:column;gap:1px;background:var(--line)}
.hd-pollrow{display:flex;align-items:center;gap:10px;background:var(--panel2);padding:9px 12px}

/* ---------- desktop regular season (2b) ---------- */
.rs-desktop{display:none}
.rs-sidebar{display:flex;flex-direction:column;gap:4px}
.rs-modehead,.rs-filterhead{padding:0 0 10px;font:500 9.5px/1 var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--dim4)}
.rs-filterhead{margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}
.rs-weeklist{display:flex;flex-direction:column}
.rs-weekbtn{display:flex;align-items:center;justify-content:space-between;gap:8px;
  width:100%;padding:10px 4px;text-align:left;font:700 13px/1 Archivo,sans-serif;color:var(--dim2)}
.rs-weekbtn.on{background:var(--panel3);box-shadow:inset 3px 0 0 var(--acc);color:#fff;padding-left:12px}
.rs-weekbtn em{font-style:normal;font:500 11px/1 var(--mono);color:var(--dim4)}
.rs-weekbtn em.ok{color:var(--win)}
.rs-filters{display:flex;flex-wrap:wrap;gap:5px}
.rs-filter{padding:6px 9px;background:var(--panel2);font:500 9.5px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--dim2)}
.rs-filter.on{background:var(--acc);color:var(--bg)}
.rs-main{display:flex;flex-direction:column;gap:6px;min-width:0}
.rs-main-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;
  padding-bottom:16px;border-bottom:1px solid var(--line);margin-bottom:6px}
.rs-main-head h2{margin:8px 0 0;font:400 38px/.9 var(--display);text-transform:uppercase}
.rs-main-actions{display:flex;align-items:center;gap:12px}
.rs-table{display:flex;flex-direction:column}
.rs-row{display:grid;grid-template-columns:132px minmax(0,1fr) 88px minmax(0,1fr) 76px 104px;gap:10px;align-items:center;
  padding:12px 4px;border-bottom:1px solid var(--hair)}
.rs-row.rs-head{border-bottom:1px solid var(--line);padding-bottom:9px;
  font:500 9.5px/1 var(--mono);letter-spacing:.16em;text-transform:uppercase}
.rs-row.picked{background:rgba(127,209,168,.04)}
.rs-team{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0;text-align:left}
.rs-team .opp{min-width:0}
.rs-team .opp b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.rs-team .mono{flex:none}
.rs-when{color:var(--dim3);white-space:nowrap;font-variant-numeric:tabular-nums}
.rs-when.tbd{color:var(--dim4)}
.rs-odds{display:flex;align-items:baseline;justify-content:space-between;gap:6px;
  font-variant-numeric:tabular-nums;color:var(--dim2)}
.rs-odds b{font-weight:500}
.rs-odds i{font-style:normal;color:var(--dim5)}
.rs-spread{text-align:right;font:600 11.5px/1 var(--mono)}
.rs-pick{display:flex;gap:6px;justify-self:end}
.rsp{width:48px;height:34px;display:grid;place-items:center;border:1px solid var(--line3);
  color:var(--dim3);font:600 11px/1 var(--mono)}
.rsp:hover{color:var(--ink);border-color:var(--dim3)}
.rsp.on{background:var(--win);border-color:var(--win);color:var(--bg)}
.live-panel{border-left:1px solid var(--line);padding-left:26px;display:flex;flex-direction:column;gap:14px;overflow:hidden}
.live-title{margin:8px 0 4px;font:400 24px/1 var(--display);text-transform:uppercase}
.live-panel .confchips{padding:0 0 4px}
.live-standings{display:flex;flex-direction:column;gap:1px;background:var(--line)}
.live-row{display:flex;align-items:center;gap:10px;background:var(--panel2);padding:9px 12px}
.live-row.zone{box-shadow:inset 3px 0 0 var(--acc)}
.lr-pos{width:14px;font:500 11px/1 var(--mono);color:var(--ink)}
.lr-name{flex:1;font:700 13px/1 Archivo,sans-serif}
.live-cfp{border-top:1px solid var(--line);padding-top:14px;display:flex;flex-direction:column;gap:9px}
.live-cfp-num{display:flex;align-items:baseline;gap:10px}
.live-cfp-num b{font:600 22px/1 var(--mono)}

/* ---------- desktop postseason (2c/2d) ---------- */
.postseason-desktop{display:none}
.pd-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;
  padding-bottom:20px;border-bottom:1px solid var(--line);margin-bottom:22px}
.pd-head h2{margin:10px 0 0;font:400 40px/.9 var(--display);text-transform:uppercase}
.pd-steps{display:flex;gap:1px;align-items:stretch}
.pd-step{padding:11px 18px;background:var(--panel2);color:var(--dim2);
  font:700 10.5px/1 Archivo,sans-serif;letter-spacing:.1em;text-transform:uppercase}
.pd-step.on{background:var(--acc);color:var(--bg)}
.pd-steps .btn{margin-left:12px}
.pd-body{display:grid;grid-template-columns:1fr 380px;gap:0}
.pd-main{padding-right:30px;display:flex;flex-direction:column;gap:16px;min-width:0}
.pd-main .card{margin-bottom:0}
.crown-grid-d{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.crown-card-d{background:var(--panel2);border:1px solid var(--line3)}
.crown-card-d .crown-card-head{display:flex;justify-content:space-between;padding:10px 14px;
  border-bottom:1px solid var(--line);font:500 9.5px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--dim2)}
.crown-card-d .crown-teams{padding:14px;gap:0}
.crown-card-d .crown-team{border:1px solid var(--line3);background:var(--panel3)}
.crown-card-d .crown-team+.crown-team{border-left:1px solid var(--line3);margin-left:0}
.crown-card-d .crown-team .logo.big{width:36px;height:36px;font-size:12px}
.g6chip-row{display:flex;flex-wrap:wrap;gap:8px}
.g6chip{padding:9px 12px;border:1px solid var(--line3);font:500 10px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--dim2)}
.g6chip.on{border-color:var(--acc-line);color:var(--acc)}
.sboard{border-left:1px solid var(--line);padding-left:26px;display:flex;flex-direction:column;gap:14px;overflow:hidden}
.sboard-head{display:flex;align-items:baseline;justify-content:space-between}
.sboard-list{display:flex;flex-direction:column;gap:1px;background:var(--line)}
.sb2-row{display:flex;align-items:center;gap:9px;background:var(--panel2);padding:10px 12px}
.sb2-row.wait{border:1px dashed var(--line2);background:transparent}
.sb2-qmark{width:22px;height:22px;display:grid;place-items:center;border:1px dashed var(--line2);
  color:var(--dim4);font:600 9px/1 var(--mono)}
.sb2-name{flex:1;font:700 12.5px/1 Archivo,sans-serif}
.sb2-tag{font:500 8.5px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase}
.sboard-chips{display:flex;flex-wrap:wrap;gap:6px}
.sb2-chip{display:flex;align-items:center;gap:6px;padding:7px 10px 7px 7px;
  background:var(--panel2);border:1px solid var(--line3);font:700 12px/1 Archivo,sans-serif}
.pd-bracket .card{border:0;padding:0}
.pd-bracket .cardhead{margin:0 0 16px;padding:0;border-bottom:0}
.pd-bracket .cardhead h3{display:none}
.pd-byes{margin:0 0 22px;padding:14px 18px;border:1px solid var(--line)}

/* ---------- responsive ---------- */
@media (max-width:900px){
  .pickbody{grid-template-columns:1fr}
  .sidebar{position:static;border-right:0;border-bottom:1px solid var(--line)}
  .teamlist{max-height:320px}
  .bracket{grid-template-columns:repeat(4,minmax(180px,1fr))}
  .stand-grid{grid-template-columns:1fr}
  .stand-side{border-left:0;border-top:1px solid var(--line);padding:20px 0 0;margin-top:6px}
  .rank-body{grid-template-columns:1fr}
}
@media (max-width:640px){
  .topbar,.tabs,main.view{padding-left:14px;padding-right:14px}
  .notice{margin-left:14px;margin-right:14px}
  .detail{padding:18px 14px 24px}
  .brand h1{font-size:20px}
  .brandmark{font-size:21px}
  .progress-wrap{flex:1 1 100%;order:3;align-items:flex-start}
  .tools{flex:1 1 100%;order:4}
  .tools .btn{flex:1}
  .cols{grid-template-columns:1fr}

  .game{grid-template-columns:minmax(0,1fr) auto auto;gap:7px 8px;padding:10px 0}
  .gmeta{grid-column:1/-1;font-size:10px;letter-spacing:.04em;gap:2px 7px}
  .game .opp{grid-column:1;gap:8px;font-size:13px;align-items:center}
  .game .opp .logo{width:24px;height:24px}
  /* long names wrap rather than truncate -- the market takes a fixed slice */
  .game .opp span{white-space:normal;overflow:visible;line-height:1.15}
  /* spread to the left, the two win probabilities stacked to its right */
  .game .market{grid-column:2;grid-template-columns:auto minmax(0,1fr);
    gap:2px 6px;padding:4px 6px;font-size:9px;letter-spacing:0}
  .game .market .market-side{grid-column:2;gap:4px}
  .game .market .market-spread{grid-column:1;grid-row:1/3;gap:0;
    padding:0 6px 0 0;border-left:0;border-right:1px solid var(--line2)}
  .game .market .market-spread b{display:none}
  .game .market .market-side b{width:auto;min-width:30px}
  .game .pickbtns{grid-column:3;gap:4px}
  .pb{width:34px;height:28px;font-size:12px}
  .teamhero h2{font-size:28px}
  .th-stats{width:100%}
  .th-stats div{flex:1;min-width:0;padding:10px 6px}
  .th-stats b{font-size:17px}
  .th-stats .win-total b{font-size:14px;white-space:normal}

  .rank-body{gap:6px}
  .rr-conf{display:none}
  .seedlist li{flex-wrap:wrap}
  .seedlist .rec{margin-left:auto}
  .bids{grid-template-columns:1fr 1fr}
  .cgmatch{grid-template-columns:1fr}
  .vs{padding:4px 0}
  .resume-panel{grid-template-columns:1fr 1fr}

  .masthead{margin:0 -16px 16px;padding:18px 16px 16px;flex-direction:column;align-items:flex-start;gap:14px}
  .masthead h2{font-size:32px}
  .mh-stats{align-self:stretch}
  .mh-progress{align-self:stretch;text-align:left}
  .mh-ticks{justify-content:flex-start}
  .stand-headrow,.stand-row{grid-template-columns:24px 1fr 50px 50px;gap:8px}
  .stand-headrow .sr-streak,.stand-headrow .sr-last5,.stand-row .sr-streak,.stand-row .sr-last5{display:none}
  .byes-strip{margin:-18px -16px -18px;padding:12px 16px}

  /* bottom-nav mobile shell */
  .tabs{display:none}
  .bottomnav{display:grid}
  #app{padding-bottom:76px}

  /* team switcher collapses the sidebar behind a toggle */
  .teamswitch{display:flex}
  .pickbody .sidebar{display:none}
  .pickbody .sidebar.open{display:block}

  .home-tiles{grid-template-columns:1fr 1fr}
  .weekslate-head h2{font-size:26px}
  .crown-teams{flex-direction:column}
  .crown-team+.crown-team{border-left:0;border-top:1px solid var(--line)}
}

/* ---------- desktop shell (2a/2b/2c/2d) ---------- */
@media (min-width:1100px){
  #app{max-width:1560px}
  .topbar{padding:20px 40px}
  .tabs{padding:0 40px}
  main.view{padding:0 40px}
  .notice{margin-left:40px;margin-right:40px}

  .home-mobile,.weekslate,.postseason-mobile{display:none}
  .home-desktop{display:block}
  .rs-desktop{display:grid;grid-template-columns:190px 1fr 300px;gap:0;
    border:1px solid var(--line);background:var(--panel)}
  .rs-sidebar{padding:22px 24px 0}
  .rs-main{padding:22px 26px 22px 30px;border-left:1px solid var(--line)}
  .live-panel{padding:22px 26px 0}
  .postseason-desktop{display:block}
}
