:root{
  --ink:#12203a; --muted:#5a6b85; --line:#e3e8f0; --bg:#f6f8fc; --card:#fff;
  --brand:#1b6cf3; --brand-dark:#0f4fc0; --good:#0f9d58; --warn:#d64545;
  --radius:12px; --wrap:1080px;
}
*{box-sizing:border-box}
body{
  margin:0; font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
  color:var(--ink); background:var(--bg); line-height:1.6;
}
.wrap{max-width:var(--wrap); margin:0 auto; padding:0 20px}
a{color:var(--brand); text-decoration:none}
a:hover{text-decoration:underline}
h1{font-size:2rem; font-weight:800; line-height:1.2; margin:.6em 0 .4em}
h2{font-size:1.3rem; font-weight:700; margin:1.6em 0 .5em}
.lead{font-size:1.1rem; color:var(--muted); max-width:70ch}
.muted{color:var(--muted); font-size:.92rem}

/* header */
.site-header{background:var(--card); border-bottom:1px solid var(--line); position:sticky; top:0; z-index:10}
.header-inner{display:flex; align-items:center; justify-content:space-between; height:62px}
.brand{font-weight:800; font-size:1.15rem; color:var(--ink)}
.brand:hover{text-decoration:none}
.brand-mark{display:inline-grid; place-items:center; width:26px; height:26px; background:var(--good);
  color:#fff; border-radius:7px; font-size:.9rem; margin-right:6px; vertical-align:-4px}
.main-nav a{margin-left:22px; color:var(--ink); font-weight:600; font-size:.95rem}

/* hero + blocks */
.hero{padding:34px 0 8px}
.card-block,.states,.related{background:var(--card); border:1px solid var(--line);
  border-radius:var(--radius); padding:22px 24px; margin:22px 0}
.checklist{padding-left:1.1em; margin:.4em 0}
.checklist li{margin:.3em 0}

/* state cards */
.state-grid{display:grid; grid-template-columns:repeat(auto-fill,minmax(220px,1fr)); gap:14px; margin:14px 0}
.state-card{display:flex; flex-direction:column; padding:18px; border:1px solid var(--line);
  border-radius:10px; background:#fbfcfe}
.state-card:hover{border-color:var(--brand); text-decoration:none; box-shadow:0 3px 14px rgba(27,108,243,.08)}
.state-name{font-weight:800; font-size:1.15rem; color:var(--ink)}
.state-meta{color:var(--muted); font-size:.9rem; margin-top:4px}

/* breadcrumbs + price nav */
.crumbs{font-size:.88rem; color:var(--muted); margin-top:18px}
.crumbs a{color:var(--muted)}
.pricenav{display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin:16px 0}
.pricenav-label{font-weight:600; font-size:.9rem; color:var(--muted); margin-right:2px}
.chip{display:inline-block; padding:6px 12px; border:1px solid var(--line); border-radius:20px;
  background:var(--card); font-size:.9rem; font-weight:600; color:var(--ink)}
.chip:hover{border-color:var(--brand); text-decoration:none}
.chip-active{background:var(--brand); border-color:var(--brand); color:#fff}

/* tables */
.table-wrap{overflow-x:auto; margin:10px 0 6px}
table.games{width:100%; border-collapse:collapse; background:var(--card);
  border:1px solid var(--line); border-radius:var(--radius); overflow:hidden}
table.games th,table.games td{padding:11px 14px; text-align:left; border-bottom:1px solid var(--line); font-size:.95rem}
table.games th{background:#eef3fb; font-weight:700; font-size:.82rem; text-transform:uppercase; letter-spacing:.03em; color:var(--muted)}
table.games tr:last-child td{border-bottom:none}
table.games tbody tr:hover{background:#fafcff}
td.rank{color:var(--muted); font-weight:700; width:2.5em}
tr.gone td{color:var(--muted); opacity:.6}

/* prize bar */
.bar{display:inline-block; width:80px; height:8px; background:var(--line); border-radius:5px; overflow:hidden; vertical-align:middle; margin-right:6px}
.bar-fill{display:block; height:100%; background:var(--good)}

/* callout */
.callout{background:#fff7ed; border:1px solid #f4d9ae; border-left:4px solid #e8952f;
  padding:12px 16px; border-radius:8px; margin:16px 0}

.linklist{padding-left:1.1em}
.linklist li{margin:.35em 0}
.disclaimer-inline{font-size:.85rem; color:var(--muted); margin-top:22px; padding-top:14px; border-top:1px solid var(--line)}
.legal-body{max-width:70ch}

/* footer */
.site-footer{background:#0f1b30; color:#c7d2e4; margin-top:44px; padding:30px 0}
.footer-cols{display:flex; justify-content:space-between; flex-wrap:wrap; gap:24px; padding-bottom:18px; border-bottom:1px solid #24344f}
.footer-brand{font-weight:800; color:#fff; font-size:1.1rem}
.footer-tag{color:#8ea3c4; font-size:.9rem; max-width:44ch}
.site-footer nav{display:flex; flex-direction:column; gap:6px}
.site-footer nav a{color:#c7d2e4; font-size:.92rem}
.footer-legal{font-size:.82rem; color:#8ea3c4; padding-top:16px}
.footer-legal a{color:#a9c0e6}
.footer-legal strong{color:#dbe6f7}

@media (max-width:640px){
  h1{font-size:1.55rem}
  .main-nav a{margin-left:14px; font-size:.88rem}
  .footer-cols{flex-direction:column}
}
h3{font-size:1.05rem;font-weight:700;margin:1.2em 0 .3em;color:var(--ink)}
