.pwa-install-banner[data-v-aca720ec]{position:fixed;top:0;left:0;right:0;z-index:9999;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;box-shadow:0 4px 12px #00000026;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.pwa-install-banner.installed[data-v-aca720ec]{background:linear-gradient(135deg,#34d399,#059669)}.banner-content[data-v-aca720ec]{display:flex;align-items:center;gap:1rem;padding:1rem;max-width:1200px;margin:0 auto}.banner-icon[data-v-aca720ec]{font-size:2rem;flex-shrink:0}.banner-text[data-v-aca720ec]{flex:1;min-width:0}.banner-title[data-v-aca720ec]{font-weight:700;font-size:1rem;margin-bottom:.25rem}.banner-description[data-v-aca720ec]{font-size:.875rem;opacity:.95;line-height:1.4}.banner-actions[data-v-aca720ec]{display:flex;gap:.5rem;align-items:center;flex-shrink:0}.btn-install[data-v-aca720ec]{background:#fff;color:#667eea;border:none;padding:.5rem 1.25rem;border-radius:.5rem;font-weight:600;font-size:.875rem;cursor:pointer;transition:all .2s ease;white-space:nowrap}.btn-install[data-v-aca720ec]:hover{transform:translateY(-1px);box-shadow:0 4px 8px #00000026}.btn-install[data-v-aca720ec]:active{transform:translateY(0)}.btn-dismiss[data-v-aca720ec]{background:#fff3;color:#fff;border:none;width:2rem;height:2rem;border-radius:.375rem;font-size:1.25rem;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;flex-shrink:0}.btn-dismiss[data-v-aca720ec]:hover{background:#ffffff4d}.btn-dismiss[data-v-aca720ec]:active{transform:scale(.95)}.slide-down-enter-active[data-v-aca720ec],.slide-down-leave-active[data-v-aca720ec]{transition:all .3s ease}.slide-down-enter-from[data-v-aca720ec],.slide-down-leave-to[data-v-aca720ec]{transform:translateY(-100%);opacity:0}@media (max-width: 640px){.banner-content[data-v-aca720ec]{padding:.75rem;gap:.75rem}.banner-icon[data-v-aca720ec]{font-size:1.5rem}.banner-title[data-v-aca720ec]{font-size:.875rem}.banner-description[data-v-aca720ec]{font-size:.75rem}.btn-install[data-v-aca720ec]{padding:.5rem 1rem;font-size:.8125rem}.btn-dismiss[data-v-aca720ec]{width:1.75rem;height:1.75rem;font-size:1rem}}@media (max-width: 480px){.banner-content[data-v-aca720ec]{flex-wrap:wrap}.banner-text[data-v-aca720ec]{flex-basis:100%;order:2}.banner-actions[data-v-aca720ec]{order:3;flex-basis:100%;justify-content:flex-end}.banner-icon[data-v-aca720ec]{order:1}}:root{--color-brand-blue: #64c8ff;--color-brand-blue-dark: #3da9e0;--color-brand-purple: #c77dff;--color-brand-gold: #ffd700;--color-bg-primary: #0a0e27;--color-bg-secondary: #141938;--color-bg-tertiary: #1e2447;--color-accent: var(--color-brand-blue);--color-accent-dark: var(--color-brand-blue-dark);--color-text-primary: #ffffff;--color-text-secondary: #b4c7e7;--color-text-muted: #8b9dc3;--color-success: #4ade80;--color-warning: #fbbf24;--color-danger: #f87171;--color-info: var(--color-accent);--color-fuel: var(--color-brand-gold);--color-warp: var(--color-brand-purple);--color-shield: var(--color-success);--color-health: var(--color-danger);--color-ammo: var(--color-warning);--color-package: var(--color-accent);--color-border: rgba(100, 200, 255, .3);--color-border-light: rgba(100, 200, 255, .15);--color-border-strong: rgba(100, 200, 255, .5)}:root{--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--space-2xl: 3rem;--space-3xl: 4rem;--space-button-padding-x: var(--space-lg);--space-button-padding-y: var(--space-sm);--space-modal-padding: var(--space-md);--space-modal-padding-lg: var(--space-xl);--space-panel-padding: var(--space-lg);--space-container-padding: var(--space-md);--touch-target-min: 44px;--touch-target-comfortable: 48px;--touch-target-compact: 36px;--safe-area-top: env(safe-area-inset-top, 0);--safe-area-bottom: env(safe-area-inset-bottom, 0);--safe-area-left: env(safe-area-inset-left, 0);--safe-area-right: env(safe-area-inset-right, 0)}:root{--font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-family-mono: "SF Mono", Monaco, "Cascadia Code", "Roboto Mono", Consolas, "Courier New", monospace;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-md: 1rem;--font-size-lg: 1.25rem;--font-size-xl: 1.5rem;--font-size-2xl: 2rem;--font-size-3xl: 3rem;--font-weight-light: 300;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.25;--line-height-normal: 1.5;--line-height-relaxed: 1.75;--letter-spacing-tight: -.025em;--letter-spacing-normal: 0;--letter-spacing-wide: .025em}@media (max-width: 480px){:root{--font-size-3xl: 1.75rem;--font-size-2xl: 1.375rem}}:root{--shadow-xs: 0 1px 2px rgba(0, 0, 0, .15);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 4px 6px rgba(0, 0, 0, .4);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .5);--shadow-xl: 0 20px 25px rgba(0, 0, 0, .6);--shadow-glow: 0 0 20px rgba(100, 200, 255, .3);--shadow-glow-strong: 0 0 30px rgba(100, 200, 255, .5);--radius-none: 0;--radius-sm: .25rem;--radius-md: .5rem;--radius-lg: 1rem;--radius-xl: 1.5rem;--radius-full: 9999px;--transition-fast: .15s ease;--transition-normal: .25s ease;--transition-slow: .4s ease;--transition-all: all var(--transition-normal);--transition-transform: transform var(--transition-fast);--transition-opacity: opacity var(--transition-normal);--transition-colors: color var(--transition-fast), background-color var(--transition-fast), border-color var(--transition-fast);--border-width-thin: 1px;--border-width-normal: 2px;--border-width-thick: 3px;--border-light: var(--border-width-thin) solid var(--color-border-light);--border-normal: var(--border-width-normal) solid var(--color-border);--border-strong: var(--border-width-thick) solid var(--color-border-strong);--focus-outline: 2px solid var(--color-accent);--focus-outline-offset: 2px;--focus-ring: 0 0 0 3px rgba(100, 200, 255, .3)}:root{--alpha-0: 0;--alpha-5: .05;--alpha-10: .1;--alpha-15: .15;--alpha-20: .2;--alpha-25: .25;--alpha-30: .3;--alpha-40: .4;--alpha-50: .5;--alpha-60: .6;--alpha-70: .7;--alpha-75: .75;--alpha-80: .8;--alpha-90: .9;--alpha-100: 1;--alpha-disabled: .5;--alpha-hover: .8;--alpha-overlay: .8;--alpha-modal-backdrop: .8;--rgb-accent: 100, 200, 255;--rgb-black: 0, 0, 0;--rgb-white: 255, 255, 255}:root{--z-base: 0;--z-canvas: 10;--z-background: 1;--z-content: 100;--z-elevated: 200;--z-dropdown: 300;--z-hud: 1000;--z-controls: 1100;--z-overlay: 1200;--z-modal-backdrop: 2000;--z-modal: 2100;--z-popover: 2200;--z-toast: 3000;--z-notification: 3100;--z-tooltip: 4000;--z-loading: 5000;--z-debug: 9999}:root[data-contrast=high]{--color-bg-primary: #000000;--color-bg-secondary: #1a1a1a;--color-bg-tertiary: #2d2d2d;--color-accent: #00d9ff;--color-accent-dark: #00b8d4;--color-text-primary: #ffffff;--color-text-secondary: #e0e0e0;--color-text-muted: #cccccc;--color-border: rgba(0, 217, 255, .6);--color-border-light: rgba(0, 217, 255, .4);--color-border-strong: rgba(0, 217, 255, .8);--focus-outline: 3px solid var(--color-accent);--focus-ring: 0 0 0 4px rgba(0, 217, 255, .5)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{width:100%;min-height:100%}body{font-family:var(--font-family);background-color:var(--color-bg-primary);color:var(--color-text-primary);line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;touch-action:manipulation}#app{width:100%;min-height:100vh;display:flex;flex-direction:column}button{font-family:inherit;font-size:var(--font-size-md);font-weight:600;padding:var(--space-sm) var(--space-lg);border:none;border-radius:var(--radius-md);background:var(--color-accent);color:var(--color-bg-primary);cursor:pointer;transition:all var(--transition-fast);box-shadow:var(--shadow-md);-webkit-tap-highlight-color:transparent;touch-action:manipulation}button:hover{background:var(--color-accent-dark);transform:translateY(-1px);box-shadow:var(--shadow-lg)}button:active{transform:translateY(0)}button:disabled{opacity:.5;cursor:not-allowed;transform:none}@media (hover: none) and (pointer: coarse){button:hover{transform:none;background:var(--color-accent)}}.panel{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-lg);box-shadow:var(--shadow-lg)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--space-sm);padding-top:max(var(--space-sm),env(safe-area-inset-top));padding-bottom:max(var(--space-sm),env(safe-area-inset-bottom));padding-left:max(var(--space-sm),env(safe-area-inset-left));padding-right:max(var(--space-sm),env(safe-area-inset-right))}.modal{background:var(--color-bg-secondary);border:2px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-md);max-width:600px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-lg),var(--shadow-glow);-webkit-overflow-scrolling:touch}.modal h2{margin-bottom:var(--space-md);color:var(--color-accent);font-size:var(--font-size-xl)}.modal-close{float:right;background:transparent;border:none;min-height:32px;min-width:32px;color:var(--color-text-secondary);font-size:var(--font-size-xl);padding:var(--space-xs);cursor:pointer}.modal-close:hover{color:var(--color-text-primary)}@media (min-width: 640px){.modal-overlay{padding:var(--space-md)}.modal{padding:var(--space-xl)}.modal h2{margin-bottom:var(--space-lg);font-size:var(--font-size-2xl)}}input[type=range],input[type=checkbox],select{min-height:44px;touch-action:manipulation}input[type=checkbox]{min-width:20px;min-height:20px;cursor:pointer}@media (max-width: 640px){body{font-size:16px}}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 var(--space-md)}*:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}button:focus,a:focus,[role=button]:focus{outline:3px solid var(--color-accent);outline-offset:3px;box-shadow:0 0 0 6px #6366f126,var(--shadow-lg);transform:translateY(-2px)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
