/* Original layout. Chalkboard tokens + Lydia fonts only. */
@font-face{font-family:"Archivo Narrow";src:url("brand/fonts/ArchivoNarrow-Bold.ttf") format("truetype");font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:"Archivo Narrow";src:url("brand/fonts/ArchivoNarrow-SemiBold.ttf") format("truetype");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:"IBM Plex Sans";src:url("brand/fonts/IBMPlexSans-Regular.ttf") format("truetype");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"IBM Plex Sans";src:url("brand/fonts/IBMPlexSans-Medium.ttf") format("truetype");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"IBM Plex Sans";src:url("brand/fonts/IBMPlexSans-SemiBold.ttf") format("truetype");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:"IBM Plex Sans";src:url("brand/fonts/IBMPlexSans-Bold.ttf") format("truetype");font-weight:700;font-style:normal;font-display:swap}

:root{
  --charcoal:#1C1C1C;
  --cc-charcoal:#1C1C1C;
  --chalk:#F4F1E8;
  --highlighter:#D4F542;
  --slate:#3A3F44;
  --white:#fff;
  --ink:#1b1f24;
  --muted:#c8cdc8;
  --line:#e6e2d8;
  --line2:#ece8de;
  --disp:"Archivo Narrow",ui-sans-serif,system-ui,sans-serif;
  --sans:"IBM Plex Sans",ui-sans-serif,system-ui,sans-serif;
}

