:root{--bg-panel: #2A0035;--bg-dark: #1A0020;--bg-gradient: linear-gradient(135deg, #2A0035 0%, #400060 100%);--color-electric-pink: #FF5EDC;--color-hot-pink: #FF1493;--color-bright-orange: #FF9933;--color-sunset-orange: #FF6B35;--color-soft-violet: #B266FF;--color-muted-purple: #C97CFF;--color-deep-purple: #400060;--text-primary: #FFF7E6;--text-secondary: #C97CFF;--text-glow: #FFFFFF;--color-success: #00FFB3;--color-warning: #FFD700;--color-danger: #FF1744;--color-info: #00E5FF;--gradient-button-hover: linear-gradient(90deg, #FF5EDC 0%, #FF9933 100%);--gradient-panel: linear-gradient(180deg, rgba(42, 0, 53, .95) 0%, rgba(64, 0, 96, .95) 100%);--gradient-glow: radial-gradient(circle, rgba(255, 94, 220, .4) 0%, transparent 70%);--shadow-electric-pink: 0 0 20px rgba(255, 94, 220, .5);--shadow-electric-pink-strong: 0 0 30px rgba(255, 94, 220, .8);--shadow-bright-orange: 0 0 20px rgba(255, 153, 51, .5);--shadow-soft-violet: 0 0 15px rgba(178, 102, 255, .5);--shadow-combined: 0 0 25px rgba(255, 94, 220, .4), 0 0 50px rgba(255, 153, 51, .2);--border-primary: #FF5EDC;--border-secondary: #B266FF;--border-glow: #FF9933;font-family:Courier New,monospace;line-height:1.5;font-weight:400;color-scheme:dark;color:var(--text-primary);background-color:var(--bg-dark);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:var(--color-electric-pink);text-decoration:inherit;transition:color .3s}a:hover{color:var(--color-bright-orange)}:root{--safe-top: env(safe-area-inset-top, 0px);--safe-right: env(safe-area-inset-right, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-left: env(safe-area-inset-left, 0px);--screen-h: calc(100vh - var(--safe-top) - var(--safe-bottom));--screen-h: calc(100dvh - var(--safe-top) - var(--safe-bottom))}html,body{height:100%;overflow:hidden;overscroll-behavior:none;-webkit-text-size-adjust:100%}body{margin:0;min-width:320px;background-color:var(--bg-dark);color:var(--text-primary)}#root{height:100%;width:100%;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}h1{font-size:3.2em;line-height:1.1;color:var(--text-primary)}button{border-radius:0;border:2px solid var(--border-primary);padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:Courier New,monospace;background-color:var(--bg-panel);color:var(--text-primary);cursor:pointer;transition:all .3s}button:hover:not(:disabled){border-color:var(--border-glow);box-shadow:var(--shadow-electric-pink);transform:translateY(-2px)}button:focus{outline:none}button:focus-visible{outline:2px solid var(--color-info);outline-offset:2px}button:disabled{opacity:.3;cursor:not-allowed}:root{--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 24px;--sp-6: 32px;--sp-7: 48px;--fs-label: 10px;--fs-body: 13px;--fs-title: 18px;--fs-display: clamp(22px, 2.6vw, 30px);--ls-label: .22em;--ls-body: .04em;--ls-title: .2em;--ls-display: .26em;--font-mono: "Courier New", Courier, monospace;--surface-0: rgba(16, 0, 22, .78);--surface-1: rgba(38, 0, 50, .86);--surface-2: linear-gradient(180deg, rgba(64, 0, 96, .92) 0%, rgba(42, 0, 53, .96) 100%);--line: rgba(255, 94, 220, .28);--line-strong: rgba(255, 94, 220, .6);--line-muted: rgba(178, 102, 255, .32);--glow-soft: 0 0 14px rgba(255, 94, 220, .25);--glow-cyan: 0 0 14px rgba(0, 229, 255, .35);--ease-out: cubic-bezier(.22, 1, .36, 1);--dur-fast: .15s;--dur: .22s;--tap: 40px;--header-h: 44px;--gear-clear: 56px;--screen-pad-x: clamp(12px, 3vw, 32px)}@media (max-height: 430px){:root{--fs-label: 9px;--fs-body: 11px;--fs-title: 14px;--fs-display: 18px;--tap: 36px;--header-h: 36px;--gear-clear: 46px;--screen-pad-x: 12px}}.ui-screen{width:100%;min-height:var(--screen-h);display:flex;flex-direction:column;gap:var(--sp-3);padding:var(--sp-3) var(--screen-pad-x) var(--sp-5);font-family:var(--font-mono);color:var(--text-primary);position:relative;isolation:isolate;overflow-x:hidden;background:var(--bg-gradient);background-size:cover;background-position:center;background-repeat:no-repeat}.ui-screen--art:before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(180deg,#14001ce6,#14001c9e 30% 70%,#14001ce6),repeating-linear-gradient(0deg,rgba(255,94,220,.03) 0px,transparent 1px,transparent 2px,rgba(255,94,220,.03) 3px)}@media (max-height: 430px){.ui-screen{gap:var(--sp-2);padding-top:var(--sp-2);padding-bottom:var(--sp-3)}}.ui-header{display:flex;align-items:center;gap:var(--sp-3);min-height:var(--header-h);padding-right:var(--gear-clear)}.ui-header-title{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.ui-header-title h1{margin:0;font-size:var(--fs-display);line-height:1;font-weight:700;letter-spacing:var(--ls-display);color:var(--color-bright-orange);text-shadow:0 0 14px rgba(255,153,51,.7);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ui-header-title span{font-size:var(--fs-label);letter-spacing:var(--ls-label);text-transform:uppercase;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media (max-height: 430px){.ui-header-title span{display:none}}.ui-btn{appearance:none;-webkit-appearance:none;display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-2);min-height:var(--tap);padding:0 var(--sp-4);margin:0;font-family:var(--font-mono);font-size:var(--fs-body);font-weight:700;line-height:1;letter-spacing:var(--ls-title);text-transform:uppercase;text-decoration:none;color:var(--text-primary);background:var(--surface-1);border:2px solid var(--border-primary);border-radius:0;box-shadow:var(--glow-soft);cursor:pointer;position:relative;overflow:hidden;white-space:nowrap;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;transition:transform var(--dur-fast) var(--ease-out),box-shadow var(--dur) ease,border-color var(--dur) ease,color var(--dur) ease,background-color var(--dur) ease,opacity var(--dur) ease}.ui-btn:hover:not(:disabled){transform:translateY(-1px);border-color:var(--color-bright-orange);box-shadow:var(--shadow-combined);color:var(--text-glow)}.ui-btn:active:not(:disabled){transform:translateY(1px);transition-duration:60ms}.ui-btn:focus{outline:none}.ui-btn:focus-visible{outline:2px solid var(--color-info);outline-offset:2px}.ui-btn:disabled{opacity:.38;cursor:not-allowed;box-shadow:none;transform:none}.ui-btn--primary{background:var(--gradient-button-hover);border-color:var(--color-bright-orange);color:var(--text-glow);text-shadow:0 0 8px rgba(0,0,0,.55);box-shadow:0 0 18px #ff5edc73,0 0 36px #ff993338}.ui-btn--primary:after{content:"";position:absolute;inset:-2px;pointer-events:none;background:linear-gradient(115deg,transparent 35%,rgba(255,255,255,.38) 50%,transparent 65%);transform:translate(-130%);animation:ui-shimmer 5s ease-in-out infinite}.ui-btn--primary:hover:not(:disabled){border-color:var(--text-glow);box-shadow:0 0 24px #ff5edca6,0 0 56px #ff993359}.ui-btn--primary:disabled{background:var(--surface-1);color:var(--text-secondary);border-color:var(--line-muted);text-shadow:none;opacity:.7}.ui-btn--primary:disabled:after{animation:none}@keyframes ui-shimmer{0%,72%{transform:translate(-130%)}to{transform:translate(130%)}}.ui-btn--secondary{background:var(--surface-1)}.ui-btn--ghost{background:#1a00208c;border:1px solid var(--line-strong);color:var(--text-secondary);box-shadow:none}.ui-btn--ghost:hover:not(:disabled){color:var(--text-primary);border-color:var(--color-electric-pink);box-shadow:0 0 12px #ff5edc4d}.ui-btn--danger{border-color:var(--color-danger);color:var(--color-danger);box-shadow:0 0 14px #ff17444d}.ui-btn--danger:hover:not(:disabled){background:#ff17442e;border-color:var(--color-danger);color:var(--text-glow);box-shadow:0 0 18px #ff174480}.ui-btn.is-active{border-color:var(--color-info);color:var(--color-info);box-shadow:var(--glow-cyan);background:#00e5ff14}.ui-btn--sm{min-height:32px;padding:0 var(--sp-3);font-size:var(--fs-label)}.ui-btn--lg{min-height:52px;padding:0 var(--sp-6);font-size:var(--fs-title);letter-spacing:.3em}.ui-btn--block{width:100%}.ui-btn--icon{width:var(--tap);min-width:var(--tap);padding:0}.ui-btn--icon.ui-btn--sm{width:32px;min-width:32px}@media (max-height: 430px){.ui-btn--sm{min-height:30px}.ui-btn--lg{min-height:42px;font-size:var(--fs-body)}}@media (hover: none){.ui-btn:hover:not(:disabled){transform:none}}.ui-panel{position:relative;padding:var(--sp-4);background:var(--surface-1);border:1px solid var(--line-strong);box-shadow:0 0 18px #ff5edc29,inset 0 0 24px #ff5edc0d}.ui-panel--accent{background:var(--surface-2);border:2px solid var(--border-primary);box-shadow:var(--shadow-electric-pink),inset 0 0 30px #ff5edc14}.ui-panel--cyan{border-color:var(--color-info);box-shadow:0 0 20px #00e5ff47,inset 0 0 30px #00e5ff0d}.ui-panel--orange{border-color:var(--color-bright-orange);box-shadow:0 0 20px #ff99334d,inset 0 0 30px #ff99330f}.ui-panel--muted{background:var(--surface-0);border-color:var(--line-muted);box-shadow:none}.ui-panel--dashed{border-style:dashed}.ui-panel--tight{padding:var(--sp-3)}@media (max-height: 430px){.ui-panel{padding:var(--sp-3)}.ui-panel--tight{padding:var(--sp-2) var(--sp-3)}}.ui-chip{display:inline-flex;align-items:center;gap:6px;height:20px;padding:0 7px;font-family:var(--font-mono);font-size:var(--fs-label);font-weight:700;line-height:1;letter-spacing:var(--ls-label);text-transform:uppercase;color:var(--color-electric-pink);border:1px solid currentColor;background:#1a002099;white-space:nowrap;vertical-align:middle}.ui-chip--info{color:var(--color-info)}.ui-chip--success{color:var(--color-success)}.ui-chip--warning{color:var(--color-warning)}.ui-chip--danger{color:var(--color-danger)}.ui-chip--orange{color:var(--color-bright-orange)}.ui-chip--muted{color:var(--text-secondary)}.ui-chip--solid{background:currentColor}.ui-chip--solid>span{color:var(--bg-dark)}.ui-label{font-size:var(--fs-label);letter-spacing:var(--ls-label);text-transform:uppercase;color:var(--text-secondary)}.ui-num{font-variant-numeric:tabular-nums}.ui-section-title{display:flex;align-items:baseline;justify-content:space-between;gap:var(--sp-3);padding-bottom:var(--sp-1);margin:0 0 var(--sp-2);font-family:var(--font-mono);font-size:var(--fs-label);font-weight:700;line-height:1.2;letter-spacing:var(--ls-label);text-transform:uppercase;color:var(--color-electric-pink);text-shadow:0 0 8px rgba(255,94,220,.6);border-bottom:1px solid var(--line)}.ui-section-title>b,.ui-section-title>em{font-style:normal;font-weight:400;letter-spacing:var(--ls-label);text-shadow:none;color:var(--text-secondary);font-variant-numeric:tabular-nums;white-space:nowrap}.ui-section-title>b{color:var(--text-primary)}.ui-kv{display:flex;justify-content:space-between;align-items:baseline;gap:var(--sp-3);padding:3px 0;font-size:var(--fs-label);letter-spacing:var(--ls-label);text-transform:uppercase;color:var(--text-secondary)}.ui-kv>b{color:var(--text-primary);font-variant-numeric:tabular-nums;letter-spacing:.08em;text-align:right;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ui-stat{display:flex;flex-direction:column;gap:3px;min-width:0;padding:var(--sp-1) 0 var(--sp-1) var(--sp-3);border-left:1px solid var(--line)}.ui-stat>span{font-size:var(--fs-label);letter-spacing:var(--ls-label);text-transform:uppercase;color:var(--text-secondary);white-space:nowrap}.ui-stat>b{font-size:var(--fs-title);line-height:1;letter-spacing:.04em;font-variant-numeric:tabular-nums;color:var(--text-primary);white-space:nowrap}.ui-bar{position:relative;height:8px;overflow:hidden;background:#0000008c;border:1px solid rgba(0,229,255,.5)}.ui-bar>span{display:block;height:100%;background:linear-gradient(90deg,#0097A7,var(--color-info));box-shadow:0 0 10px var(--color-info);transition:width .8s var(--ease-out)}.ui-bar--thin{height:4px}.ui-input{width:100%;min-height:var(--tap);padding:0 var(--sp-4);font-family:var(--font-mono);font-size:var(--fs-title);font-weight:700;letter-spacing:.14em;text-align:center;color:var(--text-primary);background:#100016d9;border:2px solid var(--border-primary);border-radius:0;outline:none;box-shadow:inset 0 0 12px #ff5edc26;transition:border-color var(--dur) ease,box-shadow var(--dur) ease}.ui-input::placeholder{color:var(--text-secondary);opacity:.55;font-weight:400;letter-spacing:.06em}.ui-input:focus{border-color:var(--color-bright-orange);box-shadow:inset 0 0 14px #ff5edc40,0 0 16px #ff993359}.ui-empty{display:flex;flex-direction:column;align-items:center;gap:var(--sp-2);padding:var(--sp-5) var(--sp-4);text-align:center;background:var(--surface-0);border:1px dashed var(--line-strong)}.ui-empty>strong{font-size:var(--fs-body);letter-spacing:var(--ls-title);text-transform:uppercase;color:var(--text-primary)}.ui-empty>span{font-size:var(--fs-label);letter-spacing:.06em;line-height:1.5;color:var(--text-secondary);max-width:48ch}.ui-empty>.ui-btn{margin-top:var(--sp-2)}.ui-skeleton{position:relative;overflow:hidden;min-height:48px;background:#ff5edc0d;border:1px solid var(--line)}.ui-skeleton:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 20%,rgba(255,94,220,.12) 50%,transparent 80%);transform:translate(-100%);animation:ui-skeleton 1.4s ease-in-out infinite}@keyframes ui-skeleton{to{transform:translate(100%)}}.ui-dot{display:inline-block;width:6px;height:6px;background:currentColor;box-shadow:0 0 8px currentColor;animation:ui-blink 1.6s ease-in-out infinite;vertical-align:middle}@keyframes ui-blink{0%,to{opacity:1}50%{opacity:.35}}.ui-stagger>*{animation:ui-rise .32s var(--ease-out) both;animation-delay:calc(var(--i, 0) * 45ms)}.ui-stagger>*:nth-child(2){--i: 1}.ui-stagger>*:nth-child(3){--i: 2}.ui-stagger>*:nth-child(4){--i: 3}.ui-stagger>*:nth-child(5){--i: 4}.ui-stagger>*:nth-child(6){--i: 5}.ui-stagger>*:nth-child(7){--i: 6}.ui-stagger>*:nth-child(8){--i: 7}.ui-stagger>*:nth-child(9){--i: 8}.ui-stagger>*:nth-child(10){--i: 9}.ui-stagger>*:nth-child(11){--i: 10}.ui-stagger>*:nth-child(12){--i: 11}@keyframes ui-rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes campaign-blink{0%,to{opacity:1}50%{opacity:.35}}@media (prefers-reduced-motion: reduce){.ui-btn--primary:after,.ui-dot,.ui-skeleton:after{animation:none}.ui-stagger>*{animation-duration:1ms;animation-delay:0ms}.ui-btn,.ui-bar>span{transition-duration:1ms}}.login-screen{align-items:center;justify-content:center;gap:var(--sp-4)}.login-center{width:min(440px,100%);display:flex;flex-direction:column;align-items:center;gap:var(--sp-4)}.login-logo{width:min(400px,100%);max-height:26vh;height:auto;object-fit:contain;filter:drop-shadow(0 0 18px rgba(255,94,220,.55));animation:login-logo-glow 4s ease-in-out infinite}@keyframes login-logo-glow{0%,to{filter:drop-shadow(0 0 18px rgba(255,94,220,.55))}50%{filter:drop-shadow(0 0 28px rgba(255,94,220,.8))}}.login-divider{display:flex;align-items:center;gap:var(--sp-3);width:100%;font-size:var(--fs-label);font-weight:700;letter-spacing:.4em;text-transform:uppercase;color:var(--color-electric-pink);text-shadow:0 0 8px rgba(255,94,220,.6);white-space:nowrap}.login-divider i{flex:1;height:1px;background:linear-gradient(90deg,transparent,var(--color-electric-pink));box-shadow:0 0 6px #ff5edc80}.login-divider i:last-child{background:linear-gradient(90deg,var(--color-electric-pink),transparent)}.login-card{width:100%;display:flex;flex-direction:column;gap:var(--sp-3);padding:var(--sp-5)}.login-field{display:flex;flex-direction:column;gap:var(--sp-2)}.login-field>.ui-label{padding-left:2px}.login-input{text-transform:uppercase}.login-hint{min-height:1.4em;font-size:var(--fs-label);letter-spacing:.1em;line-height:1.4;text-align:center;color:var(--text-secondary);text-transform:uppercase}.login-hint.busy{color:var(--color-bright-orange);text-shadow:0 0 10px var(--color-bright-orange);animation:ui-blink 1.6s ease-in-out infinite}.loading-dots:after{content:"";animation:dots 1.5s steps(4,end) infinite}@keyframes dots{0%,20%{content:""}40%{content:"."}60%{content:".."}80%,to{content:"..."}}.login-foot{position:absolute;left:0;right:0;bottom:var(--sp-3);text-align:center;font-size:var(--fs-label);letter-spacing:.3em;color:var(--text-secondary);opacity:.7;pointer-events:none}@media (max-height: 430px){.login-screen{gap:var(--sp-2);justify-content:center}.login-center{gap:var(--sp-2);width:min(420px,100%)}.login-logo{max-height:56px;width:auto}.login-card{padding:var(--sp-3) var(--sp-4);gap:var(--sp-2)}.login-field{gap:var(--sp-1)}.login-foot{display:none}}@media (max-width: 480px){.login-card{padding:var(--sp-4)}}.pilot-chip{display:flex;align-items:center;gap:var(--sp-2);height:var(--tap);padding:0 var(--sp-2) 0 var(--sp-1);min-width:180px;max-width:280px;background:var(--surface-0);border:1px solid var(--line-strong);box-shadow:var(--glow-soft);font-family:var(--font-mono);color:var(--text-primary);-webkit-tap-highlight-color:transparent;transition:border-color var(--dur) ease,box-shadow var(--dur) ease,transform var(--dur-fast) var(--ease-out)}.pilot-chip.clickable{cursor:pointer}@media (hover: hover) and (pointer: fine){.pilot-chip.clickable:hover{border-color:var(--color-bright-orange);box-shadow:var(--shadow-combined);transform:translateY(-1px)}}.pilot-chip.clickable:active{transform:translateY(1px)}.pilot-chip.clickable:focus-visible{outline:2px solid var(--color-info);outline-offset:2px}.pilot-chip-avatar{flex:none;width:calc(var(--tap) - 12px);height:calc(var(--tap) - 12px);object-fit:cover;border:1px solid var(--color-electric-pink);box-shadow:0 0 8px #ff5edc80;image-rendering:pixelated}.pilot-chip-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:5px}.pilot-chip-row{display:flex;justify-content:space-between;align-items:center;gap:var(--sp-2)}.pilot-chip-name{font-weight:700;font-size:var(--fs-body);line-height:1;letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-shadow:0 0 8px rgba(255,94,220,.6)}.pilot-chip-level{flex:none;font-size:var(--fs-label);font-weight:700;line-height:1;letter-spacing:.14em;color:var(--color-info);text-shadow:0 0 8px rgba(0,229,255,.7);white-space:nowrap}.pilot-chip-xp{height:3px}.pilot-chip-logout{flex:none;width:26px;height:26px;display:flex;align-items:center;justify-content:center;margin-left:2px;padding:0;background:transparent;border:1px solid var(--line-muted);border-radius:0;color:var(--text-secondary);font-family:var(--font-mono);font-size:13px;line-height:1;cursor:pointer;box-shadow:none;transition:border-color var(--dur) ease,color var(--dur) ease,box-shadow var(--dur) ease,background-color var(--dur) ease}.pilot-chip-logout:hover:not(:disabled){transform:none;background:#ff99331f;border-color:var(--color-bright-orange);color:var(--color-bright-orange);box-shadow:0 0 10px #f936}.pilot-chip.compact{min-width:156px;max-width:240px}.pilot-chip.compact .pilot-chip-name{font-size:var(--fs-label);letter-spacing:.12em}@media (max-height: 430px){.pilot-chip,.pilot-chip.compact{min-width:140px;max-width:210px}.pilot-chip-body{gap:4px}}.mode-selection-screen{align-items:center;justify-content:center;gap:var(--sp-5);padding-top:calc(var(--tap) + var(--sp-4));background-image:url(/assets/battle_bg_no_moon-SZo7EPFD.png)}.mode-selection-screen:before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse 60% 50% at 50% 100%,rgba(255,94,220,.12),transparent 70%),repeating-linear-gradient(0deg,rgba(255,94,220,.03) 0px,transparent 1px,transparent 2px,rgba(255,94,220,.03) 3px)}.home-chip{position:absolute;top:var(--sp-2);right:var(--gear-clear);z-index:5}.home-hero{display:flex;flex-direction:column;align-items:center;gap:var(--sp-3)}.game-logo-main{width:min(440px,70vw);max-height:24vh;height:auto;object-fit:contain;filter:drop-shadow(0 0 18px rgba(255,94,220,.55));animation:logo-glow 4s ease-in-out infinite}@keyframes logo-glow{0%,to{filter:drop-shadow(0 0 18px rgba(255,94,220,.55))}50%{filter:drop-shadow(0 0 28px rgba(255,94,220,.8))}}.mode-selection-subtitle{display:flex;align-items:center;gap:var(--sp-3);margin:0;font-size:var(--fs-label);font-weight:700;letter-spacing:.42em;text-indent:.42em;text-transform:uppercase;color:var(--text-secondary)}.mode-selection-subtitle i{width:56px;height:1px;background:linear-gradient(90deg,transparent,var(--color-electric-pink));box-shadow:0 0 6px #ff5edc80}.mode-selection-subtitle i:last-child{background:linear-gradient(90deg,var(--color-electric-pink),transparent)}.mode-tiles-container{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--sp-4);width:min(1080px,100%)}.mode-tile{position:relative;display:block;width:100%;height:clamp(240px,50vh,420px);padding:0;margin:0;overflow:hidden;background:var(--surface-0);border:2px solid var(--line-strong);border-radius:0;box-shadow:0 0 18px #ff5edc33;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:transform var(--dur) var(--ease-out),box-shadow var(--dur) ease,border-color var(--dur) ease}.mode-tile-art{position:absolute;inset:0;background-size:cover;background-position:center;background-repeat:no-repeat;filter:saturate(.95);transition:transform .42s var(--ease-out),filter var(--dur) ease}.mode-tile-scrim{position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,0,28,.45) 0%,transparent 26%,transparent 48%,rgba(20,0,28,.94) 100%)}.mode-tile-tag{position:absolute;top:var(--sp-3);left:var(--sp-3);display:inline-flex;align-items:center;height:20px;padding:0 7px;font-size:var(--fs-label);font-weight:700;letter-spacing:var(--ls-label);color:var(--color-bright-orange);border:1px solid currentColor;background:#1a0020b3;font-variant-numeric:tabular-nums}.mode-tile-text{position:absolute;left:0;right:0;bottom:clamp(28px,5.5vh,44px);font-family:Arial Black,Arial Bold,Impact,sans-serif;font-weight:900;font-size:clamp(22px,2.8vw,36px);line-height:1;color:#ff8c00;text-align:center;letter-spacing:.02em;text-transform:uppercase;text-shadow:-2px -2px 0 #1A0020,2px -2px 0 #1A0020,-2px 2px 0 #1A0020,2px 2px 0 #1A0020,0 0 18px rgba(255,140,0,.7);transform:scaleX(.9);transition:color var(--dur) ease;pointer-events:none}.mode-tile-sub{position:absolute;left:var(--sp-2);right:var(--sp-2);bottom:var(--sp-3);font-family:var(--font-mono);font-size:var(--fs-label);letter-spacing:.16em;text-transform:uppercase;text-align:center;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;pointer-events:none}@media (hover: hover) and (pointer: fine){.mode-tile:hover{transform:translateY(-4px);border-color:var(--color-bright-orange);box-shadow:0 0 30px #ff993380,0 0 60px #ff5edc4d}.mode-tile:hover .mode-tile-art{transform:scale(1.05);filter:saturate(1.1) brightness(1.08)}.mode-tile:hover .mode-tile-text{color:#ffa64d}.mode-tile:hover .mode-tile-sub{color:var(--text-primary)}}.mode-tile:active{transform:translateY(0) scale(.995);transition-duration:60ms}.mode-tile:focus-visible{outline:2px solid var(--color-info);outline-offset:3px}@media (max-height: 430px){.mode-selection-screen{gap:var(--sp-3);padding-top:var(--sp-2);justify-content:center}.home-chip{top:var(--sp-1)}.home-hero{gap:var(--sp-2)}.game-logo-main{width:auto;max-height:54px}.mode-selection-subtitle i{width:36px}.mode-tiles-container{gap:var(--sp-2)}.mode-tile{height:clamp(150px,52vh,220px)}.mode-tile-tag{top:var(--sp-2);left:var(--sp-2);height:18px}.mode-tile-text{font-size:clamp(16px,2.6vw,22px);bottom:24px}.mode-tile-sub{bottom:7px;letter-spacing:.06em}}@media (min-height: 431px) and (max-height: 640px){.mode-selection-screen{gap:var(--sp-4)}.game-logo-main{max-height:18vh}.mode-tile{height:clamp(220px,44vh,320px)}}@media (max-width: 640px){.mode-selection-screen{justify-content:flex-start;padding-top:calc(var(--tap) + var(--sp-5))}.mode-tiles-container{grid-template-columns:1fr;width:min(420px,100%)}.mode-tile{height:clamp(120px,20vh,170px)}.mode-tile-text{font-size:24px;bottom:26px}}.room-browser{width:100%;min-height:var(--screen-h);display:flex;flex-direction:column;background:var(--bg-gradient);background-size:cover;background-position:center;background-repeat:no-repeat;font-family:Courier New,monospace;position:relative;overflow-x:hidden;padding:20px}.room-browser:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg,rgba(255,94,220,.03) 0px,transparent 1px,transparent 2px,rgba(255,94,220,.03) 3px);pointer-events:none;animation:scan-lines 8s linear infinite}.room-browser-content{width:100%;max-width:1000px;margin:0 auto;position:relative;z-index:1}.room-browser-top{display:flex;flex-direction:column;align-items:flex-start;gap:20px;margin-bottom:30px;position:relative;z-index:1}.create-game-banner{width:100%;min-height:180px;background:var(--gradient-panel);background-image:linear-gradient(135deg,#400060e6,#2a0035e6);border:4px solid var(--color-bright-orange);cursor:pointer;transition:all .4s ease;position:relative;overflow:hidden;padding:30px 40px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;box-shadow:0 0 30px #f939,inset 0 0 40px #ff5edc26;animation:banner-pulse 3s ease-in-out infinite}@keyframes banner-pulse{0%,to{box-shadow:0 0 30px #f939,inset 0 0 40px #ff5edc26}50%{box-shadow:0 0 45px #ff9933e6,inset 0 0 50px #ff5edc40}}@media (hover: hover) and (pointer: fine){.create-game-banner:hover{border-color:#fff;box-shadow:0 0 60px #fffc,0 0 80px var(--color-bright-orange),inset 0 0 50px #ffffff26;transform:translateY(-4px)}}.banner-title-large{font-size:48px;font-weight:900;color:#ff8c00;text-align:center;letter-spacing:6px;text-shadow:-3px -3px 0 #000,3px -3px 0 #000,-3px 3px 0 #000,3px 3px 0 #000,0 0 30px rgba(255,140,0,.9);font-family:Arial Black,Arial Bold,sans-serif;text-transform:uppercase;line-height:1;margin-bottom:8px}.banner-title{font-size:24px;font-weight:900;color:#ff8c00;text-align:center;letter-spacing:3px;text-shadow:-2px -2px 0 #000,2px -2px 0 #000,-2px 2px 0 #000,2px 2px 0 #000,0 0 20px rgba(255,140,0,.9);font-family:Arial Black,Arial Bold,sans-serif;text-transform:uppercase;line-height:1}.banner-subtitle{font-size:15px;font-weight:400;color:var(--text-primary);text-align:center;letter-spacing:2px;text-shadow:0 0 10px rgba(255,94,220,.6);font-family:Courier New,monospace;opacity:.9;font-style:italic}.back-btn{background:#ffffff1a;border:3px solid rgba(255,255,255,.3);color:var(--text-primary);padding:12px 24px;font-size:14px;font-weight:700;cursor:pointer;transition:all .3s ease;font-family:Courier New,monospace;letter-spacing:2px;line-height:1.2;display:inline-flex;align-items:center;height:48px;width:auto;align-self:flex-start}.back-btn:hover{background:#fff3;border-color:var(--color-bright-orange);box-shadow:0 0 15px #ff8c004d;transform:translate(-2px)}.join-section-header{margin-bottom:20px;position:relative;z-index:1;text-align:center}.join-section-header h2{font-size:32px;color:#ff8c00;text-shadow:-2px -2px 0 #000,2px -2px 0 #000,-2px 2px 0 #000,2px 2px 0 #000,0 0 20px rgba(255,140,0,.8);margin:0;letter-spacing:4px;font-weight:900;font-family:Arial Black,Arial Bold,sans-serif;text-transform:uppercase;transform:scaleX(.85) scaleY(1.2);line-height:1}.loading-state,.empty-state{text-align:center;padding:80px 20px;position:relative;z-index:1;width:100%;max-width:600px;margin:0 auto}.empty-state{background:var(--gradient-panel);background-image:linear-gradient(135deg,#400060f2,#2a0035f2);border:3px solid var(--border-primary);box-shadow:var(--shadow-electric-pink-strong),inset 0 0 30px #ff5edc1a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.spinner{width:50px;height:50px;border:4px solid rgba(255,94,220,.2);border-top-color:var(--color-electric-pink);border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 20px}@keyframes spin{to{transform:rotate(360deg)}}.loading-state p{color:var(--text-primary);font-size:14px;letter-spacing:2px}.empty-icon{font-size:72px;margin-bottom:20px;filter:drop-shadow(0 0 10px var(--color-electric-pink))}.empty-state h2{color:var(--color-electric-pink);margin-bottom:12px;font-size:24px;letter-spacing:3px;text-shadow:0 0 15px var(--color-electric-pink)}.empty-state p{color:var(--text-secondary);margin-bottom:30px;font-size:14px;letter-spacing:1px}.room-list{background:var(--gradient-panel);border:3px solid var(--border-primary);box-shadow:var(--shadow-electric-pink-strong),inset 0 0 30px #ff5edc1a;overflow:hidden;position:relative;z-index:1}.room-list-header,.room-row{display:grid;grid-template-columns:2fr 1fr .8fr 1fr .8fr 1fr;gap:15px;padding:15px 20px;align-items:center}.room-list-header{background:var(--bg-panel);border-bottom:2px solid var(--border-primary);font-size:11px;font-weight:700;color:var(--color-electric-pink);letter-spacing:2px;text-shadow:0 0 8px var(--color-electric-pink)}.room-row{border-bottom:1px solid rgba(255,94,220,.2);transition:all .3s ease;background:#2a00354d}.room-row:hover{background:var(--bg-panel);box-shadow:inset 0 0 20px #ff5edc33;border-bottom-color:var(--color-electric-pink)}.room-row:last-child{border-bottom:none}.room-name{font-size:16px;font-weight:700;color:var(--text-primary);margin-bottom:4px;letter-spacing:1px;text-shadow:0 0 8px rgba(255,94,220,.3)}.room-host{font-size:11px;color:var(--text-secondary);letter-spacing:1px}.room-level{font-size:11px;color:var(--color-warning);margin-top:2px;text-shadow:0 0 8px var(--color-warning)}.mode-badge{display:inline-block;padding:5px 12px;font-size:11px;font-weight:700;border-radius:0;letter-spacing:1px}.mode-badge.vs{background:#ff174433;border:2px solid var(--color-danger);color:var(--color-danger);box-shadow:0 0 10px #ff17444d}.mode-badge.survival{background:#ffd70033;border:2px solid var(--color-warning);color:var(--color-warning);box-shadow:0 0 10px #ffd7004d}.player-count{font-size:15px;font-weight:700;color:var(--text-primary);letter-spacing:1px}.player-count.full{color:var(--color-danger);text-shadow:0 0 8px var(--color-danger)}.status-badge{display:inline-block;padding:5px 12px;font-size:11px;font-weight:700;border-radius:0;letter-spacing:1px}.status-badge.waiting{background:#00ffb333;border:2px solid var(--color-success);color:var(--color-success);box-shadow:0 0 10px #00ffb34d}.status-badge.in-progress{background:#ffd70033;border:2px solid var(--color-warning);color:var(--color-warning);box-shadow:0 0 10px #ffd7004d}.status-badge.ended{background:#80808033;border:2px solid #666;color:#888}.col-age{font-size:12px;color:var(--text-secondary);letter-spacing:1px}.join-room-btn{background:var(--bg-panel);border:2px solid var(--border-primary);color:var(--text-primary);padding:10px 20px;font-size:12px;font-weight:700;cursor:pointer;transition:all .3s ease;width:100%;font-family:Courier New,monospace;letter-spacing:2px;box-shadow:var(--shadow-electric-pink)}.join-room-btn:hover:not(:disabled){background:var(--gradient-button-hover);box-shadow:var(--shadow-combined);border-color:var(--color-bright-orange);transform:scale(1.05);color:var(--text-glow)}.join-room-btn:disabled{background:#3232324d;border-color:#666;color:#666;cursor:not-allowed;opacity:.4}.browser-footer{text-align:center;margin-top:20px;padding-top:20px;border-top:2px solid var(--border-primary);color:var(--text-secondary);font-size:13px;letter-spacing:2px;position:relative;z-index:1}@media (max-width: 900px){.room-list-header,.room-row{grid-template-columns:2fr 1fr 1fr 1.2fr;gap:10px}.col-age,.col-status{display:none}}@media (max-width: 600px){.room-browser{padding:15px}.create-game-banner{width:100%;max-width:none;min-height:150px;padding:25px 20px;gap:10px}.banner-title-large{font-size:32px;letter-spacing:4px;margin-bottom:6px}.banner-title{font-size:18px;letter-spacing:2px}.banner-subtitle{font-size:13px;letter-spacing:1px}.back-btn{padding:10px 16px;font-size:12px;width:100%;align-self:stretch}.join-section-header h2{font-size:24px;letter-spacing:5px}.room-list-header,.room-row{grid-template-columns:1fr .8fr 1fr;font-size:12px;padding:12px 15px}.col-mode{display:none}}@media (max-height: 520px){.room-browser{padding:12px 16px}.room-browser-top{gap:10px;margin-bottom:14px}.back-btn{height:36px;padding:6px 14px;font-size:12px}.create-game-banner{min-height:0;padding:12px 20px;gap:4px}.banner-title-large{font-size:26px;letter-spacing:3px;margin-bottom:2px}.banner-title{font-size:15px}.banner-subtitle{font-size:11px}.join-section-header{margin-bottom:10px}.join-section-header h2{font-size:20px}.loading-state,.empty-state{padding:24px 16px}.empty-icon{font-size:40px;margin-bottom:8px}.empty-state h2{font-size:18px}.empty-state p{margin-bottom:8px}.room-list-header,.room-row{padding:8px 14px}}.room-browser.rb2{padding:var(--sp-3) var(--screen-pad-x) var(--sp-5);gap:var(--sp-3)}.room-browser.rb2:before{z-index:-1;animation:none;background:linear-gradient(180deg,#14001ce6,#14001cad 30% 70%,#14001ce6),repeating-linear-gradient(0deg,rgba(255,94,220,.03) 0px,transparent 1px,transparent 2px,rgba(255,94,220,.03) 3px)}.rb2-body{display:grid;grid-template-columns:minmax(280px,360px) minmax(0,1fr);gap:var(--sp-4);align-items:start;flex:1}.rb2-kicker{font-size:var(--fs-label);font-weight:700;letter-spacing:var(--ls-label);color:var(--color-bright-orange);font-variant-numeric:tabular-nums}.ui-section-title .rb2-kicker{text-shadow:none}.rb2-host-card{display:flex;flex-direction:column;gap:var(--sp-3);padding:var(--sp-5)}.rb2-host-title{margin:0;font-size:clamp(18px,2vw,24px);line-height:1;letter-spacing:.24em;white-space:nowrap;color:var(--color-bright-orange);text-shadow:0 0 14px rgba(255,153,51,.7)}.rb2-host-sub{margin:0;font-size:var(--fs-body);line-height:1.55;letter-spacing:var(--ls-body);color:var(--text-primary);opacity:.9}.rb2-host-facts{margin:0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:var(--sp-1) var(--sp-3);font-size:var(--fs-label);letter-spacing:var(--ls-label);color:var(--text-secondary)}.rb2-host-facts li:before{content:"▸ ";color:var(--color-bright-orange)}.rb2-host{margin-top:var(--sp-2)}.rb2-join{display:flex;flex-direction:column;gap:var(--sp-2);min-width:0}.rb2-join>.ui-section-title{margin-bottom:0}.rb2-list{display:flex;flex-direction:column;gap:var(--sp-2)}.rb2-row{display:flex;align-items:center;gap:var(--sp-3);min-height:56px;transition:border-color var(--dur) ease,box-shadow var(--dur) ease}@media (hover: hover) and (pointer: fine){.rb2-row:not(.busy):hover{border-color:var(--line-strong);box-shadow:var(--glow-soft)}}.rb2-row.busy{opacity:.6}.rb2-row-main{flex:1;min-width:0}.rb2-row-name{font-weight:700;font-size:var(--fs-body);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rb2-row-meta{margin-top:3px;font-size:var(--fs-label);letter-spacing:var(--ls-label);color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rb2-row-pilots{flex:none;display:flex;align-items:center;gap:3px}.rb2-row-pilots span{width:9px;height:14px;border:1px solid var(--line-muted);background:#0006}.rb2-row-pilots span.on{background:var(--color-info);border-color:var(--color-info);box-shadow:0 0 6px var(--color-info)}.rb2-row-pilots b{margin-left:var(--sp-2);font-size:var(--fs-label);letter-spacing:.08em;color:var(--text-secondary)}.rb2-join-btn{flex:none;min-width:92px}.rb2-live{display:flex;align-items:center;justify-content:flex-end;gap:var(--sp-2);padding-top:var(--sp-1);font-size:var(--fs-label);letter-spacing:var(--ls-label);color:var(--color-success)}.rb2-empty .rb2-live{justify-content:center;margin-top:var(--sp-1)}@media (max-width: 760px){.rb2-body{grid-template-columns:1fr}.rb2-host-card{padding:var(--sp-4)}.rb2-row{flex-wrap:wrap}.rb2-join-btn{flex:1 1 100%}}@media (max-height: 430px){.rb2-body{grid-template-columns:minmax(240px,300px) minmax(0,1fr);gap:var(--sp-3)}.rb2-host-card{padding:var(--sp-3);gap:var(--sp-2)}.rb2-host-sub{display:none}.rb2-host{margin-top:0}.rb2-row{min-height:44px;gap:var(--sp-2)}.rb2-join-btn{min-width:76px}}.typing-text-container{display:inline}.typing-cursor{display:inline-block;color:var(--color-electric-pink);animation:blink .8s step-end infinite;margin-left:3px;text-shadow:0 0 6px var(--color-electric-pink)}@keyframes blink{0%,50%{opacity:1}51%,to{opacity:0}}.typing-text-rest{visibility:hidden}.lobby-screen{width:100%;min-height:var(--screen-h);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;background:var(--bg-gradient);background-image:url(/assets/battle_bg_no_moon-SZo7EPFD.png);background-size:cover;background-position:center;background-repeat:no-repeat;font-family:Courier New,monospace;position:relative;overflow-x:hidden;padding:20px}.lobby-screen:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg,rgba(255,94,220,.03) 0px,transparent 1px,transparent 2px,rgba(255,94,220,.03) 3px);pointer-events:none;animation:scan-lines 8s linear infinite}.lobby-container{background:var(--gradient-panel);border:3px solid var(--border-primary);box-shadow:var(--shadow-electric-pink-strong),inset 0 0 30px #ff5edc1a;padding:30px;max-width:600px;width:90%;text-align:center;position:relative;z-index:1}.game-logo-lobby{display:block;width:min(300px,60vw);height:auto;flex:0 0 auto;position:relative;z-index:1;filter:drop-shadow(0 0 20px rgba(255,94,220,.6));animation:logo-glow-lobby 3s ease-in-out infinite;z-index:10}@keyframes logo-glow-lobby{0%,to{filter:drop-shadow(0 0 20px rgba(255,94,220,.6))}50%{filter:drop-shadow(0 0 30px rgba(255,94,220,.8))}}.mode-info-inline{margin-bottom:15px}.mode-text-inline{font-size:36px;font-weight:900;color:#ff8c00;letter-spacing:3px;text-shadow:-2px -2px 0 #000,2px -2px 0 #000,-2px 2px 0 #000,2px 2px 0 #000,0 0 15px rgba(255,140,0,.8);font-family:Arial Black,Arial Bold,sans-serif;text-transform:uppercase;line-height:1;transform:scaleX(.85) scaleY(1.2);transform-origin:left;margin-bottom:5px}.mode-subtext-inline{font-size:14px;font-weight:700;color:#fff;letter-spacing:1px;text-shadow:-1px -1px 0 #000,1px -1px 0 #000,-1px 1px 0 #000,1px 1px 0 #000,0 0 8px rgba(255,140,0,.6);font-family:Courier New,monospace;text-transform:uppercase}.player-info{color:var(--text-primary);margin:5px 0 0;font-size:12px;letter-spacing:3px;opacity:.8}.mode-info{color:var(--color-warning);margin:8px 0 0;font-size:13px;letter-spacing:2px;font-weight:700;text-shadow:0 0 10px var(--color-warning)}.lobby-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px;gap:20px}.lobby-header-left{flex:1;text-align:left}.lobby-header-left .game-title{margin:0 0 5px;text-align:left}.lobby-header-left .player-info{text-align:left}.lobby-header-right{display:flex;align-items:flex-start;gap:12px}.room-code-compact{display:flex;flex-direction:column;align-items:flex-end;gap:4px}.room-code-label{font-size:10px;color:var(--color-soft-violet);letter-spacing:1px;opacity:.8}.room-code-value{font-size:20px;font-weight:700;color:var(--color-electric-pink);letter-spacing:3px;font-family:Courier New,monospace;text-shadow:0 0 10px var(--color-electric-pink);border:2px solid var(--border-primary);padding:4px 12px;background:var(--bg-dark)}.lobby-back-btn{padding:10px 20px;font-family:Courier New,monospace;font-size:14px;font-weight:700;letter-spacing:2px;background:#ffffff1a;border:2px solid rgba(255,255,255,.3);color:var(--text-primary);cursor:pointer;transition:all .3s ease;white-space:nowrap;align-self:flex-start}.lobby-back-btn:hover{background:#fff3;border-color:var(--color-bright-orange);box-shadow:0 0 15px #ff8c004d;transform:translate(-2px)}.lobby-options{display:flex;flex-direction:column;gap:20px}.option-card{background:var(--bg-panel);border:2px solid var(--border-primary);border-radius:0;padding:20px;box-shadow:var(--shadow-electric-pink);transition:all .3s ease}.option-card:hover{background:var(--bg-panel);box-shadow:var(--shadow-electric-pink-strong);transform:translateY(-2px);border-color:var(--color-bright-orange)}.option-header{margin-bottom:15px}.option-header h2{color:var(--color-electric-pink);font-size:20px;letter-spacing:3px;margin:0 0 5px;text-shadow:0 0 10px var(--color-electric-pink)}.option-subtitle{color:var(--text-secondary);font-size:11px;letter-spacing:1px;font-style:italic}.lobby-checkbox-label{display:flex;align-items:center;gap:10px;margin:0 0 15px;padding:10px;background:var(--bg-dark);border:2px solid var(--border-primary);cursor:pointer;transition:all .2s ease;box-shadow:inset 0 0 10px #ff5edc1a}.lobby-checkbox-label:hover{background:var(--bg-panel);border-color:var(--color-electric-pink);box-shadow:var(--shadow-electric-pink)}.lobby-checkbox-label input[type=checkbox]{cursor:pointer;width:18px;height:18px;accent-color:var(--color-electric-pink)}.lobby-checkbox-label span{color:var(--text-primary);font-size:12px;letter-spacing:1px;font-weight:700}.lobby-action-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:12px;padding:15px 25px;font-family:Courier New,monospace;font-size:16px;font-weight:700;letter-spacing:2px;background:var(--bg-panel);border:3px solid var(--border-primary);color:var(--text-primary);cursor:pointer;text-transform:uppercase;transition:all .3s ease;box-shadow:var(--shadow-electric-pink);position:relative;overflow:hidden}.lobby-action-btn.secondary{background:#ff8c001a;border-color:var(--color-sunset-orange);color:var(--color-bright-orange);box-shadow:0 0 10px #ff8c0033;margin-bottom:10px;font-size:14px;padding:12px 20px}.lobby-action-btn.secondary:hover:not(:disabled){background:var(--gradient-button-hover);border-color:var(--color-bright-orange);box-shadow:var(--shadow-bright-orange);color:var(--text-glow)}.lobby-action-btn:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;background:#ff5edc33;border-radius:50%;transform:translate(-50%,-50%);transition:width .6s,height .6s}.lobby-action-btn:hover:not(:disabled):before{width:300%;height:300%}.lobby-action-btn:hover:not(:disabled){background:var(--gradient-button-hover);border-color:var(--color-bright-orange);box-shadow:var(--shadow-combined);transform:scale(1.02);color:var(--text-glow)}.lobby-action-btn:disabled{opacity:.4;cursor:not-allowed;background:#3232324d;border-color:#666;color:#666}.btn-icon{font-size:22px;filter:drop-shadow(0 0 8px var(--color-electric-pink));position:relative;z-index:1}.btn-text{position:relative;z-index:1}.lobby-divider{display:flex;align-items:center;gap:15px;margin:10px 0}.lobby-divider-small{display:flex;align-items:center;gap:10px;margin:15px 0}.lobby-divider-small .divider-line{height:1px;opacity:.5}.lobby-divider-small .divider-text{font-size:12px;letter-spacing:2px;opacity:.7}.divider-line{flex:1;height:2px;background:linear-gradient(90deg,transparent,var(--color-electric-pink),transparent);box-shadow:0 0 8px var(--color-electric-pink)}.divider-text{color:var(--color-bright-orange);font-size:16px;font-weight:700;letter-spacing:5px;text-shadow:0 0 10px var(--color-bright-orange)}.lobby-input{width:100%;background:var(--bg-dark);border:2px solid var(--border-primary);color:var(--text-primary);padding:12px;margin-bottom:15px;font-size:16px;font-family:Courier New,monospace;font-weight:700;text-align:center;letter-spacing:5px;outline:none;box-shadow:inset 0 0 10px #ff5edc33;transition:all .3s}.lobby-input::placeholder{color:var(--color-muted-purple);letter-spacing:2px;font-weight:400;opacity:.5}.lobby-input:focus{background:var(--bg-panel);box-shadow:inset 0 0 15px #ff5edc4d,var(--shadow-electric-pink);border-color:var(--color-bright-orange)}.option-hint{color:var(--text-secondary);font-size:11px;margin:10px 0 0;font-style:italic;letter-spacing:.5px}.error-message{margin-top:20px;padding:15px;background:#ff17441a;border:2px solid var(--color-danger);color:var(--color-danger);font-size:12px;letter-spacing:1px;box-shadow:0 0 20px #ff17444d;animation:error-pulse 1s ease-in-out}@keyframes error-pulse{0%{transform:scale(.95);opacity:0}to{transform:scale(1);opacity:1}}.lobby-container-wide{background:var(--gradient-panel);background-size:cover;background-position:center;background-repeat:no-repeat;border:3px solid var(--border-primary);box-shadow:var(--shadow-electric-pink-strong),inset 0 0 40px #00000080;padding:25px;max-width:1000px;width:95%;position:relative;z-index:1}.lobby-section{margin-top:15px}.room-code-display{text-align:center;margin-bottom:20px;padding:15px;background:var(--bg-panel);border:2px solid var(--border-primary);border-radius:0}.room-code-display p{margin:0 0 8px;font-size:12px;letter-spacing:2px;color:var(--text-secondary)}.room-code{font-size:32px;font-weight:700;letter-spacing:8px;color:var(--color-electric-pink);text-shadow:0 0 20px var(--color-electric-pink),0 0 40px var(--color-bright-orange);padding:8px;background:var(--bg-dark);border:2px solid var(--border-primary);display:inline-block;min-width:250px}.lobby-dialogue-box{background:linear-gradient(180deg,#1a0020fa,#2a0035fa);border:4px solid var(--border-primary);box-shadow:var(--shadow-electric-pink-strong),inset 0 0 40px #ff5edc26;padding:20px 25px;margin:0 auto 20px;max-width:700px;animation:dialogueFadeIn .6s ease-out;display:flex;gap:20px;align-items:flex-start}.lobby-dialogue-avatar{flex-shrink:0}.lobby-dialogue-text{flex:1;display:flex;flex-direction:column;gap:12px}@keyframes dialogueFadeIn{0%{opacity:0;transform:translateY(-15px)}to{opacity:1;transform:translateY(0)}}.lobby-dialogue-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;padding-bottom:10px;border-bottom:2px solid;border-image:linear-gradient(90deg,transparent,var(--color-electric-pink),transparent) 1}.lobby-dialogue-boss-name{font-size:20px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--color-bright-orange);text-shadow:0 0 15px var(--color-bright-orange)}.lobby-dialogue-status{font-size:11px;font-weight:700;letter-spacing:2px;padding:4px 10px;border:2px solid var(--color-bright-orange);color:var(--color-bright-orange);background:#f933;box-shadow:0 0 15px #f936;text-shadow:0 0 8px var(--color-bright-orange);animation:threat-pulse 1.5s ease-in-out infinite}@keyframes threat-pulse{0%,to{box-shadow:0 0 15px #f936}50%{box-shadow:0 0 25px #f93c}}.lobby-dialogue-content{font-size:16px;line-height:1.6;color:var(--text-glow);letter-spacing:1px;font-style:italic;font-weight:700;text-shadow:0 0 10px var(--color-bright-orange)}.lobby-instructions{text-align:center;font-size:14px;color:var(--text-primary);margin:15px 0;letter-spacing:1px}.team-section{margin:15px 0;padding:15px;background:var(--bg-panel);border:2px solid var(--border-primary);border-radius:0}.team-section.team1{box-shadow:var(--shadow-electric-pink)}.team-section.team2{box-shadow:var(--shadow-bright-orange);border-color:var(--color-sunset-orange)}.team-section.team2 h2{color:var(--color-sunset-orange)}.team-section h2{margin:0 0 12px;font-size:18px;letter-spacing:3px;text-align:center;color:var(--color-electric-pink);text-shadow:0 0 15px var(--color-electric-pink)}.team-slots{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.team-slot{background:var(--bg-dark);border:2px solid var(--border-primary);padding:10px;min-height:100px;display:flex;flex-direction:column;gap:8px;transition:all .3s;box-shadow:inset 0 0 15px #ff5edc1a}.slot-lane-label{font-size:14px;font-weight:700;letter-spacing:2px;color:var(--color-electric-pink);text-align:center;padding-bottom:8px;border-bottom:1px solid var(--border-primary);text-shadow:0 0 8px var(--color-electric-pink)}.slot-filled{flex:1;display:flex;flex-direction:column;justify-content:space-between;padding:10px;background:var(--bg-panel);border:1px solid var(--border-primary);border-radius:0;position:relative}.slot-filled.slot-ai{background:var(--bg-panel);border-color:var(--color-warning);box-shadow:0 0 10px #ffd70033}.slot-player-info{flex:1}.slot-player-name{font-size:16px;font-weight:700;color:var(--text-primary);letter-spacing:2px;margin-bottom:5px;text-shadow:0 0 10px var(--color-electric-pink)}.slot-filled.slot-ai .slot-player-name{color:var(--color-warning)}.slot-player-type{font-size:11px;color:var(--text-secondary);letter-spacing:1px;font-style:italic}.slot-filled.slot-ai .slot-player-type{color:var(--color-warning);opacity:.8}.slot-remove-btn{padding:8px 12px;font-family:Courier New,monospace;font-size:11px;font-weight:700;letter-spacing:1px;background:#ff17444d;border:2px solid var(--color-danger);color:var(--color-danger);cursor:pointer!important;transition:all .2s;margin-top:8px;pointer-events:auto!important;position:relative;z-index:100;-webkit-user-select:none;user-select:none}.slot-remove-btn:hover{background:#ff174480;box-shadow:0 0 15px var(--color-danger);transform:scale(1.05)}.slot-remove-btn:active{transform:scale(.95)}.slot-empty{flex:1;display:flex;align-items:center;justify-content:center}.slot-actions{display:flex;flex-direction:column;gap:8px;width:100%}.slot-action-btn{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 16px;font-family:Courier New,monospace;font-size:13px;font-weight:700;letter-spacing:2px;cursor:pointer;transition:all .2s;text-transform:uppercase;border:2px solid}.slot-action-btn.primary{background:var(--bg-panel);border-color:var(--border-primary);color:var(--text-primary);box-shadow:0 0 10px #ff5edc33}.slot-action-btn.primary:hover{background:var(--gradient-button-hover);box-shadow:var(--shadow-electric-pink);transform:scale(1.05)}.slot-action-btn.secondary{background:var(--bg-panel);border-color:var(--color-warning);color:var(--color-warning);box-shadow:0 0 10px #ffd70033}.slot-action-btn.secondary:hover{background:linear-gradient(90deg,var(--color-warning) 0%,var(--color-bright-orange) 100%);box-shadow:0 0 20px var(--color-warning);transform:scale(1.05);color:var(--text-glow)}.slot-btn-icon{font-size:16px}.slot-empty-text{font-size:14px;color:var(--text-primary);letter-spacing:3px;font-weight:700;text-shadow:0 0 10px var(--color-electric-pink);opacity:.8}.host-controls{margin:25px 0 15px;text-align:center}.lobby-start-btn{display:inline-flex;align-items:center;gap:15px;padding:18px 35px;font-family:Courier New,monospace;background:var(--gradient-button-hover);border:3px solid var(--border-glow);color:var(--text-glow);cursor:pointer;transition:all .3s ease;box-shadow:var(--shadow-combined);position:relative;overflow:hidden}.lobby-start-btn:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;background:#ff5edc4d;border-radius:50%;transform:translate(-50%,-50%);transition:width .6s,height .6s}.lobby-start-btn:hover:not(:disabled):before{width:400%;height:400%}.lobby-start-btn:hover:not(:disabled){box-shadow:0 0 50px var(--color-electric-pink),0 0 80px var(--color-bright-orange);transform:scale(1.05)}.lobby-start-btn:disabled{opacity:.4;cursor:not-allowed;background:#3232324d;border-color:#666;color:#666}.start-btn-icon{font-size:24px;filter:drop-shadow(0 0 10px var(--color-bright-orange));position:relative;z-index:1}.start-btn-content{display:flex;flex-direction:column;gap:3px;position:relative;z-index:1}.start-btn-text{font-size:18px;font-weight:700;letter-spacing:3px;text-shadow:0 0 15px var(--color-bright-orange)}.start-btn-hint{font-size:11px;letter-spacing:1px;opacity:.7}.player-count-info{text-align:center;margin-top:20px;padding-top:15px;border-top:2px solid var(--border-primary)}.player-count-info p{margin:5px 0;font-size:12px;letter-spacing:2px;color:var(--text-primary)}.host-badge{color:var(--color-warning)!important;font-weight:700;text-shadow:0 0 10px var(--color-warning);animation:badge-pulse 2s ease-in-out infinite}@keyframes badge-pulse{0%,to{opacity:1}50%{opacity:.7}}.countdown-overlay{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;background:#000000e6}.countdown-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;background:radial-gradient(circle,var(--bg-panel) 0%,var(--bg-dark) 100%);pointer-events:all}.countdown-screen h1{font-size:32px;letter-spacing:8px;margin:0 0 50px;text-transform:uppercase;color:var(--color-electric-pink);text-shadow:0 0 20px var(--color-electric-pink);animation:fadeInDown .5s ease-out;text-align:center}.countdown-number{font-size:200px;font-weight:700;color:var(--text-glow);text-shadow:0 0 30px var(--text-glow),0 0 60px var(--color-electric-pink),0 0 90px var(--color-bright-orange);animation:countdownPulse 1s ease-in-out}@keyframes countdownPulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.1);opacity:.8}}@media (max-width: 768px){.team-slots{grid-template-columns:1fr}.lobby-container,.lobby-container-wide{padding:30px 20px}.game-title{font-size:36px}.room-code{font-size:28px;letter-spacing:8px}.game-logo-lobby{width:min(220px,60vw)}.lobby-dialogue-box{padding:18px 20px;max-width:100%;width:100%;flex-direction:row;align-items:flex-start;gap:15px}.dialogue-enemy-avatar{width:80px;height:80px}.lobby-dialogue-text{flex:1}.lobby-dialogue-header{flex-direction:column;align-items:flex-start;gap:8px}.lobby-dialogue-boss-name{font-size:16px;letter-spacing:1px}.lobby-dialogue-status{font-size:10px;padding:4px 8px;align-self:flex-start}.lobby-dialogue-content{font-size:14px;line-height:1.5}}@media (max-height: 520px){.lobby-screen{padding:12px;gap:8px}.game-logo-lobby{display:none}.lobby-container,.lobby-container-wide{padding:14px 16px;width:100%}}.lobby-screen.solo-launch{display:flex;align-items:center;justify-content:center}.solo-launch-text{font-family:Courier New,monospace;font-size:clamp(14px,3vw,22px);letter-spacing:6px;color:var(--color-bright-orange);text-shadow:0 0 16px var(--color-bright-orange);animation:campaign-blink 1.2s ease-in-out infinite}.lobby-screen.lobby2{justify-content:flex-start;align-items:stretch;gap:var(--sp-3);padding:var(--sp-3) var(--screen-pad-x) var(--sp-4)}.lobby-screen.lobby2:before{z-index:-1;animation:none;background:linear-gradient(180deg,#14001c8c,#14001c40 35% 70%,#14001c99),repeating-linear-gradient(0deg,rgba(255,94,220,.03) 0px,transparent 1px,transparent 2px,rgba(255,94,220,.03) 3px)}.lobby2-main{display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,320px);gap:var(--sp-4);align-items:start;flex:1}.lobby2-squad{min-width:0}.lobby2-slots{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sp-2)}.lobby2-slot{display:flex;align-items:center;gap:var(--sp-3);min-height:84px;padding:var(--sp-3) var(--sp-4);transition:border-color var(--dur) ease,box-shadow var(--dur) ease,opacity var(--dur) ease}.lobby2-slot.me{border-color:var(--color-info);box-shadow:0 0 16px #00e5ff4d,inset 0 0 24px #00e5ff0d}.lobby2-slot.empty{opacity:.8}.lobby2-slot-num{flex:none;width:22px;height:22px;display:flex;align-items:center;justify-content:center;border:1px solid var(--line-muted);font-size:var(--fs-label);font-weight:700;color:var(--text-secondary)}.lobby2-slot.me .lobby2-slot-num{border-color:var(--color-info);color:var(--color-info)}.lobby2-slot-avatar{flex:none;width:48px;height:48px;object-fit:cover;border:1px solid var(--color-electric-pink);box-shadow:0 0 8px #ff5edc80;image-rendering:pixelated}.lobby2-slot-avatar.placeholder{border:1px dashed var(--line-muted);box-shadow:none;background:repeating-linear-gradient(45deg,rgba(178,102,255,.1) 0 4px,transparent 4px 8px)}.lobby2-slot-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:7px}.lobby2-slot-name{display:flex;align-items:center;gap:var(--sp-2);flex-wrap:wrap;font-weight:700;font-size:var(--fs-body);line-height:1;letter-spacing:.1em;text-transform:uppercase}.lobby2-slot.empty .lobby2-slot-name{color:var(--text-secondary)}.lobby2-slot-status{display:flex;align-items:center;gap:var(--sp-2);font-size:var(--fs-label);letter-spacing:var(--ls-label);text-transform:uppercase;color:var(--text-secondary)}.lobby2-slot-status.ready{color:var(--color-success);text-shadow:0 0 6px rgba(0,255,179,.6)}.lobby2-slot-status.ready:before{content:"●";font-size:8px}.lobby2-side{display:flex;flex-direction:column;gap:var(--sp-3)}.lobby2-card>.ui-section-title{margin-bottom:var(--sp-1)}.ui-kv>b.lobby2-code{overflow:visible;color:var(--color-info);text-shadow:0 0 8px rgba(0,229,255,.6);font-size:var(--fs-body);letter-spacing:.2em}.lobby2-invite{margin-top:var(--sp-2);padding-top:var(--sp-2);border-top:1px solid var(--line);font-size:var(--fs-label);letter-spacing:.06em;line-height:1.55;color:var(--text-secondary)}.lobby2-invite b{color:var(--color-bright-orange)}.lobby2-brief{margin:0;padding-left:14px;font-size:var(--fs-label);letter-spacing:.04em;line-height:1.6;color:var(--text-secondary)}.lobby2-brief li::marker{color:var(--color-electric-pink)}.lobby2-actions{display:flex;flex-direction:column;align-items:center;gap:var(--sp-2);padding-top:var(--sp-2)}.lobby2-start{width:min(520px,100%)}.lobby2-hint{font-size:var(--fs-label);letter-spacing:var(--ls-label);color:var(--text-secondary);text-align:center}.lobby2-waiting{display:flex;align-items:center;justify-content:center;gap:var(--sp-2);width:min(520px,100%);min-height:52px;font-size:var(--fs-body);font-weight:700;letter-spacing:var(--ls-title);color:var(--color-bright-orange);border-color:var(--color-bright-orange)}@media (max-width: 760px){.lobby2-main,.lobby2-slots{grid-template-columns:1fr}}@media (max-height: 560px){.lobby2-brief li:nth-child(n+3){display:none}}@media (max-height: 430px){.lobby-screen.lobby2{padding-bottom:var(--sp-2);gap:var(--sp-2)}.lobby2-main{grid-template-columns:minmax(0,1fr) minmax(200px,250px);gap:var(--sp-3)}.lobby2-slot{min-height:46px;padding:var(--sp-1) var(--sp-2);gap:var(--sp-2)}.lobby2-slot-avatar{width:30px;height:30px}.lobby2-slot-body{gap:4px}.lobby2-side{gap:var(--sp-2)}.lobby2-invite,.lobby2-hint{display:none}.lobby2-actions{padding-top:0}.lobby2-waiting{min-height:42px}}.mech-profile{display:flex;flex-direction:column;gap:8px;min-width:0}.mech-profile-grid{display:grid;grid-template-columns:minmax(220px,1fr) auto minmax(220px,1fr);gap:clamp(8px,1.5vw,16px);align-items:start}.mech-profile.compact .mech-profile-grid{grid-template-columns:1fr 1fr;gap:8px}.mech-profile.compact .mech-profile-center{grid-column:1 / -1;order:-1}.mech-profile-left,.mech-profile-right{display:flex;flex-direction:column;gap:10px;min-width:0}.mech-profile-center{display:flex;flex-direction:column;align-items:center;gap:6px;min-width:160px}.mech-profile-stage{position:relative;padding:10px 18px 4px;background:radial-gradient(ellipse 60% 30% at 50% 100%,rgba(255,94,220,.35),transparent 70%),linear-gradient(0deg,rgba(255,94,220,.08) 1px,transparent 1px) 0 0 / 100% 12px,linear-gradient(90deg,rgba(255,94,220,.08) 1px,transparent 1px) 0 0 / 12px 100%,#1a002099;border:2px solid var(--border-secondary);box-shadow:inset 0 0 24px #b266ff33}.mech-profile-stage img{display:block;filter:drop-shadow(0 0 10px rgba(0,229,255,.45));animation:mech-hover 2.6s ease-in-out infinite}.mech-profile.boss .mech-profile-stage img{filter:drop-shadow(0 0 12px rgba(255,23,68,.6))}@keyframes mech-hover{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}.mech-profile-name{color:var(--color-bright-orange);font-weight:700;letter-spacing:3px;font-size:clamp(12px,1.6vw,15px);text-shadow:0 0 10px var(--color-bright-orange)}.mech-profile-hull{width:100%}.mech-profile-hull-label{display:flex;justify-content:space-between;font-size:10px;letter-spacing:2px;color:var(--color-electric-pink);margin-bottom:3px}.mech-profile-hull-bar{height:9px;background:#0009;border:1px solid var(--border-primary)}.mech-profile-hull-bar>div{height:100%;background:linear-gradient(90deg,var(--color-electric-pink),var(--color-bright-orange));box-shadow:0 0 8px var(--color-electric-pink);transition:width .5s ease-out}.mech-profile-hull.low .mech-profile-hull-bar>div{background:linear-gradient(90deg,var(--color-danger),var(--color-bright-orange))}.mech-profile-stats{display:flex;flex-wrap:wrap;justify-content:center;gap:4px 6px;font-size:10px;letter-spacing:1px;color:var(--text-secondary)}.mech-profile-stats span{padding:2px 7px;border:1px solid rgba(178,102,255,.4);background:#1a002099;color:var(--text-primary)}.mech-profile-stats .ok{color:var(--color-success);border-color:#00ffb380}.mech-profile-stats .warn{color:var(--color-warning);border-color:#ffd70099;text-shadow:0 0 6px var(--color-warning)}.mech-slot-group{display:flex;flex-direction:column;gap:4px}.mech-slot-group-title{font-size:10px;letter-spacing:2px;color:var(--color-electric-pink);text-shadow:0 0 6px var(--color-electric-pink);padding-bottom:3px;border-bottom:1px solid rgba(255,94,220,.3)}.mech-slot{display:flex;flex-direction:row;align-items:center;gap:8px;width:100%;min-height:36px;padding:4px 8px;box-sizing:border-box;background:#1a0020b3;border:2px solid rgba(178,102,255,.45);color:var(--text-primary);font-family:Courier New,monospace;text-align:left;cursor:pointer;transition:all .2s ease;box-shadow:inset 0 0 10px #b266ff1a}.mech-slot:disabled{cursor:default;opacity:.5;border-style:dashed}.mech-slot.filled{border-color:var(--border-primary)}.mech-slot.active{border-color:var(--color-bright-orange);box-shadow:var(--shadow-bright-orange)}.mech-slot.pickable{border-color:var(--color-warning);animation:glow-pulse 1.2s ease-in-out infinite}@media (hover: hover) and (pointer: fine){.mech-slot:not(:disabled):hover{border-color:var(--color-bright-orange);background:var(--bg-panel);transform:translate(2px)}}.mech-slot-name{flex:0 0 auto;width:68px;font-size:10px;letter-spacing:.5px;white-space:nowrap;color:var(--text-secondary)}.mech-slot-item{display:flex;align-items:center;gap:6px;min-width:0;flex:1;font-weight:700;font-size:12px;letter-spacing:.5px}.mech-slot-item-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mech-slot-empty{font-size:10px;letter-spacing:2px;color:var(--color-muted-purple);opacity:.7}.mech-pips{display:inline-flex;gap:2px}.mech-pips span{width:6px;height:6px;background:#ffffff1a;border:1px solid rgba(255,255,255,.2)}.mech-profile-detail{--card-color: var(--color-electric-pink);border:1px solid var(--card-color);border-left:4px solid var(--card-color);background:#1a0020b3;padding:8px 10px;display:flex;flex-direction:column;gap:4px;animation:campaign-card-in .26s ease both}.mech-profile-detail-head{display:flex;align-items:center;gap:10px;font-size:11px;letter-spacing:1px}.mech-profile-detail-close{margin-left:auto;background:transparent;border:1px solid var(--border-secondary);color:var(--text-secondary);font-family:Courier New,monospace;cursor:pointer;padding:1px 6px;min-width:28px;min-height:28px}.item-card{--card-color: var(--color-electric-pink);position:relative;display:flex;flex-direction:column;gap:7px;padding:10px 12px 12px;min-width:0;box-sizing:border-box;background:linear-gradient(180deg,#2c0038f0,#1e002af7);border:2px solid rgba(178,102,255,.5);border-top:4px solid var(--card-color);box-shadow:0 0 18px color-mix(in srgb,var(--card-color) 28%,transparent),inset 0 0 24px #ff5edc0f;animation:campaign-card-in .46s cubic-bezier(.22,1,.36,1) both;animation-delay:calc(var(--i, 0) * 70ms);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease,opacity .3s ease}.item-card.compact{padding:7px 9px;gap:5px}@media (hover: hover) and (pointer: fine){.item-card:not(.dim):hover{transform:translateY(-3px);border-color:var(--card-color);box-shadow:0 0 26px color-mix(in srgb,var(--card-color) 55%,transparent),inset 0 0 24px #ff5edc1a}}.item-card.dim{opacity:.5;filter:saturate(.4)}.item-card-head{display:flex;justify-content:space-between;align-items:center;gap:6px;font-size:10px;letter-spacing:2px}.item-card-rarity{font-weight:700;color:var(--card-color);text-shadow:0 0 8px var(--card-color)}.item-card-kind{display:inline-flex;align-items:center;gap:4px;padding:2px 7px;border:1px solid currentColor;font-weight:700;letter-spacing:1.5px;font-size:10px;white-space:nowrap;background:#1a002099;color:var(--text-secondary)}.item-card-kind-glyph{font-size:11px}.item-card-kind.kind-weapon{color:var(--color-bright-orange);text-shadow:0 0 6px var(--color-bright-orange)}.item-card-kind.kind-defense{color:var(--color-info);text-shadow:0 0 6px var(--color-info)}.item-card-kind.kind-perk{color:var(--color-soft-violet);text-shadow:0 0 6px var(--color-soft-violet)}.item-card-body{display:flex;gap:10px;align-items:center;min-height:36px}.item-card-text{min-width:0}.item-card-name{font-weight:700;font-size:clamp(13px,1.5vw,15px);letter-spacing:1px;color:var(--text-primary);line-height:1.2}.item-card-blurb{color:var(--text-secondary);font-style:italic;font-size:11px;line-height:1.35;margin-top:3px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.item-card-lines{display:flex;flex-direction:column;gap:3px;font-size:11px;letter-spacing:.5px;color:var(--text-primary);line-height:1.4}.item-card-lines div:before{content:"▸ ";color:var(--card-color)}.item-card-owned{font-size:10px;letter-spacing:1px;color:var(--color-warning);text-shadow:0 0 6px rgba(255,215,0,.6)}.item-card-foot{margin-top:auto;padding-top:8px;border-top:1px solid rgba(255,94,220,.2);display:flex;align-items:center;gap:10px}.item-card-foot .item-card-actions{flex:1 1 auto;margin-top:0}.item-card-actions{display:flex;flex-direction:column;gap:5px;margin-top:auto}.item-card-hint{font-size:10px;letter-spacing:1px;color:var(--text-secondary);text-align:center}.item-icon{flex-shrink:0}.item-icon-glyph{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;border:2px solid;font-size:18px;background:#1a0020b3}.item-card-badge{position:absolute;top:-10px;left:50%;transform:translate(-50%) rotate(-2deg);padding:2px 10px;font-size:10px;font-weight:700;letter-spacing:2px;background:var(--color-warning);color:var(--bg-dark);box-shadow:0 0 12px var(--color-warning);white-space:nowrap;z-index:1}.item-card-stamp{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) rotate(-14deg);padding:4px 18px;font-size:clamp(18px,2.4vw,26px);font-weight:700;letter-spacing:8px;color:var(--color-danger);border:3px solid var(--color-danger);text-shadow:0 0 10px rgba(255,23,68,.6);opacity:.85;pointer-events:none;z-index:2}.item-card-price{display:flex;flex-direction:column;align-items:flex-start;line-height:1.1;color:var(--color-success);font-weight:700;font-size:clamp(14px,1.7vw,17px);letter-spacing:1px;text-shadow:0 0 8px rgba(0,255,179,.5);white-space:nowrap}.item-card-price .was{color:var(--text-secondary);text-decoration:line-through;font-weight:400;font-size:10px;text-shadow:none}.item-card-price.short{color:var(--color-danger);text-shadow:none}.item-card-price.sold{color:var(--text-secondary);text-shadow:none}.item-meters{display:flex;flex-direction:column;gap:4px}.item-meter{display:grid;grid-template-columns:42px 1fr;align-items:center;gap:8px;font-size:10px;letter-spacing:1.5px;color:var(--text-secondary)}.item-meter-bar{display:block;height:8px;background:#00000080;border:1px solid rgba(255,94,220,.4);background-image:repeating-linear-gradient(90deg,transparent 0 calc(20% - 1px),rgba(255,94,220,.25) calc(20% - 1px) 20%)}.item-meter-bar>span{display:block;height:100%;background:linear-gradient(90deg,var(--card-color),var(--color-bright-orange));box-shadow:0 0 6px var(--card-color);transition:width .4s ease-out}.campaign-modal-backdrop{position:fixed;inset:0;z-index:400;display:flex;align-items:center;justify-content:center;background:#1a0020d1;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);padding:16px}.campaign-modal{width:min(520px,100%);max-height:calc(100vh - 24px);max-height:calc(100dvh - 24px);overflow-y:auto;background:var(--gradient-panel);border:3px solid var(--border-primary);box-shadow:var(--shadow-electric-pink-strong),inset 0 0 30px #ff5edc1a;padding:16px 20px;display:flex;flex-direction:column;gap:12px;font-family:Courier New,monospace;animation:campaign-card-in .26s ease both;scrollbar-width:thin;scrollbar-color:var(--color-electric-pink) transparent}.campaign-modal.loadout{width:min(920px,96vw)}.campaign-modal-head{display:flex;justify-content:space-between;align-items:center;gap:10px}.campaign-modal-title{color:var(--color-bright-orange);font-weight:700;letter-spacing:3px;font-size:clamp(14px,2vw,20px);text-shadow:0 0 14px var(--color-bright-orange)}.campaign-modal-sub{color:var(--text-secondary);font-size:11px;letter-spacing:1px;line-height:1.5}.campaign-modal-slots{display:flex;flex-direction:column;gap:6px}.campaign-modal-incoming{display:flex;align-items:center;gap:10px;padding:8px 10px;border:2px solid var(--card-color);border-left-width:6px;background:#1a0020b3;box-shadow:0 0 14px color-mix(in srgb,var(--card-color) 35%,transparent)}.campaign-modal-incoming-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px;font-size:10px;letter-spacing:2px}.campaign-modal-incoming-text b{font-size:14px;letter-spacing:1px;color:var(--text-primary)}.mech-slot.replace{border-color:var(--color-warning);min-height:42px}.mech-slot-scrap{flex:none;padding:2px 7px;border:1px solid var(--color-danger);color:var(--color-danger);font-size:10px;letter-spacing:2px;font-weight:700}@media (hover: hover) and (pointer: fine){.mech-slot.replace:not(:disabled):hover{border-color:var(--color-danger)}.mech-slot.replace:not(:disabled):hover .mech-slot-scrap{background:var(--color-danger);color:var(--bg-dark)}}.mech-slot.replace:disabled{border-color:var(--border-secondary)}@media (max-width: 760px){.mech-profile-grid,.mech-profile.compact .mech-profile-grid{grid-template-columns:1fr 1fr}.mech-profile-center{grid-column:1 / -1;order:-1}}@media (max-height: 520px){.mech-profile-stage{padding:6px 12px 2px}.mech-profile-stage img{height:130px!important}.mech-profile.compact .mech-profile-stage img{height:100px!important}}.cutscene-panel{max-height:calc(100vh - 40px);max-height:calc(100dvh - 40px);overflow-y:auto}@media (max-height: 430px){.campaign-modal{padding:8px 12px;gap:6px}.campaign-modal-sub{display:none}.campaign-modal-incoming{padding:4px 8px;gap:8px}.campaign-modal-incoming-text b{font-size:12px}.campaign-modal-slots{gap:4px}.mech-slot.replace{min-height:32px;padding:2px 8px}.campaign-modal-title{font-size:13px;letter-spacing:2px}.campaign-modal.loadout{width:min(980px,98vw)}.campaign-modal.loadout .mech-profile-grid,.campaign-modal.loadout .mech-profile.compact .mech-profile-grid{grid-template-columns:auto minmax(0,1fr) minmax(0,1fr);gap:8px;align-items:start}.campaign-modal.loadout .mech-profile-center{grid-column:auto;order:-1;min-width:150px;gap:3px}.campaign-modal.loadout .mech-profile-stage{padding:4px 10px 0}.campaign-modal.loadout .mech-profile-stage img{height:92px!important}.campaign-modal.loadout .mech-profile-name{font-size:11px;letter-spacing:2px}.campaign-modal.loadout .mech-profile-stats{display:none}.campaign-modal.loadout .mech-profile-left,.campaign-modal.loadout .mech-profile-right{gap:5px}.campaign-modal.loadout .mech-slot-group{gap:2px}.campaign-modal.loadout .mech-slot{min-height:28px;padding:2px 6px;gap:5px}.campaign-modal.loadout .mech-slot-name{width:64px;font-size:10px;letter-spacing:.5px}.campaign-modal.loadout .mech-slot-item{font-size:11px}.campaign-modal.loadout .mech-slot-item img{height:12px!important}.campaign-modal.loadout .mech-slot-item .item-icon-glyph{width:16px!important;height:16px!important;font-size:10px}.campaign-modal.loadout>.campaign-primary-btn{min-height:32px;padding:4px 10px;font-size:11px}.mech-profile-detail{display:none}.cutscene-panel{padding:8px 14px;gap:5px}.cutscene-mech img{height:96px!important}.cutscene-lines{font-size:10px}.cutscene-tap{display:none}.item-card{padding:6px 8px 8px;gap:5px}.item-card-head{font-size:10px;letter-spacing:1px}.item-card-kind{padding:1px 5px;letter-spacing:1px}.item-card-body{min-height:0;gap:6px}.item-card-name{font-size:12px;letter-spacing:.5px}.item-card-blurb{display:none}.item-card-lines{font-size:10px;gap:2px}.item-meter{grid-template-columns:34px 1fr;gap:6px;font-size:10px;letter-spacing:1px}.item-meter-bar{height:6px}.item-meters{gap:3px}.item-card-foot{padding-top:5px;gap:6px}.item-card-price{font-size:13px}.item-card .campaign-buy-btn{min-height:30px;padding:4px 6px;font-size:10px;letter-spacing:1px}.item-card-stamp{font-size:16px;letter-spacing:5px;padding:2px 12px}.campaign-boot-grid.count-5 .item-card-body{flex-direction:column;align-items:flex-start;gap:3px}.campaign-boot-grid.count-5 .item-icon{max-width:100%!important}}.pilot-badge{display:grid;grid-template-columns:auto 1fr auto;grid-template-areas:"level xp btn" "next next next";gap:var(--sp-2) var(--sp-3);align-items:center;margin:var(--sp-2) 0 0;padding:var(--sp-2) var(--sp-3);background:var(--surface-1);border:1px solid var(--color-info);box-shadow:var(--glow-cyan);font-family:var(--font-mono);text-align:left}.pilot-badge.loading{display:block;font-size:var(--fs-label);letter-spacing:var(--ls-label);color:var(--text-secondary)}.pilot-badge-level{grid-area:level;display:flex;flex-direction:column;font-size:var(--fs-label);letter-spacing:var(--ls-label);color:var(--text-secondary)}.pilot-badge-level b{font-size:var(--fs-title);letter-spacing:.1em;color:var(--color-info);text-shadow:0 0 10px var(--color-info)}.pilot-badge-xp{grid-area:xp;min-width:0}.pilot-badge-xp-bar{height:8px;background:#00000080;border:1px solid rgba(0,229,255,.5)}.pilot-badge-xp-bar span{display:block;height:100%;background:linear-gradient(90deg,#0097A7,var(--color-info));box-shadow:0 0 8px var(--color-info)}.pilot-badge-xp-text{margin-top:3px;font-size:var(--fs-label);letter-spacing:.08em;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pilot-badge-btn{grid-area:btn;min-height:32px;padding:0 var(--sp-3);background:var(--surface-1);border:2px solid var(--border-primary);color:var(--text-primary);font-family:var(--font-mono);font-weight:700;font-size:var(--fs-label);letter-spacing:var(--ls-title);cursor:pointer;box-shadow:var(--glow-soft)}.pilot-badge-next{grid-area:next;display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-1) var(--sp-2);font-size:var(--fs-label);letter-spacing:var(--ls-label);color:var(--text-secondary)}.pilot-badge-next>div{display:flex;flex-wrap:wrap;gap:var(--sp-1)}.pilot-badge-next em,.progress-next em{display:inline-flex;align-items:center;gap:4px;padding:1px 6px 1px 1px;border:1px solid var(--card-color);font-style:normal;font-size:var(--fs-label);letter-spacing:.04em;color:var(--text-primary)}.pilot-badge-next i,.progress-next i{font-style:normal;color:var(--color-success)}.campaign-modal.hangar{width:min(960px,96vw)}.hangar-hint{font-size:var(--fs-label);letter-spacing:var(--ls-label);color:var(--text-secondary);margin:var(--sp-1) 0 var(--sp-2)}.hangar-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--sp-4)}@media (max-width: 760px){.hangar-grid{grid-template-columns:1fr;gap:var(--sp-3)}}.hangar-col{display:flex;flex-direction:column;gap:var(--sp-1)}.hangar-col-title{display:flex;align-items:baseline;justify-content:space-between;padding-bottom:var(--sp-1);margin-bottom:var(--sp-1);font-size:var(--fs-label);font-weight:700;letter-spacing:var(--ls-label);text-transform:uppercase;border-bottom:1px solid currentColor;text-shadow:0 0 8px currentColor}.hangar-col-title.kind-weapon{color:var(--color-bright-orange)}.hangar-col-title.kind-defense{color:var(--color-info)}.hangar-col-title.kind-perk{color:var(--color-soft-violet)}.hangar-item{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:var(--sp-2);min-height:34px;padding:3px var(--sp-2) 3px 3px;border:1px solid var(--card-color);background:#00000059;font-size:calc(var(--fs-label) + 1px);letter-spacing:.04em;transition:background-color var(--dur) ease,box-shadow var(--dur) ease}@media (hover: hover) and (pointer: fine){.hangar-item:not(.locked):hover{background:#ff5edc14;box-shadow:0 0 10px #ff5edc33}}.hangar-item-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hangar-item-tag{font-size:var(--fs-label);letter-spacing:var(--ls-label);color:var(--card-color);white-space:nowrap;font-variant-numeric:tabular-nums}.hangar-item.locked{opacity:.5;filter:grayscale(.7);border-style:dashed}.hangar-item.locked .hangar-item-tag{color:var(--text-secondary)}@media (max-height: 430px){.hangar-item{min-height:30px}}.progress-panel{z-index:1;width:min(900px,100%);background:var(--surface-0);border:1px solid var(--line-strong);box-shadow:var(--glow-soft);font-family:var(--font-mono);text-align:left}.progress-panel-title{padding:var(--sp-1) var(--sp-3);font-size:var(--fs-label);letter-spacing:var(--ls-label);color:var(--color-electric-pink);text-shadow:0 0 8px var(--color-electric-pink);border-bottom:1px solid var(--line)}.progress-panel-body{display:grid;grid-template-columns:auto 1fr auto;grid-template-areas:"level xp actions" "stats stats actions" "next next actions";gap:var(--sp-2) var(--sp-3);align-items:center;padding:var(--sp-2) var(--sp-3) var(--sp-3)}.progress-level{grid-area:level;display:flex;flex-direction:column;font-size:var(--fs-label);letter-spacing:var(--ls-label);color:var(--text-secondary)}.progress-level b{font-size:22px;letter-spacing:.1em;color:var(--color-info);text-shadow:0 0 10px var(--color-info)}.progress-xp{grid-area:xp;min-width:0}.progress-xp-text{margin-top:3px;font-size:var(--fs-label);letter-spacing:.08em;color:var(--text-secondary)}.progress-stats{grid-area:stats;display:flex;flex-wrap:wrap;gap:var(--sp-2) var(--sp-4)}.progress-stats>div{display:flex;flex-direction:column;font-size:var(--fs-label);letter-spacing:var(--ls-label);color:var(--text-secondary)}.progress-stats b{font-size:14px;color:var(--text-primary);font-variant-numeric:tabular-nums}.progress-next{grid-area:next;display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-1) var(--sp-2);font-size:var(--fs-label);letter-spacing:var(--ls-label);color:var(--text-secondary)}.progress-next>div{display:flex;flex-wrap:wrap;gap:var(--sp-1)}.progress-actions{grid-area:actions;display:flex;flex-direction:column;gap:var(--sp-2)}@media (max-width: 640px){.progress-panel-body{grid-template-columns:auto 1fr;grid-template-areas:"level xp" "stats stats" "next next" "actions actions"}.progress-actions{flex-direction:row}.progress-actions .pilot-badge-btn{flex:1}}.progress-screen{background:radial-gradient(ellipse 70% 45% at 50% 0%,rgba(0,229,255,.12),transparent 70%),linear-gradient(180deg,#1a0020,#2a0035 55%,#1a0020)}.progress-hero{display:grid;grid-template-columns:auto minmax(0,1fr) minmax(220px,300px);gap:var(--sp-4) var(--sp-5);align-items:stretch}.progress-hero-level{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--sp-1);min-width:150px;padding:var(--sp-2) var(--sp-4);text-align:center;border:1px solid rgba(0,229,255,.4);background:#00e5ff0a}.progress-hero-level b{font-size:clamp(48px,7vw,72px);line-height:1;font-weight:700;color:var(--color-info);text-shadow:0 0 18px var(--color-info),0 0 44px rgba(0,229,255,.5)}.progress-hero-level i{font-style:normal;font-size:var(--fs-label);letter-spacing:.12em;color:var(--text-secondary)}.progress-hero-xp{display:flex;flex-direction:column;justify-content:center;gap:var(--sp-3);min-width:0}.progress-hero-xp-head{display:flex;justify-content:space-between;align-items:baseline;gap:var(--sp-3)}.progress-hero-xp-text{font-size:var(--fs-label);letter-spacing:.1em;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.progress-hero-xp-text b{color:var(--color-info)}.progress-hero-bar{height:12px}.progress-hero-stats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:var(--sp-2)}.progress-hero-next{display:flex;flex-direction:column;gap:var(--sp-2);padding-left:var(--sp-4);border-left:1px solid var(--line)}.progress-next-list{display:flex;flex-wrap:wrap;align-content:flex-start;gap:var(--sp-1);flex:1}.progress-next-list em{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 var(--sp-2) 0 3px;border:1px solid var(--card-color);background:#0000004d;font-style:normal;font-size:var(--fs-label);letter-spacing:.06em;color:var(--text-primary);white-space:nowrap}.progress-next-list i{font-style:normal;font-size:var(--fs-label);letter-spacing:var(--ls-label);color:var(--color-success)}.progress-next-list i.pending{color:var(--text-secondary);animation:ui-blink 1.6s ease-in-out infinite}.progress-scores-btn{margin-top:auto;align-self:stretch;color:var(--color-bright-orange)}.progress-hangar{display:flex;flex-direction:column}@media (max-width: 900px){.progress-hero{grid-template-columns:auto minmax(0,1fr)}.progress-hero-next{grid-column:1 / -1;padding-left:0;padding-top:var(--sp-3);border-left:0;border-top:1px solid var(--line)}.progress-scores-btn{align-self:flex-start;min-width:200px}}@media (max-width: 640px){.progress-hero{grid-template-columns:1fr}.progress-hero-level{flex-direction:row;justify-content:flex-start;gap:var(--sp-3);min-width:0}.progress-hero-level b{font-size:40px}.progress-hero-stats{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-height: 430px){.progress-hero{grid-template-columns:auto minmax(0,1fr);gap:var(--sp-2) var(--sp-3);padding:var(--sp-3)}.progress-hero-level{min-width:110px;padding:var(--sp-1) var(--sp-3)}.progress-hero-level b{font-size:40px}.progress-hero-xp{gap:var(--sp-2)}.progress-hero-bar{height:8px}.progress-hero-stats{gap:var(--sp-1)}.progress-hero-next{grid-column:1 / -1;flex-direction:row;align-items:center;flex-wrap:wrap;gap:var(--sp-2) var(--sp-3);padding:var(--sp-2) 0 0;border-left:0;border-top:1px solid var(--line)}.progress-next-list{flex:1}.progress-next-list em{height:24px}.progress-scores-btn{margin-top:0;align-self:auto}}.leaderboard-screen{align-items:stretch;background-position:center 30%}.lb-board{width:min(860px,100%);margin:0 auto;display:flex;flex-direction:column;gap:var(--sp-2);padding:var(--sp-3) var(--sp-4) var(--sp-4)}.lb-head,.lb-row{display:grid;grid-template-columns:40px minmax(0,1fr) 110px 70px 70px;gap:var(--sp-3);align-items:center}.lb-head{padding:0 var(--sp-3) var(--sp-2);font-size:var(--fs-label);letter-spacing:var(--ls-label);color:var(--color-electric-pink);text-shadow:0 0 8px rgba(255,94,220,.6);border-bottom:1px solid var(--line)}.lb-r{text-align:right}.lb-rows{display:flex;flex-direction:column;gap:var(--sp-1)}.lb-row{min-height:44px;padding:var(--sp-2) var(--sp-3);background:#ff5edc0a;border:1px solid var(--line);font-size:var(--fs-body);letter-spacing:.06em;transition:border-color var(--dur) ease,background-color var(--dur) ease,box-shadow var(--dur) ease}@media (hover: hover) and (pointer: fine){.lb-row:hover{background:#ff5edc14;border-color:var(--line-strong)}}.lb-rank{font-weight:700;font-size:var(--fs-title);line-height:1;color:var(--text-secondary);text-align:center}.lb-name{display:flex;align-items:center;gap:var(--sp-2);min-width:0;font-weight:700;text-transform:uppercase}.lb-name em{font-style:normal;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lb-score{font-weight:700;color:var(--color-bright-orange);text-shadow:0 0 8px rgba(255,153,51,.5)}.lb-floor{color:var(--text-primary)}.lb-result{font-size:var(--fs-label);font-weight:700;letter-spacing:var(--ls-label)}.lb-result.won{color:var(--color-success);text-shadow:0 0 8px rgba(0,255,179,.5)}.lb-result.fell{color:var(--text-secondary)}.lb-row.top-1{border-color:var(--color-bright-orange);background:linear-gradient(90deg,#ff99332e,#ff99330a);box-shadow:0 0 14px #f933}.lb-row.top-1 .lb-rank{color:var(--color-bright-orange);text-shadow:0 0 10px rgba(255,153,51,.8)}.lb-row.top-2{border-color:var(--color-electric-pink);background:linear-gradient(90deg,#ff5edc29,#ff5edc0a)}.lb-row.top-2 .lb-rank{color:var(--color-electric-pink);text-shadow:0 0 10px rgba(255,94,220,.8)}.lb-row.top-3{border-color:var(--color-soft-violet);background:linear-gradient(90deg,#b266ff29,#b266ff0a)}.lb-row.top-3 .lb-rank{color:var(--color-soft-violet);text-shadow:0 0 10px rgba(178,102,255,.8)}.lb-row.me{border-color:var(--color-info);box-shadow:0 0 14px #00e5ff40,inset 0 0 20px #00e5ff0d}.lb-empty{margin:var(--sp-2) 0}.lb-foot{padding-top:var(--sp-2);border-top:1px solid var(--line);text-align:center;font-size:var(--fs-label);letter-spacing:var(--ls-label);color:var(--text-secondary)}.lb-foot b{color:var(--color-info)}@media (max-width: 640px){.lb-head,.lb-row{grid-template-columns:32px minmax(0,1fr) 84px 48px}.lb-head>:last-child,.lb-row>.lb-result{display:none}.lb-board{padding:var(--sp-2) var(--sp-3) var(--sp-3)}}@media (max-height: 430px){.lb-board{padding:var(--sp-2) var(--sp-3) var(--sp-3);gap:var(--sp-1)}.lb-row{min-height:36px;padding:var(--sp-1) var(--sp-3)}.lb-head,.lb-row{grid-template-columns:32px minmax(0,1fr) 96px 56px 56px}}.leaderboard-container{max-width:600px;width:100%;padding:30px 20px;position:relative;z-index:1}.leaderboard-title{text-align:center;font-size:20px;margin:30px 0 20px;color:var(--color-electric-pink);letter-spacing:3px;font-weight:700;font-family:Courier New,monospace;text-transform:uppercase;line-height:1;text-shadow:0 0 10px var(--color-electric-pink)}.leaderboard-entries{display:flex;flex-direction:column}.leaderboard-entry{display:grid;grid-template-columns:120px 1fr 180px;gap:20px;padding:15px 25px;background:#ff5edc08;transition:all .2s ease;border:1px solid rgba(255,94,220,.2);margin-bottom:8px}.leaderboard-entry:hover{background:#ff5edc0f;border-color:var(--border-primary)}.leaderboard-entry.highlight,.leaderboard-entry.me{background:#00e5ff1f;border-color:var(--color-info)}.rank-col,.name-col,.level-col{display:flex;align-items:center;justify-content:center;font-size:16px;text-align:center}.rank-col{font-size:18px;font-weight:700}.level-col{color:var(--color-electric-pink);font-weight:700}.no-entries{text-align:center;padding:60px 20px;color:var(--text-secondary);font-size:16px}@media (max-width: 600px){.leaderboard-entry{grid-template-columns:60px 1fr 100px;gap:10px;padding:12px 15px;margin-bottom:6px}.rank-col{font-size:14px}.name-col,.level-col{font-size:13px}}.survival-victory-screen{position:fixed;top:0;left:0;width:100%;height:100vh;height:100dvh;display:block;font-family:Courier New,monospace;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch;z-index:9999}.victory-layout{position:relative;z-index:100;display:flex;flex-direction:column;align-items:center;gap:clamp(10px,2.5vh,30px);width:min(820px,94vw);min-height:100%;margin:0 auto;padding:clamp(10px,3vh,40px) 0 max(16px,env(safe-area-inset-bottom));box-sizing:border-box;justify-content:flex-start;justify-content:safe center}.mountain-background{position:absolute;top:0;left:0;width:100%;height:100%;background-size:cover;background-position:center;background-repeat:no-repeat;z-index:1}.mountain-background:after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg,rgba(0,0,0,.15) 0px,transparent 1px,transparent 2px,rgba(0,0,0,.15) 3px);pointer-events:none;animation:scan-lines 8s linear infinite}@keyframes scan-lines{0%{transform:translateY(0)}to{transform:translateY(4px)}}.death-modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#000000f2;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);display:flex;align-items:center;justify-content:center;z-index:200;opacity:0;transition:opacity .8s ease-in-out}.death-modal-overlay.visible{opacity:1}.death-modal-content{display:flex;flex-direction:column;align-items:center;gap:30px;max-width:800px;width:90%;padding:40px;animation:modalContentFadeIn 1s ease-out}@keyframes modalContentFadeIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.death-modal-avatar{animation:avatarPulse 2s ease-in-out infinite}@keyframes avatarPulse{0%,to{transform:scale(1);filter:drop-shadow(0 0 20px rgba(255,23,68,.6))}50%{transform:scale(1.05);filter:drop-shadow(0 0 40px rgba(255,23,68,.9))}}.death-modal-text{display:flex;flex-direction:column;gap:20px;width:100%;text-align:center}.death-modal-header{display:flex;flex-direction:column;gap:15px;align-items:center;padding-bottom:20px;border-bottom:2px solid;border-image:linear-gradient(90deg,transparent,var(--color-danger),transparent) 1}.death-modal-message{font-size:24px;line-height:1.8;color:var(--text-primary);letter-spacing:1.5px;font-style:italic;text-shadow:0 0 10px rgba(255,23,68,.5);min-height:80px}.dialogue-container{width:100%;min-height:150px}.dialogue-box{background:linear-gradient(180deg,#1a0020fa,#2a0035fa);border:4px solid var(--border-primary);box-shadow:var(--shadow-electric-pink-strong),inset 0 0 40px #ff5edc26;padding:25px 30px;position:relative;display:flex;gap:20px;align-items:flex-start;opacity:0;transform:translateY(-20px);transition:opacity .8s ease-out,transform .8s ease-out}.dialogue-box.visible{opacity:1;transform:translateY(0)}.dialogue-avatar{flex-shrink:0}.dialogue-enemy-avatar{width:100px;height:100px;border:3px solid var(--color-bright-orange);box-shadow:0 0 20px #f939;display:block;image-rendering:crisp-edges}.dialogue-text{flex:1;display:flex;flex-direction:column;gap:12px}.dialogue-text.full-width{width:100%}.dialogue-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px;padding-bottom:12px;border-bottom:2px solid;border-image:linear-gradient(90deg,transparent,var(--color-electric-pink),transparent) 1}.dialogue-boss-name{font-size:24px;font-weight:700;letter-spacing:3px;text-transform:uppercase;color:var(--color-bright-orange);text-shadow:0 0 15px var(--color-bright-orange)}.dialogue-status{font-size:12px;font-weight:700;letter-spacing:2px;padding:5px 12px;border:2px solid;text-shadow:0 0 8px currentColor}.dialogue-status.defeated{color:var(--color-danger);border-color:var(--color-danger);background:#ff174433;box-shadow:0 0 15px #ff174466}.dialogue-status.next{color:var(--color-bright-orange);border-color:var(--color-bright-orange);background:#f933;box-shadow:0 0 15px #f936;animation:status-pulse 1.5s ease-in-out infinite}.dialogue-status.complete{color:var(--color-success);border-color:var(--color-success);background:#00ffb333;box-shadow:0 0 15px #00ffb366}@keyframes status-pulse{0%,to{box-shadow:0 0 15px #f936}50%{box-shadow:0 0 25px #f93c}}.dialogue-content{font-size:18px;line-height:1.6;color:var(--text-primary);letter-spacing:1px;font-style:italic;text-shadow:0 0 5px rgba(255,94,220,.3)}.dialogue-box.trash-talk .dialogue-content{color:var(--text-glow);text-shadow:0 0 10px var(--color-bright-orange);font-size:20px;font-weight:700}.dialogue-box.victory-complete .dialogue-boss-name{color:var(--color-success);text-shadow:0 0 20px var(--color-success);font-size:32px}.dialogue-box.victory-complete .dialogue-content{color:var(--color-success);text-shadow:0 0 15px var(--color-success);font-size:20px;text-align:center}.level-progression{width:100%;display:flex;flex-direction:column;gap:clamp(10px,2vh,30px);pointer-events:none}.level-card{display:flex;align-items:center;gap:25px;padding:25px 35px;background:var(--gradient-panel);border:4px solid var(--border-primary);box-shadow:var(--shadow-electric-pink-strong);animation:fadeInScale .6s ease-out;width:100%;box-sizing:border-box}@keyframes fadeInScale{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.level-card-marker{width:80px;height:80px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:32px;font-weight:700;position:relative;overflow:hidden}.level-card-avatar{width:100%;height:100%;object-fit:cover;image-rendering:crisp-edges}.level-card-marker.defeated .level-card-avatar{filter:grayscale(60%) brightness(.7)}.defeated-label{color:red;font-size:.8em;font-weight:700;letter-spacing:2px;text-shadow:0 0 10px rgba(255,0,0,.8);margin-left:10px}.defeated-name{text-decoration:line-through;text-decoration-color:red;text-decoration-thickness:2px}.level-card-number-icon{font-size:32px;font-weight:700;letter-spacing:2px}.level-card-info{display:flex;flex-direction:column;gap:5px;flex:1}.level-card-number{font-size:20px;font-weight:700;letter-spacing:3px}.level-card-name{font-size:24px;font-weight:700;letter-spacing:2px}.level-card-difficulty{font-size:14px;letter-spacing:1px;font-style:italic;opacity:.9}.level-card.current-level{border-color:var(--color-success);box-shadow:0 0 30px #00ffb3cc,0 0 60px #00ffb366,inset 0 0 30px #00ffb31a;animation:current-throb 2s ease-in-out infinite}.level-card.current-level .level-card-marker{background:#00ffb34d;border:4px solid var(--color-success);color:var(--color-success);box-shadow:0 0 25px #00ffb399,inset 0 0 20px #00ffb333}.level-card.current-level .level-card-number{color:var(--color-success);text-shadow:0 0 15px var(--color-success)}.level-card.current-level .level-card-name{color:var(--color-success);text-shadow:0 0 20px var(--color-success)}.level-card.current-level .level-card-difficulty{color:var(--color-success)}@keyframes current-throb{0%,to{box-shadow:0 0 30px #00ffb3cc,0 0 60px #00ffb366,inset 0 0 30px #00ffb31a}50%{box-shadow:0 0 50px #00ffb3,0 0 100px #00ffb399,inset 0 0 40px #00ffb333}}.level-card.next-level{border-color:var(--color-bright-orange);box-shadow:0 0 25px #f939,inset 0 0 20px #ff99331a;animation-delay:.3s}.level-card.next-level .level-card-marker{background:#ff99334d;border:4px solid var(--color-bright-orange);color:var(--color-bright-orange);box-shadow:0 0 20px #ff993380,inset 0 0 15px #f933}.level-card.next-level .level-card-number{color:var(--color-bright-orange);text-shadow:0 0 10px var(--color-bright-orange)}.level-card.next-level .level-card-name{color:var(--color-bright-orange);text-shadow:0 0 15px var(--color-bright-orange)}.level-card.next-level .level-card-difficulty{color:var(--color-bright-orange)}.victory-actions{width:100%;display:flex;flex-direction:column;gap:clamp(10px,2vh,20px);pointer-events:all;animation:fadeInUp 1s ease-out .5s;animation-fill-mode:both}.ready-status{text-align:center;font-size:16px;font-weight:700;letter-spacing:2px;color:var(--color-bright-orange);text-shadow:0 0 15px var(--color-bright-orange);padding:12px 20px;background:var(--bg-panel);border:2px solid var(--color-bright-orange);box-shadow:0 0 20px #f936;animation:ready-pulse 2s ease-in-out infinite}@keyframes ready-pulse{0%,to{box-shadow:0 0 20px #f936}50%{box-shadow:0 0 30px #ff9933b3}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.victory-btn{display:flex;align-items:center;gap:20px;padding:20px 30px;background:var(--bg-panel);border:3px solid var(--border-primary);color:var(--text-primary);font-family:Courier New,monospace;cursor:pointer;transition:all .3s ease;box-shadow:var(--shadow-electric-pink);position:relative;overflow:hidden;width:100%;box-sizing:border-box}.victory-btn:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;background:#ff5edc33;border-radius:50%;transform:translate(-50%,-50%);transition:width .6s,height .6s}.victory-btn:hover:before{width:500%;height:500%}.victory-btn:hover{background:var(--gradient-button-hover);box-shadow:var(--shadow-combined),0 0 50px #ff99334d;transform:translateY(-3px) scale(1.02);border-color:var(--color-bright-orange)}.victory-btn-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;flex-shrink:0;color:var(--color-electric-pink);transition:all .3s ease;position:relative;z-index:1}.victory-btn:hover .victory-btn-icon{color:var(--text-glow);transform:scale(1.2)}.victory-btn-text{display:flex;flex-direction:column;gap:5px;text-align:left;position:relative;z-index:1}.btn-main-text{font-size:18px;font-weight:700;letter-spacing:2px;color:var(--text-primary);transition:all .3s ease}.victory-btn:hover .btn-main-text{color:var(--text-glow);text-shadow:0 0 15px var(--color-bright-orange)}.btn-sub-text{font-size:15px;letter-spacing:1px;color:#fff;font-style:italic;opacity:1;text-shadow:0 0 10px rgba(0,0,0,.9)}.primary-victory-btn{border-color:var(--color-bright-orange);box-shadow:0 0 25px #ff993380,0 0 50px #ff5edc4d}.primary-victory-btn:hover{box-shadow:0 0 40px #f93c,0 0 80px #ff5edc80,0 0 120px #ff5edc4d}.primary-victory-btn .victory-btn-icon{color:var(--color-bright-orange)}.victory-btn.ready-active{opacity:.7;cursor:not-allowed;border-color:var(--color-warning);box-shadow:0 0 20px #ffd70066}.victory-btn.ready-active:hover{transform:none;opacity:.7}.victory-btn.ready-active .btn-main-text{color:var(--color-warning);text-shadow:0 0 10px var(--color-warning)}.victory-btn.ready-active .btn-sub-text{color:var(--color-warning);opacity:.8}.secondary-victory-btn{opacity:.9}.secondary-victory-btn:hover{opacity:1}@media (max-width: 900px){.death-modal-content{padding:30px;gap:25px}.death-modal-message{font-size:20px;min-height:70px}.dialogue-enemy-avatar{width:80px;height:80px}.dialogue-boss-name{font-size:20px;letter-spacing:2px}.dialogue-status{font-size:11px;padding:4px 10px}.dialogue-content{font-size:16px}.dialogue-box.trash-talk .dialogue-content{font-size:18px}.dialogue-box.victory-complete .dialogue-boss-name{font-size:26px}.dialogue-box.victory-complete .dialogue-content{font-size:18px}.ready-status{font-size:14px;padding:10px 18px}.victory-btn{padding:15px 25px}.btn-main-text{font-size:16px}.level-card{padding:20px 28px;gap:20px}.level-card-marker{width:65px;height:65px}.level-card-number-icon{font-size:26px}.level-card-number{font-size:17px}.level-card-name{font-size:20px}.level-card-difficulty{font-size:12px}}@media (max-width: 600px){.death-modal-content{padding:25px 20px;gap:20px}.death-modal-message{font-size:18px;line-height:1.6;min-height:60px}.dialogue-box{padding:20px 22px;flex-direction:column;align-items:center}.dialogue-enemy-avatar{width:70px;height:70px}.dialogue-boss-name{font-size:18px;letter-spacing:2px}.dialogue-status{font-size:10px;padding:4px 8px}.dialogue-content{font-size:14px;line-height:1.5}.dialogue-box.trash-talk .dialogue-content{font-size:16px}.dialogue-box.victory-complete .dialogue-boss-name{font-size:22px}.dialogue-box.victory-complete .dialogue-content{font-size:16px}.ready-status{font-size:13px;padding:10px 15px;letter-spacing:1px}.victory-btn{padding:15px 20px;gap:15px}.btn-main-text{font-size:14px;letter-spacing:1px}.btn-sub-text{font-size:11px}.level-card{padding:18px 22px;gap:15px}.level-card-marker{width:55px;height:55px}.level-card-number-icon{font-size:22px}.level-card-number{font-size:15px}.level-card-name{font-size:18px}.level-card-difficulty{font-size:11px}}@media (max-height: 520px){.victory-layout{gap:8px;padding:8px 0 max(8px,env(safe-area-inset-bottom))}.dialogue-container{min-height:0}.dialogue-box{padding:8px 12px;gap:10px;align-items:center;border-width:2px}.dialogue-enemy-avatar{width:44px;height:44px;border-width:2px}.dialogue-header{margin-bottom:4px;padding-bottom:4px}.dialogue-boss-name{font-size:13px;letter-spacing:2px}.dialogue-status{font-size:9px;padding:2px 6px}.dialogue-content,.dialogue-box.trash-talk .dialogue-content,.dialogue-box.victory-complete .dialogue-content{font-size:11px;line-height:1.3}.dialogue-box.victory-complete .dialogue-boss-name{font-size:16px}.level-progression{flex-direction:row;gap:8px}.level-card{padding:8px 12px;gap:10px;border-width:2px}.level-card-marker{width:40px;height:40px;border-width:2px!important}.level-card-number{font-size:11px;letter-spacing:1px}.level-card-name{font-size:13px;letter-spacing:1px}.level-card-difficulty{font-size:9px}.defeated-label{font-size:.75em;margin-left:6px}.victory-actions{flex-direction:row;gap:8px}.ready-status{width:100%;font-size:11px;padding:6px 10px}.victory-btn{padding:8px 12px;gap:10px;border-width:2px}.victory-btn-icon{width:24px;height:24px}.btn-main-text{font-size:11px;letter-spacing:1px}.btn-sub-text{font-size:9px}.death-modal-content{flex-direction:row;gap:14px;padding:12px}.death-modal-message{font-size:13px;line-height:1.4;min-height:0}.death-modal-header{gap:6px;padding-bottom:6px}}.leave-game-modal-overlay{position:fixed;inset:0;background:#1a0020d9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:9999;animation:fadeIn .3s ease-out}.leave-game-modal{background:linear-gradient(135deg,#2a0035,#400060);border:3px solid #FF5EDC;border-radius:12px;padding:40px;min-width:450px;max-width:550px;box-shadow:0 0 30px #ff5edc99,0 0 60px #ff5edc4d,0 8px 32px #0009;animation:modalSlideIn .4s cubic-bezier(.34,1.56,.64,1);font-family:Courier New,monospace}.leave-game-modal-header{color:#f93;font-size:28px;letter-spacing:4px;text-align:center;margin-bottom:30px;text-shadow:0 0 20px #FF9933,0 0 40px #FF5EDC;animation:headerGlow 2s ease-in-out infinite}.leave-game-modal-body{text-align:center}.leave-game-message{color:#fff7e6;font-size:20px;letter-spacing:2px;margin-bottom:15px;text-shadow:0 0 10px rgba(255,247,230,.3)}.leave-game-warning{color:gold;font-size:14px;letter-spacing:2px;margin-bottom:35px;text-transform:uppercase;text-shadow:0 0 10px rgba(255,215,0,.5)}.leave-game-modal-buttons{display:flex;gap:20px;justify-content:center;margin-top:30px}.leave-game-modal-btn{padding:14px 30px;font-family:Courier New,monospace;font-size:16px;font-weight:700;letter-spacing:2px;border:3px solid;cursor:pointer;transition:all .3s ease;text-transform:uppercase;min-width:150px}.confirm-btn{background:#ff174433;border-color:#ff1744;color:#ff1744;box-shadow:0 0 15px #ff17444d}.confirm-btn:hover{background:linear-gradient(90deg,#ff1744,#ff5edc);border-color:#ff5edc;color:#fff;box-shadow:0 0 25px #ff174480,0 0 50px #ff5edc4d;transform:scale(1.05)}.cancel-btn{background:#00ffb333;border-color:#00ffb3;color:#00ffb3;box-shadow:0 0 15px #00ffb34d}.cancel-btn:hover{background:linear-gradient(90deg,#00ffb3,#ff5edc);border-color:#ff5edc;color:#fff;box-shadow:0 0 25px #00ffb380,0 0 50px #ff5edc4d;transform:scale(1.05)}@media (max-width: 600px){.leave-game-modal{min-width:320px;padding:25px}.leave-game-modal-header{font-size:22px;letter-spacing:3px}.leave-game-message{font-size:18px}.leave-game-warning{font-size:12px}.leave-game-modal-buttons{flex-direction:column;gap:15px}.leave-game-modal-btn{width:100%;min-width:auto}}:root{--hud-bg: rgba(26, 0, 32, .74);--hud-border: rgba(255, 94, 220, .7);--hud-border-dim: rgba(255, 94, 220, .35);--hud-glow: 0 0 12px rgba(255, 94, 220, .16), inset 0 0 14px rgba(255, 94, 220, .07);--hud-track: rgba(59, 44, 82, .85);--hud-ghost: rgba(255, 247, 230, .5)}.ui-overlay{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;font-family:Courier New,monospace;color:var(--color-electric-pink);overflow:visible}.game-logo{position:absolute;top:20px;left:20px;z-index:102;pointer-events:none;max-width:200px;filter:drop-shadow(0 0 10px rgba(255,94,220,.5))}.game-logo img{width:100%;height:auto;display:block}.survival-actions-panel .game-logo{position:static;transform:none;margin:0 auto 15px;left:auto;max-width:250px}.round-indicator-combined{position:absolute;top:calc(8px + var(--safe-top));right:calc(56px + var(--safe-right));z-index:101;pointer-events:none;height:40px;box-sizing:border-box;padding:0 14px;font-size:13px;font-weight:700;letter-spacing:2px;background:var(--hud-bg);border:1px solid var(--hud-border);box-shadow:var(--hud-glow);color:var(--text-primary);display:flex;align-items:center;gap:10px;white-space:nowrap}@media (max-width: 768px){.round-indicator-combined{font-size:12px;padding:0 10px;gap:8px;letter-spacing:1.5px}}.round-text{color:var(--color-electric-pink)}.round-separator{color:var(--color-electric-pink);opacity:.4;font-weight:400}.round-timer{color:var(--text-primary);font-variant-numeric:tabular-nums}.ready-status-planning{display:flex;align-items:center;justify-content:center;gap:10px;padding:10px 15px;background:#000000d9;border:2px solid var(--border-primary);box-shadow:var(--shadow-electric-pink);pointer-events:auto;min-width:250px;max-width:300px;margin-left:auto}.ready-count-text{font-size:18px;font-weight:700;letter-spacing:2px;color:var(--color-electric-pink);text-shadow:0 0 8px rgba(255,94,220,.5)}.ready-btn-compact{padding:8px 20px;font-size:16px;font-weight:700;letter-spacing:2px;background:var(--gradient-panel);color:#fff;border:2px solid var(--border-primary);cursor:pointer;transition:all .3s ease;text-shadow:var(--shadow-electric-pink);box-shadow:var(--shadow-electric-pink);font-family:Courier New,monospace}.ready-btn-compact:hover:not(:disabled){background:var(--gradient-button-hover);border-color:var(--border-primary);box-shadow:var(--shadow-combined);transform:scale(1.05)}.ready-btn-compact:disabled{opacity:.5;cursor:not-allowed}.ready-btn-compact.ready-active{background:var(--gradient-button-hover);border-color:var(--border-primary);box-shadow:var(--shadow-combined);animation:pulse-glow 1.5s ease-in-out infinite}.survival-level-indicator{position:absolute;top:100px;left:20px;z-index:101;pointer-events:none;font-size:20px;font-weight:700;letter-spacing:2px;padding:8px 20px;background:#000000d9;border:2px solid #ffd93d;color:#ffd93d;text-shadow:0 0 10px rgba(255,217,61,.6);box-shadow:0 0 15px #ffd93d4d;width:200px;box-sizing:border-box;text-align:center}.players-income-container{position:absolute;top:75px;left:20px;z-index:101;pointer-events:none;display:flex;flex-direction:column;gap:4px;max-width:300px}.players-income-container.with-survival-level{top:120px}.player-income{display:flex;flex-direction:column;align-items:center;gap:8px;font-size:13px;font-weight:700;letter-spacing:1px;padding:15px;background:#000000d9;border:3px solid var(--border-primary);color:var(--color-electric-pink);text-shadow:0 0 8px rgba(255,94,220,.5);box-shadow:0 0 15px #ff5edc66;border-radius:8px;transition:all .2s}.player-income:hover{background:var(--bg-panel);box-shadow:0 0 25px #ff5edc99;transform:translateY(-2px)}.player-income.enemy-player{border-color:#f44;color:#f44;text-shadow:0 0 8px rgba(255,68,68,.5);box-shadow:0 0 15px #f446}.player-income.enemy-player:hover{box-shadow:0 0 25px #f449}.player-income.my-player{border-width:3px;background:var(--bg-panel);box-shadow:0 0 20px #ff5edc99}.player-income.enemy-player.my-player{background:#6400004d;box-shadow:0 0 20px #f449}.player-income-name{font-size:18px;font-weight:700;letter-spacing:2px;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;text-shadow:0 0 10px currentColor}.player-income-value{font-size:16px;font-weight:700;white-space:nowrap;color:#fff;text-shadow:0 0 10px rgba(255,255,255,.6)}.planning-timer-center{position:absolute;top:60px;left:50%;transform:translate(-50%);z-index:101;font-size:28px;font-weight:700;letter-spacing:4px;padding:10px 20px;background:#000c;border:2px solid var(--border-primary);color:var(--color-electric-pink);text-shadow:var(--shadow-electric-pink);box-shadow:var(--shadow-electric-pink);pointer-events:none;min-width:80px;text-align:center}.ready-status-top-right{position:absolute;top:60px;right:20px;z-index:101;display:flex;align-items:center;gap:10px;padding:10px 15px;background:#000000d9;border:2px solid var(--border-primary);box-shadow:var(--shadow-electric-pink);pointer-events:all}.boss-hp-container{position:absolute;top:20px;left:50%;transform:translate(-50%);text-align:center;z-index:100;pointer-events:none}@media (max-width: 768px){.boss-hp-container{top:55px;left:0;right:0;transform:none;width:100%;padding:0 10px;box-sizing:border-box}}.boss-header{display:flex;align-items:center;gap:12px;justify-content:flex-start;margin-bottom:10px;width:500px;margin-left:auto;margin-right:auto}@media (max-width: 768px){.boss-header{width:100%;max-width:100%;gap:8px;margin-bottom:8px}}.boss-avatar{width:60px;height:60px;border:2px solid var(--color-bright-orange);box-shadow:0 0 15px #f939;display:block;image-rendering:crisp-edges}@media (max-width: 768px){.boss-avatar{width:40px;height:40px}}.boss-name-wrapper{display:flex;flex-direction:column;align-items:flex-start;gap:2px}.boss-name{font-size:24px;font-weight:700;letter-spacing:3px;text-shadow:0 0 10px rgba(255,0,0,.8);color:#f33;text-transform:uppercase}.boss-level-label{font-size:12px;font-weight:700;letter-spacing:2px;color:var(--color-bright-orange);text-transform:uppercase;text-shadow:0 0 5px rgba(255,153,51,.5)}.boss-hp-container .boss-name:not(.boss-name-wrapper .boss-name){margin-bottom:10px}@media (max-width: 768px){.boss-name{font-size:16px;letter-spacing:2px}.boss-level-label{font-size:10px;letter-spacing:1px}.boss-hp-container .boss-name:not(.boss-name-wrapper .boss-name){margin-bottom:8px;font-size:14px}}.boss-hp-bar-background{width:500px;height:30px;background:#000c;border:3px solid #ff3333;box-shadow:0 0 20px #ff000080,inset 0 0 10px #000c;position:relative;overflow:hidden;margin:0 auto}@media (max-width: 768px){.boss-hp-bar-background{width:100%;max-width:100%;height:25px}}.boss-hp-bar-fill{height:100%;background:linear-gradient(90deg,red,#f66,red);transition:width .5s ease-out;position:relative;box-shadow:0 0 15px #f00c}.boss-hp-bar-shine{position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.3) 50%,transparent 100%);animation:shine 2s infinite}@keyframes shine{0%{left:-100%}to{left:200%}}.boss-hp-text{margin-top:5px;font-size:16px;font-weight:700;letter-spacing:2px;color:#f33;text-shadow:0 0 5px rgba(255,0,0,.5)}@media (max-width: 768px){.boss-hp-text{font-size:12px;margin-top:4px;letter-spacing:1px}}.waiting-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;background:#000c;pointer-events:all}.waiting-screen h1{font-size:36px;letter-spacing:5px;margin:0;text-shadow:var(--shadow-electric-pink)}.room-code{font-size:48px;margin:30px 0 10px;padding:20px 40px;background:#000;border:3px solid var(--border-primary);letter-spacing:8px}.hint{font-size:14px;color:#888;margin:0}.scanning{width:200px;height:4px;background:var(--bg-dark);margin-top:40px;position:relative;overflow:hidden}.scan-line{width:50px;height:100%;background:var(--color-electric-pink);animation:scan 2s linear infinite;box-shadow:var(--shadow-electric-pink)}@keyframes scan{0%{transform:translate(-50px)}to{transform:translate(200px)}}.countdown-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;background:radial-gradient(circle,#001428f2,#000000fa);pointer-events:all}.countdown-screen h1{font-size:32px;letter-spacing:8px;margin:0 0 50px;text-transform:uppercase;color:var(--color-success);text-shadow:0 0 20px rgba(0,255,179,.5);animation:fadeInDown .5s ease-out;text-align:center}.countdown-number{font-size:200px;font-weight:700;color:#fff;text-shadow:0 0 30px rgba(255,255,255,.8),0 0 60px rgba(0,255,179,.6),0 0 90px rgba(0,255,179,.4);animation:countdownPulse 1s ease-in-out}@keyframes countdownPulse{0%{transform:scale(.3) rotate(-10deg);opacity:0}50%{transform:scale(1.3) rotate(5deg);opacity:1}70%{transform:scale(.95) rotate(-2deg)}to{transform:scale(1) rotate(0);opacity:1}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}.game-over-screen{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;justify-content:safe center;height:100%;box-sizing:border-box;background:#000000f2;background-size:cover;background-position:center;background-repeat:no-repeat;pointer-events:all;z-index:1000;overflow-y:auto;-webkit-overflow-scrolling:touch;touch-action:pan-y;padding:20px 20px 40px;position:relative}.game-over-screen::-webkit-scrollbar{width:12px}.game-over-screen::-webkit-scrollbar-track{background:#0000004d;border-left:1px solid var(--border-primary)}.game-over-screen::-webkit-scrollbar-thumb{background:var(--color-electric-pink);border-radius:0;border:1px solid var(--border-primary)}.game-over-screen::-webkit-scrollbar-thumb:hover{background:var(--color-bright-orange)}.game-over-screen h1{font-size:72px;letter-spacing:10px;margin:0 0 20px;-webkit-text-stroke:8px #000000;paint-order:stroke fill;text-shadow:0 0 20px rgba(255,94,220,1),0 0 40px rgba(255,94,220,.8)}.game-over-subtitle{font-size:32px;font-weight:700;color:#fff;margin:20px 0 40px;letter-spacing:2px;line-height:1.6;-webkit-text-stroke:8px #000000;paint-order:stroke fill;text-shadow:0 0 15px rgba(255,94,220,1),0 0 30px rgba(255,94,220,.8);text-align:center}.reset-btn{background:#000;border:3px solid var(--border-primary);color:var(--color-electric-pink);padding:20px 60px;font-family:Courier New,monospace;font-size:18px;font-weight:700;letter-spacing:3px;cursor:pointer;transition:all .3s;pointer-events:all;margin-bottom:15px}.reset-btn:hover{background:var(--gradient-button-hover);color:var(--text-primary);box-shadow:var(--shadow-electric-pink);transform:scale(1.05)}.survival-defeat-container{display:flex;flex-direction:column;gap:20px;width:100%;max-width:min(800px,95vw);align-items:center;justify-content:center;margin-top:20px}.survival-actions-panel{display:flex;flex-direction:row;gap:15px;width:100%;background:#2a003599;border:2px solid var(--border-primary);padding:20px;border-radius:8px;box-shadow:0 0 20px #ff5edc4d;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);justify-content:space-around}.survival-rank{background:var(--bg-panel);border:2px solid var(--color-electric-pink);padding:15px;border-radius:8px;text-align:center;box-shadow:0 0 15px #ff5edc66}.rank-label{font-size:14px;color:#fff;letter-spacing:2px;margin-bottom:8px;text-shadow:0 0 8px rgba(255,255,255,.6)}.rank-value{font-size:32px;font-weight:700;color:var(--color-electric-pink);letter-spacing:2px;text-shadow:0 0 15px rgba(255,94,220,.8)}.survival-action-btn{display:flex;flex-direction:column;align-items:center;gap:8px;padding:15px;font-family:Courier New,monospace;background:var(--bg-panel);border:3px solid var(--border-primary);color:#fff;cursor:pointer;text-transform:uppercase;letter-spacing:2px;transition:all .2s;box-shadow:var(--shadow-electric-pink);pointer-events:all;border-radius:8px;position:relative}.survival-action-btn .action-btn-icon{display:flex;align-items:center;justify-content:center;filter:drop-shadow(0 0 8px rgba(255,94,220,.8))}.survival-action-btn .action-btn-icon svg{width:32px;height:32px}.survival-action-btn .action-btn-text{font-size:16px;font-weight:700;letter-spacing:2px;color:#fff;text-shadow:0 0 10px rgba(255,255,255,.5)}.survival-action-btn:hover{background:var(--gradient-button-hover);border-color:var(--color-success);box-shadow:var(--shadow-combined);transform:translateY(-2px)}.try-again-btn{border-color:var(--color-success);box-shadow:0 0 15px #00ffb366}.try-again-btn:hover{border-color:var(--color-success);box-shadow:0 0 25px #00ffb399}.menu-btn{border-color:var(--color-warning);box-shadow:0 0 15px #ffd70066}.menu-btn:hover{border-color:var(--color-bright-orange);box-shadow:0 0 25px #ff8c0099}.leaderboard-container{width:100%;max-width:700px;flex:1;background:#000000e6;border:3px solid var(--border-primary);padding:0;box-shadow:var(--shadow-combined)}.leaderboard-title{font-size:28px;letter-spacing:5px;margin:0;padding:20px;text-align:center;color:var(--color-electric-pink);background:#ff5edc1a;border-bottom:2px solid var(--border-primary);text-shadow:var(--shadow-electric-pink)}.leaderboard-entries{display:flex;flex-direction:column;gap:0;padding:15px}.leaderboard-entry{display:flex;justify-content:space-between;align-items:center;padding:12px 15px;background:#0009;border-left:3px solid var(--border-primary);border-bottom:1px solid rgba(255,94,220,.3);transition:all .2s;position:relative}.leaderboard-entry:before{content:"";position:absolute;left:0;top:0;bottom:0;width:0;background:#ff5edc1a;transition:width .3s}.leaderboard-entry:hover:before{width:100%}.leaderboard-entry:hover{background:#ff5edc26;border-left-color:var(--border-primary);border-left-width:5px;box-shadow:inset 0 0 20px #ff5edc33}.leaderboard-entry.highlight{background:#ff5edc33;border-left:5px solid var(--border-primary);border-bottom:1px solid rgba(255,94,220,.6);box-shadow:inset 0 0 25px #ff5edc4d,0 0 25px #ff5edc80;animation:highlightPulse 2s infinite}@keyframes highlightPulse{0%,to{box-shadow:inset 0 0 25px #ff5edc4d,0 0 25px #ff5edc80}50%{box-shadow:inset 0 0 35px #ff5edc66,0 0 35px #ff5edcb3}}.entry-rank{font-size:20px;font-weight:700;color:var(--color-electric-pink);min-width:60px;letter-spacing:2px;text-shadow:0 0 8px rgba(255,94,220,.6);z-index:1}.entry-name{font-size:18px;flex:1;text-align:left;margin:0 30px;letter-spacing:2px;font-weight:700;color:var(--color-electric-pink);text-shadow:0 0 8px rgba(255,94,220,.6);z-index:1}.leaderboard-entry.highlight .entry-name{color:var(--color-electric-pink);text-shadow:0 0 12px rgba(255,94,220,1);font-size:19px}.entry-level{font-size:18px;font-weight:700;color:var(--color-electric-pink);letter-spacing:2px;padding:5px 15px;background:#ff5edc1a;border:1px solid var(--border-primary);text-shadow:0 0 8px rgba(255,94,220,.6);z-index:1}.leaderboard-entry.highlight .entry-level{color:var(--color-electric-pink);border-color:var(--border-primary);border-width:2px;background:#ff5edc33;text-shadow:0 0 12px rgba(255,94,220,1)}.loading-leaderboard{font-size:20px;color:var(--color-electric-pink);margin:40px 0;letter-spacing:3px;text-shadow:var(--shadow-electric-pink);animation:terminalPulse 1.5s infinite}@keyframes terminalPulse{0%,to{opacity:.6;text-shadow:0 0 5px rgba(255,94,220,.4)}50%{opacity:1;text-shadow:0 0 15px rgba(255,94,220,.8)}}@media (max-width: 768px){.survival-defeat-container{max-width:100%;padding:0 10px;gap:15px}.game-over-screen h1{font-size:36px;margin-top:20px}.game-over-subtitle{font-size:14px;margin-bottom:15px}.survival-actions-panel{flex-direction:column;padding:15px;gap:12px}.survival-rank{padding:12px}.rank-label{font-size:12px;letter-spacing:1.5px;margin-bottom:6px}.rank-value{font-size:24px}.survival-action-btn{padding:12px}.survival-action-btn .action-btn-icon svg{width:28px;height:28px}.survival-action-btn .action-btn-text{font-size:14px;letter-spacing:1.5px}.leaderboard-container{width:100%}.leaderboard-title{font-size:18px;letter-spacing:3px;padding:15px}.leaderboard-entries{padding:10px}.leaderboard-entry{padding:10px 12px;flex-wrap:wrap}.entry-rank{font-size:16px;min-width:50px}.entry-name{font-size:14px;margin:0 15px}.entry-level{font-size:14px;padding:4px 12px}}@media (max-width: 480px){.game-over-screen h1{font-size:28px}.game-over-subtitle{font-size:12px}.survival-actions-panel{padding:12px}.rank-value{font-size:20px}.survival-action-btn .action-btn-text{font-size:12px}.leaderboard-title{font-size:16px;letter-spacing:2px}.entry-rank{font-size:14px;min-width:45px}.entry-name{font-size:12px;margin:0 10px}.entry-level{font-size:12px;padding:3px 10px}.round-indicator-combined{font-size:20px;padding:8px 15px;gap:10px}.ready-status-planning{padding:8px 12px;gap:8px}.ready-count-text{font-size:16px}.ready-btn-compact{font-size:14px;padding:6px 16px}.survival-level-indicator{top:70px;font-size:16px;width:150px}}@media (max-width: 480px){.game-logo{max-width:120px}.round-indicator-combined{font-size:16px;padding:6px 12px;gap:8px;letter-spacing:2px}.ready-status-planning{padding:6px 10px;gap:6px}.ready-count-text{font-size:14px}.ready-btn-compact{font-size:12px;padding:5px 12px}.survival-level-indicator{top:60px;font-size:14px;padding:6px 15px;width:120px}.game-over-screen{padding:20px 20px 40px}.game-over-screen h1{font-size:48px;letter-spacing:6px}.survival-actions-panel .game-logo{max-width:180px;margin:0 auto 12px}}.hud-top{position:absolute;top:20px;left:20px;pointer-events:all;display:flex;flex-direction:column;gap:15px;z-index:200}.player-stats{background:#000;border:2px solid var(--border-primary);padding:15px 20px;display:flex;gap:30px}.unit-stats-panel{background:#000;border:3px solid var(--border-primary);padding:15px;min-width:280px}.unit-stats-panel h3{margin:0 0 12px;font-size:14px;letter-spacing:2px;text-align:center;border-bottom:1px solid var(--border-primary);padding-bottom:8px}.stat-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;gap:10px}.stat-info{display:flex;gap:8px;align-items:baseline}.stat-name{font-size:12px;color:#888;letter-spacing:1px}.stat-current{font-size:16px;font-weight:700;letter-spacing:1px;color:var(--color-electric-pink)}.upgrade-btn-inline{background:#000;border:2px solid var(--border-primary);color:var(--color-electric-pink);padding:6px 12px;cursor:pointer;font-family:Courier New,monospace;font-size:11px;transition:all .2s;white-space:nowrap}.upgrade-btn-inline:hover:not(:disabled){background:var(--gradient-button-hover);color:var(--text-primary);box-shadow:var(--shadow-electric-pink)}.upgrade-btn-inline:disabled{opacity:.3;cursor:not-allowed}.stat{display:flex;flex-direction:column;gap:5px}.stat-label{font-size:10px;color:#888;letter-spacing:1px}.stat-value{font-size:18px;letter-spacing:2px}.my-base-hp-container{position:absolute;bottom:120px;left:50%;transform:translate(-50%);text-align:center;z-index:100;pointer-events:none}.my-base-name{font-size:20px;font-weight:700;letter-spacing:3px;margin-bottom:8px;text-shadow:var(--shadow-electric-pink);color:var(--color-electric-pink)}.my-base-hp-bar-background{width:400px;height:25px;background:#000c;border:3px solid var(--border-primary);box-shadow:var(--shadow-electric-pink);position:relative;overflow:hidden}.my-base-hp-bar-fill{height:100%;background:linear-gradient(90deg,var(--color-electric-pink) 0%,var(--color-soft-violet) 50%,var(--color-electric-pink) 100%);transition:width .5s ease-out;position:relative;box-shadow:var(--shadow-electric-pink)}.my-base-hp-bar-shine{position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.3) 50%,transparent 100%);animation:shine 2s infinite}.my-base-hp-text{margin-top:5px;font-size:14px;font-weight:700;letter-spacing:2px;color:var(--color-electric-pink);text-shadow:0 0 5px rgba(255,94,220,.5)}.production-panel{background:#000;border:3px solid var(--border-primary);padding:15px;min-width:280px}.production-panel h3{margin:0 0 12px;font-size:14px;letter-spacing:2px;text-align:center;border-bottom:1px solid var(--border-primary);padding-bottom:8px}.control-btn{width:100%;background:#000;border:2px solid var(--border-primary);color:var(--color-electric-pink);padding:15px;margin-bottom:10px;cursor:pointer;font-family:Courier New,monospace;font-size:14px;transition:all .2s}.control-btn:hover:not(:disabled){background:var(--gradient-button-hover);color:var(--text-primary);box-shadow:var(--shadow-electric-pink)}.control-btn:disabled{opacity:.3;cursor:not-allowed}.btn-label{font-weight:700;letter-spacing:2px;margin-bottom:5px}.btn-cost{font-size:12px;color:#888}.control-btn:hover:not(:disabled) .btn-cost{color:#000}.upgrade-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.upgrade-btn{background:#000;border:2px solid var(--border-primary);color:var(--color-electric-pink);padding:10px;cursor:pointer;font-family:Courier New,monospace;font-size:12px;transition:all .2s;display:flex;flex-direction:column;align-items:center;gap:5px}.upgrade-btn:hover:not(:disabled){background:var(--gradient-button-hover);color:var(--text-primary);box-shadow:var(--shadow-electric-pink)}.upgrade-btn:disabled{opacity:.3;cursor:not-allowed}.upgrade-name{font-weight:700;letter-spacing:1px}.upgrade-level{font-size:10px;color:#888}.upgrade-btn:hover:not(:disabled) .upgrade-level,.upgrade-btn:hover:not(:disabled) .upgrade-cost{color:#000}.upgrade-cost{font-size:10px;color:#888}.debug-panel{position:absolute;top:20px;right:20px;background:#000000e6;border:2px solid var(--border-primary);padding:15px;max-width:300px;max-height:500px;overflow-y:auto;pointer-events:all;font-size:11px}.debug-panel h4{margin:0 0 10px;font-size:14px;letter-spacing:2px;border-bottom:1px solid var(--border-primary);padding-bottom:5px}.debug-units{display:flex;flex-direction:column;gap:8px}.debug-unit{padding:8px;background:var(--bg-panel);border:1px solid var(--border-primary);font-size:10px;line-height:1.4}.state-attacking{color:#f33;font-weight:700}.state-moving{color:#fa0}.planning-phase-screen{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;min-height:100%;max-height:100vh;max-height:100dvh;background:#000000e6;pointer-events:all;overflow-y:auto;overflow-x:hidden;padding:20px;box-sizing:border-box}.planning-phase-screen h1{font-size:clamp(28px,6vw,48px);letter-spacing:clamp(2px,1vw,6px);margin:20px 0 10px;text-shadow:var(--shadow-electric-pink);animation:pulse 2s infinite;text-align:center}.phase-timer{font-size:clamp(24px,5vw,36px);color:#fa0;margin:10px 0;text-shadow:0 0 10px rgba(255,170,0,.6);text-align:center}.phase-subtitle{font-size:clamp(14px,3vw,20px);margin:10px 20px 30px;color:var(--color-electric-pink);opacity:.8;text-align:center;max-width:90%}.first-round-banner{margin:15px 10px 20px;padding:clamp(10px,2vw,15px) clamp(20px,5vw,40px);border-radius:8px;text-align:center;font-size:clamp(14px,2.5vw,18px);font-weight:700;letter-spacing:clamp(1px,.3vw,2px);box-shadow:0 0 20px #00000080;max-width:90%}.first-round-banner.winner{background:var(--bg-panel);border:3px solid var(--border-primary);color:var(--color-electric-pink);text-shadow:var(--shadow-electric-pink);box-shadow:var(--shadow-combined);animation:winner-pulse 2s ease-in-out infinite}.first-round-banner.loser{background:#9600004d;border:3px solid var(--color-danger);color:var(--color-danger);text-shadow:0 0 10px rgba(255,23,68,.8);box-shadow:0 0 30px #ff174480}@keyframes winner-pulse{0%,to{box-shadow:var(--shadow-combined)}50%{box-shadow:0 0 45px #ff5edccc}}.upgrade-selection-container{display:flex;gap:20px;width:100%;max-width:min(1200px,90vw);align-items:flex-start;justify-content:center}.upgrade-choices{display:flex;flex-direction:column;gap:clamp(12px,2vw,20px);flex:1;max-width:700px}.upgrade-choice-btn{padding:clamp(12px,2.5vw,20px) clamp(20px,4vw,40px);font-size:clamp(16px,3vw,24px);font-family:Courier New,monospace;background:var(--bg-panel);border:3px solid var(--border-primary);color:var(--color-electric-pink);cursor:pointer;text-transform:uppercase;letter-spacing:clamp(1px,.4vw,3px);transition:all .2s;box-shadow:var(--shadow-electric-pink);pointer-events:all;width:100%}.upgrade-choice-btn:hover:not(:disabled){background:var(--gradient-button-hover);border-color:var(--color-success);box-shadow:var(--shadow-combined);transform:scale(1.05)}.upgrade-choice-btn:disabled{opacity:.4;cursor:not-allowed}.upgrade-choice-card{text-align:left;width:100%;display:flex;gap:clamp(10px,2vw,15px);align-items:flex-start;flex-wrap:wrap}.upgrade-choice-content{flex:1;min-width:0}.upgrade-choice-rarity-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px;gap:10px}.upgrade-choice-name{font-size:clamp(16px,2.5vw,20px);font-weight:700;letter-spacing:clamp(1px,.3vw,2px);color:#fff;margin-bottom:4px}.upgrade-choice-unit-type{font-size:clamp(10px,1.5vw,11px);background:var(--bg-panel);padding:3px 8px;border-radius:3px;border:1px solid var(--border-primary);letter-spacing:1px;white-space:nowrap;color:#fff}.upgrade-choice-icon{display:flex;flex-direction:column;justify-content:center;align-items:center;flex-shrink:0;gap:5px}.upgrade-choice-icon img{width:clamp(50px,10vw,80px);height:clamp(50px,10vw,80px);object-fit:contain;filter:drop-shadow(0 0 5px rgba(255,94,220,.3))}.upgrade-choice-unit-count{font-size:clamp(12px,2vw,14px);font-weight:700;color:#0f0;text-shadow:0 0 5px rgba(0,255,0,.5);letter-spacing:1px}.upgrade-choice-level{font-size:clamp(12px,2vw,14px);color:#fff;margin-bottom:4px}.upgrade-choice-desc{font-size:clamp(13px,2.2vw,16px);line-height:1.4;letter-spacing:.5px;color:#fff}.upgrade-choice-stat{font-size:clamp(16px,3vw,24px);letter-spacing:clamp(1px,.4vw,3px)}.skip-btn{padding:clamp(10px,2vw,15px) clamp(20px,4vw,30px);font-size:clamp(14px,2.5vw,20px);font-family:Courier New,monospace;background:#6464004d;border:2px solid var(--color-warning);color:var(--color-warning);cursor:pointer;text-transform:uppercase;letter-spacing:clamp(1px,.3vw,2px);transition:all .2s;pointer-events:all;margin:5px}.skip-btn:hover:not(:disabled){background:#96960080;border-color:var(--color-bright-orange);transform:scale(1.05)}.skip-btn:disabled{opacity:.4;cursor:not-allowed}.upgrade-actions-panel{display:flex;flex-direction:column;gap:15px;min-width:250px;max-width:280px;background:#2a003599;border:2px solid var(--border-primary);padding:20px;border-radius:8px;box-shadow:0 0 20px #ff5edc4d;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);align-self:stretch}.cash-display{background:var(--bg-panel);border:2px solid #00ff00;padding:15px;border-radius:8px;text-align:center;box-shadow:0 0 15px #0f06}.cash-label{font-size:14px;color:#fff;letter-spacing:2px;margin-bottom:8px;text-shadow:0 0 8px rgba(255,255,255,.6)}.cash-value{font-size:32px;font-weight:700;color:#0f0;letter-spacing:2px;text-shadow:0 0 15px rgba(0,255,0,.8)}.action-btn{display:flex;flex-direction:column;align-items:center;gap:8px;padding:15px;font-family:Courier New,monospace;background:var(--bg-panel);border:3px solid var(--border-primary);color:#fff;cursor:pointer;text-transform:uppercase;letter-spacing:2px;transition:all .2s;box-shadow:var(--shadow-electric-pink);pointer-events:all;border-radius:8px;position:relative}.action-btn-icon{font-size:32px;filter:drop-shadow(0 0 8px rgba(255,255,255,.6))}.action-btn-text{font-size:18px;font-weight:700;letter-spacing:2px;color:#fff;text-shadow:0 0 10px rgba(255,255,255,.5)}.action-btn-cost,.action-btn-reward{font-size:16px;color:#fff;text-shadow:0 0 10px rgba(255,170,0,.8)}.action-btn:hover:not(:disabled){background:var(--gradient-button-hover);border-color:var(--color-success);box-shadow:var(--shadow-combined);transform:translateY(-2px)}.action-btn:disabled{opacity:.4;cursor:not-allowed}.reroll-btn{border-color:#fa0;box-shadow:0 0 15px #fa06}.reroll-btn:hover:not(:disabled){border-color:gold;box-shadow:0 0 25px #ffd70099}.skip-btn-redesign{border-color:var(--color-warning);box-shadow:0 0 15px #ffd70066}.skip-btn-redesign:hover:not(:disabled){border-color:var(--color-bright-orange);box-shadow:0 0 25px #ff8c0099}@media (max-width: 1024px){.upgrade-selection-container{flex-direction:column;align-items:center}.upgrade-actions-panel{order:-1;width:100%;max-width:700px;flex-direction:row;justify-content:space-between;padding:15px;gap:10px}.cash-display,.action-btn{flex:1 1 0;min-width:0}.cash-value{font-size:24px}}@media (max-width: 768px){.planning-phase-screen{padding:15px}.upgrade-choices{width:100%;max-width:100%}.upgrade-choice-btn{padding:clamp(10px,2vw,15px)}.upgrade-choice-card{flex-direction:row;align-items:center;text-align:left;width:100%;gap:12px}.upgrade-choice-icon{flex-shrink:0;width:60px;height:auto;gap:3px}.upgrade-choice-icon img{width:60px;height:60px}.upgrade-choice-unit-count{font-size:12px}.upgrade-choice-content{flex:1;min-width:0}.upgrade-choice-rarity-row{margin-bottom:4px;gap:8px}.upgrade-choice-name{font-size:clamp(14px,3vw,18px);margin-bottom:4px}.upgrade-choice-unit-type{font-size:clamp(10px,1.8vw,12px)}.upgrade-choice-level{font-size:clamp(11px,2vw,13px)}.upgrade-choice-desc{font-size:clamp(12px,2.2vw,14px)}.upgrade-choice-stat{font-size:clamp(14px,3vw,20px)}.upgrade-actions-panel{flex-direction:row;gap:8px;padding:12px}.cash-display{flex:1 1 0;min-width:0;padding:10px 8px}.cash-label{font-size:11px;margin-bottom:6px}.cash-value{font-size:18px}.action-btn{flex:1 1 0;min-width:0;padding:10px 6px;gap:4px}.action-btn-icon{font-size:22px}.action-btn-text{font-size:12px;letter-spacing:1px}.action-btn-cost,.action-btn-reward{font-size:12px}}@media (max-width: 480px){.planning-phase-screen{padding:10px}.upgrade-choices{width:100%;gap:8px}.upgrade-choice-btn{padding:10px}.upgrade-choice-card{flex-direction:row;gap:10px}.upgrade-choice-icon{flex-shrink:0;width:50px;height:auto;gap:2px}.upgrade-choice-icon img{width:50px;height:50px}.upgrade-choice-unit-count{font-size:10px}.upgrade-choice-rarity{font-size:9px;padding:2px 6px}.upgrade-choice-name{font-size:13px}.upgrade-choice-unit-type{font-size:9px;padding:2px 6px}.upgrade-choice-level{font-size:10px}.upgrade-choice-desc{font-size:11px;line-height:1.3}.upgrade-choice-stat{font-size:14px}.phase-subtitle{margin:5px 10px 20px}.first-round-banner{margin:10px 5px 15px;padding:8px 15px}.upgrade-actions-panel{flex-direction:row;padding:10px;gap:6px}.cash-display{flex:1 1 0;min-width:0;padding:8px 4px}.cash-label{font-size:9px;margin-bottom:4px}.cash-value{font-size:16px}.action-btn{flex:1 1 0;min-width:0;padding:8px 4px;gap:3px}.action-btn-icon{font-size:18px}.action-btn-text{font-size:10px;letter-spacing:.5px}.action-btn-cost,.action-btn-reward{font-size:11px}}@media (max-height: 600px){.planning-phase-screen h1{margin:10px 0 5px}.phase-timer{margin:5px 0}.phase-subtitle{margin:5px 10px 15px}.upgrade-choices{margin-bottom:15px;gap:8px}.first-round-banner{margin:10px 5px}}.phase-banner{position:absolute;top:120px;left:50%;transform:translate(-50%);z-index:90;pointer-events:none}.phase-info{font-size:20px;font-weight:700;letter-spacing:4px;padding:10px 30px;background:#000c;border:2px solid var(--border-primary);color:var(--color-electric-pink);text-shadow:var(--shadow-electric-pink);box-shadow:var(--shadow-electric-pink)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.planning-with-income-container{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:flex-end;gap:15px;max-height:85vh;max-width:min(1400px,95vw);z-index:300;pointer-events:all}.planning-row{display:flex;gap:20px;width:100%}.planning-interface{width:800px;max-width:100%;max-height:85vh;background:#000;border:3px solid var(--border-primary);box-shadow:var(--shadow-combined);pointer-events:all;display:flex;flex-direction:column;flex:1}.players-income-panel{display:flex;flex-direction:column;gap:0;min-width:250px;max-width:300px;max-height:85vh;background:#2a003599;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);border:2px solid var(--color-electric-pink);box-shadow:0 0 20px #ff5edc66;overflow:hidden}.income-panel-header{padding:15px;background:#2a0035e6;border-bottom:2px solid var(--color-electric-pink);font-size:18px;font-weight:700;letter-spacing:2px;text-align:center;color:#fff;text-shadow:0 0 10px rgba(255,94,220,.8)}.income-panel-content{display:flex;flex-direction:column;gap:10px;padding:15px;overflow-y:auto;overflow-x:hidden;flex:1}.planning-header{display:flex;justify-content:space-around;padding:20px;background:var(--bg-panel);border-bottom:2px solid var(--border-primary)}.planning-header-compact{display:flex;align-items:center;gap:8px;padding:10px 15px;background:var(--bg-panel);border-bottom:2px solid var(--border-primary);flex-wrap:nowrap}.resource-display{display:flex;gap:10px;align-items:center}.resource-label{font-size:16px;font-weight:700;letter-spacing:1px;color:var(--color-electric-pink)}.resource-value{font-size:20px;font-weight:700;color:var(--color-electric-pink);text-shadow:var(--shadow-electric-pink)}.resource-separator{font-size:18px;color:var(--border-primary);margin:0 2px}.income-upgrade-btn-compact{padding:6px 12px;font-size:13px;font-weight:700;letter-spacing:.5px;background:#0009;border:2px solid var(--color-bright-orange);color:var(--color-bright-orange);cursor:pointer;transition:all .3s ease;text-transform:uppercase;white-space:nowrap}.income-upgrade-btn-compact:hover:not(:disabled){background:linear-gradient(90deg,#ff5edc,#f93);border-color:var(--color-bright-orange);color:var(--text-glow);box-shadow:0 0 20px #f939;transform:scale(1.05)}.income-upgrade-btn-compact:disabled{opacity:.4;cursor:not-allowed;border-color:#666;color:#666}.income-upgrade-btn{padding:8px 16px;font-family:Courier New,monospace;font-size:14px;font-weight:700;letter-spacing:1px;background:var(--bg-panel);border:2px solid var(--border-primary);color:var(--color-electric-pink);cursor:pointer;transition:all .2s;text-transform:uppercase}.income-upgrade-btn:hover:not(:disabled){background:var(--gradient-button-hover);box-shadow:var(--shadow-electric-pink);transform:scale(1.05)}.income-upgrade-btn:disabled{opacity:.4;cursor:not-allowed}.planning-tabs{display:flex;border-bottom:2px solid var(--border-primary);overflow-x:auto;overflow-y:visible;flex-shrink:0}.tab-btn{flex:1;min-width:70px;padding:15px 10px;font-family:Courier New,monospace;font-size:16px;font-weight:700;letter-spacing:2px;background:#2a00354d;border:none;border-right:1px solid var(--border-primary);color:var(--color-electric-pink);cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center}.tab-btn:last-child{border-right:none}.tab-btn:hover{background:var(--bg-panel)}.tab-btn.active{background:var(--gradient-button-hover);box-shadow:inset 0 0 15px #ff5edc4d}.tab-icon{width:50px;height:50px;max-width:100%;object-fit:contain;filter:brightness(0) saturate(100%) invert(67%) sepia(95%) saturate(426%) hue-rotate(62deg) brightness(102%) contrast(101%);transition:all .2s;flex-shrink:0}.tab-btn:hover .tab-icon{filter:brightness(0) saturate(100%) invert(87%) sepia(95%) saturate(626%) hue-rotate(62deg) brightness(102%) contrast(101%)}.tab-btn.active .tab-icon{filter:brightness(0) saturate(100%) invert(87%) sepia(95%) saturate(626%) hue-rotate(62deg) brightness(112%) contrast(101%);transform:scale(1.1)}.tab-content{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px}.tab-unit-count{font-size:14px;font-weight:700;color:#0f0;text-shadow:0 0 5px rgba(0,255,0,.5);letter-spacing:1px}.planning-content{flex:1;overflow-y:auto;padding:0 20px 20px}.tab-panel{display:flex;flex-direction:column;height:100%;position:relative;padding-top:20px}.unit-header-sticky{position:sticky;top:0;background:#000;z-index:10;padding-bottom:15px}.unit-header-sticky .buy-unit-btn{width:100%;justify-self:stretch}.unit-header{display:flex;flex-direction:column;align-items:center;padding-bottom:15px;padding-top:0;gap:10px}.unit-content-scrollable{flex:1;overflow-y:auto;overflow-x:hidden}.unit-header h2:only-child{grid-column:1 / -1;text-align:center}.unit-info{display:flex;flex-direction:column;gap:4px}.unit-header h2{margin:0;font-size:24px;letter-spacing:3px;color:var(--color-electric-pink);text-shadow:var(--shadow-electric-pink);text-align:left}.unit-description{font-size:12px;color:#fff;font-style:italic;letter-spacing:1px;text-align:left}.unit-traits{font-size:12px;color:var(--color-warning);font-weight:700;letter-spacing:1px;text-align:left;text-shadow:0 0 8px rgba(255,153,51,.6);margin-top:2px}.unit-count{font-size:18px;font-weight:700;color:var(--color-electric-pink);text-align:center}.unit-count-coming-soon{font-size:18px;font-style:italic;color:#888}.upgrades-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:15px}.stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:6px;padding:16px;background:var(--bg-panel);border:2px solid var(--border-primary);border-radius:4px;box-shadow:0 0 15px #ff5edc33}.stats-grid h3{grid-column:1 / -1;margin:0 0 10px;font-size:18px;font-weight:700;letter-spacing:3px;color:var(--color-electric-pink);text-align:center;text-shadow:var(--shadow-electric-pink)}.stat-item-with-bar{display:flex;flex-direction:column;gap:6px;padding:8px}.stat-header{display:flex;justify-content:space-between;align-items:baseline}.stat-label{font-size:14px;font-weight:700;letter-spacing:2px;color:var(--color-electric-pink);text-transform:uppercase;text-shadow:0 0 8px rgba(255,94,220,.5)}.stat-value{font-size:18px;font-weight:700;color:var(--color-electric-pink);text-shadow:var(--shadow-electric-pink)}.stat-bonus{font-size:14px;color:var(--color-success);text-shadow:0 0 8px rgba(0,255,179,.8)}.stat-bar-container{width:100%;height:8px;background:#00000080;border:1px solid var(--border-primary);border-radius:4px;overflow:hidden;position:relative}.stat-bar-base{position:absolute;left:0;top:0;height:100%;background:var(--color-electric-pink)}.stat-bar-bonus{position:absolute;top:0;height:100%;background:var(--color-warning);box-shadow:0 0 10px #f93c;animation:pulse-orange 2s ease-in-out infinite}@keyframes pulse-orange{0%,to{opacity:.8}50%{opacity:1}}.upgrade-item{display:flex;flex-direction:column;gap:8px;padding:12px;background:var(--bg-panel);border:2px solid var(--border-primary);border-radius:4px}.upgrade-header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:4px}.upgrade-label{font-size:14px;font-weight:700;letter-spacing:2px;color:var(--color-electric-pink);text-transform:uppercase}.upgrade-value{font-size:18px;font-weight:700;color:var(--color-electric-pink);text-shadow:var(--shadow-electric-pink)}.upgrade-btn{padding:10px;font-family:Courier New,monospace;font-size:14px;font-weight:700;letter-spacing:1px;background:var(--bg-panel);border:2px solid var(--border-primary);color:var(--color-electric-pink);cursor:pointer;transition:all .2s;text-transform:uppercase}.upgrade-btn:hover:not(:disabled){background:var(--gradient-button-hover);box-shadow:var(--shadow-electric-pink);transform:scale(1.05)}.upgrade-btn:disabled{opacity:.4;cursor:not-allowed}.buy-unit-btn{padding:12px 20px;font-family:Courier New,monospace;font-size:16px;font-weight:700;letter-spacing:2px;background:var(--gradient-button-hover);border:3px solid var(--border-primary);color:#fff;cursor:pointer;transition:all .2s;text-transform:uppercase;box-shadow:var(--shadow-electric-pink);justify-self:end}.buy-unit-btn:hover:not(:disabled){background:var(--gradient-panel);box-shadow:var(--shadow-combined);transform:scale(1.05)}.buy-unit-btn:disabled{opacity:.4;cursor:not-allowed}.income-section{margin-top:20px;padding-top:20px;border-top:2px solid var(--border-primary)}.income-btn{width:100%;padding:15px;font-family:Courier New,monospace;font-size:16px;font-weight:700;letter-spacing:2px;background:#6464004d;border:2px solid #ffff00;color:#fff;cursor:pointer;transition:all .2s;text-transform:uppercase}.income-btn:hover:not(:disabled){background:#96960080;box-shadow:0 0 15px #ffff0080}.income-btn:disabled{opacity:.4;cursor:not-allowed}.ability-items-section{margin-top:20px;margin-bottom:20px}.ability-items-section h3{margin:0 0 15px;font-size:18px;letter-spacing:3px;color:var(--color-electric-pink);text-align:center}.ability-items-list{display:flex;flex-direction:column;gap:10px}.ability-item-display{padding:12px;background:var(--bg-panel);border:2px solid var(--border-primary);border-radius:4px}.ability-item-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.ability-item-name{font-size:16px;font-weight:700;color:var(--color-electric-pink);letter-spacing:2px}.ability-item-unit-type{font-size:11px;color:var(--text-secondary);background:var(--bg-panel);padding:2px 8px;border-radius:3px;border:1px solid var(--border-primary);letter-spacing:1px}.ability-item-level{font-size:12px;color:var(--text-secondary);margin-bottom:6px}.ability-item-desc{font-size:13px;color:#cfc;line-height:1.4}.ability-item-rarity{font-size:11px;font-weight:700;letter-spacing:1px;margin-bottom:4px;text-shadow:0 0 8px currentColor}.upgrade-choice-rarity{font-size:clamp(10px,1.5vw,11px);font-weight:700;letter-spacing:1px;margin-bottom:4px;text-shadow:0 0 10px currentColor;text-align:left;padding:3px 8px;border-radius:3px;border:1px solid;display:inline-block;width:fit-content}.no-items-message{text-align:center;font-size:14px;color:var(--text-secondary);font-style:italic;padding:15px}.ready-btn{padding:10px 30px;font-size:18px;font-weight:700;letter-spacing:2px;background:var(--gradient-panel);color:#fff;border:3px solid var(--border-primary);cursor:pointer;transition:all .3s ease;text-shadow:var(--shadow-electric-pink);box-shadow:var(--shadow-electric-pink);pointer-events:auto;font-family:Courier New,monospace}.ready-btn:hover:not(:disabled){background:var(--gradient-button-hover);border-color:var(--border-primary);box-shadow:var(--shadow-combined);transform:scale(1.05)}.ready-btn:disabled{opacity:.5;cursor:not-allowed}.ready-btn.ready-active{background:var(--gradient-button-hover);border-color:var(--border-primary);box-shadow:var(--shadow-combined);animation:pulse-glow 1.5s ease-in-out infinite}@keyframes pulse-glow{0%,to{box-shadow:var(--shadow-combined)}50%{box-shadow:0 0 40px #ff5edccc}}.leave-game-container{position:absolute;top:95px;right:20px;z-index:101;pointer-events:all}.leave-game-btn{padding:10px 20px;font-family:Courier New,monospace;font-size:14px;font-weight:700;letter-spacing:2px;background:#000000d9;border:2px solid var(--border-primary);color:var(--color-electric-pink);cursor:pointer;transition:all .3s ease;box-shadow:var(--shadow-electric-pink);text-transform:uppercase}.leave-game-btn:hover{background:linear-gradient(90deg,#ff5edc,#f93);border-color:var(--color-bright-orange);color:var(--text-glow);box-shadow:0 0 25px #ff5edc66,0 0 50px #f933;transform:scale(1.05)}.ready-status-top-right{position:absolute;top:95px;right:20px;z-index:101;pointer-events:all;display:flex;align-items:center;justify-content:center;gap:10px;padding:10px 15px;background:#000000d9;border:2px solid var(--border-primary);box-shadow:var(--shadow-electric-pink)}@media (max-width: 768px){.leave-game-container{top:10px;right:10px}.leave-game-btn{padding:8px 12px;font-size:11px;letter-spacing:1px}.ready-status-top-right{top:10px;right:10px;padding:8px 12px;gap:8px}.planning-timer-center{top:10px;font-size:18px;padding:8px 15px;letter-spacing:2px;min-width:60px}.planning-header-compact{padding:10px 15px;gap:8px;font-size:14px}.resource-label{font-size:14px}.resource-value{font-size:18px}.resource-separator{font-size:16px}.income-upgrade-btn-compact{padding:6px 12px;font-size:12px}}.camera-controls-container{position:absolute;bottom:70px;left:20px;z-index:150;pointer-events:all}.reset-camera-btn{padding:10px 20px;font-family:Courier New,monospace;font-size:14px;font-weight:700;letter-spacing:2px;background:#000000d9;border:2px solid var(--border-primary);color:var(--color-electric-pink);cursor:pointer;transition:all .2s;box-shadow:var(--shadow-electric-pink);text-transform:uppercase}.reset-camera-btn:hover{background:var(--bg-panel);box-shadow:var(--shadow-combined);transform:scale(1.05)}.fast-mode-container{position:absolute;bottom:120px;left:20px;z-index:150;pointer-events:all;display:flex;gap:10px;align-items:center}.fast-mode-label{display:flex;align-items:center;gap:10px;padding:12px 20px;background:#000000d9;border:2px solid var(--border-primary);cursor:pointer;transition:all .2s;box-shadow:var(--shadow-electric-pink)}.fast-mode-label:hover{background:var(--bg-panel);box-shadow:var(--shadow-combined)}.fast-mode-checkbox{width:20px;height:20px;cursor:pointer;accent-color:var(--color-electric-pink)}.fast-mode-text{font-size:16px;font-weight:700;letter-spacing:2px;color:var(--color-electric-pink);text-shadow:0 0 8px rgba(255,94,220,.6)}.pause-btn{padding:12px 20px;font-family:Courier New,monospace;font-size:16px;font-weight:700;letter-spacing:2px;background:#000000d9;border:2px solid var(--border-primary);color:var(--color-electric-pink);cursor:pointer;transition:all .2s;box-shadow:var(--shadow-electric-pink);text-transform:uppercase;text-shadow:0 0 8px rgba(255,94,220,.6)}.pause-btn:hover{background:var(--bg-panel);box-shadow:var(--shadow-combined);transform:scale(1.05)}.pause-btn.paused{border-color:var(--color-primary);color:var(--color-primary);box-shadow:0 0 10px #0ff9;text-shadow:0 0 8px rgba(0,255,255,.6);animation:pulse-cyan 1.5s ease-in-out infinite}@keyframes pulse-cyan{0%,to{box-shadow:0 0 10px #0ff9}50%{box-shadow:0 0 20px #00ffffe6}}.settings-icon-btn{position:absolute;bottom:20px;right:20px;z-index:150;pointer-events:all;padding:0;background:transparent;border:none;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.settings-icon-btn:hover{transform:scale(1.1)}.settings-icon-btn:hover svg path{stroke:#ff5edc;filter:drop-shadow(0 0 8px rgba(255,94,220,.8))}.settings-icon-btn svg{display:block}@media (max-width: 768px){.settings-icon-btn{bottom:15px;right:15px;padding:10px}.settings-icon-btn svg{width:28px;height:28px}}.settings-modal-overlay{position:fixed;inset:0;background:#000000d9;z-index:200;display:flex;align-items:center;justify-content:center;pointer-events:all;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.settings-modal{background:linear-gradient(135deg,#000000f2,#14001ef2);border:3px solid var(--color-electric-pink);border-radius:0;padding:30px;min-width:350px;max-width:90vw;box-shadow:0 0 30px #ff5edc99,inset 0 0 30px #ff5edc1a;display:flex;flex-direction:column;gap:20px}.settings-modal-title{font-family:Courier New,monospace;font-size:28px;font-weight:700;letter-spacing:4px;color:var(--color-electric-pink);text-align:center;text-shadow:0 0 10px rgba(255,94,220,.8);margin:0 0 10px;padding-bottom:15px;border-bottom:2px solid var(--color-electric-pink)}.settings-modal-btn{padding:15px 25px;font-family:Courier New,monospace;font-size:16px;font-weight:700;letter-spacing:2px;background:#000000d9;color:var(--color-electric-pink);border:2px solid var(--color-electric-pink);border-radius:0;cursor:pointer;transition:all .2s ease;box-shadow:0 0 10px #ff5edc66;text-transform:uppercase;text-shadow:0 0 8px rgba(255,94,220,.6)}.settings-modal-btn:hover{background:#ff5edc1a;box-shadow:0 0 15px #ff5edccc;transform:scale(1.02)}.settings-modal-btn.paused{border-color:var(--color-primary);color:var(--color-primary);box-shadow:0 0 10px #0ff9;text-shadow:0 0 8px rgba(0,255,255,.6)}.settings-modal-btn.paused:hover{background:#00ffff1a;box-shadow:0 0 15px #0ffc}.settings-modal-btn.leave-btn{border-color:#f44;color:#f44;box-shadow:0 0 10px #f446;text-shadow:0 0 8px rgba(255,68,68,.6)}.settings-modal-btn.leave-btn:hover{background:#ff44441a;box-shadow:0 0 15px #f44c}.settings-modal-btn.cancel-btn{border-color:#888;color:#ccc;box-shadow:0 0 10px #8886;text-shadow:0 0 8px rgba(204,204,204,.6)}.settings-modal-btn.cancel-btn:hover{background:#8888881a;box-shadow:0 0 15px #888c}.settings-modal-checkbox{display:flex;align-items:center;gap:12px;padding:15px;background:#00000080;border:2px solid var(--color-electric-pink);border-radius:0;cursor:pointer;transition:all .2s ease}.settings-modal-checkbox:hover{background:#ff5edc0d;box-shadow:0 0 10px #ff5edc66}.settings-modal-checkbox input[type=checkbox]{width:20px;height:20px;cursor:pointer;accent-color:var(--color-electric-pink)}.settings-modal-checkbox span{font-family:Courier New,monospace;font-size:16px;font-weight:700;letter-spacing:2px;color:var(--color-electric-pink);text-shadow:0 0 8px rgba(255,94,220,.6);text-transform:uppercase;flex:1}@media (max-width: 768px){.settings-modal{padding:25px;min-width:300px}.settings-modal-title{font-size:24px;letter-spacing:3px;padding-bottom:12px}.settings-modal-btn{padding:12px 20px;font-size:14px;letter-spacing:1.5px}.settings-modal-checkbox span{font-size:14px;letter-spacing:1.5px}}.debug-info{position:absolute;bottom:20px;left:20px;z-index:101;padding:10px 15px;background:#000000d9;border:2px solid var(--border-primary);color:var(--color-electric-pink);font-family:Orbitron,monospace;font-size:11px;text-shadow:0 0 5px rgba(255,94,220,.5);box-shadow:var(--shadow-electric-pink);min-width:200px}.debug-title{font-weight:700;font-size:12px;margin-bottom:5px;padding-bottom:5px;border-bottom:1px solid var(--border-primary)}.debug-line{margin:3px 0;font-family:monospace}@media (max-width: 1024px){.planning-with-income-container{flex-direction:column;max-width:98vw;gap:15px;top:50%;left:50%;transform:translate(-50%,-50%);padding:0 10px}.planning-interface{width:100%;max-width:100%}.players-income-panel{width:100%;max-width:100%;min-width:unset;max-height:300px}.planning-row{flex-direction:column;width:100%}}@media (max-width: 768px){.planning-with-income-container{max-width:98vw;max-height:92vh;gap:10px;padding:0 5px}.planning-interface{max-height:65vh;width:100%}.planning-header{flex-direction:column;gap:10px;padding:15px 10px;align-items:stretch}.resource-display{justify-content:space-between;width:100%}.resource-label{font-size:14px}.resource-value{font-size:18px}.income-upgrade-btn{padding:8px 12px;font-size:12px;white-space:nowrap}.planning-tabs{overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;position:relative;z-index:10;flex-shrink:0}.tab-btn{padding:16px 8px;min-width:60px;flex-shrink:0;display:flex;align-items:center;justify-content:center}.tab-icon{width:55px;height:55px;flex-shrink:0}.tab-unit-count{font-size:12px}.planning-content{padding:15px 10px;position:relative;z-index:1}.unit-header{grid-template-columns:1fr;gap:8px;margin-bottom:20px;position:relative;padding-bottom:10px}.unit-info{text-align:center;margin-bottom:8px}.unit-header h2{font-size:20px;text-align:center;margin:0 0 8px}.unit-description{text-align:center;font-size:11px;line-height:1.3;margin:0 0 6px;padding:0 10px;word-wrap:break-word;overflow-wrap:break-word}.unit-traits{text-align:center;font-size:10px;line-height:1.3;margin:0 0 8px;padding:0 10px;word-wrap:break-word;overflow-wrap:break-word}.unit-count{font-size:16px;margin:8px 0}.buy-unit-btn{width:100%;justify-self:stretch;padding:15px;margin-top:15px;position:relative;z-index:10;clear:both}.stats-grid{grid-template-columns:1fr;gap:8px;padding:12px;margin-bottom:10px}.players-income-panel{max-height:200px}.income-panel-header{padding:10px;font-size:14px}.income-panel-content{padding:8px;gap:6px}}@media (max-width: 480px){.planning-with-income-container{max-width:100vw;max-height:94vh;gap:8px;padding:0}.planning-interface{max-height:60vh;border-left:none;border-right:none}.planning-header{padding:12px 8px;gap:8px}.resource-label{font-size:12px}.resource-value{font-size:16px}.income-upgrade-btn{padding:6px 10px;font-size:11px}.tab-btn{padding:8px 6px;min-width:50px}.tab-icon{width:35px;height:35px}.tab-unit-count{font-size:10px}.planning-content{padding:12px 8px}.unit-header{position:relative;margin-bottom:15px;padding-bottom:10px}.unit-info{margin-bottom:10px}.unit-header h2{font-size:17px;margin:0 0 6px}.unit-description{font-size:10px;line-height:1.3;margin:0 0 5px;padding:0 8px;word-wrap:break-word;overflow-wrap:break-word;max-width:100%}.unit-traits{font-size:9px;line-height:1.2;margin:0 0 8px;padding:0 8px;word-wrap:break-word;overflow-wrap:break-word;max-width:100%}.unit-count{margin:8px 0}.buy-unit-btn{padding:12px;font-size:14px;margin-top:15px;position:relative;z-index:10;clear:both}.stats-grid{padding:10px;margin-bottom:10px}.stat-label{font-size:12px}.stat-value{font-size:16px}.players-income-panel{max-height:180px;border-left:none;border-right:none}.income-panel-header{padding:8px;font-size:12px;letter-spacing:1px}.income-panel-content{padding:6px;gap:5px}}@media (max-height: 520px){.round-indicator-combined{top:calc(6px + var(--safe-top));height:30px;font-size:11px;padding:0 10px;gap:6px;letter-spacing:1px}.game-logo{top:6px;left:6px;max-width:110px}.leave-game-container{top:40px;right:6px}.boss-hp-container{top:4px;left:50%;right:auto;transform:translate(-50%);width:42vw;padding:0}.boss-hp-container .boss-name,.boss-name-wrapper .boss-name{font-size:10px;letter-spacing:1px;margin-bottom:2px}.boss-hp-bar-background{width:100%;height:10px;border-width:2px}.boss-hp-text{font-size:9px;margin-top:1px;letter-spacing:1px}.my-base-hp-container{bottom:4px;width:42vw}.my-base-name{font-size:10px;letter-spacing:1px;margin-bottom:2px}.my-base-hp-bar-background{width:100%;height:10px;border-width:2px}.my-base-hp-text{font-size:9px;margin-top:1px;letter-spacing:1px}.settings-icon-btn{bottom:6px;right:6px}.settings-icon-btn svg{width:24px;height:24px}.camera-controls-container{bottom:6px;left:6px}.reset-camera-btn{padding:5px 8px;font-size:10px;letter-spacing:1px}.planning-timer-center{top:4px;font-size:14px;padding:4px 10px;min-width:0;letter-spacing:2px}.ready-status-top-right{top:4px;right:6px;gap:6px}.ready-btn-compact{padding:5px 10px;font-size:12px}.ready-count-text{font-size:12px}.planning-phase-screen{padding:6px 10px}.planning-phase-screen h1{font-size:18px;letter-spacing:3px;margin:2px 0}.phase-timer{font-size:14px;margin:2px 0}.phase-subtitle{font-size:11px;margin:2px 0 6px}.first-round-banner{margin:2px 0 6px;padding:4px 10px;font-size:10px}.upgrade-choices{gap:6px}.upgrade-choice-btn{padding:6px 12px;font-size:12px}.planning-with-income-container{top:50%;max-height:100vh;max-height:100dvh;max-width:100vw;gap:0;padding:0 4px}.planning-interface{max-height:96vh;max-height:96dvh;border-width:2px}.players-income-panel{display:none}.planning-header-compact{padding:4px 10px;gap:6px}.resource-label{font-size:11px}.resource-value{font-size:13px}.income-upgrade-btn{padding:4px 8px;font-size:10px}.tab-btn{padding:4px 6px;min-width:44px}.tab-icon{width:26px;height:26px}.tab-unit-count{font-size:11px}.tab-content{gap:1px}.planning-content{padding:0 10px 8px}.tab-panel{padding-top:6px}.buy-unit-btn{padding:6px 12px;font-size:12px;letter-spacing:1px}.unit-header h2{font-size:14px;margin:4px 0 2px}.unit-description,.unit-traits,.unit-count{font-size:10px}.stats-grid{gap:4px 14px}.game-over-screen{padding:8px 10px 16px}.game-over-screen h1{font-size:28px;letter-spacing:4px;margin:0 0 4px;-webkit-text-stroke:4px #000000}.game-over-subtitle{font-size:12px;margin:0 0 8px;-webkit-text-stroke:3px #000000}.survival-defeat-container{gap:8px;margin-top:4px}.survival-actions-panel{flex-direction:row;padding:8px;gap:8px}.survival-action-btn{padding:8px 10px}.survival-rank{padding:6px 10px}.rank-value{font-size:18px}}@media (max-height: 520px){.upgrade-selection-container{flex-direction:row;align-items:stretch;gap:8px;max-width:100%}.upgrade-choices{gap:5px;max-width:none}.upgrade-choice-btn{padding:4px 10px;font-size:11px;letter-spacing:1px;border-width:2px}.upgrade-choice-card{gap:8px;align-items:center;flex-wrap:nowrap}.upgrade-choice-icon img{width:30px;height:30px}.upgrade-choice-unit-count{font-size:9px}.upgrade-choice-name{font-size:12px}.upgrade-choice-level,.upgrade-choice-desc,.upgrade-choice-stat,.upgrade-choice-unit-type,.upgrade-choice-rarity{font-size:9px}.upgrade-actions-panel{order:0;flex-direction:column;width:130px;min-width:130px;max-width:130px;padding:6px;gap:6px;border-width:2px}.cash-display{padding:6px}.cash-label{font-size:9px;margin-bottom:2px}.cash-value{font-size:16px}.action-btn{padding:6px 4px;gap:2px;border-width:2px}.action-btn .action-btn-icon,.action-btn .action-btn-icon svg{font-size:16px;width:18px;height:18px}.action-btn .action-btn-text{font-size:11px;letter-spacing:1px}.action-btn .action-btn-cost{font-size:9px}}.tab-sprite{display:block;max-width:100%;object-fit:contain;transition:transform .2s}.tab-btn.active .tab-sprite{transform:scale(1.12)}@media (max-height: 520px){.tab-sprite{height:24px!important}}.unit-portrait{display:flex;flex-direction:column;align-items:center;gap:4px;margin-right:14px;flex-shrink:0}.unit-tier-badge{font-size:9px;letter-spacing:2px;color:var(--color-bright-orange);border:1px solid var(--color-bright-orange);padding:2px 6px;text-shadow:0 0 6px var(--color-bright-orange)}@media (max-height: 520px){.unit-portrait img{height:36px!important}.unit-portrait{margin-right:8px}}.game-over-screen.campaign-over{justify-content:flex-start;overflow-y:auto;padding:10px 0}.campaign-battle-bar{position:absolute;top:calc(8px + var(--safe-top));left:50%;transform:translate(-50%);width:min(760px,calc(100% - 2 * (56px + var(--safe-right))));height:40px;box-sizing:border-box;padding:0 14px 0 16px;display:grid;grid-template-columns:auto minmax(120px,1fr) auto;align-items:center;column-gap:16px;background:var(--hud-bg);border:1px solid var(--hud-border);box-shadow:var(--hud-glow);color:var(--text-primary);font-family:Courier New,monospace;z-index:100;pointer-events:none;--tone: var(--color-danger);--tone-rgb: 255, 23, 68}.campaign-battle-bar.is-elite{--tone: var(--color-bright-orange);--tone-rgb: 255, 153, 51}.campaign-battle-bar.is-boss{--tone: var(--color-hot-pink);--tone-rgb: 255, 20, 147}.campaign-battle-bar:before{content:"";position:absolute;left:-1px;top:-1px;bottom:-1px;width:4px;background:var(--tone);box-shadow:0 0 10px rgba(var(--tone-rgb),.8)}.campaign-battle-title{display:flex;flex-direction:column;justify-content:center;line-height:1.1;min-width:0;white-space:nowrap}.campaign-battle-name{font-size:12px;font-weight:700;letter-spacing:2px;color:var(--tone);text-shadow:0 0 6px rgba(var(--tone-rgb),.35);text-transform:uppercase}.campaign-battle-tag{font-size:10px;letter-spacing:1.5px;color:var(--text-secondary);text-transform:uppercase;overflow:hidden;text-overflow:ellipsis;max-width:200px}.campaign-battle-meter{display:grid;grid-template-columns:1fr auto;grid-auto-rows:auto;align-items:center;column-gap:10px;row-gap:2px;min-width:0}.campaign-battle-track{grid-column:1;position:relative;height:8px;background:var(--hud-track);box-shadow:inset 0 0 0 1px #1a0020e6;overflow:hidden}.campaign-battle-ghost,.campaign-battle-fill{position:absolute;top:0;bottom:0;left:0}.campaign-battle-ghost{background:var(--hud-ghost);transition:width .9s cubic-bezier(.2,.7,.2,1) .45s}.campaign-battle-fill{background:linear-gradient(90deg,rgba(var(--tone-rgb),.72),var(--tone));box-shadow:0 0 6px rgba(var(--tone-rgb),.4);transition:width .14s linear}.campaign-battle-bar.is-down .campaign-battle-fill{background:#5c477a;box-shadow:none}.campaign-battle-segs{position:absolute;inset:0;background-image:repeating-linear-gradient(90deg,transparent 0,transparent calc(100% / var(--segs) - 1px),rgba(26,0,32,.95) calc(100% / var(--segs) - 1px),rgba(26,0,32,.95) calc(100% / var(--segs)))}.campaign-battle-shieldstrip{grid-column:1;height:3px;background:#00e5ff24}.campaign-battle-shieldstrip>div{height:100%;background:var(--color-info);box-shadow:0 0 6px var(--color-info);transition:width .25s ease-out}.campaign-battle-count{grid-column:2;grid-row:1 / span 2;font-size:12px;font-weight:700;letter-spacing:1px;color:var(--text-primary);font-variant-numeric:tabular-nums;white-space:nowrap;min-width:6ch;text-align:right}.campaign-battle-escorts{color:var(--text-secondary);font-weight:400}.campaign-battle-clock{display:flex;align-items:baseline;gap:10px;white-space:nowrap;padding-left:14px;border-left:1px solid var(--hud-border-dim)}.campaign-battle-round{font-size:10px;letter-spacing:1.5px;color:var(--text-secondary)}.campaign-battle-time{font-size:15px;font-weight:700;letter-spacing:1px;color:var(--text-primary);font-variant-numeric:tabular-nums;min-width:4ch;text-align:right}.campaign-battle-time.is-low{color:var(--color-warning);text-shadow:0 0 8px rgba(255,215,0,.7);animation:hud-blink 1s steps(2,start) infinite}.campaign-battle-banner{position:absolute;top:calc(100% + 6px);left:50%;transform:translate(-50%);padding:4px 16px;font-size:11px;font-weight:700;letter-spacing:3px;white-space:nowrap;background:var(--hud-bg);border:1px solid currentColor;box-shadow:0 0 14px currentColor;text-shadow:0 0 8px currentColor;animation:hud-banner 1.9s ease both}.campaign-battle-banner.tone-good{color:var(--color-success);animation-duration:2.4s}.campaign-battle-banner.tone-warn{color:var(--color-warning)}.campaign-battle-banner.tone-bad{color:var(--color-danger)}@keyframes hud-banner{0%{opacity:0;transform:translate(-50%,-6px)}12%{opacity:1;transform:translate(-50%)}82%{opacity:1;transform:translate(-50%)}to{opacity:0;transform:translate(-50%,4px)}}@keyframes hud-blink{0%,to{opacity:1}50%{opacity:.45}}@keyframes hud-low-pulse{0%,to{opacity:1}50%{opacity:.55}}@keyframes hud-low-border{0%,to{border-color:var(--color-danger);box-shadow:0 0 10px #ff174459,inset 0 0 14px #ff17441f}50%{border-color:#ff174473;box-shadow:0 0 4px #ff174426,inset 0 0 8px #ff17440f}}.squad-hull{position:absolute;bottom:calc(10px + var(--safe-bottom));left:50%;transform:translate(-50%);width:min(760px,calc(100% - 32px));display:flex;justify-content:center;align-items:flex-end;gap:8px;z-index:100;pointer-events:none;font-family:Courier New,monospace}.squad-pilot{position:relative;flex:0 1 250px;min-width:0;box-sizing:border-box;padding:5px 10px 7px;background:var(--hud-bg);border:1px solid var(--hud-border-dim);box-shadow:var(--hud-glow)}.squad-hull-1 .squad-pilot{flex-basis:320px}.squad-pilot.is-me{border-color:var(--hud-border)}.squad-pilot:before{content:"";position:absolute;left:-1px;top:-1px;bottom:-1px;width:3px;background:var(--pilot, var(--color-electric-pink));box-shadow:0 0 8px var(--pilot, var(--color-electric-pink))}.squad-pilot.is-down:before{background:#5c477a;box-shadow:none}.squad-pilot-row{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:4px;line-height:1.2}.squad-pilot-name{font-size:11px;font-weight:700;letter-spacing:1.5px;color:var(--pilot, var(--color-electric-pink));overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.squad-pilot-num{font-size:11px;letter-spacing:1px;color:var(--text-primary);font-variant-numeric:tabular-nums;white-space:nowrap}.squad-pilot-shield{height:3px;margin-bottom:2px;background:#00e5ff24}.squad-pilot-shield.is-none{visibility:hidden}.squad-pilot-shield>div{height:100%;background:var(--color-info);box-shadow:0 0 6px var(--color-info);transition:width .25s ease-out}.squad-pilot-track{position:relative;height:8px;background:var(--hud-track);box-shadow:inset 0 0 0 1px #1a0020e6;overflow:hidden}.squad-pilot-ghost,.squad-pilot-fill{position:absolute;top:0;bottom:0;left:0}.squad-pilot-ghost{background:var(--hud-ghost);transition:width .9s cubic-bezier(.2,.7,.2,1) .45s}.squad-pilot-fill{background:linear-gradient(90deg,var(--color-hot-pink),var(--color-electric-pink));box-shadow:0 0 8px #ff5edc8c;transition:width .14s linear}.squad-pilot.is-hurt .squad-pilot-fill{background:linear-gradient(90deg,var(--color-sunset-orange),var(--color-warning));box-shadow:0 0 8px #ff99338c}.squad-pilot.is-low .squad-pilot-fill{background:var(--color-danger);box-shadow:0 0 8px #ff1744b3;animation:hud-low-pulse .9s ease-in-out infinite}.squad-pilot.is-low{animation:hud-low-border .9s ease-in-out infinite}.squad-pilot.is-low .squad-pilot-num{color:var(--color-danger)}.squad-pilot.is-down{border-color:#c97cff40;box-shadow:none}.squad-pilot.is-down .squad-pilot-name{color:var(--text-secondary)}.squad-pilot.is-down .squad-pilot-num{color:var(--color-danger);letter-spacing:2px}.boss-hp-container{top:calc(8px + var(--safe-top))}.boss-hp-container .boss-name:not(.boss-name-wrapper .boss-name){font-size:12px;letter-spacing:2px;margin-bottom:4px;text-shadow:0 0 8px rgba(255,23,68,.6)}.boss-hp-bar-background{width:420px;height:10px;background:var(--hud-track);border:1px solid rgba(255,23,68,.7);box-shadow:0 0 10px #ff174440}.boss-hp-bar-fill{box-shadow:0 0 8px #ff174499;transition:width .2s linear}.boss-hp-text{font-size:11px;margin-top:3px;letter-spacing:1.5px;font-variant-numeric:tabular-nums}.boss-name-wrapper .boss-name{font-size:16px;letter-spacing:2px}.my-base-hp-container{bottom:calc(12px + var(--safe-bottom))}.my-base-name{font-size:11px;letter-spacing:2px;margin-bottom:4px;text-shadow:none}.my-base-hp-bar-background{width:360px;height:10px;background:var(--hud-track);border:1px solid var(--hud-border);box-shadow:var(--hud-glow)}.my-base-hp-bar-fill{transition:width .2s linear}.my-base-hp-text{font-size:11px;margin-top:3px;letter-spacing:1.5px;font-variant-numeric:tabular-nums}.camera-controls-container{bottom:calc(12px + var(--safe-bottom));left:calc(12px + var(--safe-left))}.reset-camera-btn{min-height:36px;padding:0 14px;font-size:11px;letter-spacing:1.5px;background:var(--hud-bg);border:1px solid var(--hud-border-dim);box-shadow:none;color:var(--text-secondary)}.reset-camera-btn:hover{color:var(--text-primary);border-color:var(--hud-border);box-shadow:var(--hud-glow);transform:none}@media (max-height: 520px){.campaign-battle-bar{top:calc(6px + var(--safe-top));height:32px;padding:0 10px 0 12px;column-gap:10px;grid-template-columns:auto minmax(90px,1fr) auto}.campaign-battle-name{font-size:11px;letter-spacing:1.5px}.campaign-battle-tag{font-size:10px;letter-spacing:1px;max-width:140px}.campaign-battle-track{height:6px}.campaign-battle-count{font-size:11px}.campaign-battle-clock{gap:8px;padding-left:10px}.campaign-battle-round{font-size:10px;letter-spacing:1px}.campaign-battle-time{font-size:13px}.campaign-battle-banner{top:calc(100% + 4px);font-size:10px;letter-spacing:2px;padding:3px 12px}.campaign-battle-word{display:none}.squad-hull{bottom:calc(6px + var(--safe-bottom));gap:6px}.squad-pilot{padding:3px 8px 5px;flex-basis:200px}.squad-hull-1 .squad-pilot{flex-basis:260px}.squad-pilot-row{margin-bottom:3px}.squad-pilot-name,.squad-pilot-num{font-size:10px;letter-spacing:1px}.squad-pilot-shield{height:2px;margin-bottom:2px}.squad-pilot-track{height:6px}.boss-hp-container{top:calc(6px + var(--safe-top));width:42vw}.my-base-hp-container{bottom:calc(6px + var(--safe-bottom));width:42vw}.boss-hp-bar-background,.my-base-hp-bar-background{height:8px;border-width:1px}.boss-hp-text,.my-base-hp-text,.boss-hp-container .boss-name,.my-base-name{font-size:10px}}@media (max-height: 430px){.round-indicator-combined{right:calc(52px + var(--safe-right));top:calc(4px + var(--safe-top));height:32px}.campaign-battle-bar{top:calc(4px + var(--safe-top));width:min(760px,calc(100% - 2 * (58px + var(--safe-right))))}}.income-gamble-overlay{position:fixed;inset:0;background:#000c;display:flex;justify-content:center;align-items:center;z-index:10000;animation:fadeIn .3s ease-in}.income-gamble-popup{background:var(--gradient-panel);border:3px solid var(--border-primary);border-radius:0;padding:40px;min-width:400px;min-height:300px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:30px;animation:popupBounce .5s cubic-bezier(.68,-.55,.265,1.55);box-shadow:var(--shadow-electric-pink-strong)}@keyframes popupBounce{0%{transform:scale(.3);opacity:0}50%{transform:scale(1.05)}70%{transform:scale(.95)}to{transform:scale(1);opacity:1}}.gamble-chest-animation{position:relative;width:120px;height:120px}.chest{position:relative;width:100%;height:100%}.chest-body{position:absolute;bottom:0;left:10%;width:80%;height:60%;background:linear-gradient(135deg,var(--color-deep-purple) 0%,var(--bg-panel) 100%);border:3px solid var(--color-bright-orange);border-radius:5px;box-shadow:0 4px 8px #0000004d}.chest-lid{position:absolute;top:30%;left:10%;width:80%;height:40%;background:linear-gradient(135deg,var(--color-soft-violet) 0%,var(--color-deep-purple) 100%);border:3px solid var(--color-bright-orange);border-radius:5px 5px 0 0;transform-origin:bottom center;transition:transform .5s ease-out;box-shadow:0 -2px 8px #0000004d}.chest-open .chest-lid{transform:rotateX(-120deg);animation:chestShake .5s ease-out}@keyframes chestShake{0%,to{transform:rotateX(-120deg)}25%{transform:rotateX(-110deg)}75%{transform:rotateX(-130deg)}}.chest-glow{position:absolute;top:40%;left:50%;transform:translate(-50%,-50%);width:80px;height:80px;border-radius:50%;opacity:0;animation:glowPulse 1s ease-out forwards;filter:blur(15px)}@keyframes glowPulse{0%{opacity:0;transform:translate(-50%,-50%) scale(.5)}50%{opacity:.8;transform:translate(-50%,-50%) scale(1.2)}to{opacity:.6;transform:translate(-50%,-50%) scale(1)}}.gamble-result-container{width:100%;display:flex;justify-content:center}.gamble-result{text-align:center}.result-income{font-size:72px;font-weight:700;font-family:Courier New,monospace;text-shadow:0 0 20px currentColor;margin-bottom:10px}.rolling .result-income{animation:numberRoll .1s infinite}@keyframes numberRoll{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-5px) scale(1.1)}}.revealed .result-income{animation:resultReveal .6s cubic-bezier(.68,-.55,.265,1.55)}@keyframes resultReveal{0%{transform:scale(.5);opacity:0}50%{transform:scale(1.2)}to{transform:scale(1);opacity:1}}.result-label{font-size:28px;font-weight:700;text-transform:uppercase;letter-spacing:3px;margin-bottom:15px;animation:labelSlideIn .5s ease-out .3s both}@keyframes labelSlideIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.result-new-income{font-size:18px;color:var(--text-secondary);font-weight:700;letter-spacing:1px;animation:labelSlideIn .5s ease-out .5s both}.disconnect-modal-overlay{position:fixed;inset:0;background:#1a0020d9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:9999;animation:fadeIn .3s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.disconnect-modal{background:linear-gradient(135deg,#2a0035,#400060);border:3px solid #FF5EDC;border-radius:12px;padding:30px;min-width:400px;max-width:500px;box-shadow:0 0 30px #ff5edc99,0 0 60px #ff5edc4d,0 8px 32px #0009;animation:modalSlideIn .4s cubic-bezier(.34,1.56,.64,1);font-family:Courier New,monospace}@keyframes modalSlideIn{0%{transform:translateY(-50px) scale(.9);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}.disconnect-modal-header{color:#f93;font-size:28px;letter-spacing:4px;text-align:center;margin-bottom:25px;text-shadow:0 0 20px #FF9933,0 0 40px #FF5EDC;animation:headerGlow 2s ease-in-out infinite}@keyframes headerGlow{0%,to{text-shadow:0 0 20px #FF9933,0 0 40px #FF5EDC}50%{text-shadow:0 0 30px #FF9933,0 0 60px #FF5EDC}}.disconnect-modal-body{text-align:center}.disconnect-player-name{color:#ff5edc;font-size:24px;letter-spacing:3px;margin-bottom:10px;text-shadow:0 0 15px #FF5EDC;animation:namePulse 1.5s ease-in-out infinite}@keyframes namePulse{0%,to{opacity:1;text-shadow:0 0 15px #FF5EDC}50%{opacity:.7;text-shadow:0 0 25px #FF5EDC}}.disconnect-message{color:#fff7e6;font-size:16px;letter-spacing:2px;margin-bottom:30px}.disconnect-timer-container{margin:25px 0;padding:20px;background:#0006;border:2px solid #FF5EDC;border-radius:8px;box-shadow:inset 0 0 20px #ff5edc33,0 0 15px #ff5edc4d}.disconnect-timer-label{color:#c97cff;font-size:13px;letter-spacing:2px;margin-bottom:10px;text-transform:uppercase}.disconnect-timer{color:#00ffb3;font-size:48px;letter-spacing:4px;font-weight:700;text-shadow:0 0 25px #00FFB3,0 0 50px #00FFB3;animation:timerPulse 1s ease-in-out infinite}@keyframes timerPulse{0%,to{transform:scale(1);text-shadow:0 0 25px #00FFB3,0 0 50px #00FFB3}50%{transform:scale(1.05);text-shadow:0 0 35px #00FFB3,0 0 70px #00FFB3}}.disconnect-status{color:gold;font-size:14px;letter-spacing:2px;margin-top:20px;text-transform:uppercase;animation:statusBlink 1.5s ease-in-out infinite}@keyframes statusBlink{0%,to{opacity:1}50%{opacity:.4}}@media (max-width: 600px){.disconnect-modal{min-width:300px;padding:20px}.disconnect-modal-header{font-size:22px;letter-spacing:3px}.disconnect-player-name{font-size:20px}.disconnect-timer{font-size:36px}}@keyframes campaign-screen-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes campaign-scan{0%{transform:translateY(0)}to{transform:translateY(4px)}}@keyframes campaign-title-glow{0%,to{text-shadow:0 0 20px var(--color-bright-orange),0 0 40px var(--color-electric-pink)}50%{text-shadow:0 0 30px var(--color-bright-orange),0 0 60px var(--color-electric-pink)}}@keyframes campaign-card-in{0%{opacity:0;transform:translateY(14px) scale(.97)}to{opacity:1;transform:none}}@keyframes glow-pulse{0%,to{opacity:1}50%{opacity:.65}}@keyframes campaign-blink{0%,to{opacity:1}50%{opacity:.45}}@keyframes campaign-pulse{0%,to{opacity:.25;transform:scale(.85)}50%{opacity:.9;transform:scale(1.05)}}.campaign-screen{--c-gap: clamp(6px, 1.2vh, 12px);--c-pad-x: clamp(10px, 1.8vw, 20px);--c-line: rgba(255, 94, 220, .32);--c-card-bg: linear-gradient(180deg, rgba(44, 0, 56, .94) 0%, rgba(30, 0, 42, .97) 100%);--c-card-border: rgba(178, 102, 255, .5);position:absolute;inset:0;display:flex;flex-direction:column;gap:var(--c-gap);padding:clamp(6px,1.2vh,12px) var(--c-pad-x) 0;box-sizing:border-box;font-family:Courier New,monospace;color:var(--text-primary);pointer-events:all;overflow-y:auto;overflow-x:hidden;z-index:300;scrollbar-width:thin;scrollbar-color:var(--color-electric-pink) transparent;background:radial-gradient(ellipse 70% 45% at 50% 0%,rgba(255,94,220,.16),transparent 70%),linear-gradient(180deg,#1a0020f5,#2a0035f7 55%,#1a0020fa);animation:campaign-screen-in .42s cubic-bezier(.22,1,.36,1) both}.campaign-screen:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg,rgba(255,94,220,.035) 0px,transparent 1px,transparent 2px,rgba(255,94,220,.035) 3px);pointer-events:none;animation:campaign-scan 8s linear infinite}.campaign-screen:after{content:"";position:absolute;left:0;right:0;bottom:0;height:34%;pointer-events:none;background:linear-gradient(0deg,transparent 0 1px,rgba(255,94,220,.18) 1px 2px,transparent 2px) 0 0 / 100% 26px,linear-gradient(90deg,rgba(255,94,220,.14) 1px,transparent 1px) 0 0 / 80px 100%;transform:perspective(360px) rotateX(58deg);transform-origin:50% 100%;mask-image:linear-gradient(180deg,transparent,rgba(0,0,0,.9) 70%);-webkit-mask-image:linear-gradient(180deg,transparent,rgba(0,0,0,.9) 70%);opacity:.55}.campaign-screen>*{position:relative;z-index:1}.campaign-fill{flex:1 1 auto;display:flex;flex-direction:column;justify-content:center;min-height:0}.campaign-single{display:flex;flex-direction:column;gap:8px;flex:0 0 auto;padding-bottom:6px}.campaign-single.campaign-fill{flex:1 1 auto;justify-content:center}.campaign-style-stage{display:flex;flex-direction:column;gap:10px}.campaign-split-main{display:flex;flex-direction:column;gap:10px;min-width:0}.campaign-top{display:flex;justify-content:space-between;align-items:center;gap:6px 14px;flex-wrap:wrap;flex-shrink:0;padding:0 48px 6px 0;border-bottom:1px solid var(--c-line);box-shadow:0 1px #ff5edc1a,0 8px 18px -12px var(--color-electric-pink)}.campaign-head-left{min-width:0}.campaign-title{color:var(--color-bright-orange);font-size:clamp(16px,2.6vw,24px);font-weight:700;letter-spacing:clamp(2px,.5vw,5px);line-height:1.05;text-shadow:0 0 20px var(--color-bright-orange),0 0 40px var(--color-electric-pink);animation:campaign-title-glow 3s ease-in-out infinite}.campaign-title.small{font-size:clamp(16px,2.6vw,24px)}.campaign-subtitle{color:var(--color-electric-pink);font-size:clamp(10px,1.3vw,12px);letter-spacing:2px;margin-top:3px;text-shadow:0 0 8px rgba(255,94,220,.6)}.campaign-banner{color:var(--color-success);text-shadow:0 0 10px var(--color-success)}.campaign-banner.rolling{color:var(--color-warning);text-shadow:0 0 10px var(--color-warning);animation:campaign-blink .5s steps(2) infinite}.campaign-cash{color:var(--color-success);text-shadow:0 0 10px rgba(0,255,179,.7)}.campaign-chips{display:flex;gap:6px;flex-wrap:wrap;align-items:stretch}.campaign-chip{display:flex;flex-direction:column;justify-content:center;gap:2px;min-width:70px;min-height:40px;padding:4px 10px;box-sizing:border-box;background:#1a0020c7;border:2px solid var(--border-secondary);box-shadow:inset 0 0 12px #b266ff26}.campaign-chip-label{font-size:10px;letter-spacing:2px;color:var(--text-secondary);white-space:nowrap}.campaign-chip-value{font-size:clamp(12px,1.5vw,15px);font-weight:700;letter-spacing:1px;color:var(--text-primary);line-height:1.1}.campaign-chip.cash .campaign-chip-value{color:var(--color-success);text-shadow:0 0 10px rgba(0,255,179,.6)}.campaign-chip.hull{min-width:130px;border-color:var(--border-primary)}.campaign-chip-bar{height:7px;background:#0009;border:1px solid var(--border-primary);overflow:hidden}.campaign-chip-bar>div{height:100%;background:linear-gradient(90deg,var(--color-electric-pink),var(--color-bright-orange));box-shadow:0 0 8px var(--color-electric-pink);transition:width .6s ease-out}.campaign-chip.hull.low{border-color:var(--color-danger)}.campaign-chip.hull.low .campaign-chip-bar>div{background:linear-gradient(90deg,var(--color-danger),var(--color-bright-orange));box-shadow:0 0 8px var(--color-danger)}.campaign-prompt{text-align:center;padding:2px 0}.campaign-prompt-main{color:var(--color-bright-orange);font-weight:700;font-size:clamp(16px,2.6vw,24px);letter-spacing:clamp(3px,.7vw,6px);text-shadow:0 0 16px var(--color-bright-orange),0 0 32px var(--color-electric-pink);animation:campaign-title-glow 3s ease-in-out infinite}.campaign-prompt-sub{color:var(--text-secondary);font-size:clamp(10px,1.2vw,12px);letter-spacing:2px;margin-top:4px}.campaign-prompt-sub .campaign-odds{justify-content:center;padding:0}.campaign-odds{display:flex;flex-wrap:wrap;gap:4px 12px;font-size:10px;letter-spacing:1px;padding:4px 0}.campaign-odds span{text-shadow:0 0 6px currentColor}.campaign-odds-label{color:var(--text-secondary);text-shadow:none!important;letter-spacing:2px}.campaign-hint{color:var(--color-bright-orange);font-size:clamp(10px,1.3vw,12px);letter-spacing:2px;text-shadow:0 0 10px rgba(255,153,51,.6)}.campaign-section-title{display:flex;align-items:center;gap:10px;color:var(--color-electric-pink);font-size:clamp(10px,1.3vw,12px);letter-spacing:3px;text-shadow:0 0 8px var(--color-electric-pink);flex-shrink:0}.campaign-section-title:after{content:"";flex:1;height:1px;background:linear-gradient(90deg,var(--color-electric-pink),transparent);box-shadow:0 0 6px var(--color-electric-pink)}.campaign-panel{background:var(--gradient-panel);border:2px solid var(--border-primary);box-shadow:var(--shadow-electric-pink),inset 0 0 20px #ff5edc14;padding:clamp(8px,1.5vh,14px) clamp(10px,2vw,16px);box-sizing:border-box;position:relative}.campaign-panel:before,.campaign-panel:after{content:"";position:absolute;width:10px;height:10px;border:2px solid var(--color-bright-orange);pointer-events:none}.campaign-panel:before{top:-2px;left:-2px;border-right:0;border-bottom:0}.campaign-panel:after{bottom:-2px;right:-2px;border-left:0;border-top:0}.campaign-loading{margin:auto;letter-spacing:4px;color:var(--color-electric-pink);animation:glow-pulse 1.4s ease-in-out infinite}.campaign-card{--card-color: var(--color-electric-pink);position:relative;display:flex;flex-direction:column;gap:8px;padding:10px 12px 12px;min-width:0;box-sizing:border-box;background:var(--c-card-bg, linear-gradient(180deg, rgba(44, 0, 56, .94), rgba(30, 0, 42, .97)));border:2px solid var(--c-card-border, rgba(178, 102, 255, .5));border-top:4px solid var(--card-color);box-shadow:0 0 18px color-mix(in srgb,var(--card-color) 28%,transparent),inset 0 0 24px #ff5edc0f;color:var(--text-primary);font-family:Courier New,monospace;text-align:left;animation:campaign-card-in .46s cubic-bezier(.22,1,.36,1) both;animation-delay:calc(var(--i, 0) * 70ms);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease,opacity .3s ease}button.campaign-card{cursor:pointer}@media (hover: hover) and (pointer: fine){button.campaign-card:hover:not(:disabled){transform:translateY(-3px);border-color:var(--card-color);box-shadow:0 0 26px color-mix(in srgb,var(--card-color) 55%,transparent),inset 0 0 24px #ff5edc1a}}button.campaign-card:active:not(:disabled){transform:translateY(0) scale(.99)}button.campaign-card:disabled{cursor:not-allowed;opacity:.45;filter:saturate(.5)}.campaign-card-head{display:flex;justify-content:space-between;align-items:center;gap:6px;width:100%;font-size:10px;letter-spacing:2px}.campaign-card-kind{font-weight:700;color:var(--card-color);text-shadow:0 0 8px var(--card-color)}.campaign-card-tag{padding:1px 6px;border:1px solid rgba(201,124,255,.5);color:var(--text-secondary);font-size:10px;letter-spacing:1.5px;white-space:nowrap}.campaign-buy-btn,.campaign-extra-btn,.campaign-primary-btn{font-family:Courier New,monospace;font-weight:700;letter-spacing:2px;border:2px solid var(--border-primary);background:var(--bg-dark);color:var(--text-primary);cursor:pointer;transition:all .2s ease;box-shadow:var(--shadow-electric-pink);padding:8px 12px;font-size:clamp(11px,1.3vw,13px);position:relative;overflow:hidden;min-height:38px;box-sizing:border-box}.campaign-buy-btn{margin-top:auto;width:100%;box-shadow:0 0 12px #ff5edc4d}@media (hover: hover) and (pointer: fine){.campaign-buy-btn:hover:not(:disabled),.campaign-extra-btn:hover:not(:disabled),.campaign-primary-btn:hover:not(:disabled){background:var(--gradient-button-hover);border-color:var(--color-bright-orange);color:var(--text-glow);transform:translateY(-1px);box-shadow:var(--shadow-combined)}}.campaign-buy-btn:active:not(:disabled),.campaign-extra-btn:active:not(:disabled),.campaign-primary-btn:active:not(:disabled){transform:translateY(1px)}.campaign-buy-btn:disabled,.campaign-extra-btn:disabled{opacity:.35;cursor:not-allowed;box-shadow:none}.campaign-extra-btn{display:flex;justify-content:space-between;align-items:center;gap:10px}.campaign-extra-btn.ghost{border-color:#b266ff99;color:var(--text-secondary);box-shadow:none}.campaign-extra-btn.loadout{border-color:var(--color-info);color:var(--color-info);justify-content:center;gap:8px;box-shadow:0 0 14px #00e5ff40}.campaign-loadout-sprite{display:inline-flex;align-items:center}.campaign-loadout-sprite img{filter:drop-shadow(0 0 4px rgba(0,229,255,.6))}.campaign-loadout-slots{color:var(--text-secondary);font-weight:400;font-size:10px;letter-spacing:1px}.campaign-extra-cost{color:var(--color-success)}.campaign-primary-btn{background:var(--gradient-button-hover);border-color:var(--color-bright-orange);color:var(--text-glow);padding:10px 18px;min-height:44px;font-size:clamp(12px,1.5vw,15px);letter-spacing:3px;text-shadow:0 0 8px rgba(0,0,0,.5);box-shadow:var(--shadow-combined)}.campaign-primary-btn.waiting{background:var(--bg-panel);color:var(--color-warning);border-color:var(--color-warning);opacity:.9;box-shadow:0 0 12px #ffd7004d;animation:glow-pulse 1.6s ease-in-out infinite}.campaign-actionbar{position:sticky;bottom:0;z-index:5;margin:auto calc(-1 * var(--c-pad-x)) 0;padding:8px var(--c-pad-x);padding-bottom:max(8px,env(safe-area-inset-bottom));display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;background:linear-gradient(180deg,#1a0020e6,#1a0020fa);border-top:2px solid var(--border-primary);box-shadow:0 -8px 24px #1a0020cc,0 -1px #ff5edc33;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.campaign-actionbar-row{flex:1 1 auto;display:flex;gap:8px;align-items:stretch;justify-content:flex-end;flex-wrap:wrap;min-width:0}.campaign-actionbar-row>.campaign-hint,.campaign-actionbar>.campaign-hint{flex:1 1 200px;align-self:center;color:var(--text-secondary);text-shadow:none;font-size:clamp(10px,1.2vw,12px)}.campaign-actionbar>.campaign-hint{text-align:center}.campaign-actionbar .campaign-extra-btn{flex:0 1 auto;min-width:150px;padding:7px 12px;font-size:clamp(10px,1.2vw,12px)}.campaign-actionbar .campaign-extra-btn.loadout{margin-right:auto}.campaign-actionbar .campaign-primary-btn{flex:0 1 360px;min-width:200px}.campaign-actionbar>.campaign-primary-btn{margin-left:auto;flex:0 1 440px}.campaign-actionbar>.campaign-extra-btn{flex:none}.campaign-squad{display:flex;flex-direction:column;gap:6px}.campaign-squad.compact{flex-direction:row;flex-wrap:wrap;gap:4px 14px}.campaign-squad-row{display:flex;align-items:center;gap:8px;font-size:11px;letter-spacing:1px}.campaign-squad.compact .campaign-squad-row{flex:0 1 200px}.campaign-squad-row.me .campaign-squad-name{color:var(--color-bright-orange)}.campaign-squad-row.down{opacity:.6}.campaign-squad-sprite{width:30px;display:flex;justify-content:center;flex-shrink:0}.campaign-squad-sprite img{filter:drop-shadow(0 0 5px rgba(0,229,255,.5))}.campaign-squad-body{flex:1;display:flex;flex-direction:column;gap:3px;min-width:0}.campaign-squad-name{display:flex;gap:8px;align-items:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.campaign-party-cash{color:var(--color-success)}.campaign-party-ready{color:var(--color-success);border:1px solid var(--color-success);padding:0 5px;font-size:10px;letter-spacing:1px;box-shadow:0 0 8px #00ffb366}.campaign-squad-bar{display:block;height:6px;background:#0009;border:1px solid var(--border-primary)}.campaign-squad-bar>span{display:block;height:100%;background:linear-gradient(90deg,var(--color-electric-pink),var(--color-soft-violet));box-shadow:0 0 8px var(--color-electric-pink);transition:width .5s ease-out}.campaign-squad-hp{font-size:10px;color:var(--text-secondary)}.campaign-style-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.campaign-style-card{align-items:center;text-align:center;gap:4px;padding:8px 10px 12px;--card-color: var(--color-soft-violet)}.campaign-style-tag{align-self:flex-start;font-size:10px;letter-spacing:2px;color:var(--text-secondary)}.campaign-style-card img{margin-top:2px;filter:drop-shadow(0 0 10px rgba(0,229,255,.45));animation:mech-hover 2.6s ease-in-out infinite}.campaign-style-card.active{--card-color: var(--color-bright-orange);border-color:var(--color-bright-orange);box-shadow:var(--shadow-combined),inset 0 0 30px #ff99331a;background:linear-gradient(180deg,#ff5edc24,#1e002af7)}.campaign-style-card.active .campaign-style-tag{color:var(--color-success);text-shadow:0 0 8px var(--color-success)}.campaign-style-name{font-weight:700;font-size:clamp(13px,1.6vw,16px);letter-spacing:3px;color:var(--color-bright-orange);text-shadow:0 0 8px var(--color-bright-orange)}.campaign-style-blurb{font-size:11px;color:var(--text-secondary);text-align:center;line-height:1.4;max-width:28ch}.campaign-paint-row{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;padding-top:4px}.campaign-paint-label{font-size:11px;letter-spacing:2px;color:var(--color-electric-pink);text-shadow:0 0 8px var(--color-electric-pink);margin-right:6px;min-width:150px}.campaign-paint{width:36px;height:36px;padding:0;border:2px solid var(--border-secondary);background:var(--armour);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}.campaign-paint>span{width:14px;height:14px;background:var(--paint);box-shadow:0 0 8px var(--paint)}.campaign-paint.active{border-color:var(--text-glow);box-shadow:0 0 12px var(--paint);transform:scale(1.1)}.campaign-shop-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:clamp(8px,1vw,12px);align-content:start}.campaign-boot-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}.campaign-boot-grid.count-5{grid-template-columns:repeat(5,minmax(0,1fr))}.campaign-boot-grid.count-3{grid-template-columns:repeat(3,minmax(0,1fr));max-width:960px;width:100%;margin:0 auto}.campaign-reward-grid{grid-template-columns:repeat(auto-fit,minmax(240px,320px));justify-content:center}.campaign-shop-section{display:flex;flex-direction:column;gap:8px}.campaign-rest-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,300px));justify-content:center;gap:clamp(8px,1.5vw,16px)}.campaign-rest-card{align-items:center;text-align:center;gap:6px;padding:10px 14px 14px}.campaign-rest-card.heal{--card-color: var(--color-success)}.campaign-rest-card.upgrade{--card-color: var(--color-warning)}.campaign-rest-card.unit{--card-color: var(--color-info)}.campaign-rest-card-glyph{width:54px;height:54px;margin-top:4px;display:flex;align-items:center;justify-content:center;font-size:28px;color:var(--card-color);border:2px solid var(--card-color);border-radius:50%;text-shadow:0 0 14px var(--card-color);box-shadow:0 0 16px color-mix(in srgb,var(--card-color) 45%,transparent),inset 0 0 14px color-mix(in srgb,var(--card-color) 20%,transparent)}.campaign-rest-card-title{font-weight:700;font-size:clamp(12px,1.5vw,14px);letter-spacing:2px;color:var(--text-primary)}.campaign-rest-card-value{font-weight:700;font-size:clamp(16px,2.2vw,22px);letter-spacing:2px;color:var(--card-color);text-shadow:0 0 12px var(--card-color)}.campaign-rest-card-desc{font-size:11px;line-height:1.45;color:var(--text-secondary);letter-spacing:.5px;max-width:30ch}.campaign-rest-card-cta{margin-top:auto;width:100%;padding:8px 18px;box-sizing:border-box;font-size:12px;font-weight:700;letter-spacing:3px;border:2px solid var(--card-color);color:var(--text-primary);background:#1a0020b3;box-shadow:0 0 10px color-mix(in srgb,var(--card-color) 30%,transparent);transition:background .2s ease,color .2s ease}@media (hover: hover) and (pointer: fine){.campaign-rest-card:hover:not(:disabled) .campaign-rest-card-cta{background:var(--card-color);color:var(--bg-dark)}}.campaign-rest{flex:1 1 auto;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;text-align:center}.campaign-rest-glyph{width:clamp(72px,14vw,120px);height:clamp(72px,14vw,120px);display:flex;align-items:center;justify-content:center;font-size:clamp(36px,7vw,64px);color:var(--color-success);text-shadow:0 0 30px var(--color-success);border:2px solid var(--color-success);border-radius:50%;box-shadow:0 0 24px #00ffb366,inset 0 0 24px #00ffb326;animation:campaign-rest-ring 2.2s ease-in-out infinite}@keyframes campaign-rest-ring{0%,to{box-shadow:0 0 18px #00ffb359,inset 0 0 18px #00ffb31f;transform:scale(1)}50%{box-shadow:0 0 44px #00ffb3b3,inset 0 0 30px #00ffb340;transform:scale(1.04)}}.campaign-rest-text{font-size:clamp(16px,3vw,26px);letter-spacing:3px;color:var(--color-success);text-shadow:0 0 15px var(--color-success)}.campaign-rest-sub{font-size:clamp(10px,1.4vw,13px);letter-spacing:1px;color:var(--text-secondary);max-width:520px}.campaign-map-frame{position:relative;flex:1 1 auto;min-height:160px;display:flex;flex-direction:column;margin-bottom:6px;border:2px solid var(--border-secondary);background:linear-gradient(0deg,rgba(255,94,220,.06) 1px,transparent 1px) 0 0 / 100% 24px,linear-gradient(90deg,rgba(255,94,220,.06) 1px,transparent 1px) 0 0 / 24px 100%,radial-gradient(ellipse at 50% 50%,#400060e6,#10041cf2);box-shadow:inset 0 0 40px #b266ff2e,var(--shadow-electric-pink)}.campaign-map-wrap{flex:1 1 auto;min-height:0;overflow:auto;display:flex;align-items:center;padding:26px 0 30px;box-sizing:border-box;scrollbar-width:thin;scrollbar-color:var(--color-electric-pink) transparent}.campaign-map{display:block;margin:auto;flex-shrink:0}.campaign-map-cta{position:absolute;top:6px;left:50%;transform:translate(-50%);z-index:2;padding:4px 14px;font-size:11px;font-weight:700;letter-spacing:2px;white-space:nowrap;color:var(--color-bright-orange);background:#1a0020e0;border:1px solid var(--color-bright-orange);box-shadow:0 0 14px #ff993359;text-shadow:0 0 8px rgba(255,153,51,.6);pointer-events:none}.campaign-map-cta.rolling{color:var(--color-warning);border-color:var(--color-warning);animation:campaign-blink .5s steps(2) infinite}.campaign-floor-label{fill:var(--color-muted-purple);font-family:Courier New,monospace;font-size:11px;letter-spacing:2px;opacity:.75}.campaign-floor-label.current{fill:var(--color-bright-orange);opacity:1;font-weight:700}.campaign-floor-label.boss{fill:var(--color-bright-orange);font-weight:700}.campaign-floor-line{stroke:#ff99334d;stroke-width:1;stroke-dasharray:2 4}.campaign-edge{stroke:#b266ff52;stroke-width:2;stroke-dasharray:4 6}.campaign-edge.lit{stroke:var(--color-electric-pink);stroke-dasharray:none}.campaign-edge.open{stroke:var(--color-bright-orange);stroke-width:2.5;stroke-dasharray:6 6;animation:campaign-edge-flow .9s linear infinite}@keyframes campaign-edge-flow{to{stroke-dashoffset:-12}}.campaign-edge-glow{stroke:#ff5edc4d;stroke-width:7;stroke-linecap:round}.campaign-edge-glow.open{stroke:#ff993359}.campaign-node{--node-color: var(--color-soft-violet);transition:opacity .3s ease}.campaign-node.battle{--node-color: var(--color-electric-pink)}.campaign-node.elite{--node-color: var(--color-danger)}.campaign-node.shop{--node-color: var(--color-warning)}.campaign-node.rest{--node-color: var(--color-success)}.campaign-node.mystery{--node-color: var(--color-soft-violet)}.campaign-node.boss{--node-color: var(--color-bright-orange)}.campaign-node-body{fill:color-mix(in srgb,var(--node-color) 14%,#22002c);stroke:var(--node-color);stroke-width:2;transition:stroke .2s ease,fill .2s ease}.campaign-node.boss .campaign-node-body{stroke-width:3}.campaign-node.mystery .campaign-node-body{stroke-dasharray:4 3}.campaign-node-glyph{fill:var(--node-color);font-family:Courier New,monospace;font-weight:700;pointer-events:none}.campaign-node.visited .campaign-node-body{fill:color-mix(in srgb,var(--node-color) 40%,#22002c);stroke:var(--text-primary)}.campaign-node.visited .campaign-node-glyph{fill:var(--text-primary)}.campaign-node.current .campaign-node-body{stroke:var(--text-glow);stroke-width:3;fill:#ff993380;filter:url(#campaign-glow)}.campaign-node.current .campaign-node-glyph{fill:var(--text-glow)}.campaign-node.reachable .campaign-node-body{stroke-width:3;fill:color-mix(in srgb,var(--node-color) 28%,#22002c);filter:url(#campaign-glow)}@media (hover: hover) and (pointer: fine){.campaign-node.reachable:hover .campaign-node-body{stroke:var(--text-glow);fill:color-mix(in srgb,var(--node-color) 55%,#22002c)}.campaign-node.reachable:hover .campaign-node-glyph{fill:var(--text-glow)}}.campaign-node-pulse{transform-box:fill-box;transform-origin:center;fill:none;stroke:var(--color-bright-orange);stroke-width:2;opacity:.8;animation:campaign-pulse 1.4s ease-in-out infinite}.campaign-node.current .campaign-node-here{fill:var(--color-bright-orange);font-family:Courier New,monospace;font-size:10px;letter-spacing:1px;font-weight:700;pointer-events:none}.campaign-node:not(.reachable):not(.current):not(.visited){opacity:.42}.campaign-vote-bg{fill:#1a0020e6;stroke:var(--color-warning);stroke-width:1}.campaign-node.my-vote .campaign-vote-bg{stroke:var(--color-success)}.campaign-vote-name{fill:var(--color-warning);font-family:Courier New,monospace;font-size:10px;letter-spacing:1px;font-weight:700;pointer-events:none}.campaign-vote-name.me{fill:var(--color-success)}.campaign-node.voted .campaign-node-body{stroke:var(--color-warning);stroke-width:3}.campaign-node.my-vote .campaign-node-body{stroke:var(--color-success);fill:#00ffb340}.campaign-map-legend{position:absolute;left:0;right:0;bottom:0;display:flex;flex-wrap:wrap;align-items:center;gap:4px 12px;padding:4px 10px;font-size:10px;letter-spacing:1px;color:var(--text-primary);background:linear-gradient(180deg,#1a002026,#1a0020e6);pointer-events:none}.legend-item{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}.legend-dot{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border:2px solid;border-radius:50%;font-weight:700;font-size:10px;box-sizing:border-box}.legend-dot.battle{color:var(--color-electric-pink);border-color:var(--color-electric-pink)}.legend-dot.elite{color:var(--color-danger);border-color:var(--color-danger)}.legend-dot.shop{color:var(--color-warning);border-color:var(--color-warning)}.legend-dot.rest{color:var(--color-success);border-color:var(--color-success)}.legend-dot.mystery{color:var(--color-soft-violet);border-color:var(--color-soft-violet);border-style:dashed}.legend-dot.boss{color:var(--color-bright-orange);border-color:var(--color-bright-orange)}.campaign-map-mech{margin-left:auto;pointer-events:all}.campaign-map-mech .campaign-extra-btn.loadout{min-height:30px;padding:3px 10px;font-size:10px;letter-spacing:1.5px;background:#1a0020e6}.mystery-body{flex:1 1 auto;display:flex;flex-direction:column;justify-content:center;gap:10px;width:min(1040px,100%);margin:0 auto;padding-bottom:6px}.mystery-flavor{padding:10px 14px;background:#00000059;border:1px solid rgba(178,102,255,.5);border-left:4px solid var(--color-soft-violet);font-size:clamp(12px,1.5vw,14px);line-height:1.5;color:var(--text-primary);font-style:italic}.mystery-banner{text-align:center;font-size:12px;letter-spacing:2px}.mystery-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px}.mystery-options.count-2{grid-template-columns:repeat(2,minmax(0,1fr))}.mystery-options.count-3{grid-template-columns:repeat(3,minmax(0,1fr))}.mystery-option{gap:6px;padding:10px 12px 12px}.mystery-option.risky{--card-color: var(--color-bright-orange)}.mystery-option.trade{--card-color: var(--color-info)}.mystery-option.safe{--card-color: var(--color-soft-violet)}.mystery-option.mine{border-color:var(--color-success);box-shadow:0 0 26px #00ffb359,inset 0 0 24px #00ffb314}.mystery-option:disabled{cursor:default;opacity:1;filter:none}.mystery-option-head{display:flex;justify-content:space-between;align-items:center;gap:8px;width:100%;font-size:10px;letter-spacing:2px}.mystery-option-kind{font-weight:700;color:var(--card-color);text-shadow:0 0 8px var(--card-color)}.mystery-option-odds{padding:1px 6px;border:1px solid var(--color-bright-orange);color:var(--color-bright-orange);white-space:nowrap}.mystery-option-label{font-weight:700;font-size:clamp(14px,1.7vw,17px);letter-spacing:2px}.mystery-option-desc{font-size:11px;line-height:1.5;color:var(--text-secondary)}.mystery-option-foot{margin-top:auto;padding-top:8px;border-top:1px solid rgba(255,94,220,.2);display:flex;justify-content:space-between;align-items:center;gap:8px;width:100%}.mystery-option-cost{font-size:11px;font-weight:700;letter-spacing:1.5px;color:var(--color-warning)}.mystery-option-cost.free{color:var(--text-secondary);font-weight:400}.mystery-option-cost.short{color:var(--color-danger)}.mystery-option-cta{padding:5px 14px;font-size:11px;font-weight:700;letter-spacing:2px;border:2px solid var(--card-color);color:var(--text-primary);background:#1a0020b3;transition:background .2s ease,color .2s ease}.mystery-option-cta.picked{border-color:var(--color-success);background:var(--color-success);color:var(--bg-dark)}@media (hover: hover) and (pointer: fine){.mystery-option:hover:not(:disabled) .mystery-option-cta:not(.picked){background:var(--card-color);color:var(--bg-dark)}}.mystery-option-votes{display:flex;flex-wrap:wrap;gap:4px}.mystery-option-votes em{font-style:normal;font-size:10px;letter-spacing:1.5px;padding:1px 6px;border:1px solid var(--color-warning);color:var(--color-warning)}.mystery-option-votes em.me{border-color:var(--color-success);color:var(--color-success)}.mystery-result{display:flex;flex-direction:column;align-items:center;gap:10px;padding:6px 0}.mystery-chosen{display:flex;flex-direction:column;align-items:center;font-size:10px;letter-spacing:3px;color:var(--text-secondary)}.mystery-chosen b{margin-top:3px;font-size:clamp(14px,2.2vw,20px);letter-spacing:3px;color:var(--color-bright-orange);text-shadow:0 0 10px var(--color-bright-orange)}.mystery-die-wrap{display:flex;flex-direction:column;align-items:center;gap:6px}.mystery-die{width:76px;height:76px;display:grid;grid-template-columns:repeat(3,1fr);padding:8px;box-sizing:border-box;background:linear-gradient(145deg,#fff7e6,#c9b6e4);border:3px solid var(--text-primary);box-shadow:0 0 20px #ff5edc99,inset -4px -4px #0000002e}.mystery-die .pip{width:100%;height:100%}.mystery-die .pip.on{background:radial-gradient(circle,#1A0020 48%,transparent 52%)}.mystery-die-wrap.rolling .mystery-die{animation:mystery-tumble .22s linear infinite}.mystery-die-wrap.win .mystery-die{border-color:var(--color-success);box-shadow:0 0 28px var(--color-success);animation:mystery-land .45s cubic-bezier(.22,1.6,.36,1) both}.mystery-die-wrap.lose .mystery-die{border-color:var(--color-danger);box-shadow:0 0 28px var(--color-danger);animation:mystery-land .45s cubic-bezier(.22,1.6,.36,1) both}@keyframes mystery-tumble{0%{transform:rotate(0) translateY(0) scale(1)}25%{transform:rotate(90deg) translateY(-14px) scale(1.08)}50%{transform:rotate(180deg) translateY(0) scale(1)}75%{transform:rotate(270deg) translateY(-10px) scale(1.05)}to{transform:rotate(360deg) translateY(0) scale(1)}}@keyframes mystery-land{0%{transform:scale(1.5) rotate(-12deg)}to{transform:scale(1) rotate(0)}}.mystery-die-caption{font-size:10px;letter-spacing:2px;color:var(--text-secondary)}.mystery-outcomes{width:min(640px,100%);display:flex;flex-direction:column;gap:5px;animation:campaign-card-in .3s ease both}.mystery-verdict{text-align:center;font-weight:700;font-size:clamp(16px,3vw,24px);letter-spacing:6px}.mystery-verdict.win{color:var(--color-success);text-shadow:0 0 14px var(--color-success)}.mystery-verdict.lose{color:var(--color-danger);text-shadow:0 0 14px var(--color-danger)}.mystery-outcome{display:flex;justify-content:space-between;gap:10px;padding:7px 10px;border:1px solid rgba(178,102,255,.4);background:#0000004d;font-size:11px}.mystery-outcome.me{border-color:var(--color-info)}.mystery-outcome-name{font-weight:700;letter-spacing:1.5px;white-space:nowrap}.mystery-outcome-lines{text-align:right;color:var(--text-secondary)}.mystery-fight{text-align:center;font-size:11px;letter-spacing:3px;color:var(--color-danger);animation:campaign-blink 1.2s ease-in-out infinite}.campaign-deploy{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:min(980px,96vw);max-height:86vh;max-height:86dvh;overflow-y:auto;pointer-events:all;z-index:300;animation:campaign-deploy-in .42s cubic-bezier(.22,1,.36,1) both}@keyframes campaign-deploy-in{0%{opacity:0;transform:translate(-50%,-46%) scale(.97)}to{opacity:1;transform:translate(-50%,-50%)}}.campaign-deploy-panel{display:flex;flex-direction:column;gap:10px;padding:clamp(10px,2vh,18px) clamp(12px,2vw,22px);border-width:3px;box-shadow:var(--shadow-electric-pink-strong),inset 0 0 30px #ff5edc1a}.campaign-deploy-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap}.campaign-deploy-cash{display:flex;flex-direction:column;align-items:flex-end;gap:2px;color:var(--color-success);font-size:clamp(11px,1.5vw,14px);letter-spacing:1px;text-shadow:0 0 8px rgba(0,255,179,.6)}.campaign-deploy-body{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(220px,1fr);gap:14px;align-items:start}.campaign-deploy-enemy{display:flex;flex-direction:column;gap:8px;min-width:0}.campaign-wave{display:flex;flex-direction:column;gap:4px}.campaign-wave-row{display:flex;align-items:center;gap:8px;font-size:clamp(10px,1.3vw,12px);letter-spacing:1px}.campaign-army-icon{flex-shrink:0;image-rendering:pixelated}.campaign-army-count{color:var(--color-success);font-weight:700}.campaign-army-name{color:var(--text-secondary)}.campaign-army-empty{color:var(--color-danger);letter-spacing:2px;font-size:12px}.campaign-boss-card{display:flex;gap:12px;align-items:center;padding:8px 10px;border:2px solid var(--color-danger);background:#1a0020b3;box-shadow:0 0 16px #ff174459,inset 0 0 16px #ff17441f}.campaign-boss-card img{filter:drop-shadow(0 0 10px rgba(255,23,68,.6))}.campaign-boss-name{color:var(--color-danger);font-weight:700;letter-spacing:3px;font-size:clamp(13px,1.8vw,17px);text-shadow:0 0 10px var(--color-danger)}.campaign-boss-ability{color:var(--color-warning);font-size:10px;letter-spacing:2px;margin-top:2px}.campaign-boss-blurb{color:var(--text-secondary);font-size:10px;line-height:1.4;margin-top:4px}.campaign-boss-hp{color:var(--text-primary);font-size:10px;letter-spacing:1px;margin-top:4px}.campaign-battle-sub{color:var(--text-secondary);font-size:.75em;letter-spacing:1px}.campaign-battle-shield{height:4px;width:100%;margin-top:3px;background:#00000080;border:1px solid var(--color-info)}.campaign-battle-shield>div{height:100%;background:var(--color-info);box-shadow:0 0 8px var(--color-info);transition:width .3s ease-out}.boss-hp-bar-fill.down{background:#5c477a}@media (max-width: 900px){.campaign-deploy-body{grid-template-columns:1fr}}@media (max-width: 640px){.campaign-style-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.campaign-boot-grid.count-5,.campaign-boot-grid.count-3{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.mystery-options.count-2,.mystery-options.count-3{grid-template-columns:1fr}}@media (max-height: 520px){.campaign-screen:after{height:26%}.campaign-chip{min-width:60px;min-height:34px;padding:2px 8px;gap:1px}.campaign-chip.hull{min-width:110px}.campaign-panel{padding:6px 8px}.campaign-map-frame{min-height:120px}.campaign-shop-grid{gap:6px}.campaign-reward-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.campaign-rest-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.campaign-rest-card{padding:8px 10px 10px;gap:4px}.campaign-rest-card-glyph{width:36px;height:36px;font-size:18px;margin-top:0}.campaign-rest-glyph{width:56px;height:56px;font-size:28px}.campaign-deploy{max-height:96dvh}.campaign-deploy-panel{gap:6px}.campaign-deploy-body{gap:8px}}@media (max-height: 430px){.campaign-screen{gap:5px;padding-top:5px}.campaign-top{padding-bottom:4px}.campaign-title{font-size:15px;letter-spacing:2px}.campaign-subtitle{font-size:10px;letter-spacing:1px;margin-top:1px}.campaign-chips{gap:4px}.campaign-chip{padding:2px 6px;min-height:30px}.campaign-chip-label{font-size:10px;letter-spacing:1px}.campaign-chip-value{font-size:12px}.campaign-chip-bar{height:5px}.campaign-prompt-main{font-size:15px;letter-spacing:3px}.campaign-prompt-sub{font-size:10px;margin-top:2px}.campaign-single{gap:5px;padding-bottom:4px}.campaign-odds{display:none}.campaign-hint{font-size:10px;letter-spacing:1px}.campaign-actionbar{flex-wrap:nowrap;gap:8px;padding-top:4px;padding-bottom:max(4px,env(safe-area-inset-bottom))}.campaign-actionbar-row{flex-wrap:nowrap;gap:6px}.campaign-actionbar .campaign-extra-btn{flex:0 1 auto;min-width:0;min-height:34px;padding:4px 10px;font-size:10px;letter-spacing:1px}.campaign-actionbar .campaign-extra-btn.loadout{min-width:120px}.campaign-actionbar .campaign-primary-btn{flex:0 1 300px;min-width:160px;min-height:34px;padding:4px 10px;font-size:11px;letter-spacing:2px}.campaign-actionbar>.campaign-primary-btn{flex:1 1 auto;max-width:420px}.campaign-actionbar>.campaign-hint,.campaign-actionbar-row>.campaign-hint{font-size:10px}.campaign-extra-cost{font-size:10px}.campaign-loadout-slots{display:none}.campaign-extra-btn.loadout img{height:18px!important}.campaign-squad.compact{flex:0 0 auto;flex-wrap:nowrap;gap:6px}.campaign-squad.compact .campaign-squad-row{flex:0 0 auto;gap:3px}.campaign-squad.compact .campaign-squad-sprite{width:20px}.campaign-squad.compact .campaign-squad-sprite img{height:20px!important}.campaign-squad.compact .campaign-squad-body{width:44px;gap:1px}.campaign-squad.compact .campaign-squad-name,.campaign-squad.compact .campaign-squad-hp{display:none}.campaign-squad.compact .campaign-squad-bar{height:5px}.campaign-style-grid{gap:6px}.campaign-style-card{padding:4px 8px 8px;gap:2px}.campaign-style-card img{height:96px!important;margin-top:0}.campaign-style-blurb{display:none}.campaign-style-name{font-size:12px;letter-spacing:2px}.campaign-paint-row{padding-top:0;gap:6px}.campaign-paint-label{min-width:0;font-size:10px}.campaign-paint{width:30px;height:30px}.campaign-paint>span{width:12px;height:12px}.campaign-shop-grid{grid-template-columns:repeat(auto-fill,minmax(185px,1fr));gap:6px}.campaign-boot-grid.count-5{grid-template-columns:repeat(5,minmax(0,1fr))}.campaign-boot-grid.count-3{grid-template-columns:repeat(3,minmax(0,1fr));max-width:none}.campaign-reward-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.campaign-shop-section{gap:4px}.campaign-rest-card-value{font-size:15px}.campaign-rest-card-desc{font-size:10px;max-width:none}.campaign-rest-card-cta{padding:5px 12px;font-size:11px}.campaign-map-frame{min-height:120px;margin-bottom:4px}.campaign-map-wrap{padding:26px 0 24px}.campaign-map-cta{top:3px;padding:2px 10px;font-size:10px;letter-spacing:1.5px}.campaign-map-legend{gap:2px 8px;padding:2px 8px}.campaign-map-mech .campaign-extra-btn.loadout{min-height:24px;padding:1px 8px}.mystery-body{gap:6px}.mystery-flavor{padding:6px 10px;font-size:11px}.mystery-option{padding:7px 10px 9px;gap:3px}.mystery-option-label{font-size:13px}.mystery-option-desc{font-size:10px;line-height:1.4}.mystery-option-foot{padding-top:5px}.mystery-option-cta{padding:3px 10px;font-size:10px}.mystery-die{width:54px;height:54px;padding:6px}.mystery-result{gap:5px;padding:2px 0}.mystery-outcome{padding:4px 8px;font-size:10px}}@media (prefers-reduced-motion: reduce){.campaign-screen,.campaign-card,.campaign-deploy{animation:none}}.campaign-intro{position:absolute;inset:0;z-index:320;overflow:hidden;pointer-events:all;font-family:Courier New,monospace;color:var(--text-primary);background:var(--sky-top);animation:intro-fade-in .5s ease both}@keyframes intro-fade-in{0%{opacity:0}to{opacity:1}}.intro-sky{position:absolute;inset:0 0 42%;background:linear-gradient(180deg,var(--sky-top) 0%,var(--sky-mid) 55%,var(--sky-hz) 100%)}.intro-sky:after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg,rgba(0,0,0,.12) 0 1px,transparent 1px 3px);pointer-events:none}.intro-skyline{position:absolute;left:0;width:200%;height:32%;bottom:42%;animation:intro-parallax linear infinite}.intro-skyline.far{fill:color-mix(in srgb,var(--sky-mid) 70%,#000);opacity:.9;height:36%;animation-duration:40s}.intro-skyline.near{fill:color-mix(in srgb,var(--ground) 80%,#000);animation-duration:18s}.stage-encounter .intro-skyline,.stage-reply .intro-skyline{animation-play-state:paused}@keyframes intro-parallax{0%{transform:translate(0)}to{transform:translate(-50%)}}.intro-ground{position:absolute;left:0;right:0;bottom:0;height:42%;background:linear-gradient(0deg,transparent 0 1px,color-mix(in srgb,var(--accent) 25%,transparent) 1px 2px,transparent 2px) 0 0 / 100% 22px,linear-gradient(180deg,var(--sky-hz),var(--ground) 18%,var(--ground))}.intro-road{position:absolute;left:50%;bottom:0;width:70%;height:100%;transform:translate(-50%);clip-path:polygon(44% 0,56% 0,100% 100%,0 100%);background:var(--road);overflow:hidden}.intro-road-line{position:absolute;left:50%;top:0;width:4px;height:200%;transform:translate(-50%);background:repeating-linear-gradient(180deg,var(--accent) 0 18px,transparent 18px 44px);opacity:.7;animation:intro-road .9s linear infinite}.stage-encounter .intro-road-line,.stage-reply .intro-road-line{animation-play-state:paused}@keyframes intro-road{0%{transform:translate(-50%) translateY(-44px)}to{transform:translate(-50%) translateY(0)}}.intro-actors{position:absolute;left:0;right:0;bottom:31%;height:40%;display:flex;justify-content:space-between;align-items:flex-end;padding:0 6%;pointer-events:none}.intro-squad,.intro-enemies{display:flex;align-items:flex-end;gap:10px}.intro-walker{display:flex;flex-direction:column;align-items:center;gap:4px;animation:intro-walk-in 2.4s cubic-bezier(.2,.8,.3,1) both;animation-delay:calc(var(--i, 0) * .18s)}.intro-walker img{filter:drop-shadow(0 0 10px rgba(0,229,255,.5));animation:intro-bob .5s ease-in-out infinite}.stage-encounter .intro-walker img,.stage-reply .intro-walker img{animation:none}.intro-walker-name{font-size:10px;letter-spacing:2px;color:var(--color-info);text-shadow:0 0 6px var(--color-info)}@keyframes intro-walk-in{0%{transform:translate(-60vw);opacity:0}30%{opacity:1}to{transform:translate(0);opacity:1}}@keyframes intro-bob{0%,to{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-5px) rotate(1deg)}}.intro-enemy,.intro-boss{opacity:0}.stage-encounter .intro-enemy,.stage-reply .intro-enemy{animation:intro-enemy-in .7s cubic-bezier(.2,.8,.3,1) both;animation-delay:calc(var(--i, 0) * 90ms)}.stage-encounter .intro-boss,.stage-reply .intro-boss{animation:intro-boss-in 1.1s cubic-bezier(.2,.8,.3,1) both}.intro-enemy img{filter:drop-shadow(0 0 6px rgba(255,153,51,.6))}.intro-boss img{filter:drop-shadow(0 0 16px rgba(255,23,68,.7))}@keyframes intro-enemy-in{0%{transform:translate(50vw);opacity:0}to{transform:translate(0);opacity:1}}@keyframes intro-boss-in{0%{transform:translate(50vw) translateY(0);opacity:0}60%{transform:translate(0) translateY(-10px);opacity:1}75%{transform:translate(0) translateY(0)}85%{transform:translate(0) translateY(-4px)}to{transform:translate(0) translateY(0);opacity:1}}.intro-title{position:absolute;top:clamp(10px,4vh,28px);left:0;right:0;text-align:center;pointer-events:none;animation:intro-title-in .9s ease both;animation-delay:.3s}@keyframes intro-title-in{0%{opacity:0;transform:translateY(-10px);letter-spacing:12px}to{opacity:1;transform:none}}.intro-floor{font-size:clamp(10px,1.5vw,13px);letter-spacing:4px;color:var(--accent);text-shadow:0 0 10px var(--accent)}.intro-place{font-size:clamp(20px,4vw,40px);font-weight:700;letter-spacing:clamp(3px,.8vw,8px);color:var(--text-primary);text-shadow:0 0 20px var(--accent),0 0 40px var(--accent)}.intro-dialog-stack{position:absolute;left:0;right:0;bottom:clamp(64px,13vh,104px);display:flex;flex-direction:column;align-items:center;gap:8px;padding:0 12px;pointer-events:none}.intro-dialog{--dlg: var(--color-danger);--dlg-rgb: 255, 23, 68;position:relative;width:min(760px,100%);display:flex;gap:14px;align-items:center;padding:16px 16px 14px;box-sizing:border-box;background:linear-gradient(180deg,#1e002af0,#14001ef7);border:2px solid var(--dlg);box-shadow:0 0 26px rgba(var(--dlg-rgb),.4),inset 0 0 28px rgba(var(--dlg-rgb),.08);animation:intro-dialog-in .26s cubic-bezier(.22,1,.36,1) both}@keyframes intro-dialog-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.intro-speaker-tab{position:absolute;top:-13px;left:14px;display:flex;align-items:stretch;gap:0;font-size:11px;letter-spacing:2px;line-height:1}.intro-speaker-tab.pilot{left:auto;right:14px;flex-direction:row-reverse}.intro-speaker{padding:6px 12px;font-weight:700;background:var(--dlg);color:var(--bg-dark);box-shadow:0 0 12px rgba(var(--dlg-rgb),.6);white-space:nowrap}.intro-speaker-role{padding:6px 8px;background:#1a0020f2;border:1px solid var(--dlg);color:var(--dlg);font-size:10px;letter-spacing:2px;display:flex;align-items:center}.intro-avatar{width:clamp(60px,9vw,80px);height:clamp(60px,9vw,80px);object-fit:cover;border:2px solid var(--dlg);box-shadow:0 0 12px rgba(var(--dlg-rgb),.6);image-rendering:pixelated;flex-shrink:0}.intro-dialog-body{min-width:0;flex:1}.intro-line{font-size:clamp(13px,1.7vw,16px);line-height:1.5;letter-spacing:.5px;min-height:3em}.intro-dialog-next{position:absolute;right:10px;bottom:4px;font-size:12px;color:var(--dlg);animation:intro-next .9s ease-in-out infinite}@keyframes intro-next{0%,to{transform:translateY(0);opacity:.9}50%{transform:translateY(3px);opacity:.5}}.intro-dialog.pilot{--dlg: var(--color-info);--dlg-rgb: 0, 229, 255;flex-direction:row-reverse}.intro-avatar.pilot{display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 50% 60%,#00e5ff40,#1a0020e6 70%);overflow:hidden}.intro-avatar.pilot img{filter:drop-shadow(0 0 6px rgba(0,229,255,.6))}.intro-dialog.pilot.compact{padding:12px 12px 10px;gap:10px}.intro-dialog.pilot.compact .intro-avatar{width:46px;height:46px}.intro-dialog.pilot.compact .intro-line{min-height:0;font-size:clamp(12px,1.4vw,14px)}.intro-dialog.pilot.me{box-shadow:0 0 30px #00e5ff8c,inset 0 0 24px #00e5ff1f}.intro-actions{position:absolute;left:0;right:0;bottom:clamp(12px,3vh,24px);display:flex;justify-content:center;padding-left:100px;pointer-events:none}.intro-actions>*{pointer-events:all}.intro-skip{min-height:36px;background:#1a0020bf;border:1px solid rgba(255,247,230,.45);color:var(--text-primary);font-family:Courier New,monospace;font-size:11px;letter-spacing:2px;padding:6px 16px;cursor:pointer;transition:border-color .2s ease,color .2s ease}@media (hover: hover) and (pointer: fine){.intro-skip:hover{border-color:var(--color-bright-orange);color:var(--color-bright-orange)}}.intro-engage{min-width:260px;animation:glow-pulse 1.4s ease-in-out infinite}.intro-engage.waiting{background:var(--bg-panel);color:var(--color-warning);border-color:var(--color-warning);cursor:default;display:flex;align-items:center;justify-content:center;animation:glow-pulse 1.4s ease-in-out infinite}@media (max-height: 520px){.intro-actors{bottom:36%;height:34%}.intro-walker img{height:80px!important}.intro-boss img{height:100px!important}.intro-dialog-stack{bottom:52px;gap:5px}.intro-dialog{padding:12px 12px 10px;gap:10px}.intro-line{min-height:2.4em;font-size:13px}.intro-title{top:6px}}@media (max-height: 430px){.intro-dialog-stack{bottom:46px}.intro-dialog{width:min(720px,100%);padding:10px 12px 8px}.intro-avatar{width:52px;height:52px}.intro-dialog.pilot.compact .intro-avatar{width:36px;height:36px}.intro-speaker-tab{top:-11px;font-size:10px;letter-spacing:1.5px}.intro-speaker{padding:5px 10px}.intro-speaker-role{padding:4px 6px;font-size:10px}.intro-line{font-size:12px;min-height:2.2em}.intro-actions{bottom:8px}.intro-engage{min-height:34px;min-width:220px;padding:4px 14px;font-size:12px}.intro-skip{min-height:30px;padding:4px 12px;font-size:10px}.intro-place{font-size:20px}}@media (prefers-reduced-motion: reduce){.intro-skyline,.intro-road-line,.intro-walker img{animation:none}}.skillcheck-backdrop{position:absolute;inset:0;z-index:900;display:flex;align-items:center;justify-content:center;padding:12px;background:radial-gradient(ellipse at center,#1a00208c,#1a0020e6);cursor:pointer;user-select:none;-webkit-user-select:none;touch-action:manipulation}.skillcheck-panel{width:min(600px,100%);max-height:100%;overflow:hidden;padding:12px 20px 16px;box-sizing:border-box;background:var(--gradient-panel);border:3px solid var(--border-primary);box-shadow:var(--shadow-electric-pink-strong),inset 0 0 30px #ff5edc1a;font-family:Courier New,monospace;color:var(--text-primary);text-align:center;display:flex;flex-direction:column;align-items:center;gap:8px;animation:campaign-card-in .22s ease both}.skillcheck-kicker{width:100%;display:flex;justify-content:space-between;align-items:center;font-size:10px;letter-spacing:3px;color:var(--text-secondary)}.skillcheck-clock{font-weight:700;color:var(--text-primary);letter-spacing:1px;font-variant-numeric:tabular-nums}.skillcheck-clock.low{color:var(--color-danger);text-shadow:0 0 8px var(--color-danger);animation:campaign-blink .5s steps(2) infinite}.skillcheck-timer{width:100%;height:3px;background:#00000080;border:1px solid rgba(255,94,220,.3)}.skillcheck-timer>span{display:block;height:100%;background:var(--color-electric-pink);box-shadow:0 0 6px var(--color-electric-pink);transition:width 1s linear}.skillcheck-steps{display:flex;gap:8px;margin-top:2px}.skillcheck-steps span{display:inline-flex;align-items:center;gap:6px;padding:2px 10px 2px 2px;border:1px solid rgba(178,102,255,.5);font-size:10px;letter-spacing:2px;color:var(--text-secondary)}.skillcheck-steps span b{width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;background:#b266ff40;font-size:10px}.skillcheck-steps span.active{border-color:var(--color-bright-orange);color:var(--color-bright-orange);box-shadow:0 0 10px #f936}.skillcheck-steps span.active b{background:var(--color-bright-orange);color:var(--bg-dark)}.skillcheck-steps span.done{border-color:var(--color-success);color:var(--color-success)}.skillcheck-steps span.done b{background:var(--color-success);color:var(--bg-dark)}.skillcheck-title{color:var(--color-bright-orange);font-weight:700;font-size:clamp(18px,3vw,26px);letter-spacing:clamp(4px,.9vw,7px);text-shadow:0 0 16px var(--color-bright-orange),0 0 32px var(--color-electric-pink);animation:campaign-title-glow 3s ease-in-out infinite}.skillcheck-track{position:relative;background:#0009;border:2px solid var(--border-secondary);box-shadow:inset 0 0 14px #ff5edc40;overflow:hidden;background-image:repeating-linear-gradient(90deg,transparent 0 calc(10% - 1px),rgba(255,94,220,.14) calc(10% - 1px) 10%)}.skillcheck-track.h{width:100%;height:52px}.skillcheck-track.v{width:52px;height:clamp(140px,36vh,220px);background-image:repeating-linear-gradient(0deg,transparent 0 calc(10% - 1px),rgba(255,94,220,.14) calc(10% - 1px) 10%)}.skillcheck-zone{position:absolute;pointer-events:none}.skillcheck-zone.good{background:#00e5ff47;border:1px solid rgba(0,229,255,.7)}.skillcheck-zone.perfect{background:#00ffb399;box-shadow:0 0 12px var(--color-success)}.skillcheck-track.h .skillcheck-zone{top:0;bottom:0;left:calc((var(--c) - var(--w) / 2) * 100%);width:calc(var(--w) * 100%)}.skillcheck-track.v .skillcheck-zone{left:0;right:0;bottom:calc((var(--c) - var(--w) / 2) * 100%);height:calc(var(--w) * 100%)}.skillcheck-needle{--pos: 0;position:absolute;background:var(--text-glow);box-shadow:0 0 10px var(--color-electric-pink),0 0 20px var(--color-electric-pink);pointer-events:none}.skillcheck-track.h .skillcheck-needle{top:-2px;bottom:-2px;width:4px;left:calc(var(--pos) * 100%);transform:translate(-50%)}.skillcheck-track.v .skillcheck-needle{left:-2px;right:-2px;height:4px;bottom:calc(var(--pos) * 100%);transform:translateY(50%)}.skillcheck-needle.locked{animation:skillcheck-lock .3s ease-out}.skillcheck-needle.locked.perfect{background:var(--color-success);box-shadow:0 0 14px var(--color-success),0 0 28px var(--color-success)}.skillcheck-needle.locked.good{background:var(--color-info);box-shadow:0 0 14px var(--color-info)}.skillcheck-needle.locked.miss{background:var(--color-danger);box-shadow:0 0 14px var(--color-danger)}@keyframes skillcheck-lock{0%{filter:brightness(3)}to{filter:brightness(1)}}.skillcheck-hint{font-size:12px;letter-spacing:2px;color:var(--text-primary);animation:campaign-blink 1.4s ease-in-out infinite}.skillcheck-verdict{font-weight:700;font-size:clamp(16px,2.4vw,22px);letter-spacing:4px;animation:campaign-card-in .18s ease both}.skillcheck-verdict.perfect,.skillcheck-result.perfect b,.skillcheck-total.up{color:var(--color-success);text-shadow:0 0 12px var(--color-success)}.skillcheck-verdict.good,.skillcheck-result.good b{color:var(--color-info);text-shadow:0 0 12px var(--color-info)}.skillcheck-verdict.miss,.skillcheck-result.miss b,.skillcheck-total.down{color:var(--color-danger);text-shadow:0 0 12px var(--color-danger)}.skillcheck-legend{display:flex;flex-wrap:wrap;justify-content:center;gap:4px 8px;font-size:10px;letter-spacing:1.5px}.skillcheck-legend span{padding:2px 8px;border:1px solid;white-space:nowrap}.skillcheck-legend .perfect{color:var(--color-success);border-color:#00ffb399;background:#00ffb31f}.skillcheck-legend .good{color:var(--color-info);border-color:#00e5ff99;background:#00e5ff1a}.skillcheck-legend .miss{color:var(--color-danger);border-color:#ff174499}.skillcheck-results{display:flex;gap:10px;width:100%}.skillcheck-result{flex:1;display:flex;flex-direction:column;gap:3px;padding:10px 8px;border:2px solid var(--border-secondary);background:#00000059;font-size:10px;letter-spacing:2px;color:var(--text-secondary)}.skillcheck-result b{font-size:17px;letter-spacing:3px}.skillcheck-result i{font-style:normal;color:var(--text-primary);font-size:11px}.skillcheck-result.perfect{border-color:var(--color-success)}.skillcheck-result.good{border-color:var(--color-info)}.skillcheck-result.miss{border-color:var(--color-danger)}.skillcheck-total{font-weight:700;font-size:clamp(11px,1.6vw,13px);letter-spacing:3px;color:var(--text-secondary)}.skillcheck-squad{width:100%;display:flex;flex-direction:column;gap:3px;font-size:10px;letter-spacing:2px}.skillcheck-squad-row{display:flex;justify-content:space-between;padding:4px 8px;border:1px solid rgba(255,94,220,.3);color:var(--text-secondary)}.skillcheck-squad-row.done{color:var(--text-primary);border-color:var(--color-success)}@media (max-height: 430px){.skillcheck-panel{padding:6px 14px 10px;gap:5px;width:min(640px,100%)}.skillcheck-kicker{font-size:10px;letter-spacing:2px}.skillcheck-steps{margin-top:0}.skillcheck-title{font-size:17px;letter-spacing:4px}.skillcheck-track.h{height:40px}.skillcheck-track.v{height:110px;width:40px}.skillcheck-hint{font-size:11px}.skillcheck-results{gap:6px}.skillcheck-result{padding:4px 6px}.skillcheck-result b{font-size:14px}}.cutscene{position:fixed;inset:0;z-index:450;display:flex;align-items:center;justify-content:center;padding:16px;background:radial-gradient(ellipse at 50% 50%,#400060bf,#1a0020eb);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);font-family:Courier New,monospace;color:var(--text-primary);cursor:pointer;animation:cutscene-in .26s ease both}@keyframes cutscene-in{0%{opacity:0}to{opacity:1}}.cutscene-panel{--card-color: var(--color-electric-pink);position:relative;width:min(420px,94vw);padding:18px 22px 16px;display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center;background:var(--gradient-panel);border:3px solid var(--card-color);box-shadow:0 0 40px var(--card-color),inset 0 0 30px #ff5edc1a;animation:cutscene-panel-in .42s cubic-bezier(.22,1,.36,1) both}.cutscene-panel.wide{width:min(560px,94vw)}@keyframes cutscene-panel-in{0%{opacity:0;transform:scale(.85) translateY(20px)}to{opacity:1;transform:none}}.cutscene-kicker{font-size:clamp(11px,1.6vw,14px);letter-spacing:5px;color:var(--card-color);text-shadow:0 0 12px var(--card-color);animation:cutscene-kicker .6s ease both}@keyframes cutscene-kicker{0%{letter-spacing:14px;opacity:0}to{letter-spacing:5px;opacity:1}}.cutscene-item{display:flex;flex-direction:column;align-items:center;gap:8px}.cutscene-icon,.cutscene-mech{position:relative;display:flex;align-items:center;justify-content:center;padding:10px}.cutscene-icon{animation:cutscene-pop .7s cubic-bezier(.2,1.4,.4,1) both}@keyframes cutscene-pop{0%{transform:scale(.4)}70%{transform:scale(1.15)}to{transform:scale(1)}}.cutscene-name{font-size:clamp(18px,3vw,26px);font-weight:700;letter-spacing:3px;text-shadow:0 0 14px var(--card-color)}.cutscene-sub{font-size:clamp(10px,1.4vw,12px);letter-spacing:2px;color:var(--text-secondary)}.cutscene-levels{display:flex;align-items:center;gap:14px;font-weight:700;font-size:clamp(22px,4vw,34px);letter-spacing:2px}.cutscene-level.old{color:var(--text-secondary);animation:cutscene-old .9s ease both;animation-delay:.5s}.cutscene-level.new{color:var(--card-color);text-shadow:0 0 18px var(--card-color);animation:cutscene-new .7s cubic-bezier(.2,1.4,.4,1) both;animation-delay:.9s}.cutscene-arrow{color:var(--color-bright-orange);animation:cutscene-fade .4s ease both;animation-delay:.7s}@keyframes cutscene-old{0%{opacity:1;transform:none}to{opacity:.4;transform:scale(.85)}}@keyframes cutscene-new{0%{opacity:0;transform:translateY(-26px) scale(1.6)}60%{opacity:1;transform:translateY(4px) scale(1.1)}to{opacity:1;transform:none}}@keyframes cutscene-fade{0%{opacity:0}to{opacity:1}}.cutscene-pips{display:flex;gap:6px}.cutscene-pips span{width:14px;height:14px;background:#ffffff1a;border:1px solid rgba(255,255,255,.25)}.cutscene-pips span.lit{animation:cutscene-pip .5s cubic-bezier(.2,1.4,.4,1) both;animation-delay:calc(1s + var(--i, 0) * .18s)}@keyframes cutscene-pip{0%{transform:scale(.3);filter:brightness(3)}to{transform:scale(1);filter:none}}.cutscene-lines{display:flex;flex-direction:column;gap:4px;width:100%;font-size:clamp(11px,1.4vw,13px);letter-spacing:.5px}.cutscene-line{display:flex;flex-direction:column;animation:cutscene-fade .4s ease both;animation-delay:calc(1.3s + var(--i, 0) * .16s)}.cutscene-line-old{color:var(--text-secondary);text-decoration:line-through;font-size:.85em}.cutscene-line-new{color:var(--text-primary)}.cutscene-line-new:before{content:"▸ ";color:var(--card-color)}.cutscene-sparks{position:absolute;inset:0;pointer-events:none}.cutscene-sparks span{position:absolute;left:50%;top:50%;width:5px;height:5px;margin:-2px;opacity:0;animation:cutscene-spark var(--t, 1s) ease-out both;animation-delay:.5s}@keyframes cutscene-spark{0%{opacity:1;transform:rotate(var(--a)) translate(0) scale(1.2)}to{opacity:0;transform:rotate(var(--a)) translate(var(--d)) scale(.2)}}.cutscene-equip-stage{position:relative;display:flex;align-items:center;justify-content:center;gap:40px;width:100%}.cutscene-flyer{animation:cutscene-fly 1.1s cubic-bezier(.4,0,.2,1) both;animation-delay:.3s;filter:drop-shadow(0 0 10px var(--card-color))}@keyframes cutscene-fly{0%{transform:translate(0) scale(1.3);opacity:1}80%{transform:translate(150px) scale(.5);opacity:1}to{transform:translate(170px) scale(.2);opacity:0}}.cutscene-mech img{filter:drop-shadow(0 0 12px var(--card-color));animation:cutscene-mech-flash .6s ease both;animation-delay:1.3s}@keyframes cutscene-mech-flash{0%,to{filter:drop-shadow(0 0 12px var(--card-color))}50%{filter:drop-shadow(0 0 30px var(--card-color)) brightness(2.2)}}.cutscene-equip .cutscene-sparks span{animation-delay:1.3s}.cutscene-mech.heal img{animation:cutscene-heal-glow 1.2s ease-in-out infinite}@keyframes cutscene-heal-glow{0%,to{filter:drop-shadow(0 0 10px #00FFB3)}50%{filter:drop-shadow(0 0 26px #00FFB3) brightness(1.3)}}.cutscene-drone{position:absolute;left:50%;top:50%;width:9px;height:9px;background:#00ffb3;box-shadow:0 0 10px #00ffb3;animation:cutscene-orbit 1.6s linear infinite}.cutscene-drone.d2{animation-delay:-.55s}.cutscene-drone.d3{animation-delay:-1.1s}@keyframes cutscene-orbit{0%{transform:rotate(0) translate(90px) rotate(0)}to{transform:rotate(360deg) translate(90px) rotate(-360deg)}}.cutscene-heal .cutscene-sparks span{animation-iteration-count:infinite;animation-delay:calc(var(--t) * .5)}.cutscene-hull{width:100%}.cutscene-hull-label{display:flex;justify-content:space-between;font-size:11px;letter-spacing:2px;color:#00ffb3;margin-bottom:4px}.cutscene-hull-bar{height:14px;background:#0009;border:2px solid #00FFB3;box-shadow:0 0 12px #00ffb366}.cutscene-hull-bar>div{height:100%;background:linear-gradient(90deg,#00FFB3,var(--color-info));box-shadow:0 0 10px #00ffb3}.cutscene-tap{position:absolute;bottom:clamp(10px,3vh,20px);left:0;right:0;text-align:center;font-size:11px;letter-spacing:3px;color:var(--text-primary);opacity:.8;animation:campaign-blink 1.6s ease-in-out infinite}.cutscene-panel:before,.cutscene-panel:after{content:"";position:absolute;width:14px;height:14px;border:2px solid var(--card-color);pointer-events:none}.cutscene-panel:before{top:-3px;left:-3px;border-right:0;border-bottom:0}.cutscene-panel:after{bottom:-3px;right:-3px;border-left:0;border-top:0}@media (max-height: 520px){.cutscene-panel{padding:10px 14px;gap:6px}.cutscene-mech img{height:110px!important}.cutscene-levels{font-size:22px}}.levelup-backdrop{position:fixed;inset:0;z-index:1150;display:flex;align-items:center;justify-content:center;padding:10px;background:radial-gradient(ellipse at center,#00e5ff1f,#1a0020f0 70%);animation:campaign-card-in .26s ease both}.levelup-panel{width:min(720px,100%);max-height:100%;overflow-y:auto;padding:12px 18px 0;box-sizing:border-box;display:flex;flex-direction:column;align-items:center;gap:8px;background:var(--gradient-panel);border:3px solid var(--color-info);box-shadow:0 0 40px #00e5ff73,inset 0 0 30px #00e5ff14;font-family:Courier New,monospace;color:var(--text-primary);text-align:center;scrollbar-width:thin;scrollbar-color:var(--color-info) transparent}.levelup-panel:after{content:"";flex:none;height:8px}.levelup-kicker{font-size:10px;letter-spacing:3px;color:var(--text-secondary)}.levelup-bar{width:100%;height:12px;background:#0000008c;border:1px solid rgba(0,229,255,.6)}.levelup-bar>span{display:block;height:100%;background:linear-gradient(90deg,#0097A7,var(--color-info),var(--text-primary));box-shadow:0 0 12px var(--color-info);transition:width 1.15s cubic-bezier(.22,1,.36,1)}.levelup-bar-text{font-size:10px;letter-spacing:2px;color:var(--color-info)}.levelup-stage{position:relative;width:100%;min-height:clamp(70px,18vh,120px);display:flex;align-items:center;justify-content:center}.levelup-stage .cutscene-sparks{left:50%;top:50%}.levelup-level{display:flex;flex-direction:column;align-items:center;line-height:1;opacity:.35;transform:scale(.8);transition:opacity .3s,transform .3s}.levelup-level span{font-size:11px;letter-spacing:6px;color:var(--text-secondary)}.levelup-level b{font-size:clamp(44px,12vh,84px);letter-spacing:4px;color:var(--color-info);text-shadow:0 0 20px var(--color-info),0 0 50px rgba(0,229,255,.6)}.phase-slam .levelup-level,.phase-unlocks .levelup-level{opacity:1;transform:scale(1);animation:levelup-slam .55s cubic-bezier(.22,1.6,.36,1) both}@keyframes levelup-slam{0%{transform:scale(2.4);opacity:0;filter:blur(4px)}60%{transform:scale(.95);opacity:1;filter:blur(0)}to{transform:scale(1)}}.levelup-unlocks-title{font-weight:700;font-size:clamp(12px,2vw,16px);letter-spacing:4px;color:var(--color-bright-orange);text-shadow:0 0 12px var(--color-bright-orange);animation:campaign-card-in .3s ease both}.levelup-unlocks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;width:100%}.levelup-card{--card-color: var(--color-electric-pink);display:flex;flex-direction:column;align-items:center;gap:6px;padding:8px 10px 10px;background:linear-gradient(180deg,#2c0038e6,#1e002af2);border:2px solid rgba(178,102,255,.5);border-top:4px solid var(--card-color);box-shadow:0 0 16px color-mix(in srgb,var(--card-color) 35%,transparent);animation:levelup-card .42s cubic-bezier(.22,1,.36,1) both;animation-delay:calc(var(--i) * .14s)}@keyframes levelup-card{0%{opacity:0;transform:translateY(16px) scale(.92)}to{opacity:1;transform:none}}.levelup-card-head{display:flex;justify-content:space-between;align-items:center;width:100%;gap:4px;font-size:10px;letter-spacing:2px}.levelup-card .item-icon,.levelup-card .item-icon-glyph{margin:4px 0}.levelup-card-name{font-weight:700;letter-spacing:1px;font-size:13px}.levelup-card-blurb{font-size:10px;color:var(--text-secondary);line-height:1.35}.levelup-confirm{position:sticky;bottom:0;width:calc(100% + 36px);margin:4px -18px 0;border-left:0;border-right:0;border-bottom:0;animation:campaign-card-in .3s ease both;animation-delay:.16s}@media (max-height: 430px){.levelup-panel{padding:6px 12px 0;gap:4px}.levelup-kicker{font-size:10px;letter-spacing:2px}.levelup-stage{min-height:54px}.levelup-level b{font-size:40px}.levelup-card-blurb{display:none}.levelup-card{padding:5px 8px 7px;gap:3px}.levelup-card img{height:30px!important}.levelup-card .item-icon-glyph{width:30px!important;height:30px!important;font-size:14px}.levelup-card-name{font-size:11px}.levelup-confirm{width:calc(100% + 24px);margin:2px -12px 0;min-height:34px;padding:4px 10px;font-size:11px}}@media (max-width: 520px){.levelup-unlocks{grid-template-columns:1fr}}.phase-unlocks .levelup-stage{min-height:46px}.phase-unlocks .levelup-level b{font-size:clamp(30px,7vh,48px)}@media (max-height: 430px){.phase-unlocks .levelup-stage{min-height:30px}.phase-unlocks .levelup-level{flex-direction:row;gap:8px;align-items:baseline}.phase-unlocks .levelup-level b{font-size:24px}.phase-unlocks .levelup-bar,.phase-unlocks .levelup-bar-text{display:none}}.run-summary{width:min(960px,100%);margin:0 auto;padding:12px 16px 24px;display:flex;flex-direction:column;gap:12px;font-family:Courier New,monospace;color:var(--text-primary)}.run-summary-head{text-align:center}.run-summary-head h1{margin:0;font-size:clamp(26px,5vw,44px);letter-spacing:clamp(5px,1.2vw,10px);color:var(--color-bright-orange);text-shadow:0 0 20px var(--color-bright-orange),0 0 40px var(--color-electric-pink);animation:campaign-title-glow 3s ease-in-out infinite}.run-summary-head h1.lost{color:var(--color-danger);text-shadow:0 0 20px var(--color-danger),0 0 40px rgba(255,23,68,.5)}.run-summary-sub{margin-top:4px;font-size:clamp(10px,1.5vw,13px);letter-spacing:3px;color:var(--text-secondary)}.run-summary-wait{text-align:center;letter-spacing:3px;color:var(--text-secondary);animation:campaign-blink 1.4s ease-in-out infinite}.run-summary-chips{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}.run-chip{display:flex;flex-direction:column;align-items:center;min-width:84px;padding:6px 10px;background:var(--gradient-panel);border:2px solid var(--border-secondary);font-size:10px;letter-spacing:2px;color:var(--text-secondary)}.run-chip b{font-size:15px;letter-spacing:2px;color:var(--text-primary)}.run-chip.good b{color:var(--color-success);text-shadow:0 0 8px var(--color-success)}.run-chip.bad b{color:var(--color-danger)}.run-summary-section{color:var(--color-electric-pink);font-size:11px;letter-spacing:4px;text-shadow:0 0 8px var(--color-electric-pink);border-bottom:1px solid rgba(255,94,220,.35);padding-bottom:4px;margin-bottom:6px}.run-summary-empty{font-size:10px;letter-spacing:2px;color:var(--text-secondary)}.run-summary-squad{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:10px}.pilot-report{display:flex;flex-direction:column;gap:8px;padding:10px 12px;background:var(--gradient-panel);border:2px solid var(--border-secondary);box-shadow:var(--shadow-electric-pink);animation:campaign-card-in .26s ease both}.pilot-report.me{border-color:var(--color-bright-orange);box-shadow:var(--shadow-combined)}.pilot-report-top{display:flex;gap:12px;align-items:center}.pilot-report-sprite{flex:none;width:100px;height:100px;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 50% 60%,#ff5edc33,#1a0020e6 70%);border:1px solid rgba(255,94,220,.35)}.pilot-report-sprite img{animation:mech-hover 2.6s ease-in-out infinite}.pilot-report-id{min-width:0}.pilot-report-name{font-weight:700;letter-spacing:3px;color:var(--color-bright-orange);text-shadow:0 0 8px var(--color-bright-orange)}.pilot-report-chassis{font-size:10px;letter-spacing:2px;color:var(--text-secondary);margin-top:2px}.pilot-report-score{margin-top:6px;font-size:20px;font-weight:700;letter-spacing:2px;color:var(--text-glow);text-shadow:0 0 10px var(--color-electric-pink)}.pilot-report-score span{font-size:10px;color:var(--text-secondary)}.pilot-report-score em{display:inline-block;margin-left:8px;padding:1px 6px;font-style:normal;font-size:10px;letter-spacing:2px;color:var(--color-success);border:1px solid var(--color-success);text-shadow:0 0 6px var(--color-success);vertical-align:middle}.pilot-report-bars{display:flex;flex-direction:column;gap:5px}.run-bar-head{display:flex;justify-content:space-between;font-size:10px;letter-spacing:2px;color:var(--text-secondary)}.run-bar-head b{color:var(--text-primary)}.run-bar-track{height:8px;margin-top:2px;background:#00000080;border:1px solid rgba(255,94,220,.35)}.run-bar-track span{display:block;height:100%;transition:width 1.1s cubic-bezier(.22,1,.36,1)}.run-bar.dealt .run-bar-track span{background:linear-gradient(90deg,var(--color-bright-orange),var(--color-electric-pink));box-shadow:0 0 8px var(--color-bright-orange)}.run-bar.taken .run-bar-track span{background:linear-gradient(90deg,#7A2030,var(--color-danger));box-shadow:0 0 8px var(--color-danger)}.run-bar.hull .run-bar-track span{background:linear-gradient(90deg,#0097A7,var(--color-info));box-shadow:0 0 8px var(--color-info)}.pilot-report-build-head{display:flex;justify-content:space-between;flex-wrap:wrap;gap:4px 10px;font-size:10px;letter-spacing:2px;color:var(--text-secondary);margin-bottom:4px}.pilot-report-items{display:flex;flex-wrap:wrap;gap:4px}.pilot-report-item{display:inline-flex;align-items:center;gap:5px;padding:2px 6px 2px 2px;border:1px solid var(--card-color);background:#00000059;font-size:10px}.pilot-report-item i{font-style:normal;color:var(--card-color)}.pilot-report-xp{padding:6px 8px;border:1px solid rgba(0,229,255,.4);background:#0000004d}.pilot-report-xp.levelled{border-color:var(--color-success);box-shadow:0 0 14px #00ffb359}.pilot-report-xp-head{display:flex;justify-content:space-between;font-size:10px;letter-spacing:2px;color:var(--text-secondary)}.pilot-report-xp-head b{color:var(--color-info);font-size:13px}.pilot-report-xp-head em{font-style:normal;color:var(--color-success);text-shadow:0 0 8px var(--color-success);animation:campaign-blink 1s ease-in-out infinite}.pilot-report-xp-bar{height:10px;margin:4px 0 2px;background:#00000080;border:1px solid rgba(0,229,255,.5)}.pilot-report-xp-bar span{display:block;height:100%;background:linear-gradient(90deg,#0097A7,var(--color-info));box-shadow:0 0 10px var(--color-info);transition:width 1.4s cubic-bezier(.22,1,.36,1)}.pilot-report-xp-foot{font-size:10px;letter-spacing:1.5px;color:var(--text-secondary)}.pilot-report-unlocks{display:flex;flex-wrap:wrap;align-items:center;gap:5px;margin-top:6px;font-size:10px;letter-spacing:2px;color:var(--color-success)}.pilot-report-unlock{display:inline-flex;align-items:center;gap:4px;padding:2px 6px 2px 2px;border:1px solid var(--card-color);color:var(--text-primary);letter-spacing:.5px;font-size:10px}.run-scores-table{display:flex;flex-direction:column;gap:2px}.run-scores-row{display:grid;grid-template-columns:34px 1fr 90px 44px 48px;gap:6px;padding:4px 8px;font-size:11px;letter-spacing:1px;border:1px solid rgba(255,94,220,.25);color:var(--text-secondary)}.run-scores-row .run-scores-name{color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.run-scores-row span:nth-child(3){text-align:right;color:var(--text-primary)}.run-scores-row .good{color:var(--color-success)}.run-scores-row.top-1{border-color:var(--color-bright-orange)}.run-scores-row.top-2{border-color:var(--color-electric-pink)}.run-scores-row.top-3{border-color:var(--color-soft-violet)}.run-scores-row.me{background:#00e5ff1f;border-color:var(--color-info)}.run-summary-actions{position:sticky;bottom:0;z-index:2;display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin:6px -16px -24px;padding:10px 16px;padding-bottom:max(12px,env(safe-area-inset-bottom));border-top:2px solid var(--border-primary);background:linear-gradient(180deg,#1a0020e6,#1a0020fa);box-shadow:0 -8px 24px #1a0020cc;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.run-summary-actions .campaign-primary-btn{min-width:260px}.run-summary-actions .campaign-extra-btn{min-width:200px;justify-content:center}.run-chip{min-height:46px;justify-content:center;gap:3px}.run-chip span{font-size:10px}.run-scores-row{align-items:center;min-height:30px}.run-scores-row span:first-child{color:var(--text-secondary)}.run-scores-row span:nth-child(4){text-align:center;color:var(--color-info)}.run-scores-row span:nth-child(5){text-align:right}@media (max-height: 430px){.run-summary{padding:6px 10px 14px;gap:8px}.run-summary-head h1{font-size:22px;letter-spacing:5px}.run-summary-sub{font-size:10px;letter-spacing:2px}.run-chip{min-width:70px;min-height:40px;padding:3px 8px}.run-chip b{font-size:13px}.pilot-report{padding:8px 10px;gap:6px}.pilot-report-sprite{width:70px;height:70px}.pilot-report-sprite img{height:64px!important}.pilot-report-score{font-size:17px;margin-top:3px}.run-summary-actions{margin:4px -10px -14px;padding:6px 10px;padding-bottom:max(6px,env(safe-area-inset-bottom));gap:8px}.run-summary-actions .campaign-primary-btn,.run-summary-actions .campaign-extra-btn{min-height:34px;padding:4px 12px;font-size:11px;min-width:180px}}.screen-enter{animation:screen-enter .24s var(--ease-out, cubic-bezier(.22, 1, .36, 1)) both}@keyframes screen-enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.screen-wipe{position:fixed;inset:0;z-index:4000;pointer-events:none;background:repeating-linear-gradient(0deg,rgba(255,94,220,.1) 0 1px,transparent 1px 3px),linear-gradient(90deg,transparent 0%,rgba(255,94,220,.45) 40%,rgba(255,153,51,.6) 50%,rgba(255,94,220,.45) 60%,transparent 100%);background-size:100% 100%,40% 100%;background-repeat:repeat,no-repeat;background-position:0 0,-50% 0;mix-blend-mode:screen;animation:screen-wipe .38s cubic-bezier(.4,0,.2,1) both}@keyframes screen-wipe{0%{background-position:0 0,-60% 0;opacity:1}75%{opacity:1}to{background-position:0 0,160% 0;opacity:0}}@media (prefers-reduced-motion: reduce){.screen-enter{animation-duration:1ms}.screen-wipe{display:none}}.game-world{width:100%;height:var(--screen-h);position:relative;background:var(--bg-dark);overflow:hidden;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.game-world input,.game-world textarea{-webkit-user-select:text;user-select:text}.settings-backdrop{position:fixed;inset:0;z-index:1200;background:#1a0020d1;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:settings-fade .18s ease both}@keyframes settings-fade{0%{opacity:0}to{opacity:1}}.settings-panel{position:fixed;z-index:1201;inset:0;margin:auto;height:fit-content;width:min(460px,calc(100vw - 2 * var(--sp-4)));max-height:calc(var(--screen-h) - 2 * var(--sp-3));overflow-y:auto;display:flex;flex-direction:column;gap:var(--sp-3);padding:var(--sp-4) var(--sp-5) var(--sp-3);animation:settings-in .22s var(--ease-out) both}@keyframes settings-in{0%{opacity:0;transform:translateY(10px) scale(.985)}to{opacity:1;transform:none}}.settings-head{display:flex;justify-content:space-between;align-items:center;gap:var(--sp-3)}.settings-heading{display:flex;flex-direction:column;gap:3px;min-width:0}.settings-title{margin:0;color:var(--color-bright-orange);font-size:var(--fs-display);line-height:1;letter-spacing:var(--ls-display);text-shadow:0 0 16px rgba(255,153,51,.7)}.settings-heading span{font-size:var(--fs-label);letter-spacing:var(--ls-label);color:var(--text-secondary)}.settings-close{font-size:14px}.settings-body{display:flex;flex-direction:column;gap:var(--sp-2)}.settings-body>.ui-section-title{margin-top:var(--sp-2)}.settings-body>.ui-section-title:first-child{margin-top:0}.settings-row{display:flex;gap:var(--sp-2);flex-wrap:wrap}.settings-btn{flex:1 1 140px}.settings-slider{display:flex;flex-direction:column;gap:var(--sp-1);padding-top:var(--sp-1)}.settings-slider>span{display:flex;justify-content:space-between;font-size:var(--fs-label);letter-spacing:var(--ls-label);color:var(--text-secondary)}.settings-slider b{color:var(--text-primary)}.settings-slider input[type=range]{--v: 50%;-webkit-appearance:none;appearance:none;width:100%;height:28px;margin:0;background:transparent;cursor:pointer}.settings-slider input[type=range]:focus{outline:none}.settings-slider input[type=range]:focus-visible::-webkit-slider-thumb{outline:2px solid var(--color-info);outline-offset:2px}.settings-slider input[type=range]::-webkit-slider-runnable-track{height:6px;background:linear-gradient(90deg,var(--color-electric-pink) var(--v),rgba(255,94,220,.16) var(--v));border:1px solid var(--line-strong);box-shadow:inset 0 0 6px #00000080}.settings-slider input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:16px;height:16px;margin-top:-6px;background:var(--text-glow);border:2px solid var(--color-electric-pink);box-shadow:0 0 10px var(--color-electric-pink);transition:box-shadow var(--dur) ease}.settings-slider input[type=range]:hover::-webkit-slider-thumb{box-shadow:0 0 16px var(--color-electric-pink),0 0 28px #f936}.settings-slider input[type=range]::-moz-range-track{height:6px;background:#ff5edc29;border:1px solid var(--line-strong)}.settings-slider input[type=range]::-moz-range-progress{height:6px;background:var(--color-electric-pink)}.settings-slider input[type=range]::-moz-range-thumb{width:12px;height:12px;border-radius:0;background:var(--text-glow);border:2px solid var(--color-electric-pink);box-shadow:0 0 10px var(--color-electric-pink)}.settings-hint{font-size:var(--fs-label);letter-spacing:.06em;line-height:1.5;color:var(--text-secondary);opacity:.85}.settings-foot{padding-top:var(--sp-2);border-top:1px solid var(--line);text-align:right;font-size:var(--fs-label);letter-spacing:var(--ls-label);color:var(--text-secondary);opacity:.6}@media (hover: none){.settings-foot{display:none}}.global-menu-btn{position:fixed;top:calc(8px + var(--safe-top));right:calc(8px + var(--safe-right));z-index:1100;width:var(--tap);height:var(--tap);display:flex;align-items:center;justify-content:center;padding:0;background:var(--surface-0);border:1px solid var(--line-strong);border-radius:0;color:var(--color-electric-pink);font-size:20px;line-height:1;cursor:pointer;box-shadow:var(--glow-soft);transition:transform var(--dur) var(--ease-out),box-shadow var(--dur) ease,border-color var(--dur) ease,color var(--dur) ease}.global-menu-btn:hover:not(:disabled){transform:rotate(30deg);border-color:var(--color-bright-orange);color:var(--color-bright-orange);box-shadow:var(--shadow-combined)}.global-menu-btn:active{transform:rotate(30deg) scale(.94)}@media (max-height: 430px){.global-menu-btn{font-size:17px;top:calc(4px + var(--safe-top));right:calc(4px + var(--safe-right))}.settings-panel{padding:var(--sp-3) var(--sp-4) var(--sp-2);gap:var(--sp-2)}.settings-slider input[type=range]{height:24px}}.orientation-gate{position:fixed;inset:0;z-index:5000;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--sp-4);padding:var(--sp-5);background:radial-gradient(ellipse 80% 50% at 50% 100%,rgba(255,94,220,.14),transparent 70%),var(--bg-dark);color:var(--text-primary);font-family:var(--font-mono);text-align:center}.orientation-gate-logo{width:min(220px,60vw);height:auto;margin-bottom:var(--sp-5);filter:drop-shadow(0 0 16px rgba(255,94,220,.5))}.orientation-gate-phone{display:flex;align-items:flex-end;justify-content:center;width:44px;height:76px;padding-bottom:6px;border:3px solid var(--color-electric-pink);box-shadow:0 0 18px #ff5edc99,inset 0 0 12px #ff5edc33;animation:orientation-gate-rotate 2.6s var(--ease-out) infinite}.orientation-gate-phone i{width:14px;height:2px;background:var(--color-electric-pink)}@keyframes orientation-gate-rotate{0%,25%{transform:rotate(0)}55%,85%{transform:rotate(90deg)}to{transform:rotate(0)}}.orientation-gate-title{font-size:var(--fs-title);font-weight:700;letter-spacing:var(--ls-display);color:var(--color-electric-pink);text-shadow:0 0 12px rgba(255,94,220,.8)}.orientation-gate-text{font-size:var(--fs-label);letter-spacing:var(--ls-label);line-height:1.6;color:var(--text-secondary)}@media (prefers-reduced-motion: reduce){.orientation-gate-phone{animation:none;transform:rotate(90deg)}}*{margin:0;padding:0;box-sizing:border-box}.app{width:100%;min-height:100%;padding:var(--safe-top) var(--safe-right) var(--safe-bottom) var(--safe-left)}@media (max-height: 430px){.music-controls{bottom:calc(6px + var(--safe-bottom))!important;left:calc(8px + var(--safe-left))!important;gap:4px!important;transform:scale(.72);transform-origin:bottom left;opacity:.85}}.install-prompt-overlay{position:fixed;inset:0;z-index:10000;display:flex;align-items:center;justify-content:center;padding:var(--sp-4);background:#1a0020e6;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.install-prompt{width:min(400px,100%);display:flex;flex-direction:column;gap:var(--sp-3);font-family:var(--font-mono);animation:ui-rise .26s var(--ease-out) both}.install-prompt-head{display:flex;justify-content:space-between;align-items:center;gap:var(--sp-3)}.install-prompt-title{font-size:var(--fs-title);font-weight:700;letter-spacing:var(--ls-title);color:var(--color-bright-orange);text-shadow:0 0 14px rgba(255,153,51,.7)}.install-prompt-text{font-size:var(--fs-body);line-height:1.6;letter-spacing:var(--ls-body);color:var(--text-primary)}.install-prompt-steps{display:flex;flex-direction:column;gap:var(--sp-2);padding:var(--sp-3);background:var(--surface-0);border:1px solid var(--line);font-size:var(--fs-body);line-height:1.5;color:var(--text-primary)}.install-prompt-steps b{color:var(--color-info)}.install-prompt-steps em{font-style:normal;color:var(--color-info);text-shadow:0 0 8px var(--color-info)}
