*{box-sizing:border-box}html,body{height:100%;margin:0}body{color:#e8ebf0;background:#0b0e14;font-family:system-ui,sans-serif;overflow:hidden}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}header{z-index:10;padding:.5rem .75rem;position:fixed;top:0;left:0}header nav a{color:#4a5568;font-size:.75rem;text-decoration:none}header nav a:hover{color:#8b95a8}main{height:100vh}#stage{cursor:default;touch-action:none;width:100%;max-width:720px;height:100%;margin:0 auto;position:relative;overflow:hidden}#scene{display:block;position:absolute;inset:0}#score{font-variant-numeric:tabular-nums;color:#8b95a8;letter-spacing:.05em;z-index:5;pointer-events:none;font-size:.9rem;position:absolute;top:1rem;left:50%;transform:translate(-50%)}#speed-control{z-index:5;align-items:center;gap:.5rem;display:flex;position:absolute;bottom:1rem;left:50%;transform:translate(-50%)}#speed-control label{color:#8b95a8;text-transform:uppercase;letter-spacing:.05em;font-size:.7rem}#speed-control input[type=range]{accent-color:#ffd76a;width:140px}#hearts{z-index:5;gap:.4rem;display:flex;position:absolute;top:1.25rem;left:1.25rem}.heart{width:16px;height:16px;clip-path:path("M8 14.5 C-2 7.5 1 0.5 8 4.5 C15 0.5 18 7.5 8 14.5 Z");background:#2a3040;transition:background .3s,box-shadow .3s}.heart.lit{background:#ff6b81;box-shadow:0 0 8px #ff6b81b3}#stage.gameover{cursor:pointer}#stage:after{content:"";opacity:0;pointer-events:none;z-index:4;background:radial-gradient(circle,#ff505080,#0000 65%);position:absolute;inset:0}#stage.flash-hit:after{animation:.6s ease-out flash-red}#stage.flash-boost:after{background:radial-gradient(circle,#ffd25a8c,#0000 65%);animation:.6s ease-out flash-gold}@keyframes flash-red{0%{opacity:.8}to{opacity:0}}@keyframes flash-gold{0%{opacity:.9}to{opacity:0}}
