:root{
  --bg:#0b0d10;
  --card:#14181f;
  --ink:#f2f4f7;
  --muted:#9aa3af;
  --accent:#6ee7ff;
  --line:#243041;
  --warn:#fbbf24;
  --ok:#34d399;
}
*{box-sizing:border-box}
body{margin:0;font-family:system-ui,sans-serif;background:var(--bg);color:var(--ink);line-height:1.55}
.wrap{max-width:920px;margin:0 auto;padding:1.5rem 1.25rem 3rem}
.wrap.narrow{max-width:820px}
.tag{color:var(--accent);font-size:.75rem;letter-spacing:.06em;text-transform:uppercase;font-weight:600}
h1{margin:.35rem 0 .75rem;font-size:clamp(1.6rem,4vw,2.3rem)}
h2{margin:1.4rem 0 .5rem;font-size:1.22rem}
h3{margin:.8rem 0 .35rem;font-size:1.05rem}
p{color:var(--muted);margin:.45rem 0}
ul,ol{color:var(--muted);padding-left:1.2rem}
li{margin:.35rem 0}
a{color:var(--accent)}
strong.ink{color:#e2e8f0}
.hero{padding:1.5rem 0 1rem;border-bottom:1px solid var(--line)}
.disclosure{margin:1.25rem 0;padding:1rem 1.1rem;border:1px solid var(--line);border-left:3px solid var(--warn);background:#161b22;border-radius:8px;font-size:.92rem}
.disclosure strong{color:var(--warn)}
.card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:1.15rem 1.2rem;margin:1rem 0}
.grid{display:grid;gap:1rem;margin:1.25rem 0;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.grid .card{margin:0}
.badge{display:inline-block;font-size:.68rem;letter-spacing:.05em;text-transform:uppercase;font-weight:700;padding:.2rem .45rem;border-radius:4px;background:#1e293b;color:var(--accent)}
.badge.wait{background:#3b2f14;color:var(--warn)}
.badge.off{background:#3b1f24;color:#fca5a5}
.badge.rank{background:#0f3d36;color:var(--ok)}
.meta{font-size:.82rem;color:#64748b}
.cta,.hop-btn{display:inline-block;margin-top:.7rem;padding:.75rem 1.1rem;border-radius:999px;background:var(--accent);color:#0b0d10;font-weight:700;text-decoration:none}
.cta-disabled{display:inline-block;margin-top:.7rem;padding:.75rem 1.1rem;border-radius:999px;background:#334155;color:#94a3b8;font-weight:700;text-decoration:none;cursor:not-allowed}
.hop{display:block;margin-top:auto;padding:.65rem .8rem;border:1px dashed #475569;border-radius:8px;text-align:center;color:#94a3b8;font-size:.88rem;text-decoration:none;background:#0f141b}
.hop[aria-disabled="true"]{pointer-events:none;cursor:not-allowed;opacity:.85}
.hop.live{border-style:solid;color:var(--ok)}
.nav{display:flex;gap:.85rem 1rem;flex-wrap:wrap;align-items:center;padding:.35rem 0 1rem;border-bottom:1px solid var(--line);margin-bottom:1rem}
.nav a{color:var(--muted);text-decoration:none;font-size:.9rem}
.nav a:hover{color:var(--ink)}
.nav .brand{color:var(--ink);font-weight:700}
footer{margin-top:2rem;padding-top:1rem;border-top:1px solid var(--line);font-size:.85rem;color:#64748b}
.table-wrap{overflow-x:auto;margin:1rem 0}
table{width:100%;border-collapse:collapse;font-size:.9rem;min-width:640px}
th,td{border:1px solid var(--line);padding:.55rem .65rem;text-align:left;vertical-align:top;color:var(--muted)}
th{background:#10151c;color:#e2e8f0;font-size:.78rem;letter-spacing:.03em;text-transform:uppercase}
.split{display:grid;gap:1rem;grid-template-columns:1fr}
@media (min-width:700px){.split{grid-template-columns:1fr 1fr}}
.sources{font-size:.85rem}
.sources li{margin:.4rem 0}
.howto ol{margin:.6rem 0 0}
.howto li strong{color:#e2e8f0}
code{font-size:.8em;color:var(--accent)}
