*{margin:0;padding:0;box-sizing:border-box}
body{background:#06060c;overflow:hidden;font-family:'Segoe UI',system-ui,sans-serif;color:#e0e0e0}
canvas{position:fixed;inset:0;width:100vw;height:100vh;z-index:0}
#backBtn{position:fixed;top:14px;left:16px;z-index:20;color:rgba(255,255,255,0.35);text-decoration:none;font-size:13px;font-weight:600;letter-spacing:2px;padding:6px 12px;border-radius:4px;transition:all .2s}
#backBtn:hover{color:#fff;background:rgba(255,255,255,0.1)}
#ui{position:fixed;inset:0;pointer-events:none;z-index:1}
#score{position:absolute;top:16px;left:50%;transform:translateX(-50%);font-size:36px;font-weight:900;color:#fff;text-shadow:0 0 20px rgba(255,68,102,0.4);opacity:0;transition:opacity .3s}
#score.visible{opacity:1}
#highscore{position:absolute;top:60px;left:50%;transform:translateX(-50%);font-size:13px;color:#99a;opacity:0;transition:opacity .3s}
#highscore.visible{opacity:1}
#overlay,#deathOverlay{position:fixed;inset:0;z-index:10;display:flex;flex-direction:column;align-items:center;justify-content:center;background:rgba(6,6,12,0.85);backdrop-filter:blur(12px);transition:opacity .3s}
#overlay:not(.visible),#deathOverlay:not(.visible){opacity:0;pointer-events:none}
h1{font-size:56px;font-weight:900;letter-spacing:12px;margin-bottom:16px;background:linear-gradient(135deg,#ff4466,#ff8844);-webkit-background-clip:text;-webkit-text-fill-color:transparent}
p{font-size:14px;color:#8899aa;margin-bottom:8px}
.controls{font-size:11px;letter-spacing:2px;color:#556;margin-bottom:24px}
button{background:linear-gradient(135deg,#ff4466,#ff8844);color:#fff;border:none;padding:12px 48px;font-size:14px;font-weight:800;letter-spacing:4px;border-radius:6px;cursor:pointer;transition:transform .15s,box-shadow .3s}
button:hover{transform:scale(1.05);box-shadow:0 0 30px rgba(255,68,102,0.3)}
#finalScore{font-size:24px;color:#ff4466;font-weight:700;margin:16px 0}
#newHigh{color:#ff8844;font-size:14px;margin-bottom:24px}
