*{box-sizing:border-box}html,body{color:#e6edf7;-webkit-user-select:none;user-select:none;background:#0b1120;height:100%;margin:0;font-family:Rubik,system-ui,-apple-system,Segoe UI,Arial,sans-serif;overflow:hidden}#view{width:100%;height:100%;display:block;position:fixed;inset:0}.screen{z-index:20;background:radial-gradient(900px 600px at 50% 0,#3b82f638,#0000 60%),#0b1120eb;justify-content:center;align-items:center;padding:18px;display:flex;position:fixed;inset:0}.card{background:#151f33;border:1px solid #94a3b838;border-radius:18px;width:100%;max-width:520px;padding:22px}h1{margin:0 0 6px;font-size:1.5rem}h1 span{color:#f59e0b}h2{margin:0 0 14px;font-size:1.25rem}.lead{color:#93a4bd;margin:0 0 16px;font-size:.92rem;line-height:1.6}.row{flex-wrap:wrap;gap:8px;margin-bottom:10px;display:flex}input{color:#e6edf7;background:#0d1526;border:1px solid #94a3b847;border-radius:11px;flex:1;min-width:120px;padding:11px 13px;font-family:inherit;font-size:.95rem}input:focus{border-color:#3b82f6;outline:none}#code{text-align:center;letter-spacing:.18em;flex:0 0 110px;font-weight:700}.btn{color:#e6edf7;cursor:pointer;background:#334155;border:0;border-radius:11px;padding:11px 18px;font-family:inherit;font-size:.95rem;font-weight:700}.btn.primary{color:#1a1206;background:#f59e0b}.btn.ghost{background:0 0;border:1px solid #94a3b859}.btn:disabled{opacity:.5;cursor:not-allowed}.msg{color:#fca5a5;min-height:18px;margin:6px 0 0;font-size:.88rem}.room{border-top:1px solid #94a3b82e;margin-top:12px;padding-top:14px}.roomHead{justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;font-size:.95rem;display:flex}.roomHead b{letter-spacing:.16em;color:#f59e0b;font-size:1.35rem}.qr{justify-content:center;margin:6px 0 12px;display:flex}.qr canvas{background:#fff;border-radius:10px;padding:6px}.lobbyList{flex-wrap:wrap;gap:6px;display:flex}.lobbyList span{background:#1b2740;border:1px solid #94a3b833;border-radius:999px;padding:4px 10px;font-size:.84rem}.lobbyList span.red{color:#fca5a5;border-color:#ef4444}.lobbyList span.blue{color:#93c5fd;border-color:#3b82f6}#hud{pointer-events:none;z-index:10;position:fixed;inset:0}.top{align-items:center;gap:10px;display:flex;position:absolute;top:12px;left:50%;transform:translate(-50%)}.score{text-align:center;background:#0d1526d1;border-radius:12px;min-width:64px;padding:6px 12px;font-size:1.2rem;font-weight:800}.score.red{color:#fca5a5;border:1px solid #ef4444}.score.blue{color:#93c5fd;border:1px solid #3b82f6}.timer{background:#0d1526d1;border:1px solid #94a3b84d;border-radius:12px;padding:6px 14px;font-size:1.05rem;font-weight:800}.bottom{justify-content:space-between;align-items:center;gap:12px;display:flex;position:absolute;bottom:14px;left:14px;right:14px}.hp{background:#0d1526d9;border:1px solid #94a3b84d;border-radius:999px;width:180px;height:26px;position:relative;overflow:hidden}.hp i{background:linear-gradient(90deg,#22c55e,#84cc16);width:100%;height:100%;transition:width .18s;display:block}.hp span{justify-content:center;align-items:center;font-size:.8rem;font-weight:700;display:flex;position:absolute;inset:0}.hint{color:#93a4bd;background:#0d1526b3;border-radius:9px;padding:6px 10px;font-size:.8rem}.toast{opacity:0;background:#0d1526e6;border:1px solid #94a3b84d;border-radius:14px;padding:10px 20px;font-size:1.4rem;font-weight:800;transition:opacity .2s;position:absolute;top:38%;left:50%;transform:translate(-50%)}.toast.show{opacity:1}.board{flex-direction:column;gap:6px;margin-bottom:16px;display:flex}.board div{background:#1b2740;border-radius:10px;justify-content:space-between;padding:9px 13px;font-size:.92rem;display:flex}.board div.me{border:1px solid #f59e0b}#sticks{z-index:11;justify-content:space-between;height:200px;padding:0 18px 18px;display:flex;position:fixed;inset:auto 0 0}.stick{background:#94a3b824;border:1px solid #94a3b84d;border-radius:50%;align-self:flex-end;width:110px;height:110px;position:relative}.stick i{background:#f59e0bd9;border-radius:50%;width:52px;height:52px;position:absolute;top:29px;left:29px}@media (width<=560px){.hp{width:130px}.hint{display:none}}
