:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box;margin:0;padding:0}html,body{background:#bfe3f5;width:100%;height:100%;font-family:Consolas,Courier New,monospace;overflow:hidden}#app{width:100vw;height:100vh;position:relative}canvas{touch-action:none;display:block}.hud{pointer-events:none;z-index:10;flex-direction:column;align-items:center;display:flex;position:absolute;inset:0}.hud__score{letter-spacing:1px;color:#fff;text-shadow:2px 2px #9c5a22,-2px 2px #9c5a22,0 4px 8px #00000059;margin-top:34px;font-size:54px;font-weight:700;line-height:1;transition:text-shadow .2s}.hud__score.is-combo{color:#fff3b0;text-shadow:2px 2px #9c5a22,-2px 2px #9c5a22,0 0 18px #ffd85ae6,0 4px 8px #00000059}.hud__score-label{letter-spacing:4px;color:#fff;opacity:.85;text-shadow:0 2px 4px #0006;margin-top:2px;font-size:11px}.hud__best{letter-spacing:3px;color:#fff;text-shadow:0 2px 4px #0006;opacity:.9;margin-top:6px;font-size:13px}.hud__building{letter-spacing:2px;color:#fff;opacity:.9;text-shadow:0 2px 4px #0006;margin-top:12px;font-size:12px}.hud__balance{background:linear-gradient(90deg,#e04a4ad9 0%,#f0d65cd9 30%,#78c878e6 50%,#f0d65cd9 70%,#e04a4ad9 100%);border:2px solid #ffffffd9;border-radius:6px;width:220px;height:12px;margin-top:12px;transition:box-shadow .2s;position:relative;box-shadow:0 2px 6px #0000004d}.hud__balance.is-danger{box-shadow:0 0 12px 2px #e04a4ae6}.hud__balance-marker{background:#fff;border:1px solid #00000059;border-radius:3px;width:6px;height:22px;transition:left .12s ease-out;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.overlay{text-align:center;pointer-events:auto;z-index:20;background:radial-gradient(circle,#7fc9ea26 0%,#1e3c5a8c 90%);flex-direction:column;justify-content:center;align-items:center;gap:16px;transition:opacity .3s;display:flex;position:absolute;inset:0}.overlay.hidden{display:none}.overlay__title{letter-spacing:4px;color:#ffd23f;text-shadow:3px 3px #9c5a22,-1px -1px #9c5a22,0 6px 16px #00000073;font-size:46px;font-weight:700}.overlay__subtitle{letter-spacing:2px;color:#fff;text-shadow:0 2px 6px #00000080;font-size:15px}.overlay__score{letter-spacing:2px;color:#fff;text-shadow:0 2px 6px #00000080;font-size:20px}.overlay__hint{letter-spacing:2px;color:#eafaff;opacity:.9;text-shadow:0 2px 6px #00000080;margin-top:10px;font-size:13px}.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)}}.perfect-flash{pointer-events:none;z-index:15;letter-spacing:3px;color:#fff3b0;text-shadow:2px 2px #9c5a22,-1px -1px #9c5a22,0 4px 14px #00000080;opacity:0;font-size:34px;font-weight:700;position:absolute;top:44%;left:50%;transform:translate(-50%,-50%)}.perfect-flash[data-tone=cyan]{color:#b8f0ff}.perfect-flash[data-tone=red]{color:#ffb3a6}.perfect-flash.is-shown{animation:.6s ease-out perfect-pop}@keyframes perfect-pop{0%{opacity:0;transform:translate(-50%,-30%)scale(.6)}25%{opacity:1;transform:translate(-50%,-55%)scale(1.15)}50%{transform:translate(-50%,-60%)scale(1)}to{opacity:0;transform:translate(-50%,-85%)scale(1)}}
