:root{--bg:#04130c;--card:#0a2d1b;--line:#23543a;--lime:#8cff2d;--text:#f7fff8;--muted:#a9b8ad}
*{box-sizing:border-box}body{margin:0;background:linear-gradient(#061a10,#020b06);color:var(--text);font-family:system-ui,sans-serif}
header{position:sticky;top:0;display:flex;gap:14px;align-items:center;padding:18px;background:#031109;border-bottom:1px solid var(--line);z-index:5}
.logo{background:var(--lime);color:#061109;font-weight:900;border-radius:16px;padding:18px}
h1,h2,p{margin-top:0}header p{color:var(--muted);margin-bottom:0}main{max-width:900px;margin:auto;padding:20px;display:grid;gap:18px}
.card{background:var(--card);border:1px solid var(--line);border-radius:24px;padding:22px}
input,button{width:100%;padding:15px;margin:7px 0;border-radius:14px;font:inherit}
input{background:#031109;color:white;border:1px solid var(--line)}button{background:var(--lime);border:0;font-weight:800}.danger{background:#ff7676}
.row{display:flex;justify-content:space-between;align-items:center;gap:10px}.hidden{display:none!important}
.board-scroll{overflow:auto;margin:14px 0}.grid{min-width:650px;display:grid;grid-template-columns:50px repeat(10,1fr);gap:3px}
.cell,.num,.corner{height:52px;border:1px solid var(--line);border-radius:8px;display:grid;place-items:center;text-align:center;background:#05180f;font-size:11px}
.num{color:#ffd966;font-weight:900}.cell.claimed{background:#174429}.cell.mine{outline:2px solid var(--lime)}.cell.selected{background:#315f25}
.queue-row{padding:11px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between}.active{color:var(--lime)}
.toast{position:fixed;left:50%;bottom:20px;transform:translateX(-50%);background:white;color:#102014;padding:14px 18px;border-radius:16px;font-weight:800;z-index:20}
