@font-face{font-family:TangoSans;src:url(../assets/font/TangoSans.ttf)format("truetype");font-display:swap}:root{color:#fff;font-synthesis:none;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;background:#111;font-family:TangoSans,system-ui,sans-serif}*{box-sizing:border-box;margin:0;padding:0}html,body,#app,#game-root{overscroll-behavior:none;width:100%;height:100dvh;overflow:hidden}body{background:#111}canvas{touch-action:none;width:100%;height:100%;display:block}#game-root:after{z-index:10;pointer-events:none;content:"";background:radial-gradient(#0000 52%,#11111114 72%,#1111116b 125%);position:fixed;inset:0}.screen-layer{z-index:100;background:#111;place-items:center;display:grid;position:fixed;inset:0}#loading{transition:opacity .32s}#loading.is-hidden{pointer-events:none;opacity:0}.loading-card{text-align:center;text-transform:uppercase}.loading-card h1{letter-spacing:.16em;font-family:Arial,sans-serif;font-size:clamp(44px,10vw,120px);font-weight:900}.loading-rule{background:linear-gradient(90deg,#222,#fff,#222) 0 0/400% 100%;width:min(44vw,320px);height:6px;margin:20px auto 14px;animation:2.2s linear infinite loading-shimmer}.loading-card p,.credits{color:#ddd;letter-spacing:.12em;text-transform:uppercase;font-family:Arial,sans-serif;font-size:clamp(12px,2vw,20px)}.loading-retry{color:#fff;font:inherit;cursor:pointer;background:#006091;border:3px solid #13a8f3;border-radius:10px;margin:18px auto 0;padding:8px 20px;display:block}.credits{top:max(16px, env(safe-area-inset-top));right:max(18px, env(safe-area-inset-right));font-size:11px;position:absolute}.loading-track{background:#fff;height:8px;position:absolute;bottom:0;left:0;right:0}#loading-progress{transform-origin:0;background:#13a8f3;width:0;height:100%;transition:width .22s ease-out}#ui-root,#modal-root{pointer-events:none;position:fixed;inset:0}#ui-root{z-index:20}.dynamic-joystick{pointer-events:none;opacity:0;background:#00000014;border:1.28vmin solid #ffffff29;border-radius:50%;width:20vmin;height:20vmin;margin:-10vmin 0 0 -10vmin;transition:opacity 80ms;position:fixed}.dynamic-joystick.is-active{opacity:.72}.dynamic-joystick__knob{background:radial-gradient(circle at 38% 32%,#fff 0 18%,#c9c9c9 68%,#777 100%);border:1.03vmin solid #222;border-radius:50%;width:7.69vmin;height:7.69vmin;margin:-3.845vmin 0 0 -3.845vmin;position:absolute;top:50%;left:50%;box-shadow:0 4px 12px #0000004d}#modal-root{z-index:50}#modal-root.is-open{pointer-events:auto}.hud{width:100%;height:100%;font-family:TangoSans,sans-serif;transition:opacity .3s ease-in;position:relative}.hud__currencies{top:max(2.8dvh, env(safe-area-inset-top));right:max(2.8dvh, env(safe-area-inset-right));flex-direction:column;align-items:flex-end;gap:1.2dvh;display:flex;position:absolute}.currency-counter{color:#fff;letter-spacing:.3dvh;background:#111d;border-radius:1.5dvh;justify-content:flex-end;align-items:center;min-width:10dvh;height:8.6dvh;padding-left:2dvh;font-size:4.2dvh;animation:.2s ease-out both counter-punch;display:flex}.currency-counter img{object-fit:contain;width:8.6dvh;height:8.6dvh;margin-left:1.2dvh}.hud__missions{top:max(2.86dvh, env(safe-area-inset-top));left:max(2.8dvh, env(safe-area-inset-left));gap:.8dvh;width:min(53.43dvh,52vw);display:grid;position:absolute}.mission-bar{color:#fff;letter-spacing:.3375dvh;white-space:nowrap;background:#0a1724ee;border:max(1px,.286dvh) solid #13a8f3;border-radius:1.45dvh;justify-content:space-between;align-items:center;height:5.57dvh;min-height:19px;padding:0 1.8dvh 0 2.1dvh;font-size:2.25dvh;animation:1s cubic-bezier(.22,1,.36,1) both mission-enter;display:flex;position:relative;overflow:hidden}.mission-bar.is-complete{pointer-events:none;animation:.5s cubic-bezier(.22,1,.36,1) both mission-complete}.mission-bar.is-revealing{animation:1s cubic-bezier(.22,1,.36,1) both mission-enter}.mission-bar__progress{z-index:0;background:#0d5f8a;width:0;transition:width .18s ease-out;position:absolute;inset:0 auto 0 0}.mission-bar__label,.mission-bar__amount{z-index:1;position:relative}.mission-bar__amount.is-icon-only{justify-content:center;gap:0;min-width:6.57dvh;padding-left:0}.mission-bar__label{text-overflow:ellipsis;overflow:hidden}.mission-bar__amount{background:#123251;align-items:center;gap:.8dvh;height:100%;margin-right:-1.5dvh;padding-left:1.4dvh;font-size:2.25dvh;display:flex}.mission-bar__amount img{object-fit:contain;width:3dvh;height:3dvh}.mission-bar__amount.is-punching{animation:.2s ease-out both counter-punch}.hud__toast{opacity:0;letter-spacing:.15dvh;background:#0a1724e8;border:max(2px,.4dvh) solid #13a8f3;border-radius:1.2dvh;padding:1dvh 1.6dvh;font-size:2.2dvh;transition:all .18s;position:absolute;top:34%;left:50%;transform:translate(-50%,10px)}.hud__toast.is-visible{opacity:1;transform:translate(-50%)}.hud__reward-offer{--offer-angle:360deg;top:48%;right:max(3.8dvh, env(safe-area-inset-right));color:#fff;background:linear-gradient(#0a1724eb, #0a1724eb) padding-box, conic-gradient(#13a8f3 var(--offer-angle), #224354 0) border-box;cursor:pointer;pointer-events:auto;border:3px solid #0000;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;gap:0;width:11dvh;height:11dvh;padding:0;font:1.55dvh/.92 TangoSans,sans-serif;animation:2s ease-in-out infinite reward-offer-pulse;display:flex;position:absolute;transform:translateY(-50%);box-shadow:0 0 0 5px #13a8f329}.hud__reward-offer[hidden]{display:none}.hud__reward-offer:disabled{cursor:wait;opacity:.55}.hud__reward-offer img{object-fit:contain;width:5.2dvh;height:5.2dvh}.hud__super-mode{color:#fff;background:#006091e8;border-radius:10px;padding:8px 12px;font-size:11px;position:absolute;top:54px;right:0}.modal-overlay{width:100%;height:100%;padding:max(18px, env(safe-area-inset-top)) max(24px, env(safe-area-inset-right)) max(18px, env(safe-area-inset-bottom)) max(24px, env(safe-area-inset-left));-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#04090ea8;place-items:center;animation:.22s ease-out both modal-backdrop-in;display:grid}.game-modal{text-align:center;background:#30333acc;border:8px solid #111;border-radius:28px;width:min(580px,84vw);max-height:86vh;padding:22px;animation:.34s cubic-bezier(.175,.885,.32,1.1) both modal-card-in;overflow:auto;box-shadow:0 20px 50px #00000073}.modal-overlay--reward{-webkit-backdrop-filter:none;backdrop-filter:none;background:#111111e0;place-items:end center}.game-modal--reward{width:max(60vw,80dvh);max-width:calc(100vw - 48px);margin-bottom:max(6vh, env(safe-area-inset-bottom));box-shadow:none;background:#444b;border-width:1.25dvh;border-radius:3.125dvh;padding:1.875dvh;animation:.5s cubic-bezier(.05,.7,.1,1) both reward-panel-in}.game-modal--reward h2{border-radius:1.25dvh 1.25dvh 0 0;width:100%;min-width:0;margin:0;padding:2.5dvh 0;font-size:3.5dvh}.game-modal--reward p{background:#333;border-radius:0 0 1.25dvh 1.25dvh;padding:1dvh;font:2.5dvh/1.3 TangoSans,sans-serif}.game-modal--reward .game-modal__actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:2dvh;margin-top:3.125dvh;display:grid}.game-modal--reward .game-button{border-width:max(3px,.5dvh);border-radius:1.25dvh;width:100%;min-height:10dvh;padding:1.25dvh;font-size:3dvh}.game-modal--reward .game-button img{object-fit:contain;width:6.25dvh;height:6.25dvh;margin-right:1.5dvh}.game-modal--reward .game-button img.game-button__ad-icon{width:3.25dvh;height:3.25dvh;margin:0 0 0 1.5dvh}.modal-overlay--ending{-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;place-items:end center}.game-modal--ending{width:auto;margin-bottom:max(5dvh, env(safe-area-inset-bottom));box-shadow:none;background:0 0;border:0;padding:0;overflow:visible}.game-modal--ending .game-modal__actions{margin:0}.game-modal--ending .game-button{min-width:28dvh;font-size:2.8dvh}.game-modal--large{background:#444b;border-width:1.25dvh;border-radius:3.125dvh;width:max(60vw,80dvh);max-width:calc(100vw - 48px);height:min(90dvh,100dvh - 36px);max-height:none;padding:1.875dvh}.game-modal--large h2{font-size:3.5dvh}.game-modal--large .lab-card{border-radius:2.5dvh;grid-template-columns:8dvh 1fr auto;min-height:18dvh;padding:2dvh}.game-modal--large .lab-card>img{width:8dvh;height:8dvh}.game-modal h2{letter-spacing:.08em;background:#181b20;border-radius:14px;justify-content:center;min-width:48%;margin-bottom:16px;padding:12px 24px;font-size:clamp(20px,3vw,34px);display:inline-flex}.game-modal p{color:#e3e6ea;font-family:Arial,sans-serif;line-height:1.5}.game-modal__heading{justify-content:space-between;align-items:flex-start;display:flex}.game-modal__actions{justify-content:center;gap:16px;margin-top:24px;display:flex}.game-button{color:#fff;min-height:50px;font:inherit;cursor:pointer;background:#006091;border:3px solid #13a8f3;border-radius:14px;padding:10px 22px;transition:transform .12s ease-out,filter .12s ease-out}.game-button:active{filter:brightness(1.12);transform:scale(.96)}.game-button--secondary{background:#1d2935;border-color:#596879}.game-button--icon{background:#171b20;border-color:#596879;min-width:46px;padding:0;font-size:28px}.lab-grid{grid-template-columns:minmax(0,1fr);gap:12px;display:grid}.lab-card{color:#fff;text-align:left;cursor:pointer;background:#181b20;border:0;border-radius:16px;grid-template-columns:58px 1fr auto;align-items:center;gap:10px;min-height:92px;padding:12px;display:grid;position:relative}.lab-card:hover:not(:disabled){background:#252a31}.lab-card.is-disabled{opacity:.55}.lab-card>img{object-fit:contain;width:52px;height:52px}.lab-card__copy{gap:6px;display:grid}.lab-card__copy small{color:#aaa;font-family:Arial,sans-serif;font-size:11px}.lab-card__cost{background:#3c414a;border-radius:9px;align-items:center;gap:4px;padding:8px;display:flex}.lab-card__cost img{object-fit:contain;width:22px;height:22px}.lab-card__levels{gap:4px;display:flex;position:absolute;bottom:7px;left:12px;right:12px}.lab-card__levels i{background:#3c414a;border-radius:2px;flex:1;height:4px}.lab-card__levels i.is-active{background:#13a8f3}@media (height<=430px){.game-modal{padding:14px}.game-modal--reward{padding:1.875dvh}.game-modal h2{margin-bottom:10px;padding:8px 18px}.lab-card{min-height:76px}}@keyframes modal-backdrop-in{0%{opacity:0}to{opacity:1}}@keyframes modal-card-in{0%{opacity:0;transform:translateY(18px)scale(.92)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes reward-panel-in{0%{opacity:0;transform:translateY(110%)}to{opacity:1;transform:translateY(0)}}@keyframes reward-offer-pulse{0%,to{transform:translateY(-50%)scale(1.05)}50%{transform:translateY(-50%)scale(1)}}@keyframes counter-punch{0%{transform:scale(1.1)}to{transform:scale(1)}}@keyframes mission-enter{0%{opacity:0;transform:translate(-14.29dvh)}to{opacity:1;transform:translate(0)}}@keyframes mission-complete{to{opacity:0;transform:translateY(-8.57dvh)}}@media (orientation:portrait){.hud__currencies{top:max(3.3vw, env(safe-area-inset-top));right:max(3.3vw, env(safe-area-inset-right));gap:1.4vw}.currency-counter{letter-spacing:.35vw;border-radius:1.75vw;min-width:12vw;height:10vw;padding-left:2.35vw;font-size:5vw}.currency-counter img{width:10vw;height:10vw;margin-left:1.4vw}.hud__missions{top:max(3.3vw, env(safe-area-inset-top));left:max(3.3vw, env(safe-area-inset-left));gap:.93vw;width:62vw}.mission-bar{letter-spacing:.39vw;border-width:max(1px,.33vw);border-radius:1.7vw;height:6.5vw;padding:0 2.1vw 0 2.45vw;font-size:2.63vw}.mission-bar__amount.is-icon-only{min-width:7.67vw}.mission-bar__amount{gap:.93vw;margin-right:-1.75vw;padding-left:1.63vw;font-size:2.63vw}.mission-bar__amount img{width:3.5vw;height:3.5vw}.hud__toast{letter-spacing:.18vw;border-width:max(2px,.47vw);border-radius:1.4vw;padding:1.17vw 1.87vw;font-size:2.57vw}.hud__reward-offer{right:max(4.4vw, env(safe-area-inset-right));width:15vw;height:15vw;font-size:2.1vw}.hud__reward-offer img{width:7vw;height:7vw}.game-modal--reward{border-width:1.46vw;border-radius:3.65vw;width:calc(100vw - 48px);padding:2.2vw}.game-modal--reward h2{border-radius:1.46vw 1.46vw 0 0;padding:2.9vw 0;font-size:4.1vw}.game-modal--reward p{border-radius:0 0 1.46vw 1.46vw;padding:1.17vw;font-size:2.9vw}.game-modal--reward .game-modal__actions{gap:2.35vw;margin-top:3.65vw}.game-modal--reward .game-button{border-width:max(3px,.58vw);border-radius:1.46vw;min-height:11.7vw;padding:1.46vw;font-size:3.5vw}.game-modal--reward .game-button img{width:7.3vw;height:7.3vw;margin-right:1.75vw}.game-modal--reward .game-button img.game-button__ad-icon{width:3.8vw;height:3.8vw;margin-left:1.75vw}.game-modal--large{border-width:1.46vw;border-radius:3.65vw;width:calc(100vw - 48px);padding:2.2vw}.game-modal--large h2{font-size:4.1vw}.game-modal--large .lab-card{border-radius:2.9vw;grid-template-columns:9.3vw 1fr auto;min-height:21vw;padding:2.35vw}.game-modal--large .lab-card>img{width:9.3vw;height:9.3vw}@keyframes mission-enter{0%{opacity:0;transform:translate(-16.67vw)}to{opacity:1;transform:translate(0)}}@keyframes mission-complete{to{opacity:0;transform:translateY(-10vw)}}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:1ms!important;animation-duration:1ms!important}}@keyframes loading-shimmer{0%{background-position-x:0%}50%{background-position-x:100%}to{background-position-x:0%}}
