*{margin:0;padding:0;box-sizing:border-box}
body{background:#10141a;width:100vw;height:100vh;overflow:hidden;font-family:'Segoe UI',system-ui,sans-serif;color:#e0e0e0}
canvas{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:0;display:block}
#backBtn{position:fixed;top:14px;left:16px;z-index:20;color:rgba(255,255,255,0.5);text-decoration:none;font-size:13px;font-weight:700;letter-spacing:2px;padding:6px 12px;border-radius:4px;transition:all .2s;background:rgba(0,0,0,0.3)}
#backBtn:hover{color:#fff;background:rgba(0,0,0,0.5)}
#ui{position:fixed;top:0;left:0;width:100vw;height:100vh;pointer-events:none;z-index:1}
#score{position:absolute;top:18px;left:50%;transform:translateX(-50%);font-size:48px;font-weight:900;color:#fff;text-shadow:0 2px 8px rgba(0,0,0,0.6);font-variant-numeric:tabular-nums}
#best{position:absolute;top:74px;left:50%;transform:translateX(-50%);font-size:13px;color:rgba(255,255,255,0.5);font-weight:700;letter-spacing:2px}
#combo{position:absolute;top:50%;right:24px;transform:translateY(-50%);font-size:18px;font-weight:800;color:#fbbf24;text-shadow:0 0 10px rgba(251,191,36,0.7);opacity:0;transition:opacity .3s}
#combo.visible{opacity:1}

#overlay,#goOverlay{position:fixed;inset:0;background:rgba(8,12,20,0.92);display:flex;flex-direction:column;justify-content:center;align-items:center;z-index:10;backdrop-filter:blur(6px);padding:20px;text-align:center;display:none}
#overlay.visible,#goOverlay.visible{display:flex}
h1{font-size:64px;font-weight:900;letter-spacing:8px;margin-bottom:16px;background:linear-gradient(135deg,#22d3ee,#a855f7);-webkit-background-clip:text;background-clip:text;color:transparent}
p{color:rgba(255,255,255,0.6);max-width:480px;margin-bottom:8px;font-size:14px;line-height:1.5}
p.controls{color:rgba(255,255,255,0.4);font-size:12px;letter-spacing:1px;margin-bottom:24px}
button{padding:14px 36px;font-size:16px;font-weight:800;letter-spacing:3px;background:linear-gradient(135deg,#22d3ee,#7c3aed);color:#fff;border:none;border-radius:10px;cursor:pointer;transition:all .15s;margin:6px;text-transform:uppercase;box-shadow:0 6px 20px rgba(124,58,237,0.4)}
button:hover{transform:translateY(-2px);box-shadow:0 10px 28px rgba(124,58,237,0.55)}
.subtle-btn{background:rgba(255,255,255,0.06)!important;box-shadow:none!important}
#leaderboard{margin-top:30px;text-align:center}
#leaderboard h2{font-size:13px;color:rgba(255,255,255,0.4);letter-spacing:3px;margin-bottom:6px}
#bestNum{font-size:36px;font-weight:900;color:#fbbf24}
#finalScore{font-size:28px;color:#fff;margin:10px 0;font-weight:800}
#newHigh{color:#fbbf24;font-weight:800;letter-spacing:2px;min-height:18px}
