:root{
  --ink:#0A0F1A;
  --ink-2:#0E1524;
  --panel:#121B2C;
  --panel-2:#17223A;
  --line:#22304B;
  --line-soft:#1A2438;
  --tx:#E7ECF5;
  --tx-2:#9BA9C2;
  --tx-3:#8593A6;
  --amber:#FFB020;
  --r-east:#4CC9F0;
  --r-south:#34D399;
  --r-midwest:#FFB020;
  --r-west:#A78BFA;
  --cut:#FF5A5F;
  --ok:#34D399;
  --warn:#FFB020;
  --bad:#FF5A5F;
  --display:'Anton',Impact,sans-serif;
  --body:'Instrument Sans',ui-sans-serif,system-ui,sans-serif;
  --mono:'IBM Plex Mono',ui-monospace,monospace;
  --maxw:1440px;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;background:var(--ink);color:var(--tx);
  font-family:var(--body);font-size:15px;line-height:1.55;
  -webkit-font-smoothing:antialiased;
}
a{color:inherit}
h1,h2,h3{margin:0}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px}

/* ---------- eyebrow / labels ---------- */
.eyebrow{
  font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--tx-3);font-weight:500;
}

/* ---------- masthead ---------- */
.mast{
  position:sticky;top:0;z-index:60;background:rgba(10,15,26,.88);
  backdrop-filter:blur(14px);border-bottom:1px solid var(--line-soft);
}
.mast-in{display:flex;align-items:center;gap:20px;height:60px;max-width:var(--maxw);margin:0 auto;padding:0 24px}
.mark{font-family:var(--display);font-size:21px;letter-spacing:.02em;line-height:1;white-space:nowrap}
.mark span{color:var(--amber)}
.mast-tag{
  font-family:var(--mono);font-size:10px;letter-spacing:.13em;text-transform:uppercase;
  color:var(--ink);background:var(--amber);padding:3px 7px;border-radius:3px;font-weight:600;
}
.mast-nav{margin-left:auto;display:flex;gap:22px;font-size:13px;color:var(--tx-2)}
.mast-nav a{text-decoration:none}
.mast-nav a:hover{color:var(--tx)}
@media(max-width:860px){.mast-nav{display:none}}

/* ---------- hero ---------- */
.hero{border-bottom:1px solid var(--line-soft);padding:56px 0 0}
.hero-top{display:flex;align-items:flex-end;gap:40px;flex-wrap:wrap;margin-bottom:38px}
.hero h1{
  font-family:var(--display);font-size:clamp(38px,6.4vw,76px);line-height:1.04;
  letter-spacing:-.005em;text-transform:uppercase;max-width:13ch;
}
.hero h1 em{font-style:normal;color:var(--amber)}
.hero-note{max-width:38ch;color:var(--tx-2);font-size:14px;padding-bottom:6px}
.hero-note b{color:var(--tx);font-weight:600}

