:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box;margin:0;padding:0}html,body{background:#02030a;width:100%;height:100%;font-family:Consolas,Courier New,monospace;overflow:hidden}#app{width:100vw;height:100vh;position:relative}canvas{display:block}body:after{content:"";z-index:100;pointer-events:none;mix-blend-mode:multiply;background:repeating-linear-gradient(#0000 0 2px,#00000038 3px 4px),radial-gradient(circle,#0000 55%,#0000008c 100%);position:fixed;inset:0}.hud{pointer-events:none;z-index:10;-webkit-backdrop-filter:blur(8px);background:#08102073;border:1px solid #8be8ff1f;border-radius:12px;flex-direction:column;align-items:center;padding:10px 28px;display:flex;position:absolute;top:20px;left:50%;transform:translate(-50%);box-shadow:0 4px 20px #0006}.hud__score{letter-spacing:2px;color:#fff;font-size:34px;font-weight:700;line-height:1.1}.hud__best{letter-spacing:2px;color:#8be8ff;opacity:.75;font-size:11px}.hud__best:not(:empty){text-align:center;border-top:1px solid #ffffff14;width:100%;margin-top:4px;padding-top:4px}.overlay{text-align:center;pointer-events:auto;z-index:20;background:radial-gradient(circle,#0400148c 0%,#010106eb 75%);flex-direction:column;justify-content:center;align-items:center;gap:18px;transition:opacity .3s;display:flex;position:absolute;inset:0}.overlay.hidden{display:none}.overlay__title{letter-spacing:8px;color:#00fff2;text-shadow:0 0 10px #00fff2,0 0 30px #00fff2,0 0 60px #ff00e6;font-size:52px;animation:2.4s infinite flicker}.overlay__subtitle{letter-spacing:3px;color:#39ff7a;text-shadow:0 0 8px #39ff7a;font-size:16px}.overlay__score{letter-spacing:3px;color:#fff;font-size:22px}.overlay__hint{letter-spacing:2px;color:#7dfcff;opacity:.8;margin-top:12px;font-size:13px}@keyframes flicker{0%,19%,21%,23%,54%,56%,to{opacity:1}20%,22%,55%{opacity:.6}}.countdown{pointer-events:none;z-index:25;letter-spacing:6px;color:#fff;text-shadow:0 6px 26px #0000008c;opacity:0;justify-content:center;align-items:center;font-size:150px;font-weight:700;display:flex;position:absolute;inset:0}.countdown.is-shown{animation:.75s ease-out countdown-pop}@keyframes countdown-pop{0%{opacity:0;transform:scale(.4)}20%{opacity:1;transform:scale(1.12)}40%{transform:scale(1)}80%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.3)}}
