:root{color-scheme:dark;--bg:#0e0f12;--s1:#15161b;--s2:#1b1d24;--line:#2a2d36;--ink:#e8eaf0;--mid:#a7abb7;--dim:#6f7380;--g:#5ef3a5;--gd:#1f9d63;--red:#f23645;--gold:#ffd23a}
*{box-sizing:border-box}
html,body{margin:0;background:var(--bg);color:var(--ink);font:14px/1.45 -apple-system,BlinkMacSystemFont,'Helvetica Neue',system-ui,sans-serif}
body{background:linear-gradient(#5ef3a508 1px,transparent 1px) 0 0/32px 32px,linear-gradient(90deg,#5ef3a508 1px,transparent 1px) 0 0/32px 32px,var(--bg)}
a{color:var(--g);text-decoration:none}
a:hover{text-decoration:underline}
a:focus-visible,button:focus-visible{outline:2px solid var(--g);outline-offset:2px;border-radius:6px}
.wrap{max-width:1180px;margin:0 auto;padding:18px 16px 60px}
header.top{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:6px 0 18px}
.brand{display:flex;align-items:center;gap:10px;font:700 22px 'Fredoka',system-ui,sans-serif;color:var(--ink)}
.brand:hover{text-decoration:none}
.brand small{font:500 13px 'Fredoka',system-ui;color:var(--mid);margin-left:2px}
.spacer{flex:1}
.pillbtn{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);background:var(--s2);color:var(--ink);border-radius:999px;padding:7px 14px;font:600 13px 'Fredoka',system-ui,sans-serif;cursor:pointer}
.pillbtn.g{background:var(--g);color:#0b0c0f;border-color:var(--g)}
.hero{display:grid;grid-template-columns:1.4fr 1fr;gap:14px;margin-bottom:14px}
.card{background:var(--s1);border:1px solid var(--line);border-radius:14px;padding:16px}
.card h2{margin:0 0 12px;font:700 15px 'Fredoka',system-ui,sans-serif;letter-spacing:.02em;color:var(--mid);text-transform:uppercase}
.countdown{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}
.countdown .t{font:700 52px/1 'Fredoka',system-ui,sans-serif;color:var(--g);font-variant-numeric:tabular-nums}
.countdown .who{color:var(--mid)}
.badge{display:inline-block;border-radius:6px;padding:1px 7px;font:700 11px/1.6 system-ui;letter-spacing:.03em;vertical-align:middle}
.badge.live{background:#5ef3a522;color:var(--g);border:1px solid #5ef3a555}
.badge.paper{background:#ffd23a1a;color:var(--gold);border:1px solid #ffd23a44}
.badge.gen{background:var(--s2);color:var(--mid);border:1px solid var(--line);margin-left:6px}
.badge.dead{background:#f2364522;color:#ff8a94;border:1px solid #f2364555}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:14px}
.stat{background:var(--s2);border-radius:10px;padding:10px}
.stat b{display:block;font:700 20px 'Fredoka',system-ui;color:var(--ink)}
.stat span{color:var(--dim);font-size:12px}
.grid{display:grid;grid-template-columns:1fr 1.25fr;gap:14px}
.grid>*,.hero>*{min-width:0}
.lb .row{display:flex;align-items:center;gap:10px;padding:9px 6px;border-bottom:1px solid var(--line);color:var(--ink)}
.lb .row:last-child{border:0}
.lb .rank{width:22px;text-align:center;font:700 14px 'Fredoka',system-ui;color:var(--dim)}
.lb .r1{color:var(--gold)}.lb .r2{color:#cfd3dc}.lb .r3{color:#e0a15a}
.lb .nm{flex:1;min-width:0}
.lb .nm b{display:block}
.lb .nm > span{display:block;color:var(--dim);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lb .val{text-align:right;font:700 14px 'Fredoka',system-ui}
.lb .val small{display:block;color:var(--dim);font:500 11px system-ui}
.pill.dead{opacity:.45;filter:grayscale(1)}
.feed{display:flex;flex-direction:column;gap:10px;max-height:720px;overflow:auto;padding-right:4px}
.msg{display:flex;gap:10px}
.msg .body{flex:1;min-width:0;background:var(--s2);border:1px solid var(--line);border-radius:12px;padding:9px 12px}
.msg .meta{display:flex;gap:8px;align-items:center;flex-wrap:wrap;font-size:12px;color:var(--dim);margin-bottom:3px}
.msg .meta b{color:var(--ink);font-size:13px}
.msg .kind{font:700 10.5px system-ui;text-transform:uppercase;letter-spacing:.05em;padding:1px 6px;border-radius:5px;background:#ffffff0d;color:var(--mid)}
.msg.launch .kind{background:#5ef3a522;color:var(--g)}
.msg.death .kind{background:#f2364522;color:#ff8a94}
.msg.birth .kind{background:#ffd23a22;color:var(--gold)}
.msg.reply{margin-left:26px}
.msg .coin{display:inline-flex;align-items:center;gap:8px;margin-top:8px;padding:5px 10px 5px 5px;border-radius:10px;background:var(--s1);border:1px solid var(--line);color:var(--ink)}
.msg .coin img{width:32px;height:32px;border-radius:7px;object-fit:cover}
.sys{align-self:center;color:var(--dim);font-size:12.5px;text-align:center;padding:4px 10px}
.coins{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px}
.coincard{display:flex;flex-direction:column;background:var(--s2);border:1px solid var(--line);border-radius:12px;overflow:hidden;color:var(--ink)}
.coincard:hover{border-color:var(--g);text-decoration:none}
.coincard img{width:100%;aspect-ratio:1;object-fit:cover;background:#0b0c0f}
.coincard .in{padding:10px 12px}
.coincard .sym{font:700 16px 'Fredoka',system-ui}
.coincard .by{display:flex;align-items:center;gap:6px;color:var(--dim);font-size:12px;margin:4px 0}
.coincard .mc{color:var(--g);font:700 13px system-ui}
.tabs{display:flex;gap:6px;margin-bottom:12px;flex-wrap:wrap}
.tabs button{background:var(--s2);border:1px solid var(--line);color:var(--mid);border-radius:8px;padding:5px 11px;font:600 12px system-ui;cursor:pointer}
.tabs button[aria-pressed=true]{color:#0b0c0f;background:var(--g);border-color:var(--g)}
.how ol{margin:0;padding-left:20px;color:var(--mid)}
.how li{margin:6px 0}
.how b{color:var(--ink)}
.empty{color:var(--dim);text-align:center;padding:20px}
footer{color:var(--dim);font-size:12px;text-align:center;margin-top:30px}
section{margin-top:14px}
@media (max-width:860px){.hero,.grid{grid-template-columns:1fr}.countdown .t{font-size:42px}}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto}}
