:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{background:#04060f;height:100%;overflow:hidden}.app{position:fixed;inset:0}.app canvas{display:block}.hud{pointer-events:none;color:#9fdcff;-webkit-user-select:none;user-select:none;font-family:SF Mono,ui-monospace,Menlo,Consolas,monospace;position:fixed;inset:0}.hud-top{justify-content:space-between;display:flex;position:absolute;top:18px;left:24px;right:24px}.hud-right{text-align:right}.label{letter-spacing:4px;color:#4d7ea8;font-size:11px}.score-value{color:#eaffff;letter-spacing:2px;text-shadow:0 0 12px #5adcffcc;font-size:28px}.score-value.dim{color:#7ba7c9;text-shadow:0 0 8px #5adcff66}.lives{letter-spacing:6px;color:#7df9ff;text-shadow:0 0 10px #7df9ffcc;font-size:20px;position:absolute;bottom:18px;left:24px}.hint{letter-spacing:2px;color:#35608a;font-size:11px;position:absolute;bottom:20px;right:24px}.overlay{text-align:center;background:radial-gradient(#04060f00 40%,#04060f8c 100%);flex-direction:column;justify-content:center;align-items:center;gap:16px;display:flex;position:absolute;inset:0}.title{letter-spacing:.18em;color:#eaffff;text-shadow:0 0 30px #5adcffe6,0 0 90px #ff3cdc59;font-size:clamp(40px,8vw,88px);font-weight:800}.title.small{color:#ffb3c8;text-shadow:0 0 30px #ff5078e6,0 0 90px #ff3c3c59;font-size:clamp(28px,5vw,54px)}.subtitle{letter-spacing:8px;color:#ff5fd6;font-size:13px}.controls{letter-spacing:3px;color:#6f9cc4;flex-direction:column;gap:6px;margin-top:18px;font-size:12px;display:flex}.menu-hiscore{letter-spacing:4px;color:#ffd166;text-shadow:0 0 12px #ffd16699;font-size:13px}.press{letter-spacing:5px;color:#baf3ff;margin-top:26px;font-size:15px;animation:1.2s step-end infinite blink}@keyframes blink{50%{opacity:.15}}.gameover-score{letter-spacing:4px;color:#eaffff;font-size:22px}.wave-banner{text-align:center;letter-spacing:12px;color:#ffd166;text-shadow:0 0 24px #ffc850b3;opacity:0;width:100%;font-size:30px;animation:2.2s forwards wave-in;position:absolute;top:22%}@keyframes wave-in{0%{opacity:0;transform:scale(1.4)}15%{opacity:1;transform:scale(1)}75%{opacity:1}to{opacity:0}}
