*,:before,:after{box-sizing:border-box}:root{--bg:#05070f;--panel:#0c1226eb;--cyan:#39e6ff;--pink:#ff5db1;--gold:#ffd76b;--text:#e8f0ff;--muted:#93a4c8}html,body{background:var(--bg);height:100%;color:var(--text);-webkit-tap-highlight-color:transparent;overscroll-behavior:none;margin:0;padding:0;font-family:ui-sans-serif,system-ui,Segoe UI,Roboto,Helvetica,Arial,sans-serif}.screen{background:radial-gradient(1200px 600px at 50% -10%, #39e6ff1f, transparent 60%), radial-gradient(900px 500px at 110% 110%, #ff5db11f, transparent 60%), var(--bg);justify-content:center;align-items:center;min-height:100dvh;padding:12px;display:flex}.game{flex-direction:column;gap:10px;width:100%;max-width:880px;display:flex}.topbar{justify-content:space-between;align-items:center;gap:12px;display:flex}.brand{letter-spacing:2px;text-transform:lowercase;color:var(--cyan);text-shadow:0 0 14px #39e6ff99;font-size:26px;font-weight:800}.brand span{color:var(--pink);text-shadow:0 0 14px #ff5db199}.hud{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:14px;font-size:14px;font-weight:600;display:flex}.hud .city{color:var(--gold)}.hud .lvl{color:var(--muted)}.hud .lives{color:var(--pink);letter-spacing:2px}.hud .score{color:var(--cyan);font-variant-numeric:tabular-nums;text-align:right;min-width:60px}.progress{align-items:center;gap:12px;display:flex}.bar{background:#7896dc24;border:1px solid #7896dc33;border-radius:999px;flex:1;height:12px;position:relative;overflow:hidden}.bar .fill{background:linear-gradient(90deg, var(--cyan), var(--pink));height:100%;transition:width .25s;box-shadow:0 0 12px #39e6ff99}.pct{color:var(--text);white-space:nowrap;font-size:14px;font-weight:700}.pct .of{color:var(--muted);font-weight:500}.stage{aspect-ratio:840/532;background:#05070f;border:1px solid #39e6ff40;border-radius:14px;width:100%;position:relative;overflow:hidden;box-shadow:0 0 0 1px #0006,0 20px 60px #00000080}.board{touch-action:none;width:100%;height:100%;display:block}.toast{letter-spacing:.5px;border:1px solid var(--cyan);color:var(--cyan);text-shadow:0 0 10px #39e6ff99;pointer-events:none;background:#080c1ad9;border-radius:999px;padding:8px 16px;font-size:15px;font-weight:800;animation:.2s pop;position:absolute;top:14px;left:50%;transform:translate(-50%)}.toast.bad{border-color:var(--pink);color:var(--pink);text-shadow:0 0 10px #ff5db199}@keyframes pop{0%{opacity:0;transform:translate(-50%,-6px)}}.pausebtn{width:38px;height:38px;color:var(--cyan);cursor:pointer;background:#080c1ab3;border:1px solid #39e6ff66;border-radius:10px;font-weight:800;position:absolute;top:10px;right:10px}.overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#03050cb3;justify-content:center;align-items:center;padding:18px;display:flex;position:absolute;inset:0}.panel{background:var(--panel);text-align:center;border:1px solid #39e6ff4d;border-radius:16px;width:100%;max-width:460px;padding:24px;box-shadow:0 0 40px #39e6ff26}.panel h1{letter-spacing:3px;color:var(--cyan);text-shadow:0 0 18px #39e6ff99;margin:0 0 8px;font-size:40px}.panel h2{color:var(--gold);text-shadow:0 0 14px #ffd76b66;margin:0 0 8px;font-size:26px}.panel .tag{color:var(--muted);margin:0 0 16px;font-size:15px;line-height:1.5}.panel .tag b{color:var(--text)}.how{text-align:left;color:var(--muted);max-width:380px;margin:0 auto 18px;padding-left:20px;font-size:14px;line-height:1.7}.how b{color:var(--cyan)}.btns{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.btns button{color:var(--text);cursor:pointer;background:#7896dc14;border:1px solid #7896dc59;border-radius:12px;padding:12px 22px;font-size:15px;font-weight:700;transition:transform 80ms,background .15s}.btns button:hover{background:#7896dc2e}.btns button:active{transform:scale(.96)}.btns .primary{border-color:var(--cyan);color:#fff;background:linear-gradient(90deg,#39e6ff33,#ff5db133);box-shadow:0 0 18px #39e6ff59}.dpad{touch-action:none;align-self:center;width:168px;height:168px;margin-top:4px;position:relative}.dbtn{width:56px;height:56px;color:var(--cyan);cursor:pointer;-webkit-user-select:none;user-select:none;background:#0c1226d9;border:1px solid #39e6ff59;border-radius:14px;justify-content:center;align-items:center;font-size:20px;font-weight:800;display:flex;position:absolute}.dbtn:active{background:#39e6ff40}.dbtn.up{top:0;left:56px}.dbtn.down{bottom:0;left:56px}.dbtn.left{top:56px;left:0}.dbtn.right{top:56px;right:0}@media (hover:hover) and (pointer:fine){.dpad{opacity:.5;transform:scale(.85)}.dpad:hover{opacity:1}}
