:root{--bg:#06101c;--ink:#f1fff6;--mut:#8fa9b8;--grn:#2bff88;--grn2:#13c96a;--red:#ff4d5e;--gold:#ffd166;--line:rgba(255,255,255,.12)}
*{margin:0;padding:0;box-sizing:border-box}
html{background:var(--bg)}
body{color:var(--ink);font-family:'Space Grotesk',system-ui,sans-serif;min-height:100vh;overflow-x:hidden;
 background:radial-gradient(ellipse at 50% -10%,rgba(43,255,136,.22),transparent 60%),radial-gradient(ellipse at 0% 100%,rgba(255,77,94,.10),transparent 50%),var(--bg)}
.mono{font-family:'JetBrains Mono',ui-monospace,monospace}
.g{color:var(--grn)}.r{color:var(--red)}
.top{display:flex;justify-content:space-between;align-items:center;padding:18px 24px;max-width:1100px;margin:0 auto;gap:12px}
.brand{display:flex;align-items:center;gap:10px;color:var(--ink);text-decoration:none;font-weight:700;font-size:22px}
.brand img{width:40px;height:40px;border-radius:50%}
nav{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.pill{background:rgba(255,255,255,.07);border:1px solid var(--line);color:var(--ink);padding:9px 14px;border-radius:999px;font-size:13px;text-decoration:none;cursor:pointer;font-weight:700;white-space:nowrap;max-width:240px;overflow:hidden;text-overflow:ellipsis;font-family:inherit}
.pill.mono{font-family:'JetBrains Mono',monospace}
.pill:hover{background:rgba(255,255,255,.14)}
.pill.hot{background:var(--grn);color:#06101c;border-color:transparent}
main{max-width:1100px;margin:0 auto;padding:0 16px}
.hero{text-align:center;padding:30px 0 20px}
h1{font-size:clamp(40px,8vw,92px);font-weight:700;letter-spacing:-.045em;line-height:.95}
.sub{color:var(--mut);max-width:560px;margin:18px auto 0;font-size:18px;line-height:1.5}
.sub b{color:var(--ink)} .sub b.r{color:var(--red)}
.game{max-width:520px;margin:0 auto}
.hud{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:10px}
.stat{background:rgba(255,255,255,.05);border:1px solid var(--line);border-radius:16px;padding:10px 12px;text-align:center}
.stat small{display:block;font-size:11px;color:var(--mut);letter-spacing:.12em;font-weight:700}
.stat b{font-size:22px;font-weight:800}
.board{position:relative;width:100%;aspect-ratio:3/4;max-height:78vh;border-radius:24px;overflow:hidden;border:1px solid var(--line);background:#081626;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent;cursor:pointer;box-shadow:0 30px 80px rgba(0,0,0,.45)}
.board canvas{position:absolute;inset:0;width:100%;height:100%;display:block}
.tag{position:absolute;left:12px;bottom:10px;font-size:10px;color:rgba(241,255,246,.4);letter-spacing:.1em;pointer-events:none}
.mute{position:absolute;right:10px;top:10px;font-size:10px;background:rgba(0,0,0,.35);border:1px solid var(--line);color:var(--mut);padding:6px 9px;border-radius:999px;cursor:pointer;z-index:3}
.combo{position:absolute;left:0;right:0;top:18%;text-align:center;font-weight:800;font-size:26px;color:var(--gold);pointer-events:none;opacity:0;transform:translateY(10px) scale(.9);transition:opacity .2s,transform .2s;text-shadow:0 4px 20px rgba(255,209,102,.5)}
.combo.on{opacity:1;transform:none}
.overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(6,16,28,.55);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);z-index:4;padding:16px;animation:fade .25s ease}
.overlay[hidden]{display:none}
@keyframes fade{from{opacity:0}to{opacity:1}}
.ocard{text-align:center;background:rgba(10,26,42,.92);border:1px solid var(--line);border-radius:22px;padding:24px 20px;width:100%;max-width:340px;animation:pop .3s cubic-bezier(.2,1.4,.5,1)}
@keyframes pop{from{transform:scale(.85)}to{transform:none}}
.ocard .big{font-size:30px;font-weight:700;letter-spacing:-.02em}
.ocard p{color:var(--mut);margin:8px 0 16px;font-size:14px;line-height:1.45}
.ocard small{color:var(--mut);letter-spacing:.14em;font-size:11px;font-weight:700}
.rscore{font-size:64px;font-weight:800;color:var(--grn);line-height:1.05}
.rank{font-size:24px;font-weight:700;margin-top:2px}
.ractions{display:flex;flex-direction:column;gap:8px}
.btn{display:block;width:100%;border:0;border-radius:14px;padding:13px 16px;font:700 16px 'Space Grotesk',sans-serif;cursor:pointer;background:rgba(255,255,255,.1);color:var(--ink);text-decoration:none;text-align:center}
.btn:hover{filter:brightness(1.12)}
.btn.go{background:var(--grn);color:#06101c;font-size:18px}
.btn.x{background:#f1fff6;color:#06101c}
h2{font-size:clamp(28px,4vw,40px);letter-spacing:-.03em;text-align:center;margin:60px 0 18px}
.ladder{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px}
.rung{background:rgba(255,255,255,.04);border:1px solid var(--line);border-radius:14px;padding:12px 14px;opacity:.6}
.rung b{display:block;font-size:16px}.rung span{font-size:12px;color:var(--mut);font-family:'JetBrains Mono',monospace}
.rung.got{opacity:1;border-color:rgba(43,255,136,.6);background:rgba(43,255,136,.08)}
.how{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;margin:50px 0 30px}
.card{background:rgba(255,255,255,.04);border:1px solid var(--line);border-radius:20px;padding:20px}
.card .n{color:var(--grn);font-size:13px;font-weight:800}
.card h3{font-size:22px;margin:6px 0}
.card p{color:var(--mut);line-height:1.5;font-size:15px}
footer{max-width:760px;margin:30px auto 40px;padding:0 16px;color:var(--mut);font-size:13px;text-align:center;line-height:1.6}
.toast{position:fixed;left:50%;bottom:30px;transform:translateX(-50%);background:var(--grn);color:#06101c;padding:10px 18px;border-radius:999px;font-weight:700;z-index:99;animation:fade .2s}
@media(max-width:560px){.hero{padding:14px 0 14px}h1{font-size:36px}.sub{margin-top:10px}.top{padding:14px 16px}.brand span{display:none}.pill{padding:8px 11px;font-size:12px;max-width:150px}.sub{font-size:15px}.stat b{font-size:18px}.board{aspect-ratio:auto;height:min(68vh,560px)}}
@media(prefers-reduced-motion:reduce){.ocard,.overlay{animation:none}}
