html,body{overscroll-behavior:none;color:#fff9d7;background:#073d57;width:100%;min-width:0;height:100%;min-height:0;margin:0;font-family:Nunito,ui-sans-serif,system-ui,sans-serif;overflow:hidden}body{touch-action:none;-webkit-user-select:none;user-select:none;position:fixed;inset:0}[hidden]{display:none!important}#app{width:100%;min-width:0;height:100%;min-height:0;overflow:hidden;container-type:size}.game-shell{isolation:isolate;background:#078e9d;width:100%;min-width:0;height:100%;min-height:0;position:relative;overflow:hidden}canvas,.game-surface{box-sizing:border-box;touch-action:none;-webkit-user-select:none;user-select:none;cursor:crosshair;width:100%;min-width:0;height:100%;min-height:0;display:block}button,[role=button]{touch-action:manipulation;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;font:inherit}.hud-row{box-sizing:border-box;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:clamp(6px,2cqw,14px);width:100%;min-width:0;padding:clamp(8px,2.5cqmin,16px);display:flex}.badge{box-sizing:border-box;white-space:nowrap;text-overflow:ellipsis;font-variant-numeric:tabular-nums;align-items:center;gap:.38em;min-width:0;max-width:100%;font-size:clamp(14px,4cqw,20px);line-height:1.1;display:inline-flex;overflow:hidden}.tank-hud{z-index:4;pointer-events:none;position:absolute;inset-block-start:0;inset-inline-start:0}.score-badge,.time-badge,.combo-badge,.sound-button{-webkit-backdrop-filter:blur(7px);background:#033043b8;border:1px solid #cdfff452;min-height:44px;box-shadow:inset 0 1px #ffffff2e,0 4px 16px #022c4126}.score-badge,.time-badge{border-radius:15px;flex-shrink:0;padding:.55em .78em;font-weight:800}.score-badge{color:#fff4a7;font-family:"Baloo 2",Nunito,sans-serif;font-size:clamp(18px,5cqw,26px)}.hud-icon{color:#ffd75e;font-size:.82em}.hud-unit{color:#92eddd;font-size:.7em}.hud-actions{pointer-events:auto;align-items:center;gap:clamp(6px,1.6cqw,10px);min-width:0;display:flex}.combo-badge{color:#ffe57f;border-color:#ffde698c;border-radius:999px;min-height:36px;padding:.45em .65em;font-weight:800;animation:.22s ease-out combo-pop}.sound-button{color:#a9f4e5;border-radius:50%;width:44px;height:44px;font-weight:800}.time-badge.is-low{color:#fff0a7;border-color:#ffd265bf;animation:1s ease-in-out infinite time-pulse}.hint{z-index:3;box-sizing:border-box;opacity:0;color:#e6fff8;white-space:nowrap;text-overflow:ellipsis;pointer-events:none;background:#03394ac2;border:1px solid #d2fff561;border-radius:999px;width:max-content;max-width:calc(100% - 32px);padding:.65em .9em;font-size:clamp(12px,3.4cqw,16px);font-weight:700;transition:opacity .26s,transform .26s;position:absolute;inset-block-end:clamp(18px,5cqh,44px);inset-inline-start:50%;overflow:hidden;transform:translate(-50%,12px)}.power-status{z-index:5;color:#e5fff8;pointer-events:none;background:#033043c7;border:1px solid #cdfff46b;border-radius:999px;max-width:calc(100% - 32px);min-height:34px;padding:.45em .72em;font-size:clamp(11px,3.1cqw,14px);font-weight:800;position:absolute;inset-block-start:clamp(62px,9cqh,88px);inset-inline-start:50%;transform:translate(-50%);box-shadow:0 4px 16px #022c412e}.power-status.is-stunned{color:#caffff;border-color:#97fcffd9}.power-status.is-powered{color:#ead7ff;border-color:#ddc2ffcc}.power-status.is-empty{color:#ffd0b7;border-color:#ffae87cc}.event-banner{z-index:5;color:#fff1b1;pointer-events:none;background:#3d2358d1;border:1px solid #ffeb99ad;border-radius:999px;max-width:calc(100% - 32px);min-height:36px;padding:.48em .85em;font-size:clamp(11px,3.2cqw,15px);font-weight:800;animation:.28s cubic-bezier(.2,1.4,.4,1) event-in;position:absolute;inset-block-start:clamp(104px,14cqh,130px);inset-inline-start:50%;transform:translate(-50%);box-shadow:0 5px 20px #001c3033}.event-banner[data-type=blackout]{color:#cdefff;background:#03182be0;border-color:#9bd2e9ad}.event-banner[data-type=golden],.event-banner[data-type=treasure]{color:#fff0a4;background:#654112d6;border-color:#ffe167e6}.hint.is-visible{opacity:1;transform:translate(-50%)}.start-overlay,.result-overlay{z-index:8;box-sizing:border-box;place-items:center;padding:clamp(18px,5cqmin,42px);display:grid;position:absolute;inset:0}.start-overlay{cursor:pointer;background:linear-gradient(#00293a24,#00233647)}.start-copy{text-align:center;align-self:center;animation:2.8s ease-in-out infinite float-title}.start-copy h1{color:#fff4ad;letter-spacing:-.035em;text-wrap:balance;text-shadow:0 4px #1b6e73;margin:0;font-family:"Baloo 2",Nunito,sans-serif;font-size:clamp(36px,13cqw,74px);line-height:.9}.start-copy p{color:#d8fff4;background:#033848bd;border:1px solid #dbfff573;border-radius:999px;margin:.9em 0 0;padding:.62em 1em;font-size:clamp(14px,4cqw,19px);font-weight:800;display:inline-block}.start-overlay.is-ready .start-copy p{color:#fff4ad;animation:1.8s ease-in-out infinite prompt-pulse}.result-overlay{-webkit-backdrop-filter:blur(5px);background:#0125366b}.result-panel{box-sizing:border-box;text-align:center;background:#043c4deb;border:2px solid #c0ffee75;border-radius:28px;flex-direction:column;align-items:center;gap:clamp(6px,1.6cqmin,12px);width:min(82cqw,340px);padding:clamp(22px,6cqmin,38px);animation:.3s cubic-bezier(.2,1.4,.4,1) result-in;display:flex;box-shadow:inset 0 1px #ffffff2e,0 18px 54px #001f335c}.result-kicker{color:#8cebd8;font-size:clamp(11px,3cqw,14px);font-weight:800}.result-panel strong{color:#fff1a3;font-variant-numeric:tabular-nums;font-family:"Baloo 2",Nunito,sans-serif;font-size:clamp(46px,16cqw,78px);line-height:1}.result-panel [data-best]{color:#d7fff6;font-size:clamp(14px,4cqw,19px);font-weight:800}.replay-button{color:#174b54;background:#ffd661;border:0;border-radius:999px;min-width:148px;min-height:48px;margin-top:.55em;padding:.65em 1.25em;font-weight:800;box-shadow:inset 0 -4px #9a5b1938,0 7px 18px #001d2c47}.replay-button:active,.sound-button:active{transform:translateY(2px)}@keyframes float-title{0%,to{transform:translateY(0)}50%{transform:translateY(-7px)}}@keyframes prompt-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.035)}}@keyframes combo-pop{0%{transform:scale(.72)}to{transform:scale(1)}}@keyframes time-pulse{50%{border-color:#ffee93}}@keyframes result-in{0%{opacity:0;transform:scale(.86)translateY(12px)}to{opacity:1;transform:scale(1)translateY(0)}}@keyframes event-in{0%{opacity:0;transform:translate(-50%)scale(.82)}to{opacity:1;transform:translate(-50%)scale(1)}}@media (height<=470px){.hint{inset-block-end:10px}.score-badge,.time-badge,.sound-button{height:40px;min-height:40px}.sound-button{width:40px}.result-panel{padding:18px}}@media (prefers-reduced-motion:reduce){.start-copy,.start-overlay.is-ready .start-copy p,.time-badge.is-low,.combo-badge{animation:none}}
