:root{
  --bg:#0e0f13; --card:#171922; --ink:#e8eaf0; --muted:#9aa0b0;
  --accent:#ff7a59; --accent2:#5ad1ff; --line:#262a36; --good:#4ade80;
}
*{box-sizing:border-box}
/* The hidden ATTRIBUTE must always win: author display rules (.btn, .serverbanner
   flex boxes) otherwise override the UA's [hidden]{display:none} and "hidden"
   elements render. Bit us via Playwright: a hidden .btn computed visible. */
[hidden]{display:none !important}
body{margin:0;font:16px/1.55 system-ui,Segoe UI,Roboto,Helvetica,Arial,sans-serif;
  background:radial-gradient(1200px 600px at 70% -10%,#1b2030,transparent),var(--bg);color:var(--ink)}
a{color:var(--accent2);text-decoration:none}
.nav{display:flex;align-items:center;justify-content:space-between;padding:16px 22px;
  border-bottom:1px solid var(--line);position:sticky;top:0;background:rgba(14,15,19,.85);backdrop-filter:blur(8px)}
.brand{font-weight:800;font-size:20px;color:var(--ink)}
.brand span{color:var(--accent)}
.nav nav{display:flex;gap:18px;align-items:center}
main{max-width:880px;margin:0 auto;padding:28px 18px 60px}
.hero{padding:48px 6px 28px}
.hero h1{font-size:clamp(28px,5vw,46px);line-height:1.1;margin:0 0 14px;letter-spacing:-.5px}
.sub{color:var(--muted);font-size:18px;max-width:640px}
.cta{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}
.btn{display:inline-block;padding:11px 18px;border-radius:10px;border:1px solid var(--line);
  background:#1d2130;color:var(--ink);font-weight:600;cursor:pointer}
.btn.small{padding:7px 12px;font-size:14px}
.btn.primary{background:linear-gradient(180deg,var(--accent),#e8643f);border-color:transparent;color:#1a0e0a}
.btn:hover{filter:brightness(1.08)}
.card{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:24px;margin:22px 0}
.card h2{margin:0 0 12px}
.connect code,code{background:#0c0d12;border:1px solid var(--line);padding:4px 8px;border-radius:8px;color:var(--accent2)}
.muted{color:var(--muted);font-size:14px}
.tablewrap{overflow:auto}
.matrix{width:100%;border-collapse:collapse;margin:6px 0 14px}
.matrix th,.matrix td{text-align:left;padding:9px 12px;border-bottom:1px solid var(--line)}
.matrix thead th{color:var(--muted);font-weight:600;font-size:13px;text-transform:uppercase;letter-spacing:.04em}
.matrix td:nth-child(3){color:var(--good)}
.matrix b{color:var(--good)}
.status{display:inline-block;padding:4px 10px;border-radius:999px;font-weight:700;font-size:13px}
.status.active{background:rgba(74,222,128,.15);color:var(--good)}
.status.inactive{background:rgba(154,160,176,.15);color:var(--muted)}
footer{border-top:1px solid var(--line);padding:22px;text-align:center;color:var(--muted)}
footer a{color:var(--muted)}
.legal{max-width:760px}
.legal h1{font-size:28px}
.legal h2{margin-top:26px;font-size:19px}
.notice{background:#0c0d12;border:1px solid var(--line);border-radius:10px;padding:12px 14px;color:var(--muted)}
/* ---- live server banner (shared: leaderboard, forums, home) ---- */
.serverbanner{display:flex;gap:10px;align-items:center;background:var(--card);
  border:1px solid var(--line);border-radius:12px;padding:10px 16px;margin:18px 0;font-size:14px}
.serverbanner .dot{width:9px;height:9px;border-radius:50%;background:var(--good);flex:none;
  box-shadow:0 0 8px rgba(74,222,128,.7)}
.serverbanner.stale .dot{background:var(--muted);box-shadow:none}
.serverbanner .tail{margin-left:auto}
/* ---- forums ---- */
.crumbs{font-size:14px;color:var(--muted);margin:0 0 4px}
.crumbs span{margin:0 6px}
.catrow{display:flex;justify-content:space-between;align-items:center;gap:14px;
  padding:14px 12px;border-bottom:1px solid var(--line);color:var(--ink)}
.catrow:hover{background:#1b1f2c}
.cattitle{font-weight:700}
.catcount{color:var(--muted);font-size:13px;white-space:nowrap}
.threadrow{display:flex;justify-content:space-between;align-items:center;gap:14px;
  padding:12px;border-bottom:1px solid var(--line);color:var(--ink)}
.threadrow:hover{background:#1b1f2c}
.ttitle{font-weight:600}
.tmeta{text-align:right;font-size:13px;white-space:nowrap}
.lvl{display:inline-block;padding:1px 7px;border-radius:999px;background:rgba(90,209,255,.12);
  color:var(--accent2);font-size:12px;font-weight:700}
.tag{display:inline-block;padding:2px 8px;border-radius:6px;font-size:11px;font-weight:700;
  text-transform:uppercase;letter-spacing:.05em;margin-right:7px;vertical-align:2px}
.tag.pin{background:rgba(255,122,89,.14);color:var(--accent)}
.tag.lock{background:rgba(154,160,176,.14);color:var(--muted)}
.pstar{color:var(--accent);font-weight:700}
.post{border:1px solid var(--line);border-radius:12px;padding:14px 16px;margin:12px 0;background:#131620}
.post.tombstone{opacity:.6;background:transparent;border-style:dashed}
.posthead{display:flex;gap:10px;align-items:baseline;font-size:14px;margin-bottom:8px;flex-wrap:wrap}
.posthead .author{font-weight:700}
.postbtns{margin-left:auto;display:flex;gap:8px}
.postbody{white-space:normal;overflow-wrap:anywhere}
.linkbtn{background:none;border:none;color:var(--accent2);cursor:pointer;font:inherit;font-size:13px;padding:0}
.linkbtn:hover{text-decoration:underline}
.forumbar{display:flex;gap:10px;align-items:center;margin:12px 0;flex-wrap:wrap}
.forumform{margin:12px 0}
.forumform input,.forumform textarea,.editbox{width:100%;background:#0c0d12;color:var(--ink);
  border:1px solid var(--line);border-radius:10px;padding:10px 12px;font:inherit;margin:6px 0}
.forumform input:focus,.forumform textarea:focus,.editbox:focus{outline:none;border-color:var(--accent2)}
.pager{display:flex;gap:10px;justify-content:space-between;margin-top:14px}
.attribution{font-size:12px;margin-top:4px}
.nav nav a.active{color:var(--ink);font-weight:700}