/* four 1-seeds strip = the thesis */
.ones{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line-soft);border-top:1px solid var(--line-soft)}
.one{
  background:var(--ink-2);padding:18px 18px 16px;position:relative;
  border-top:3px solid var(--rc);
}
.one .rg{font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--rc)}
.one .tm{font-family:var(--display);font-size:clamp(19px,2.1vw,29px);line-height:1;margin:9px 0 5px;text-transform:uppercase}
.one .mt{font-family:var(--mono);font-size:11px;color:var(--tx-3)}
.one .os{
  position:absolute;top:14px;right:16px;font-family:var(--display);font-size:30px;
  color:var(--tx-3);line-height:1;
}
.ff-line{
  display:flex;gap:10px;align-items:center;flex-wrap:wrap;
  padding:13px 0 34px;font-family:var(--mono);font-size:11.5px;color:var(--tx-3);
  letter-spacing:.03em;
}
.ff-line b{color:var(--tx-2);font-weight:500}
.ff-line .dot{color:var(--line)}
@media(max-width:900px){.ones{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.ones{grid-template-columns:1fr}}

/* ---------- alert ---------- */
.alert{
  border:1px solid rgba(255,176,32,.32);background:rgba(255,176,32,.06);
  border-radius:6px;padding:14px 16px;margin:0 0 30px;font-size:13.5px;color:var(--tx-2);
  display:flex;gap:12px;align-items:flex-start;
}
.alert .k{font-family:var(--mono);font-size:10px;letter-spacing:.13em;text-transform:uppercase;color:var(--amber);white-space:nowrap;padding-top:2px;font-weight:600}
.alert b{color:var(--tx);font-weight:600}

/* ---------- section frame ---------- */
section{padding:52px 0;border-bottom:1px solid var(--line-soft);scroll-margin-top:72px}
.sec-head{display:flex;align-items:baseline;gap:16px;flex-wrap:wrap;margin-bottom:8px}
.sec-head h2{font-family:var(--display);font-size:clamp(24px,3vw,36px);text-transform:uppercase;letter-spacing:.005em;line-height:1}
.sec-sub{color:var(--tx-2);font-size:14px;max-width:70ch;margin-bottom:26px}

/* ---------- view tabs ---------- */
.tabs{display:flex;gap:2px;background:var(--line-soft);padding:2px;border-radius:6px;margin-bottom:22px;flex-wrap:wrap}
.tab{
  font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;
  padding:9px 15px;border-radius:4px;background:transparent;border:0;color:var(--tx-2);
  cursor:pointer;font-weight:500;
}
.tab[aria-selected="true"]{background:var(--panel-2);color:var(--tx)}
.tab:focus-visible{outline:2px solid var(--amber);outline-offset:1px}

/* ---------- bracket ---------- */
.regions{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
@media(max-width:1180px){.regions{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.regions{grid-template-columns:1fr}}
.region{background:var(--ink-2);border:1px solid var(--line-soft);border-radius:8px;overflow:hidden}
.region-hd{padding:14px 15px 12px;border-bottom:1px solid var(--line-soft);border-top:3px solid var(--rc);background:var(--panel)}
.region-hd .nm{font-family:var(--display);font-size:20px;text-transform:uppercase;line-height:1;color:var(--rc)}
.region-hd .site{font-family:var(--mono);font-size:10.5px;color:var(--tx-3);margin-top:5px;letter-spacing:.04em}
.region-hd .bal{font-family:var(--mono);font-size:10px;color:var(--tx-3);float:right;margin-top:3px}
.pod{border-bottom:1px solid var(--line-soft)}
.pod:last-child{border-bottom:0}
.pod-hd{
  display:flex;justify-content:space-between;gap:8px;padding:7px 14px;background:var(--ink);
  font-family:var(--mono);font-size:9.5px;letter-spacing:.11em;text-transform:uppercase;color:var(--tx-3);
}
.pod-hd .pc{color:var(--tx-2)}
.game{border-bottom:1px solid var(--line-soft)}
.game:last-child{border-bottom:0}
.tm-row{display:flex;align-items:center;gap:10px;padding:8px 14px;position:relative}
.tm-row+.tm-row{border-top:1px dashed var(--line-soft)}
.tm-row.hl{background:rgba(255,90,95,.13);box-shadow:inset 2px 0 0 var(--cut)}
.sd{
  font-family:var(--display);font-size:15px;width:22px;text-align:right;color:var(--tx-3);
  flex-shrink:0;line-height:1;
}
.nm{font-size:13.5px;font-weight:500;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.nm .aq{color:var(--amber);font-family:var(--mono);font-size:9px;vertical-align:2px;margin-left:4px}
.nm .orw{color:var(--tx-3);font-family:var(--mono);font-size:9.5px}
.cf{font-family:var(--mono);font-size:9.5px;color:var(--tx-3);flex-shrink:0}
.ts{font-family:var(--mono);font-size:10px;color:var(--tx-3);flex-shrink:0;width:22px;text-align:right}
.nm .mv{color:var(--amber);font-family:var(--mono);font-size:10px;margin-left:4px}
.legend{display:flex;gap:20px;flex-wrap:wrap;margin-top:18px;font-family:var(--mono);font-size:10.5px;color:var(--tx-3);letter-spacing:.03em}

/* ---------- seed list ---------- */
.seedgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:0 26px}
@media(max-width:1000px){.seedgrid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.seedgrid{grid-template-columns:1fr}}
.srow{display:flex;align-items:center;gap:11px;padding:6px 0;border-bottom:1px solid var(--line-soft);font-size:13px}
.srow .n{font-family:var(--mono);font-size:11px;color:var(--tx-3);width:24px;text-align:right}
.srow .t{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.srow .b{font-family:var(--mono);font-size:9.5px;padding:1px 5px;border-radius:3px;border:1px solid var(--line)}
.srow .b.aq{color:var(--amber);border-color:rgba(255,176,32,.4)}
.srow .b.al{color:var(--tx-3)}
.srow.cutline{border-bottom:2px solid var(--cut);position:relative}
.cutlabel{font-family:var(--mono);font-size:9.5px;color:var(--cut);letter-spacing:.11em;text-transform:uppercase;padding:6px 0 0}

/* ---------- bubble ---------- */
.bubble-cols{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
@media(max-width:1000px){.bubble-cols{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.bubble-cols{grid-template-columns:1fr}}
.bcol{background:var(--ink-2);border:1px solid var(--line-soft);border-radius:8px;padding:15px}
.bcol h3{font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;margin-bottom:12px;color:var(--tx-2)}
.bcol.in h3{color:var(--ok)} .bcol.out h3{color:var(--cut)}
.bcol ol{margin:0;padding-left:19px;font-size:13.5px}
.bcol li{padding:3.5px 0;color:var(--tx-2)}
.bcol li b{color:var(--tx);font-weight:500}

/* ---------- audit (signature) ---------- */
.audit{display:grid;grid-template-columns:repeat(2,1fr);gap:0 30px}
@media(max-width:900px){.audit{grid-template-columns:1fr}}
.arow{
  display:grid;grid-template-columns:26px 1fr auto;gap:13px;align-items:start;
  padding:13px 0;border-bottom:1px solid var(--line-soft);
}
.arow .idx{font-family:var(--mono);font-size:10.5px;color:var(--tx-3);padding-top:2px}
.arow .txt{font-size:13.5px;color:var(--tx-2)}
.arow .txt b{display:block;color:var(--tx);font-weight:600;font-size:13.5px;margin-bottom:2px}
.pill{
  font-family:var(--mono);font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;
  padding:3px 8px;border-radius:3px;white-space:nowrap;border:1px solid;font-weight:500;
}
.pill.ok{color:var(--ok);border-color:rgba(52,211,153,.4);background:rgba(52,211,153,.08)}
.pill.bad{color:var(--bad);border-color:rgba(255,90,95,.4);background:rgba(255,90,95,.08)}
.pill.warn{color:var(--warn);border-color:rgba(255,176,32,.4);background:rgba(255,176,32,.08)}
.pill.na{color:var(--tx-3);border-color:var(--line)}
.audit-score{
  font-family:var(--mono);font-size:11px;color:var(--tx-2);border:1px solid var(--line);
  border-radius:4px;padding:7px 12px;display:inline-block;margin-bottom:22px;
}
.audit-score b{color:var(--ok)}

/* ---------- opening round ---------- */
.or-sites{display:grid;grid-template-columns:1fr 1fr;gap:18px}
@media(max-width:800px){.or-sites{grid-template-columns:1fr}}
.or-site{background:var(--ink-2);border:1px solid var(--line-soft);border-radius:8px;overflow:hidden}
.or-hd{padding:14px 16px;border-bottom:1px solid var(--line-soft);background:var(--panel)}
.or-hd .c{font-family:var(--display);font-size:19px;text-transform:uppercase;line-height:1}
.or-hd .v{font-family:var(--mono);font-size:10.5px;color:var(--tx-3);margin-top:5px}
.or-g{display:flex;align-items:center;gap:12px;padding:11px 16px;border-bottom:1px solid var(--line-soft);font-size:13px}
.or-g:last-child{border-bottom:0}
.or-g .sl{font-family:var(--display);font-size:14px;color:var(--tx-3);width:26px}
.or-g .pair{flex:1;display:flex;align-items:center;gap:9px;min-width:0}
.or-g .pair span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.or-g .v{font-family:var(--mono);font-size:10px;color:var(--line)}
.or-g .berth{font-family:var(--mono);font-size:9.5px;color:var(--tx-3);white-space:nowrap}

/* ---------- host cities ---------- */
.cities{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
@media(max-width:1100px){.cities{grid-template-columns:repeat(3,1fr)}}
@media(max-width:800px){.cities{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.cities{grid-template-columns:1fr}}
.city{
  background:var(--ink-2);border:1px solid var(--line-soft);border-radius:8px;padding:16px;
  display:flex;flex-direction:column;gap:9px;border-left:3px solid var(--rc);
}
.city .rnd{font-family:var(--mono);font-size:9.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--rc)}
.city .cn{font-family:var(--display);font-size:20px;text-transform:uppercase;line-height:1}
.city .vn{font-family:var(--mono);font-size:10.5px;color:var(--tx-3);line-height:1.5}
.city .dt{font-family:var(--mono);font-size:10.5px;color:var(--tx-2)}
.city .links{display:flex;flex-direction:column;gap:6px;margin-top:auto;padding-top:11px}
.alink{
  display:flex;align-items:center;justify-content:space-between;gap:8px;
  font-family:var(--mono);font-size:10px;letter-spacing:.07em;text-transform:uppercase;
  padding:8px 10px;border:1px solid var(--line);border-radius:4px;text-decoration:none;
  color:var(--tx-2);transition:.14s;
}
.alink:hover{border-color:var(--amber);color:var(--amber);background:rgba(255,176,32,.05)}
.alink:focus-visible{outline:2px solid var(--amber);outline-offset:1px}
.alink .ar{color:var(--line)}
.alink:hover .ar{color:var(--amber)}
.disc{font-family:var(--mono);font-size:10px;color:var(--tx-3);margin-top:22px;letter-spacing:.02em}

/* ---------- tickets ---------- */
.tix{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
@media(max-width:820px){.tix{grid-template-columns:1fr}}
.tixcard{background:var(--panel);border:1px solid var(--line-soft);border-radius:8px;padding:20px;display:flex;flex-direction:column;gap:8px}
.tixcard h3{font-family:var(--body);font-weight:700;font-size:15px;letter-spacing:.03em;text-transform:uppercase;line-height:1.25;color:var(--tx)}
.or-g .pair .sep{color:var(--tx-3);font-family:var(--mono);font-size:12px}
.rs-scroll{max-height:560px;overflow-y:auto}
.tixcard p{margin:0;font-size:13px;color:var(--tx-2)}
.tixcard .alink{margin-top:auto}

/* ---------- rankings table ---------- */
.tblwrap{overflow-x:auto;border:1px solid var(--line-soft);border-radius:8px}
table{width:100%;border-collapse:collapse;font-size:13px;min-width:660px}
thead th{
  font-family:var(--mono);font-size:9.5px;letter-spacing:.12em;text-transform:uppercase;
  color:var(--tx-3);text-align:left;padding:11px 14px;background:var(--panel);
  border-bottom:1px solid var(--line);font-weight:500;
}
tbody td{padding:11px 14px;border-bottom:1px solid var(--line-soft);color:var(--tx-2);vertical-align:top}
tbody tr:last-child td{border-bottom:0}
tbody tr:hover{background:var(--ink-2)}
td.src{color:var(--tx);font-weight:600;white-space:nowrap}
td.src a{color:var(--tx);text-decoration:none;border-bottom:1px solid var(--line)}
td.src a:hover{color:var(--amber);border-color:var(--amber)}
td.typ{font-family:var(--mono);font-size:10px;color:var(--tx-3);white-space:nowrap}
td.use{font-family:var(--mono);font-size:10px;white-space:nowrap}
.yes{color:var(--ok)} .no{color:var(--tx-3)}

/* ---------- method / footer ---------- */
.method{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
@media(max-width:900px){.method{grid-template-columns:1fr}}
.method h3{font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--amber);margin-bottom:9px}
.method p{margin:0 0 10px;font-size:13.5px;color:var(--tx-2)}
.method code{font-family:var(--mono);font-size:12px;color:var(--tx);background:var(--panel);padding:1px 5px;border-radius:3px}
footer{padding:38px 0 60px;color:var(--tx-3);font-size:12.5px}
footer .fnav{display:flex;gap:20px;flex-wrap:wrap;margin-bottom:16px;font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase}
footer a{color:var(--tx-3)}
.hidden{display:none !important}
@media(prefers-reduced-motion:reduce){*{transition:none !important;animation:none !important}}
