:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box;margin:0;padding:0}html,body{background:#07060a;width:100%;height:100%;font-family:Cinzel,Times New Roman,Consolas,serif;overflow:hidden}#app{width:100vw;height:100vh;position:relative}canvas{touch-action:none;display:block}.flash{pointer-events:none;z-index:28;opacity:0;background:radial-gradient(circle,#96081400 20%,#78000c8c 100%);position:absolute;inset:0}.flash.is-hit{animation:.5s ease-out danger-flash}@keyframes danger-flash{0%{opacity:0}8%{opacity:1}to{opacity:0}}.hud{pointer-events:none;z-index:10;flex-direction:column;align-items:center;display:flex;position:absolute;inset:0}.hud__score{letter-spacing:3px;color:#efe8d2;text-shadow:0 0 18px #b41e2859,0 4px 14px #000c;margin-top:34px;font-size:72px;font-weight:700;transition:transform .1s ease-out}.hud__best{letter-spacing:4px;color:#b79a55;text-shadow:0 2px 6px #000c;opacity:.85;margin-top:4px;font-size:13px}.overlay{text-align:center;pointer-events:auto;z-index:20;background:radial-gradient(circle,#07060a59 0%,#050408e6 92%);flex-direction:column;justify-content:center;align-items:center;gap:14px;padding:24px;transition:opacity .3s;display:flex;position:absolute;inset:0}.overlay.hidden{display:none}.overlay__title{letter-spacing:8px;color:#d8c88f;text-shadow:0 0 24px #96141e66,2px 3px #0009,0 8px 26px #000000d9;font-size:56px;font-weight:700}.overlay__subtitle{letter-spacing:3px;color:#e6ddc6;text-shadow:0 2px 6px #000c;font-size:15px}.overlay__score{letter-spacing:2px;color:#c0303a;text-shadow:0 2px 8px #000c;font-size:22px}.overlay__hint{letter-spacing:2px;color:#9c8c66;opacity:.9;text-shadow:0 2px 6px #000c;margin-top:8px;font-size:13px}.countdown{pointer-events:none;z-index:25;letter-spacing:8px;color:#e7dbb0;text-shadow:0 0 30px #96141e80,0 8px 34px #000000bf;opacity:0;justify-content:center;align-items:center;font-size:170px;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.15)}40%{transform:scale(1)}80%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.4)}}