*{box-sizing:border-box}
body{margin:0;font-family:var(--sans);color:var(--chalk);background:var(--cc-charcoal);line-height:1.5}
header{background:var(--cc-charcoal);color:#fff;padding:20px 16px;border-bottom:1px solid rgba(255,255,255,.08)}
header .w{max-width:1200px;margin:auto;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;align-items:center}
header h1,header .brand{margin:0;font-family:var(--disp);font-size:1.4rem;font-weight:700}
header .brand{line-height:0}
header .brand a{display:inline-block;text-decoration:none;color:inherit}
header .brand img{display:block;height:40px;width:auto;max-width:min(280px,70vw)}
header h1 a{color:inherit;text-decoration:none}
header nav a{color:#cfd3d6;margin-left:16px;text-decoration:none;font-weight:600;font-family:var(--sans)}
header nav a.on{color:#fff;border-bottom:2px solid var(--highlighter)}
main{max-width:1200px;margin:auto;padding:16px 28px 16px 16px}
.asof{color:var(--muted);font-size:.9rem}
.controls{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}
.controls select,.controls input{padding:8px 10px;border:1px solid rgba(255,255,255,.22);border-radius:8px;font-size:1rem;background:#fff;color:var(--ink);font-family:var(--sans)}
.tabs{display:flex;flex-wrap:wrap;gap:6px}
.tabs button{border:1px solid rgba(255,255,255,.28);background:transparent;color:var(--chalk);padding:8px 12px;border-radius:999px;font-weight:600;cursor:pointer;font-family:var(--sans)}
.tabs button.on{background:var(--highlighter);color:var(--cc-charcoal);border-color:var(--highlighter)}
.tw{overflow-x:auto;background:#fff;color:var(--ink);border-radius:10px;box-shadow:0 10px 28px rgba(0,0,0,.45),0 2px 6px rgba(0,0,0,.35);margin-right:12px;box-sizing:border-box}
table{border-collapse:collapse;width:100%;font-size:.92rem}
th,td{padding:8px 10px;border-bottom:1px solid var(--line2);text-align:right;white-space:nowrap}
th{background:#efece3;position:sticky;top:0;cursor:pointer;user-select:none;font-family:var(--disp);font-weight:700}
th:nth-child(2),td:nth-child(2),th:nth-child(3),td:nth-child(3){text-align:left}
th[data-k="pre_sos_rank"],td:nth-last-child(2){padding-right:12px}
th.sp,td.sp{width:36px;min-width:36px;max-width:36px;padding:0!important;border-left:0;border-right:0;border-top:0;border-bottom:1px solid var(--line2)}
th.sp{background:#efece3}
tbody tr:last-child td.sp{border-bottom:0}
td:nth-child(2){font-weight:700}
tr:hover td{background:#faf8f2}
.card{background:#fff;color:var(--ink);border-radius:10px;padding:20px;margin:16px 0;box-shadow:0 10px 28px rgba(0,0,0,.45),0 2px 6px rgba(0,0,0,.35)}
.card h2{margin-top:0;color:var(--charcoal);font-family:var(--disp);font-weight:700}
code{background:#efece3;padding:2px 6px;border-radius:4px}
footer{max-width:1200px;margin:auto;padding:16px;color:var(--muted);font-size:.85rem}
@media(max-width:640px){header nav a{margin:0 16px 0 0}th,td{padding:6px 8px;font-size:.85rem}}

.ph{position:relative;display:inline-block;margin-left:4px;vertical-align:middle}
.ph>button{border:0;background:var(--charcoal);color:#fff;border-radius:50%;width:20px;height:20px;font-size:12px;font-weight:800;cursor:pointer;line-height:20px;padding:0;font-family:var(--sans)}
.ph .tip{display:none;position:absolute;z-index:20;top:26px;left:50%;transform:translateX(-50%);width:240px;max-width:78vw;background:var(--charcoal);color:#fff;border-radius:8px;padding:10px 12px;font-size:13px;font-weight:400;line-height:1.45;text-align:left;box-shadow:0 4px 14px rgba(0,0,0,.3)}
.ph.on .tip{display:block}
.ph .tip a{color:var(--highlighter);font-weight:700}
@media(max-width:600px){.ph .tip{position:fixed;top:auto;bottom:16px;left:50%;width:calc(100vw - 32px);max-width:420px}}

/* methodology extras from production */
.art{display:block}.toc{margin:0 0 16px}.toc a{display:inline-block;margin:4px 10px 4px 0;color:var(--highlighter);font-weight:600}
.card.hero .lead{font-size:1.05rem}
.nerd{margin-top:12px}.nerd summary{cursor:pointer;font-weight:700;font-family:var(--disp)}
.kick{font-family:var(--disp);font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-size:.82rem;margin:0}
.pt{font-family:var(--disp);font-weight:700;font-size:1.9rem;line-height:1.08;margin:2px 0 8px;color:var(--chalk)}
@media(min-width:760px){.pt{font-size:2.5rem}}

/* team detail (Batch 1) - same structure, chalk tokens */
.tm{max-width:760px}
.tm .kick a{color:var(--muted);text-decoration:none;font-weight:600}.tm .kick a:hover{color:var(--highlighter)}
.tm-head{display:flex;gap:16px;align-items:center;margin:4px 0 14px}
.tm-logo{width:72px;height:72px;object-fit:contain;flex:none;background:#fff;border:1px solid var(--line);padding:6px}
.tm .pt{margin:0;font-size:2rem;line-height:1.05}
@media(min-width:760px){.tm .pt{font-size:2.6rem}.tm-logo{width:88px;height:88px}}
.tm-meta{margin:4px 0 0;color:var(--muted);font-size:.95rem}
.tm-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:0;margin:0 0 28px;border-top:2px solid var(--highlighter);border-bottom:1px solid var(--line);background:#fff;color:var(--ink);border-radius:0 0 8px 8px;box-shadow:0 10px 28px rgba(0,0,0,.45)}
@media(min-width:560px){.tm-stats{grid-template-columns:repeat(4,1fr)}}
.tm-stats div{padding:12px 14px;border-right:1px solid var(--line2)}
.tm-stats div:last-child{border-right:0}
.tm-stats span{display:block;font-family:var(--disp);font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--slate)}
.tm-stats b{display:block;font-family:var(--disp);font-weight:700;font-size:1.45rem;line-height:1.15;margin-top:2px;font-variant-numeric:tabular-nums;color:var(--charcoal)}
.tm-stats-sm{margin:0 0 14px}.tm-stats-sm b{font-size:1.25rem}
@media(min-width:560px){.tm-stats-sm{grid-template-columns:repeat(2,1fr)}}
.tm-sec{margin:0 0 32px;padding-top:6px;border-top:1px solid rgba(255,255,255,.18)}
.tm-sec h2{font-family:var(--disp);font-weight:700;font-size:1.35rem;margin:10px 0 10px;color:var(--chalk);text-transform:uppercase;letter-spacing:.04em}
.tm-line{font-weight:700;color:var(--chalk);margin:0 0 10px}
.tm-sec p{margin:0 0 12px;line-height:1.6;color:var(--muted)}
.tm-h2h{background:#fff;color:var(--ink);border-left:3px solid var(--highlighter);padding:10px 12px;margin:12px 0 0;box-shadow:0 8px 22px rgba(0,0,0,.4)}
.tm-break{width:100%;border-collapse:collapse;font-size:.9rem;font-variant-numeric:tabular-nums;background:#fff;color:var(--ink);margin:8px 0 0;box-shadow:0 10px 28px rgba(0,0,0,.45)}
.tm-break th,.tm-break td{padding:8px 10px;border-bottom:1px solid var(--line2);text-align:left}
.tm-break th{font-family:var(--disp);font-size:.75rem;letter-spacing:.06em;text-transform:uppercase;color:var(--slate);border-bottom:1px solid var(--charcoal);background:var(--chalk)}
.tm-break td:last-child,.tm-break th:last-child{text-align:right}
.tm-break tr:last-child td{border-bottom:0;background:#faf8f2}
.tm-more{font-size:.92rem;color:var(--muted);margin:8px 0 0}
.tm-more a{font-weight:700;color:var(--highlighter)}
td a.tm-link,td button.tm-link{color:inherit;text-decoration:none;font-weight:700;border-bottom:1px solid transparent;background:none;border-top:0;border-left:0;border-right:0;padding:0;margin:0;font:inherit;cursor:pointer}
td a.tm-link:hover,td button.tm-link:hover{color:var(--cc-charcoal);border-bottom-color:var(--highlighter)}
/* popup panel: dark text on white (do not inherit body chalk) */
.pn{background:#fff;color:#1C1C1C}
.pn h3,.pn h4,.pn p,.pn .st,.pn .st b,.pn .st div{color:#1C1C1C}
.pn .meta{color:#5a6472}
.pn .st div{background:#f1f4f8;color:#1C1C1C}
.pn .st b{color:#1C1C1C}
.pn h3 a{color:#1C1C1C;text-decoration:none}.pn h3 a:hover{color:#1C1C1C;border-bottom:2px solid var(--highlighter)}

/* utility */
.hide{display:none!important}
/* seasons + move notes */
.mv{display:inline-flex;align-items:center;gap:4px;margin-left:6px;vertical-align:middle}
.mv button{border:0;cursor:pointer;font-family:var(--sans);font-weight:700;font-size:11px;line-height:1;border-radius:999px;padding:3px 8px;display:inline-flex;align-items:center;gap:3px}
.mv button .ar{font-size:12px;line-height:1}
.mv-big button{background:#1C1C1C;color:#D4F542}
.mv-notable button{background:#efece3;color:#1C1C1C;border:1px solid #c8c4b8}
.mv button:hover,.mv button:focus-visible{outline:2px solid #D4F542;outline-offset:1px}
.note-early{background:#fff;color:#1C1C1C;border-left:4px solid #D4F542;border-radius:8px;padding:12px 14px;margin:12px 0;box-shadow:0 8px 22px rgba(0,0,0,.35)}
.note-early p{margin:0;color:#1C1C1C;line-height:1.5}
.note-early .lab{font-family:var(--disp);font-weight:700;text-transform:uppercase;letter-spacing:.06em;font-size:.75rem;color:#3A3F44;margin:0 0 4px}
.ov{position:fixed;inset:0;background:rgba(0,0,0,.55);display:none;align-items:center;justify-content:center;padding:14px;z-index:40}
.ov.on{display:flex}
.pn{background:#fff;color:#1C1C1C;border-radius:12px;max-width:620px;width:100%;max-height:90vh;overflow:auto;padding:18px 20px;position:relative}
.pn h3,.pn h4,.pn p{color:#1C1C1C;margin:0}
.pn h3{font-size:1.25rem;font-family:var(--disp);font-weight:700;margin-bottom:4px}
.pn .meta{color:#5a6472;font-size:.9rem;margin:0 0 10px}
.pn p{line-height:1.55;margin-top:8px}
.pn .st{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.pn .st div{background:#f1f4f8;border-radius:8px;padding:6px 10px;font-size:13px;color:#1C1C1C}
.pn .st b{display:block;font-size:16px;color:#1C1C1C}
.pn .x{position:absolute;top:8px;right:10px;border:0;background:none;font-size:30px;cursor:pointer;line-height:1;padding:4px 8px;color:#1C1C1C}
.season-hero{background:#fff;color:#1C1C1C;border-radius:10px;padding:18px 20px;margin:12px 0;box-shadow:0 10px 28px rgba(0,0,0,.45)}
.season-hero h1{margin:0 0 6px;font-family:var(--disp);font-size:1.8rem;color:#1C1C1C}
.season-hero p{margin:0 0 10px;color:#1C1C1C;line-height:1.55}
.season-hero .tag{font-family:var(--disp);font-weight:700;color:#3A3F44;text-transform:uppercase;letter-spacing:.06em;font-size:.78rem;margin:0 0 8px}
.season-hero .retro{background:#f4fce0;border-left:4px solid #D4F542;padding:10px 12px;border-radius:6px;margin-top:10px}
.compare{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:14px 0}
@media(max-width:820px){.compare{grid-template-columns:1fr}}
.compare .tw{margin-right:0}
.compare h3{font-family:var(--disp);margin:0 0 8px;color:#F4F1E8}
.bk-card{background:#fff;color:#1C1C1C;border-radius:10px;padding:16px;margin:14px 0;box-shadow:0 10px 28px rgba(0,0,0,.45)}
.bk-card h3{margin:0 0 10px;font-family:var(--disp);color:#1C1C1C}
.bk-card h4{margin:14px 0 6px;font-family:var(--disp);color:#1C1C1C;font-size:1rem}
.bk-seeds{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px;list-style:none;padding:0;margin:0}
.bk-seeds li{background:#f7f5ef;border-radius:8px;padding:8px 10px;font-size:.9rem;color:#1C1C1C}
.bk-seeds b{color:#1C1C1C}
.bk-game{display:flex;justify-content:space-between;gap:8px;padding:8px 0;border-bottom:1px solid #ece8de;color:#1C1C1C;font-size:.92rem}
.bk-game:last-child{border-bottom:0}
.prose{white-space:pre-wrap;color:#1C1C1C;line-height:1.55}
.week-note{color:var(--muted);font-size:.9rem;margin:8px 0 0}
.hub-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px;margin:16px 0}
.hub-card{display:block;background:#fff;color:#1C1C1C;border-radius:10px;padding:18px;text-decoration:none;box-shadow:0 10px 28px rgba(0,0,0,.45)}
.hub-card:hover{outline:3px solid #D4F542}
.hub-card h2{margin:0 0 6px;font-family:var(--disp);color:#1C1C1C}
.hub-card p{margin:0;color:#3A3F44;line-height:1.45}
