*,*:before,*:after{margin:0;padding:0;box-sizing:border-box;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}html,body{width:100%;height:100%;height:100dvh;overflow:hidden;overscroll-behavior:none;touch-action:none;position:fixed;background:#000;font-family:sans-serif;-webkit-text-size-adjust:100%}canvas{display:block;touch-action:none}img{display:block;max-width:100%;-webkit-user-drag:none;user-drag:none;pointer-events:none}button{border:none;background:none;cursor:pointer;font:inherit;color:inherit}input[type=range]{-webkit-appearance:none;appearance:none;touch-action:manipulation}.scrollable{overflow-y:auto;-webkit-overflow-scrolling:touch;touch-action:pan-y}:root{--font-display: "Exo 2", system-ui, sans-serif;--font-body: "Inter", system-ui, sans-serif}body{font-family:var(--font-body)}:root{--font-ui: "Segoe UI", "Roboto", "Helvetica Neue", Arial, sans-serif;--font-mono: "JetBrains Mono", "Fira Code", "Consolas", monospace;--color-border: rgba(255, 255, 255, .2);--vv-window-bg: rgba(20, 20, 20, .95) !important;--vv-window-border: 2px solid rgba(255, 255, 255, .15) !important;--vv-window-radius: 0 !important;--vv-window-shadow: 0 6px 24px rgba(0, 0, 0, .6) !important;--vv-overlay-bg: rgba(0, 0, 0, .6) !important;--vv-btn-primary: rgba(80, 200, 80, .25) !important;--vv-btn-primary-shadow: none !important;--vv-btn-secondary: rgba(65, 105, 225, .25) !important;--vv-btn-danger: rgba(200, 60, 60, .25) !important;--vv-btn-radius: 0 !important}canvas#app{width:100vw;height:100vh}#ui{position:fixed;inset:0;pointer-events:none;z-index:50;font-family:var(--font-ui);transform:scale(var(--ui-scale, 1));transform-origin:top left;width:calc(100% / var(--ui-scale, 1));height:calc(100% / var(--ui-scale, 1))}#ui button,#ui input,#ui .pause-backdrop,#ui .settings-backdrop,#ui .menu-screen,#ui .loading-screen,#ui .ad-countdown-backdrop,#ui .ad-backdrop{pointer-events:auto}#loading-overlay{display:none!important}.combat-hud[data-v-af1930ad]{position:fixed;inset:0;pointer-events:none;z-index:10}.crosshair[data-v-af1930ad]{position:absolute;left:50%;top:50%;width:0;height:0}.ch[data-v-af1930ad]{position:absolute;background:#ffffffe6;box-shadow:0 0 0 1px #000000d9;transition:transform .05s linear}.ch--t[data-v-af1930ad],.ch--b[data-v-af1930ad]{width:2px;height:7px;left:-1px}.ch--l[data-v-af1930ad],.ch--r[data-v-af1930ad]{width:7px;height:2px;top:-1px}.ch--t[data-v-af1930ad]{transform:translateY(calc(-1 * (var(--gap) + 7px)))}.ch--b[data-v-af1930ad]{transform:translateY(var(--gap))}.ch--l[data-v-af1930ad]{transform:translate(calc(-1 * (var(--gap) + 7px)))}.ch--r[data-v-af1930ad]{transform:translate(var(--gap))}.crosshair__dot[data-v-af1930ad]{position:absolute;left:-1px;top:-1px;width:2px;height:2px;background:#ffffffe6;box-shadow:0 0 0 1px #000000d9}.crosshair--switching[data-v-af1930ad]{opacity:.35;transition:opacity .1s linear}.reloading[data-v-af1930ad]{position:absolute;left:50%;top:58%;transform:translate(-50%);font:600 14px/1 var(--font-ui, "Segoe UI", "Roboto", Arial, sans-serif);letter-spacing:3px;text-transform:uppercase;color:#ffdc78f2;text-shadow:0 1px 4px rgba(0,0,0,.85)}.weapon-readout[data-v-af1930ad]{position:absolute;right:max(20px,env(safe-area-inset-right,0px) + 14px);bottom:max(96px,env(safe-area-inset-bottom,0px) + 80px);display:flex;flex-direction:column;align-items:flex-end;padding:8px 12px;background:linear-gradient(180deg,#080b0f8c,#080b0f33);border-right:2px solid rgba(120,200,255,.85);transition:opacity .12s linear}.weapon-readout--switching[data-v-af1930ad]{opacity:.4}.weapon-readout__name[data-v-af1930ad]{font:500 13px/1 var(--font-ui, "Segoe UI", "Roboto", Arial, sans-serif);letter-spacing:2px;text-transform:uppercase;color:#8ccdfff2;text-shadow:0 1px 4px rgba(0,0,0,.7)}.weapon-readout__ammo[data-v-af1930ad]{display:flex;align-items:baseline;color:#fff;line-height:.95;text-shadow:0 1px 4px rgba(0,0,0,.7);font-family:var(--font-ui, "Segoe UI", "Roboto", Arial, sans-serif)}.ammo-mag[data-v-af1930ad]{font-size:32px;font-weight:700}.ammo-sep[data-v-af1930ad]{font-size:18px;color:#ffffff80;margin:0 4px}.ammo-reserve[data-v-af1930ad]{font-size:18px;color:#ffffffb3}.scope[data-v-af1930ad]{position:fixed;inset:0;z-index:60;pointer-events:none;background:radial-gradient(circle at center,transparent 0,transparent min(45vw,45vh),rgba(0,0,0,.97) calc(min(45vw,45vh) + 2px))}.scope__art[data-v-af1930ad]{position:absolute;left:50%;top:50%;width:min(100vw,100vh);height:min(100vw,100vh);transform:translate(-50%,-50%);object-fit:contain;opacity:.95;pointer-events:none;user-select:none}.scope__lens[data-v-af1930ad]{position:absolute;left:50%;top:50%;width:min(90vw,90vh);height:min(90vw,90vh);transform:translate(-50%,-50%);border-radius:50%;border:3px solid rgba(0,0,0,.9);box-shadow:inset 0 0 0 2px #ffffff14}.scope__cross[data-v-af1930ad]{position:absolute;background:#0000008c}.scope__cross--v[data-v-af1930ad]{left:50%;top:0;width:1px;height:100%;transform:translate(-50%)}.scope__cross--h[data-v-af1930ad]{top:50%;left:0;height:1px;width:100%;transform:translateY(-50%)}.scope__center[data-v-af1930ad]{position:absolute;left:50%;top:50%;width:4px;height:4px;border-radius:50%;background:#d02020;transform:translate(-50%,-50%)}.scope__zoom[data-v-af1930ad]{position:absolute;right:16%;bottom:18%;font:500 16px/1 var(--font-ui, "Segoe UI", "Roboto", Arial, sans-serif);color:#ffffffb3}.wicon-wrap[data-v-d960af00]{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;line-height:0}.wicon-img[data-v-d960af00]{display:block;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 3px 6px rgba(0,0,0,.55));user-select:none;-webkit-user-drag:none}.wicon[data-v-d960af00]{display:block;flex-shrink:0}.wicon__g[data-v-d960af00]{fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 1px 2px rgba(0,0,0,.6))}.weapon-bar[data-v-56404f51]{position:fixed;left:50%;bottom:max(72px,env(safe-area-inset-bottom,0px) + 64px);transform:translate(-50%);display:flex;gap:6px;pointer-events:none;z-index:11}.slot[data-v-56404f51]{pointer-events:auto;position:relative;width:62px;min-height:58px;padding:6px 4px 4px;display:flex;flex-direction:column;align-items:center;gap:2px;background:linear-gradient(180deg,#080b0f8c,#080b0f47);border:1px solid rgba(255,255,255,.12);border-bottom:2px solid rgba(255,255,255,.18);color:#dce6f0b3;cursor:pointer;transition:transform .07s ease,background .12s,color .12s,border-color .12s;user-select:none}.slot[data-v-56404f51]:active{transform:translateY(1px)}.slot--active[data-v-56404f51]{background:linear-gradient(180deg,#28506eb3,#14283c73);border-color:#78c8ffd9;border-bottom-color:#8ccdfff2;color:#fff}.slot__key[data-v-56404f51]{position:absolute;top:3px;left:5px;font:700 10px/1 var(--font-ui, "Segoe UI", "Roboto", Arial, sans-serif);color:#ffffff73}.slot--active .slot__key[data-v-56404f51]{color:#8ccdfff2}.slot__icon[data-v-56404f51]{margin-top:2px}.slot__name[data-v-56404f51]{font:600 8px/1.1 var(--font-ui, "Segoe UI", "Roboto", Arial, sans-serif);letter-spacing:.3px;text-transform:uppercase;text-align:center;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-shadow:0 1px 2px rgba(0,0,0,.8)}.controls-hint[data-v-f4da11de]{position:fixed;bottom:18px;left:50%;transform:translate(-50%);font:13px/1 var(--font-ui, "Segoe UI", "Roboto", Arial, sans-serif);color:#ffffffbf;white-space:nowrap;pointer-events:none;user-select:none;z-index:10;text-shadow:-1px -1px 0 rgba(0,0,0,.8),1px -1px 0 rgba(0,0,0,.8),-1px 1px 0 rgba(0,0,0,.8),1px 1px 0 rgba(0,0,0,.8),0 2px 4px rgba(0,0,0,.6);-webkit-text-stroke:.4px rgba(0,0,0,.5);paint-order:stroke fill;letter-spacing:.3px}:root{--vv-window-bg: #1e2430;--vv-window-border: 1px solid rgba(255, 255, 255, .08);--vv-window-radius: 1rem;--vv-window-shadow: 0 6px 24px rgba(0, 0, 0, .6);--vv-overlay-bg: rgba(0, 0, 0, .6)}.vv-window-overlay{position:fixed;inset:0;z-index:5000;display:flex;align-items:center;justify-content:center;background:var(--vv-overlay-bg)}.vv-window{position:relative;width:90%;background:var(--vv-window-bg);border:var(--vv-window-border);border-radius:var(--vv-window-radius);box-shadow:var(--vv-window-shadow);padding:1.2rem 1.5rem;color:#fff;display:flex;flex-direction:column;gap:.8rem}.vv-window__close{position:absolute;top:8px;right:8px;width:28px;height:28px;border:none;border-radius:50%;background:#0000004d;color:#fff;font-size:13px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s}.vv-window__close:active{background:#00000080}.vv-window__title{font-family:var(--font-display, sans-serif);font-size:1.2rem;font-weight:700;text-align:center}.vv-window__body{flex:1}.vv-window__footer{display:flex;flex-direction:column;gap:.5rem}.vv-window-enter-active{transition:opacity .2s ease}.vv-window-enter-active .vv-window{animation:vv-window-pop .25s ease}.vv-window-leave-active{transition:opacity .15s ease}.vv-window-enter-from,.vv-window-leave-to{opacity:0}@keyframes vv-window-pop{0%{transform:scale(.85)}60%{transform:scale(1.03)}to{transform:scale(1)}}:root{--vv-btn-primary: linear-gradient(135deg, #2ecc71, #27ae60);--vv-btn-primary-shadow: 0 3px 10px rgba(46, 204, 113, .35);--vv-btn-secondary: rgba(255, 255, 255, .1);--vv-btn-danger: linear-gradient(135deg, #e74c3c, #c0392b);--vv-btn-radius: .7rem}.vv-btn{font-family:var(--font-display, sans-serif);padding:.7rem 1.5rem;border:none;border-radius:var(--vv-btn-radius);color:#fff;font-size:.95rem;font-weight:700;cursor:pointer;transition:transform .1s;text-align:center}.vv-btn:active:not(:disabled){transform:scale(.95)}.vv-btn:disabled{opacity:.4;cursor:not-allowed}.vv-btn--block{width:100%}.vv-btn--primary{background:var(--vv-btn-primary);box-shadow:var(--vv-btn-primary-shadow)}.vv-btn--secondary{background:var(--vv-btn-secondary);color:#ffffffb3}.vv-btn--danger{background:var(--vv-btn-danger)}.vv-btn--ghost{background:transparent;color:#ffffff80;padding:.5rem 1rem}.pause-icon[data-v-140c320c]{width:1em;height:1em;vertical-align:-.125em}.btn-icon[data-v-140c320c]{width:1em;height:1em;vertical-align:-.125em;margin-right:.25em}.pause-btn[data-v-7cc6370d]{position:fixed;top:12px;left:12px;z-index:50;width:36px;height:36px;background:#0006;border:1px solid rgba(255,255,255,.2);color:#fff;font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s}.pause-btn[data-v-7cc6370d]:hover{background:#0009}.pause-btn .icon[data-v-7cc6370d]{width:20px;height:20px}.sound-btn[data-v-f516d5be]{position:fixed;top:12px;left:52px;z-index:110;width:36px;height:36px;background:#0006;border:1px solid rgba(255,255,255,.2);color:#fff;font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s}.sound-btn[data-v-f516d5be]:hover{background:#0009}.sound-btn .icon[data-v-f516d5be]{width:18px;height:18px}.dev-console[data-v-5f8a9931]{position:fixed;bottom:0;left:0;right:0;height:40vh;z-index:250;background:#0a0a14eb;display:flex;flex-direction:column;font:13px/1.5 var(--font-mono);color:#ccc;border-top:1px solid rgba(255,255,255,.1);pointer-events:auto}.console-log[data-v-5f8a9931]{flex:1;min-height:0;overflow-y:auto;padding:8px 12px;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.15) transparent;-webkit-user-select:text!important;user-select:text!important;cursor:text}.console-entry[data-v-5f8a9931]{white-space:pre-wrap;word-break:break-all}.entry-info[data-v-5f8a9931]{color:#ccc}.entry-warn[data-v-5f8a9931]{color:#fa0}.entry-error[data-v-5f8a9931]{color:#f44}.entry-success[data-v-5f8a9931]{color:#4f4}.console-input-row[data-v-5f8a9931]{display:flex;align-items:center;padding:4px 12px 8px;border-top:1px solid rgba(255,255,255,.08)}.prompt[data-v-5f8a9931]{color:#8f8;margin-right:4px;user-select:none}.console-input[data-v-5f8a9931]{flex:1;background:transparent;border:none;outline:none;color:#fff;font:inherit;caret-color:#8f8}.ad-backdrop[data-v-e4a75840]{position:fixed;inset:0;z-index:300;background:#000c;display:flex;align-items:center;justify-content:center}.ad-card[data-v-e4a75840]{background:#1e1e1ef2;padding:40px 60px;text-align:center;border:2px solid rgba(65,105,225,.4)}.ad-icon[data-v-e4a75840]{font-size:48px;color:#4169e1;margin-bottom:16px}.ad-icon svg[data-v-e4a75840]{width:48px;height:48px}.ad-text[data-v-e4a75840]{font-size:20px;color:#ccc;margin-bottom:8px}.ad-countdown[data-v-e4a75840]{font-size:64px;font-weight:900;color:#fff;margin:16px 0}.rad-overlay[data-v-2f84282c]{position:fixed;inset:0;z-index:300;background:#000c;display:flex;align-items:center;justify-content:center;padding:24px;box-sizing:border-box}.rad-dialog[data-v-2f84282c]{background:#1e1e1ef7;color:#eee;border:2px solid rgba(65,105,225,.4);padding:28px 26px 20px;width:100%;max-width:360px;text-align:center}.rad-icon[data-v-2f84282c]{width:44px;height:44px;color:#4169e1;margin-bottom:12px}.rad-title[data-v-2f84282c]{margin:0 0 8px;font-weight:900;font-size:22px;color:#fff}.rad-body[data-v-2f84282c]{margin:0 0 18px;font-size:15px;line-height:1.45;color:#bbb}.rad-success[data-v-2f84282c]{margin:0 0 16px;font-size:14px;font-weight:700;color:#5ac46a}.rad-actions[data-v-2f84282c]{display:flex;gap:10px;justify-content:center}.rad-btn[data-v-2f84282c]{appearance:none;border:0;font:inherit;font-size:15px;font-weight:600;padding:10px 18px;cursor:pointer;transition:background .12s ease-out}.rad-btn[data-v-2f84282c]:disabled{opacity:.6;cursor:default}.rad-btn--secondary[data-v-2f84282c]{background:#ffffff1a;color:#ddd}.rad-btn--secondary[data-v-2f84282c]:hover:not(:disabled){background:#ffffff29}.rad-btn--primary[data-v-2f84282c]{background:#4169e1;color:#fff}.rad-btn--primary[data-v-2f84282c]:hover:not(:disabled){background:#3457c4}.menu-screen[data-v-cbba9312]{position:fixed;inset:0;z-index:100;display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:all}.title[data-v-cbba9312]{font-size:48px;font-weight:900;color:#fff;text-shadow:0 2px 8px rgba(0,0,0,.6);margin-bottom:40px;letter-spacing:4px}.level-grid[data-v-cbba9312]{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;max-width:700px;width:90%}.level-card[data-v-cbba9312]{background:#0009;border:2px solid rgba(255,255,255,.1);cursor:pointer;transition:transform .15s,border-color .15s;overflow:hidden}.level-card[data-v-cbba9312]:hover{transform:scale(1.05);border-color:#50c85080}.level-card.locked[data-v-cbba9312]{opacity:.7}.level-card.locked[data-v-cbba9312]:hover{border-color:#4169e180}.level-card.not-ready[data-v-cbba9312]{opacity:.45;cursor:default}.level-card.not-ready[data-v-cbba9312]:hover{transform:none;border-color:#ffffff1a}.thumbnail[data-v-cbba9312]{position:relative;width:100%;aspect-ratio:16/9;background:#1e1e1ecc;overflow:hidden}.thumbnail img[data-v-cbba9312]{width:100%;height:100%;object-fit:cover}.lock-overlay[data-v-cbba9312]{position:absolute;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center}.play-icon[data-v-cbba9312]{width:32px;height:32px;background:#4169e1;border-radius:50%;display:flex;align-items:center;justify-content:center}.info-label[data-v-cbba9312]{position:absolute;bottom:8px;left:0;right:0;text-align:center;color:#fff;font-size:11px;font-weight:700;text-shadow:0 1px 3px rgba(0,0,0,.8)}.play-arrow[data-v-cbba9312]{width:0;height:0;border-left:10px solid white;border-top:6px solid transparent;border-bottom:6px solid transparent;margin-left:3px}.level-name[data-v-cbba9312]{padding:8px 12px;color:#eee;font-size:14px;font-weight:600;text-align:center}.remove-ads-cta[data-v-cbba9312]{margin-top:22px;display:inline-flex;align-items:center;gap:8px;padding:10px 20px;background:#4169e1d9;color:#fff;border:0;border-radius:10px;font-size:15px;font-weight:700;cursor:pointer;transition:background .15s,transform .15s}.remove-ads-cta[data-v-cbba9312]:hover{background:#4169e1;transform:scale(1.04)}.remove-ads-cta__icon[data-v-cbba9312]{width:18px;height:18px}.touch-controls[data-v-e6b76782]{position:fixed;inset:0;z-index:20;pointer-events:none}.look-area[data-v-e6b76782]{position:absolute;top:0;right:0;width:50%;height:100%;pointer-events:auto;touch-action:none}.joystick[data-v-e6b76782]{position:absolute;bottom:max(80px,env(safe-area-inset-bottom,0px) + 40px);left:max(50px,env(safe-area-inset-left,0px) + 30px);width:180px;height:180px;border-radius:50%;background:#ffffff1f;border:2px solid rgba(255,255,255,.25);pointer-events:auto;touch-action:none;display:flex;align-items:center;justify-content:center}.joystick-thumb[data-v-e6b76782]{width:70px;height:70px;border-radius:50%;background:#fff6;will-change:transform}.action-cluster[data-v-e6b76782]{position:absolute;bottom:max(80px,env(safe-area-inset-bottom,0px) + 40px);right:max(30px,env(safe-area-inset-right,0px) + 20px);display:flex;flex-direction:column;gap:12px;pointer-events:auto}.action-btn[data-v-e6b76782]{width:70px;height:70px;border-radius:50%;border:2px solid rgba(255,255,255,.3);color:#fff;font-size:24px;display:flex;align-items:center;justify-content:center;touch-action:none;user-select:none;cursor:pointer}.action-btn svg[data-v-e6b76782]{width:28px;height:28px}.fire-btn[data-v-e6b76782]{width:84px;height:84px;background:#ef5a5a40;border-color:#ef7f7f8c}.fire-btn svg[data-v-e6b76782]{width:36px;height:36px}.fire-btn[data-v-e6b76782]:active{background:#ef5a5a80}.jump-btn[data-v-e6b76782]{background:#ffffff26}.jump-btn[data-v-e6b76782]:active{background:#ffffff59}.util-cluster[data-v-e6b76782]{position:absolute;bottom:max(80px,env(safe-area-inset-bottom,0px) + 40px);right:max(120px,env(safe-area-inset-right,0px) + 110px);display:flex;flex-direction:column;gap:10px;pointer-events:auto}.util-btn[data-v-e6b76782]{width:54px;height:54px;border-radius:50%;border:1px solid rgba(146,168,192,.4);background:#141a2280;color:#e8eef4d9;display:flex;align-items:center;justify-content:center;touch-action:none;user-select:none;cursor:pointer}.util-btn svg[data-v-e6b76782]{width:26px;height:26px}.util-btn[data-v-e6b76782]:active{background:#92a8c05c}.util-btn--on[data-v-e6b76782]{background:#4f9fd673;border-color:#7fc1efd9;color:#fff}.ad-countdown-backdrop[data-v-f79f291e]{position:fixed;inset:0;z-index:250;background:#000c;display:flex;align-items:center;justify-content:center}.ad-countdown-text[data-v-f79f291e]{color:#fff;font-size:28px;font-weight:900}.loading-screen[data-v-6ef3ad3a]{position:fixed;inset:0;background:#111;display:flex;align-items:center;justify-content:center;z-index:200;pointer-events:auto}.loading-content[data-v-6ef3ad3a]{text-align:center}.loading-title[data-v-6ef3ad3a]{font-size:36px;font-weight:900;color:#fff;letter-spacing:3px;margin-bottom:32px}.loading-bar-track[data-v-6ef3ad3a]{width:300px;height:6px;background:#ffffff1a;margin:0 auto 16px;overflow:hidden}.loading-bar-fill[data-v-6ef3ad3a]{height:100%;background:#50c850cc;transition:width .3s}.loading-text[data-v-6ef3ad3a]{color:#888;font-size:14px}
