@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../fonts/Inter-Variable.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Orbitron;font-style:normal;font-weight:400 900;font-display:swap;src:url(../fonts/Orbitron-Variable.woff2) format("woff2")}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400 700;font-display:swap;src:url(../fonts/JetBrainsMono-Variable.woff2) format("woff2")}:root{--color-bg-primary: #07070c;--color-bg-secondary: #0a0c14;--color-bg-tertiary: #141620;--color-bg-panel: rgba(7, 7, 12, .6);--color-bg-panel-solid: rgba(20, 22, 32, .85);--color-bg-overlay: rgba(7, 7, 12, .92);--color-bg-card: rgba(24, 26, 38, .95);--color-bg-card-end: rgba(14, 16, 26, .95);--color-bg-input: #181a26;--color-border: #2a2e44;--color-border-subtle: #1a1e30;--color-border-focus: #5fcfff;--color-text-primary: #d6d6e0;--color-text-secondary: #9da1b4;--color-text-tertiary: #8a8e9e;--color-text-muted: #6a6e80;--color-text-accent: #f5e455;--color-text-cyan: #5fcfff;--color-text-danger: #ff5060;--color-text-success: #7fd86b;--color-text-warning: #ff8030;--color-hp: #ff3050;--color-hp-glow: rgba(255, 48, 80, .5);--color-shield: #5fcfff;--color-shield-glow: rgba(95, 207, 255, .4);--color-energy: #f5e455;--color-scrap: #f5e455;--color-dps: #f5e455;--color-fire: #ff6030;--color-cold: #5fcfff;--color-lightning: #f5e455;--color-void: #b46dff;--color-corrosive: #ff8030;--color-kinetic: #9da1b4;--rarity-common: #cfd3dd;--rarity-uncommon: #7fd86b;--rarity-rare: #5fcfff;--rarity-epic: #b46dff;--rarity-legendary: #ffb43d;--color-btn-primary: #5fcfff;--color-btn-danger: #ff6080;--color-btn-text: #07070c;--font-ui: "Inter", "Segoe UI", Roboto, system-ui, sans-serif;--font-display: "Orbitron", "Inter", system-ui, sans-serif;--font-mono: "JetBrains Mono", "SF Mono", "Cascadia Code", monospace;--text-scale: 1;--text-2xs: calc(clamp(8px, 2vw, 9px) * var(--text-scale));--text-xs: calc(clamp(10px, 2.4vw, 11px) * var(--text-scale));--text-sm: calc(clamp(11px, 2.8vw, 13px) * var(--text-scale));--text-base: calc(clamp(12px, 3vw, 14px) * var(--text-scale));--text-lg: calc(clamp(14px, 3.5vw, 18px) * var(--text-scale));--text-xl: calc(clamp(18px, 4.5vw, 24px) * var(--text-scale));--text-2xl: calc(clamp(22px, 5.5vw, 36px) * var(--text-scale));--text-3xl: calc(clamp(28px, 7vw, 48px) * var(--text-scale));--space-0: 0px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--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);--touch-min: 44px;--touch-comfortable: 48px;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-pill: 999px;--shadow-card: 0 4px 16px rgba(0, 0, 0, .3);--shadow-card-hover: 0 8px 32px rgba(0, 0, 0, .5);--shadow-panel: 0 2px 8px rgba(0, 0, 0, .4);--shadow-glow: 0 0 20px;--transition-fast: 80ms;--transition-normal: .15s;--transition-slow: .3s;--transition-overlay: .25s;--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--ease-out-expo: cubic-bezier(.16, 1, .3, 1);--ease-out-quart: cubic-bezier(.25, 1, .5, 1);--ease-in-out: cubic-bezier(.4, 0, .2, 1);--hud-opacity: 1;--hud-scale: 1}:root.high-contrast{--color-text-primary: #ffffff;--color-text-secondary: #c0c4d0;--color-text-tertiary: #a0a4b4;--color-text-muted: #8a8e9e;--color-border: #3a3e54}@media(prefers-reduced-motion:reduce){:root{--transition-fast: 1ms;--transition-normal: 1ms;--transition-slow: 1ms;--transition-overlay: 1ms}}:root.reduce-motion{--transition-fast: 1ms;--transition-normal: 1ms;--transition-slow: 1ms;--transition-overlay: 1ms}:root.reduce-motion *,:root.reduce-motion *:before,:root.reduce-motion *:after{animation-duration:1ms!important;animation-iteration-count:1!important;transition-duration:1ms!important}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--color-bg-primary, #07070c);color:var(--color-text-primary, #d6d6e0);font-family:var(--font-ui, "Segoe UI", Roboto, system-ui, sans-serif);overflow:hidden;overscroll-behavior:none;-webkit-overflow-scrolling:touch}body{display:flex;align-items:center;justify-content:center;width:100vw;height:100vh;height:100dvh}#app,#game,#ui,#touch-controls{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}#app{position:relative;width:932px;height:430px;flex-shrink:0;overflow:hidden;container-type:size;container-name:app}#game{position:absolute;inset:0}#ui{position:absolute;inset:0;pointer-events:none}#ui>*{pointer-events:auto}.no-scrollbar{scrollbar-width:none;-ms-overflow-style:none}.no-scrollbar::-webkit-scrollbar{display:none}.touchable{transition:transform var(--transition-fast, 80ms) var(--ease-spring);-webkit-tap-highlight-color:transparent;touch-action:manipulation;cursor:pointer}.touchable:active{transform:scale(.95)}.btn-reset{border:none;background:none;color:inherit;font:inherit;cursor:pointer;padding:0;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.hidden{display:none!important}.text-mono{font-family:var(--font-mono)}.text-display{font-family:var(--font-display)}.text-accent{color:var(--color-text-accent)}.text-cyan{color:var(--color-text-cyan)}.text-uppercase{text-transform:uppercase;letter-spacing:.08em}.slot-tooltip{position:fixed;z-index:10000;background:linear-gradient(180deg,#141620fa,#0a0c14fa);border:1px solid var(--tt-color, var(--color-border, #2a2e44));border-left:3px solid var(--tt-color, var(--color-text-cyan, #5fcfff));border-radius:var(--radius-md, 8px);padding:var(--space-3, 12px);pointer-events:none;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 8px 32px #0009,0 0 12px color-mix(in srgb,var(--tt-color, #5fcfff) 20%,transparent);animation:tt-fade-in .12s ease-out}@keyframes tt-fade-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.slot-tooltip .tt-header{display:flex;align-items:center;gap:var(--space-2, 8px);margin-bottom:2px}.slot-tooltip .tt-cat{font-size:var(--text-2xs, 9px);font-family:var(--font-display, system-ui);text-transform:uppercase;letter-spacing:.12em;color:var(--color-text-tertiary, #8a8e9e)}.slot-tooltip .tt-name{font-size:var(--text-sm, 13px);font-family:var(--font-display, system-ui);font-weight:700;color:var(--tt-color, var(--color-text-cyan, #5fcfff));margin-bottom:var(--space-1, 4px)}.slot-tooltip .tt-desc{font-size:var(--text-xs, 11px);color:var(--color-text-secondary, #9da1b4);line-height:1.4;margin-bottom:var(--space-2, 8px)}.slot-tooltip .tt-stats{display:flex;flex-direction:column;gap:3px;border-top:1px solid var(--color-border, #2a2e44);padding-top:var(--space-2, 8px)}.slot-tooltip .tt-stat{display:flex;justify-content:space-between;font-size:var(--text-xs, 11px)}.slot-tooltip .tt-key{color:var(--color-text-tertiary, #8a8e9e)}.slot-tooltip .tt-val{color:var(--color-text-primary, #d6d6e0);font-family:var(--font-mono, monospace);font-weight:600}.generic-tooltip{position:fixed;z-index:10000;background:#10121cf5;border:1px solid var(--color-border, #2a2e44);border-radius:var(--radius-md, 8px);padding:10px 16px;font-size:20px;color:var(--color-text-primary, #d6d6e0);pointer-events:none;font-family:var(--font-ui, system-ui);max-width:320px;text-align:center;line-height:1.4;white-space:pre-line;box-shadow:0 4px 16px #00000080;animation:tt-fade-in .12s ease-out}.confirm-dialog-backdrop{position:fixed;inset:0;z-index:99999;background:#000000b3;display:flex;align-items:center;justify-content:center;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.confirm-dialog{background:var(--color-bg-primary, #0a0c14);border:1.5px solid var(--color-border, rgba(255,255,255,.12));border-radius:var(--radius-lg, 12px);padding:var(--space-6, 24px) var(--space-8, 32px);max-width:340px;text-align:center;box-shadow:0 8px 32px #0009}.confirm-msg{font-family:var(--font-ui);font-size:var(--text-sm, 14px);color:var(--color-text-primary, #d6d6e0);line-height:1.5;margin-bottom:var(--space-5, 20px)}.confirm-actions{display:flex;gap:var(--space-3, 12px);justify-content:center}.confirm-btn{padding:var(--space-2, 8px) var(--space-6, 24px);border-radius:var(--radius-md, 8px);font-family:var(--font-ui);font-size:var(--text-sm, 14px);font-weight:600;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;min-height:var(--touch-min, 44px);touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:background .15s,border-color .15s}.confirm-cancel{background:transparent;border:1.5px solid var(--color-border, rgba(255,255,255,.12));color:var(--color-text-secondary, #8a8e9e)}.confirm-cancel:hover{border-color:var(--color-text-secondary, #8a8e9e);color:#fff}.confirm-ok{background:#ff505026;border:1.5px solid #ff5050;color:#ff5050}.confirm-ok:hover{background:#ff50504d;color:#fff}:focus-visible{outline:2px solid var(--color-border-focus);outline-offset:2px}:focus:not(:focus-visible){outline:none}.cs-summary-elbar{display:flex;gap:1px;width:100%;height:6px;margin:2px 0 4px}.cs-summary-elbar-inline{display:inline-flex;width:80px;vertical-align:middle;margin:0 6px 0 0}.cs-summary-elbar-seg{height:100%;border-radius:2px}.hud-root{position:absolute;inset:0;pointer-events:none;font-family:var(--font-ui);color:var(--color-text-primary);opacity:var(--hud-opacity, 1);transform:scale(var(--hud-scale, 1));transform-origin:center center}.hud-root.hidden{display:none}.hud-auto-show{opacity:1;transform:translateY(0);transition:opacity var(--transition-slow) var(--ease-out-quart),transform var(--transition-slow) var(--ease-out-quart)}.hud-auto-hide{opacity:0;transform:translateY(8px);pointer-events:none!important;transition:opacity var(--transition-slow) var(--ease-out-quart),transform var(--transition-slow) var(--ease-out-quart)}.hud-top{position:absolute;top:var(--safe-top);left:50%;transform:translate(-50%);background:var(--color-bg-panel);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-2) var(--space-4);display:flex;flex-direction:column;align-items:center;gap:var(--space-1);font-size:var(--text-sm);letter-spacing:.05em;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);contain:layout style}.hud-top-stats{display:flex;gap:var(--space-6)}.hud-top-xp{display:flex;align-items:center;gap:var(--space-2)}.hud-top-xp .level-badge{min-width:24px;height:24px;padding:0 4px;border-radius:12px;background:var(--color-text-accent);color:var(--color-bg-primary);font-family:var(--font-mono);font-weight:700;display:flex;align-items:center;justify-content:center;font-size:var(--text-xs);line-height:1;flex-shrink:0}.hud-top-xp .xp-bar{width:120px;height:5px;background:var(--color-bg-input);border-radius:var(--radius-sm);overflow:hidden}.hud-top-xp .xp-bar .fill{height:100%;background:linear-gradient(90deg,var(--color-text-success),var(--color-text-accent));transition:width var(--transition-overlay)}.hud-top .stat{display:flex;flex-direction:column;align-items:center}.hud-top .stat .label{font-size:var(--text-2xs);color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.08em;font-family:var(--font-ui)}.hud-top .stat .val{font-size:var(--text-lg);font-weight:700;color:var(--color-text-accent);font-family:var(--font-mono);font-variant-numeric:tabular-nums;min-width:28px;text-align:center}.hud-bottom-left{position:absolute;bottom:var(--space-4);left:var(--space-4);background:var(--color-bg-panel);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);min-width:220px;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);contain:layout style paint}.hud-bottom-left .row{display:flex;align-items:center;gap:var(--space-3);margin-bottom:3px}.hud-bottom-left .row:last-child{margin-bottom:0}.hud-bottom-left .row .lbl{width:48px;font-size:var(--text-2xs);color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.06em;font-family:var(--font-display);text-align:right}.hud-bottom-left .bar{flex:1;height:16px;background:var(--color-bg-input);border-radius:var(--radius-pill);overflow:hidden;position:relative}.hud-bottom-left .bar .fill{height:100%;border-radius:var(--radius-pill);transition:width .1s;will-change:width}.hud-bottom-left .bar .bar-text{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:var(--text-2xs);font-weight:700;font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.9);pointer-events:none;white-space:nowrap}.bar.health .fill{background:linear-gradient(90deg,var(--color-hp),#ff5070)}.bar.shield .fill{background:linear-gradient(90deg,var(--color-shield),#7fdfff)}.bar.energy .fill{background:linear-gradient(90deg,var(--color-energy),#ffe866)}.bar.health.critical .fill{animation:hp-critical .8s ease-in-out infinite alternate}@keyframes hp-critical{0%{filter:brightness(1);box-shadow:0 0 8px var(--color-hp-glow)}to{filter:brightness(1.3);box-shadow:0 0 18px var(--color-hp-glow)}}.bar.health.damage-flash .fill{animation:hp-flash .15s ease-out}@keyframes hp-flash{0%{filter:brightness(2.5)}to{filter:brightness(1)}}.val.reaper-active{animation:reaper-pulse .8s ease-in-out infinite alternate;color:#bf40ff;text-shadow:0 0 8px #6a0dad}@keyframes reaper-pulse{0%{color:#bf40ff;text-shadow:0 0 8px #6a0dad}to{color:#ff2040;text-shadow:0 0 16px #ff2040}}.hud-bottom-right{position:absolute;bottom:var(--space-4);right:var(--space-4);background:var(--color-bg-panel);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);font-family:var(--font-mono);color:var(--color-text-primary);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);contain:layout style paint}.hud-bottom-right .dps{font-size:var(--text-xl);font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--color-dps);font-weight:700;min-width:60px;text-align:right}.hud-bottom-right .label{font-size:var(--text-2xs);color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.08em;font-family:var(--font-ui)}.hud-domination{position:absolute;bottom:calc(var(--safe-bottom) + var(--space-4));left:50%;transform:translate(-50%);background:var(--color-bg-panel);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:6px var(--space-3);display:flex;align-items:center;gap:var(--space-2);font-family:var(--font-ui);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.hud-domination.hidden{display:none}.hud-domination .lbl{font-size:var(--text-xs);letter-spacing:.14em;text-transform:uppercase;color:var(--color-energy);font-weight:700;font-family:var(--font-display)}.hud-domination .dom-bar{width:200px;height:8px;background:var(--color-bg-secondary);border-radius:var(--radius-sm);overflow:hidden;border:1px solid var(--color-border-subtle)}.hud-domination .dom-fill{height:100%;background:linear-gradient(90deg,#ff8030,var(--color-energy));border-radius:var(--radius-sm);transition:width .2s;will-change:width}.hud-domination .dom-fill.warning{animation:dom-pulse .6s ease-in-out infinite alternate}@keyframes dom-pulse{0%{filter:brightness(1)}to{filter:brightness(1.6) drop-shadow(0 0 6px var(--color-energy))}}.exit-btn{position:absolute;top:calc(var(--safe-top) + var(--space-4));right:calc(var(--safe-right) + var(--space-4));background:var(--color-bg-panel);border:1px solid var(--color-border);color:var(--color-text-primary);padding:6px 14px;border-radius:var(--radius-sm);cursor:pointer;pointer-events:auto;font-size:var(--text-sm);font-family:var(--font-ui);letter-spacing:.05em;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.exit-btn:hover{background:var(--color-border)}.speed-btn{position:fixed;right:calc(var(--safe-right) + var(--space-4));bottom:calc(var(--safe-bottom) + 80px);min-width:88px;background:var(--color-bg-panel);border:1px solid var(--color-border);color:var(--color-text-primary);padding:12px 20px;border-radius:var(--radius-sm);cursor:pointer;pointer-events:auto;font-size:var(--text-lg);font-family:var(--font-ui);font-weight:600;letter-spacing:.03em;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.speed-btn:hover{background:var(--color-border)}.postmission{--pm-accent: #5fcfff;--pm-accent-glow: rgba(95, 207, 255, .4);--pm-accent-dim: rgba(95, 207, 255, .12);position:absolute;inset:0;background:linear-gradient(180deg,#07070cf7,#040408fc);display:flex;flex-direction:column;align-items:center;pointer-events:auto;padding:calc(var(--safe-top) + var(--space-3)) calc(var(--safe-right) + var(--space-6)) calc(var(--safe-bottom) + var(--space-3)) calc(var(--safe-left) + var(--space-6));box-sizing:border-box;overflow-y:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;z-index:9000;animation:pm-overlay-in .4s var(--ease-out-expo) both}.postmission::-webkit-scrollbar{display:none}.postmission.hidden{display:none}.postmission.pm-death{--pm-accent: #ff5060;--pm-accent-glow: rgba(255, 48, 80, .45);--pm-accent-dim: rgba(255, 48, 80, .12)}.postmission:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 70% 80% at 50% 30%,var(--pm-accent-dim),transparent 70%);pointer-events:none;z-index:0}.postmission.pm-death:before{box-shadow:inset 0 0 140px #ff30500f}.postmission:after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(255,255,255,.012) 2px,rgba(255,255,255,.012) 4px);pointer-events:none;z-index:1}.postmission>*{position:relative;z-index:2}@keyframes pm-overlay-in{0%{opacity:0}to{opacity:1}}@keyframes pm-fade-down{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}@keyframes pm-fade-up{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes pm-pop{0%{opacity:0;transform:scale(.5)}60%{transform:scale(1.08)}to{opacity:1;transform:scale(1)}}@keyframes pm-slide-up{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes pm-glow-pulse{0%,to{text-shadow:0 0 40px var(--pm-accent-glow),0 0 80px var(--pm-accent-dim)}50%{text-shadow:0 0 60px var(--pm-accent-glow),0 0 120px var(--pm-accent-dim)}}.pm-splash{text-align:center;max-width:600px;width:100%;min-height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;flex-shrink:0}.pm-header{margin-bottom:var(--space-1)}.pm-title-tag{font-size:var(--text-2xs);font-family:var(--font-display);letter-spacing:.3em;text-transform:uppercase;color:var(--pm-accent);opacity:.6;animation:pm-fade-down .3s var(--ease-out-expo) both}.pm-title{font-size:var(--text-xl);font-family:var(--font-display);letter-spacing:.1em;text-transform:uppercase;color:var(--pm-accent);margin:0;text-shadow:0 0 32px var(--pm-accent-glow),0 0 80px var(--pm-accent-dim);animation:pm-pop .4s var(--ease-spring) both;animation-delay:80ms}.pm-death-recap{display:inline-flex;align-items:center;gap:var(--space-2);margin-top:var(--space-1);padding:2px var(--space-3);background:#ffffff0a;border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-pill);font-size:var(--text-xs);color:var(--color-text-secondary);animation:pm-fade-up .3s var(--ease-out-expo) both;animation-delay:.2s}.pm-death-recap .death-source{font-weight:700;color:var(--color-text-primary)}.pm-death-recap .death-dmg{color:var(--color-text-tertiary)}.pm-hero{margin:var(--space-2) 0 var(--space-1);animation:pm-pop .5s var(--ease-spring) both;animation-delay:.2s}.pm-hero-number{font-family:var(--font-mono);font-size:clamp(48px,12vw,80px);font-weight:700;color:#fff;line-height:1;text-shadow:0 0 40px var(--pm-accent-glow),0 0 80px var(--pm-accent-dim);animation:pm-glow-pulse 3s ease-in-out infinite}.pm-hero-label{font-family:var(--font-display);font-size:var(--text-xs);letter-spacing:.2em;text-transform:uppercase;color:var(--pm-accent);opacity:.7}.pm-credits-earned{display:flex;align-items:center;justify-content:center;gap:var(--space-1);animation:pm-pop .5s var(--ease-spring) both}.pm-credits-icon{font-size:var(--text-lg);color:var(--color-text-cyan)}.pm-credits-amount{font-family:var(--font-mono);font-size:var(--text-xl);font-weight:700;color:var(--color-text-cyan)}.pm-credits-label{font-family:var(--font-display);font-size:var(--text-xs);letter-spacing:.1em;text-transform:uppercase;color:var(--color-text-secondary)}.pm-unlock-banner{display:block;align-self:stretch;max-width:min(96vw,1100px);width:100%;margin:0 auto var(--space-2);padding:var(--space-1) var(--space-4);background:#ffb43d1a;border:1px solid rgba(255,180,61,.3);border-radius:var(--radius-md);color:var(--rarity-legendary);font-size:var(--text-sm);font-weight:700;text-align:center;line-height:1.45;animation:pm-fade-up .3s var(--ease-out-expo) both}.pm-unlock-tag{display:inline-block;padding:2px 8px;margin:2px 1px;border-radius:var(--radius-sm);background:#ffb43d0f;border:1px solid rgba(255,180,61,.15);cursor:pointer;pointer-events:auto}.pm-unlock-tag:hover{background:#ffb43d29}.pm-element-row{max-width:420px;margin:0 auto var(--space-2);animation:pm-fade-up .3s var(--ease-out-expo) both}.pm-element-bar{display:flex;height:10px;border-radius:var(--radius-pill);overflow:hidden;background:var(--color-bg-input)}.pm-element-bar .seg{height:100%}.pm-element-legend-inline{display:flex;justify-content:center;gap:var(--space-3);margin-top:4px;flex-wrap:wrap}.pm-element-legend-inline .el-item{display:inline-flex;align-items:center;gap:4px;font-size:var(--text-2xs)}.pm-element-legend-inline .el-dot{width:5px;height:5px;border-radius:50%;flex-shrink:0}.pm-element-legend-inline .el-val{font-family:var(--font-mono);font-weight:600;color:#fff}.pm-char-line{display:flex;align-items:center;justify-content:center;gap:8px;font-size:var(--text-sm);color:var(--color-text-secondary);margin-bottom:var(--space-2);animation:pm-fade-up .3s var(--ease-out-expo) both}.pm-char-dot{display:inline-block;width:12px;height:12px;border-radius:50%;flex-shrink:0}.pm-char-name{font-weight:700;color:#fff}.pm-char-passive{color:var(--color-text-muted);font-size:.85em;font-style:italic;max-width:480px;text-align:left;line-height:1.35}.pm-char-passive b{font-style:normal;color:var(--color-text-secondary);font-weight:700;margin-right:4px}.pm-stats-line{display:flex;justify-content:center;gap:var(--space-4);flex-wrap:wrap;font-size:var(--text-sm);color:var(--color-text-tertiary);margin-bottom:var(--space-1);animation:pm-fade-up .3s var(--ease-out-expo) both}.pm-stats-line .sv{font-family:var(--font-mono);font-weight:700;color:#fff}.pm-weapons-line{display:flex;justify-content:center;gap:var(--space-4);flex-wrap:wrap;font-size:var(--text-xs);color:var(--color-text-secondary);margin-bottom:var(--space-1);animation:pm-fade-up .3s var(--ease-out-expo) both}.pm-weapons-line .wname{color:var(--color-text-primary);font-weight:600}.pm-weapons-line .wdps{color:var(--pm-accent);font-family:var(--font-mono);font-weight:700}.pm-trinkets-inline{display:flex;justify-content:center;align-items:center;gap:var(--space-1);flex-wrap:wrap;margin-bottom:var(--space-2);animation:pm-fade-up .3s var(--ease-out-expo) both}.pm-trinkets-label{font-size:var(--text-2xs);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.08em;margin-right:var(--space-1);flex-shrink:0}.pm-synergies-inline{display:flex;justify-content:center;gap:var(--space-1);flex-wrap:wrap;margin-bottom:var(--space-2);animation:pm-fade-up .3s var(--ease-out-expo) both}.pm-synergy-badge{display:inline-flex;align-items:center;padding:1px var(--space-2);border-radius:var(--radius-pill);font-size:var(--text-2xs);font-weight:600;border:1px solid;background:#0000004d}.pm-footer{position:sticky;bottom:0;z-index:50;align-self:stretch;width:100%;box-sizing:border-box;display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:nowrap;margin-top:var(--space-2);padding:10px 12px calc(10px + env(safe-area-inset-bottom,0px));background:linear-gradient(180deg,#07070c00,#07070ceb 40%,#07070cfa);animation:pm-slide-up .3s var(--ease-out-expo) both}.pm-btn-primary{background:var(--pm-accent);color:var(--color-btn-text);border:none;border-radius:var(--radius-md);padding:var(--space-2) var(--space-8);font-size:var(--text-sm);font-weight:700;font-family:var(--font-display);letter-spacing:.1em;text-transform:uppercase;cursor:pointer;min-height:var(--touch-min);-webkit-tap-highlight-color:transparent;touch-action:manipulation;box-shadow:0 0 20px var(--pm-accent-glow);transition:transform var(--transition-fast) var(--ease-spring),filter var(--transition-fast),box-shadow var(--transition-normal)}.pm-btn-primary:hover{filter:brightness(1.15);box-shadow:0 0 32px var(--pm-accent-glow)}.pm-btn-primary:active{transform:scale(.95)}.pm-btn-secondary{background:transparent;color:var(--color-text-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-2) var(--space-5);font-size:var(--text-xs);font-weight:700;font-family:var(--font-display);letter-spacing:.1em;text-transform:uppercase;cursor:pointer;min-height:var(--touch-min);-webkit-tap-highlight-color:transparent;touch-action:manipulation;transition:transform var(--transition-fast) var(--ease-spring),border-color var(--transition-fast),color var(--transition-fast)}.pm-btn-secondary:hover{border-color:var(--color-text-cyan);color:var(--color-text-cyan)}.pm-btn-secondary:active{transform:scale(.95)}.pm-btn-secondary:disabled{opacity:.5;cursor:default}.pm-scroll-hint{margin-top:var(--space-2);font-size:var(--text-2xs);color:var(--color-text-muted);letter-spacing:.1em;text-transform:uppercase;animation:pm-fade-up .3s var(--ease-out-expo) both}.pm-details{width:100%;max-width:700px;padding-top:var(--space-6);display:flex;flex-direction:column;gap:var(--space-3)}.pm-card{background:linear-gradient(180deg,var(--color-bg-card),var(--color-bg-card-end));border:1px solid var(--color-border);border-left:3px solid var(--pm-accent);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);position:relative;overflow:hidden}.pm-card:before{content:"";position:absolute;top:0;left:0;right:0;height:40px;background:radial-gradient(ellipse at 50% 0%,var(--pm-accent-dim),transparent 80%);pointer-events:none}.pm-card-header{font-size:var(--text-xs);font-family:var(--font-display);letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-secondary);margin:0 0 var(--space-2) 0;padding-bottom:var(--space-2);border-bottom:1px solid var(--color-border-subtle);position:relative}.pm-card .line{display:flex;justify-content:space-between;align-items:baseline;font-size:var(--text-sm);padding:3px 0}.pm-card .line+.line{border-top:1px solid rgba(42,46,68,.4)}.pm-card .line .key{color:var(--color-text-tertiary)}.pm-card .line .val{color:#fff;font-family:var(--font-mono);font-weight:600;font-variant-numeric:tabular-nums}.pm-weapon-list{display:flex;flex-direction:column;gap:var(--space-3)}.pm-weapon-card{padding:var(--space-3);background:#0003;border:1px solid var(--color-border-subtle);border-radius:var(--radius-md)}.pm-weapon-card .weapon-main{display:flex;justify-content:space-between;align-items:baseline;font-size:var(--text-sm);margin-bottom:var(--space-1)}.pm-weapon-card .weapon-main .wname{color:var(--color-text-primary);font-weight:700;font-size:var(--text-base)}.pm-weapon-card .weapon-main .wdps{color:var(--pm-accent);font-family:var(--font-mono);font-weight:700;font-size:var(--text-base)}.pm-weapon-stats{display:flex;gap:var(--space-3);flex-wrap:wrap;font-size:var(--text-xs);color:var(--color-text-tertiary);font-family:var(--font-mono)}.pm-weapon-stats .upgrade{color:var(--color-text-accent)}.pm-chart-card canvas{display:block;width:100%;min-height:140px;background:var(--color-bg-input);border-radius:var(--radius-sm)}.pm-stat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:6px;margin:var(--space-2) 0}.pm-weapon-grid{grid-template-columns:repeat(auto-fill,minmax(85px,1fr))}.pm-tile{padding:6px 8px;background:#ffffff08;border:1px solid rgba(255,255,255,.06);border-radius:var(--radius-sm);display:flex;flex-direction:column;gap:2px;border-left:2px solid var(--tile-accent, transparent)}.pm-tile-label{font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);font-family:var(--font-mono)}.pm-tile-value{font-family:var(--font-mono);font-weight:700;color:var(--color-text-primary);font-size:var(--text-sm)}.pm-tile-accent .pm-tile-value{color:var(--pm-accent, #5fcfff)}.pm-tile-strong .pm-tile-value{color:gold}.pm-tile-danger .pm-tile-value{color:#ff6060}.pm-matrix-table{width:100%;border-collapse:collapse;margin:var(--space-2) 0;font-family:var(--font-mono);font-size:var(--text-xs)}.pm-matrix-table thead th{text-transform:uppercase;font-size:9px;letter-spacing:.08em;color:var(--color-text-muted);text-align:right;padding:4px 6px;border-bottom:1px solid rgba(255,255,255,.08);font-weight:600}.pm-matrix-table thead th:first-child{text-align:left}.pm-matrix-table tbody td{padding:4px 6px;text-align:right;color:var(--color-text-secondary)}.pm-matrix-table tbody td:first-child{text-align:left}.pm-matrix-el{display:flex;align-items:center;gap:6px;color:var(--color-text-primary)!important}.pm-matrix-dot{display:inline-block;width:8px;height:8px;border-radius:50%;flex-shrink:0}.pm-matrix-total{color:var(--color-text-primary)!important;font-weight:700}.pm-matrix-pct{color:var(--pm-accent, #5fcfff)!important}.pm-matrix-sum td{border-top:1px solid rgba(255,255,255,.08);font-weight:700;padding-top:6px;color:var(--color-text-primary)!important}.pm-advanced-toggle{display:block;margin:12px auto 0;padding:8px 18px;border-radius:var(--radius-pill);border:1px solid rgba(95,207,255,.4);background:#5fcfff1a;color:#5fcfff;font-family:var(--font-ui);font-size:var(--text-xs);font-weight:600;letter-spacing:.04em;cursor:pointer;transition:background .15s,border-color .15s}.pm-advanced-toggle:hover{background:#5fcfff2e;border-color:#5fcfffb3}.pm-weapon-head{display:flex;align-items:center;gap:8px;margin-bottom:var(--space-1);font-size:var(--text-sm);flex-wrap:wrap}.pm-rank-badge{background:#5fcfff26;border:1px solid rgba(95,207,255,.4);color:#5fcfff;font-family:var(--font-mono);font-weight:700;padding:2px 6px;border-radius:4px;font-size:var(--text-xs);flex-shrink:0}.pm-weapon-head .wname{font-weight:700;color:var(--color-text-primary);font-size:var(--text-base);flex-grow:1}.pm-weapon-contrib{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--pm-accent, #5fcfff);font-weight:600}.pm-weapon-kills{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-text-muted)}.pm-weapon-active{font-family:var(--font-mono);font-size:var(--text-2xs);color:var(--color-text-muted);margin-left:auto;white-space:nowrap}.pm-weapon-cores{display:flex;flex-wrap:wrap;gap:4px;margin-top:var(--space-2)}.pm-core-chip{display:inline-block;padding:2px 8px;border-radius:var(--radius-pill);font-size:var(--text-2xs);font-weight:600;color:var(--chip-color);background:color-mix(in srgb,var(--chip-color) 14%,transparent);border:1px solid color-mix(in srgb,var(--chip-color) 50%,transparent);border-left:3px solid var(--rarity-color, var(--chip-color))}.pm-weapon-final-stats{margin-top:var(--space-3)}.pm-weapon-final-header{font-family:var(--font-display);font-size:var(--text-2xs);letter-spacing:.1em;text-transform:uppercase;color:var(--color-text-tertiary);margin-bottom:var(--space-1);border-top:1px solid var(--color-border);padding-top:var(--space-2)}.pm-procs-row{margin-top:var(--space-2);font-family:var(--font-mono);font-size:var(--text-xs);display:flex;align-items:center;gap:6px;flex-wrap:wrap}.pm-procs-label{color:var(--color-text-muted)}.pm-proc-chip{display:inline-block;padding:1px 6px;border-radius:3px;border:1px solid var(--chip-color);color:var(--chip-color);background:color-mix(in srgb,var(--chip-color) 12%,transparent);font-size:10px}.pm-synergies-list{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}.pm-build-list{display:flex;flex-direction:column;gap:4px;margin-top:4px}.pm-build-row{display:flex;gap:var(--space-2);align-items:baseline;padding:var(--space-1) var(--space-2);border-left:3px solid var(--build-color, var(--color-text-accent));border-radius:var(--radius-sm);background:#ffffff05}.pm-build-name{font-size:var(--text-xs);font-weight:700;color:var(--build-color, var(--color-text-primary));white-space:nowrap;flex-shrink:0}.pm-build-desc{font-size:var(--text-xs);color:var(--color-text-secondary);line-height:1.35}.pm-charges{display:flex;flex-direction:column;gap:4px;margin-top:4px}.pm-charge-row{display:flex;justify-content:space-between;align-items:baseline;gap:var(--space-2);padding:4px var(--space-2);border-radius:var(--radius-sm);background:#ffffff05}.pm-charge-label{font-size:var(--text-xs);color:var(--color-text-secondary);font-family:var(--font-display);text-transform:uppercase;letter-spacing:.06em;flex-shrink:0}.pm-charge-values{display:flex;flex-wrap:wrap;gap:2px 10px;color:var(--color-text-tertiary);font-size:var(--text-xs);justify-content:flex-end}.pm-charge-kv b{color:var(--color-text-primary);font-family:var(--font-mono);font-weight:700;margin-right:2px}@container app (max-height: 700px){.hud-top{padding:6px var(--space-3);gap:var(--space-5)}.hud-bottom-left{min-width:200px;padding:var(--space-2) var(--space-3)}}@container app (max-height: 500px){.hud-top{top:var(--safe-top);padding:var(--space-1) var(--space-3);gap:2px;border-radius:var(--radius-lg)}.hud-top-stats{gap:var(--space-3)}.hud-top .stat .label{font-size:var(--text-2xs)}.hud-top-xp .level-badge{min-width:18px;height:18px;padding:0 3px;border-radius:9px;font-size:var(--text-2xs);font-family:var(--font-mono)}.hud-top-xp .xp-bar{width:80px;height:3px}.hud-top .stat .val{font-size:var(--text-base)}.hud-bottom-left{bottom:var(--space-1);left:var(--space-1);padding:6px var(--space-2);min-width:160px}.hud-bottom-left .row .lbl{font-size:var(--text-2xs);width:44px;flex-shrink:0}.hud-bottom-left .bar{height:12px}.hud-bottom-left .bar .bar-text{font-size:9px}.hud-bottom-right{bottom:var(--space-1);right:var(--space-1);padding:6px var(--space-2)}.hud-bottom-right .dps{font-size:var(--text-lg)}.hud-bottom-right .label{font-size:var(--text-2xs)}.hud-domination{bottom:calc(var(--safe-bottom) + var(--space-1));padding:3px var(--space-2);gap:6px}.hud-domination .lbl{font-size:var(--text-2xs)}.hud-domination .dom-bar{width:140px;height:6px}.exit-btn{display:none!important}.postmission{padding:calc(var(--safe-top) + var(--space-2)) calc(var(--safe-right) + var(--space-4)) calc(var(--safe-bottom) + var(--space-2)) calc(var(--safe-left) + var(--space-4))}.pm-title-tag{display:none}.pm-hero-number{font-size:clamp(40px,10vw,64px)}}@container app (max-height: 400px){.hud-top{padding:2px var(--space-2);gap:var(--space-2)}.hud-top .stat .val{font-size:var(--text-sm)}.hud-bottom-left{min-width:140px;padding:4px 6px}.hud-bottom-left .bar{height:10px}.hud-bottom-right{padding:4px 6px}.hud-bottom-right .dps{font-size:var(--text-base)}.hud-domination .dom-bar{width:100px}.pm-hero-number{font-size:36px}.pm-stats-line{gap:var(--space-2);font-size:var(--text-xs)}}.pm-btn-hero{padding:var(--space-3) var(--space-6);font-size:var(--text-base);letter-spacing:.14em;min-height:48px;flex-shrink:0;box-shadow:0 0 36px var(--pm-accent-glow),0 0 72px var(--pm-accent-glow);animation:pm-hero-pulse 2.6s ease-in-out infinite}@keyframes pm-hero-pulse{0%,to{box-shadow:0 0 28px var(--pm-accent-glow),0 0 56px var(--pm-accent-glow)}50%{box-shadow:0 0 40px var(--pm-accent-glow),0 0 88px var(--pm-accent-glow)}}.pm-session-badge{position:absolute;top:calc(env(safe-area-inset-top,0px) + 12px);left:calc(env(safe-area-inset-left,0px) + 12px);z-index:10;padding:4px 10px;font:600 11px/1 var(--font-display);letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-secondary);background:#ffffff0a;border:1px solid var(--color-border);border-radius:999px;animation:pm-slide-up .3s var(--ease-out-expo) both}.pm-pb-banner{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:center;max-width:min(96vw,1100px);width:100%;margin:0 auto var(--space-2);padding:10px 18px;font:700 13px/1.3 var(--font-display);letter-spacing:.06em;color:#ffd86b;background:linear-gradient(90deg,#ffb43c14,#ffc85029,#ffb43c14);border:1px solid rgba(255,200,80,.45);border-radius:var(--radius-md);box-shadow:0 0 28px #ffc85038;animation:pm-pb-glow 2.4s ease-in-out infinite,pm-slide-up .4s var(--ease-out-expo) both}.pb-item b{color:#fff3b0;font-weight:800}.pb-sep{opacity:.35;color:#ffd86b}@keyframes pm-pb-glow{0%,to{box-shadow:0 0 24px #ffc85033}50%{box-shadow:0 0 36px #ffc85057}}.pm-up-next{max-width:min(96vw,1100px);width:100%;margin:0 auto var(--space-2);padding:12px 16px 14px;background:#0c101c8c;border:1px solid var(--color-border);border-radius:var(--radius-md);animation:pm-slide-up .38s var(--ease-out-expo) both}.up-next-header{font:700 11px/1 var(--font-display);letter-spacing:.14em;text-transform:uppercase;color:var(--color-text-secondary);margin-bottom:10px}.up-next-row{display:flex;flex-direction:column;gap:4px;padding:8px 0;border-top:1px dashed rgba(255,255,255,.06)}.up-next-row:first-of-type{border-top:none;padding-top:2px}.up-next-top{display:flex;align-items:baseline;gap:10px;font-size:var(--text-sm)}.up-next-kind{font:700 9px/1 var(--font-display);letter-spacing:.1em;text-transform:uppercase;padding:3px 7px;border-radius:3px;color:var(--color-text-primary)}.up-next-kind-character{background:#78b4ff2e;color:#9fc6ff}.up-next-kind-achievement{background:#ffb4542e;color:#ffc988}.up-next-kind-core{background:#a0ffb426;color:#a8e7ba}.up-next-label{flex:1;font-weight:700;color:var(--color-text-primary);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.up-next-remaining{font:600 11px/1 var(--font-mono);color:var(--color-text-secondary);white-space:nowrap}.up-next-bar{height:6px;background:#ffffff0f;border-radius:3px;overflow:hidden}.up-next-fill{height:100%;background:linear-gradient(90deg,var(--pm-accent),rgba(255,220,120,.9));box-shadow:0 0 12px var(--pm-accent-glow);transition:width .6s var(--ease-out-expo)}.up-next-sub{font-size:var(--text-xs);color:var(--color-text-tertiary, var(--color-text-secondary));opacity:.75}.pm-near-miss{max-width:min(96vw,1100px);width:100%;margin:0 auto var(--space-2);padding:8px 14px;text-align:center;font:600 13px/1.3 var(--font-display);letter-spacing:.08em;color:#ffd86b;background:#ffc8500f;border:1px dashed rgba(255,200,80,.35);border-radius:var(--radius-md);animation:pm-slide-up .45s var(--ease-out-expo) both}.pm-title-death{color:#d0c8b8;text-shadow:0 0 24px rgba(200,180,140,.35)}.pm-mast-explainer{font-size:11px;color:var(--color-text-secondary);opacity:.85;margin:4px 0 10px;font-style:italic}.pm-mast-list{display:flex;flex-direction:column;gap:8px}.pm-mast-row{padding:8px 10px;background:#ffb4540d;border:1px solid rgba(255,180,84,.15);border-radius:6px}.pm-mast-row-leveled{background:#ffc8501f;border-color:#ffc85073;box-shadow:0 0 16px #ffc8501f}.pm-mast-head{display:flex;align-items:baseline;gap:8px;margin-bottom:6px}.pm-mast-name{font-weight:800;color:#fff;flex:1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.pm-mast-badge{font:700 10px/1 var(--font-mono);padding:3px 7px;border-radius:3px;background:#ffb4542e;color:#ffc988;letter-spacing:.06em}.pm-mast-leveled{background:#ffdc7847;color:#fff3b0;box-shadow:0 0 10px #ffc85066;animation:pm-pb-glow 2.4s ease-in-out infinite}.pm-mast-togo{font:600 10px/1 var(--font-mono);color:var(--color-text-secondary);white-space:nowrap}.pm-mast-bar{height:5px;background:#ffffff0f;border-radius:2.5px;overflow:hidden;margin-bottom:5px}.pm-mast-fill{height:100%;background:linear-gradient(90deg,#ff8a3d,#ffd86b);box-shadow:0 0 8px #ffb45466;transition:width .5s ease}.pm-mast-delta{font:600 10px/1.3 var(--font-mono);color:#a0bfe8}.pm-unlock-more{background:#ffc85024;border-color:#ffc85073;color:#ffd86b;font-weight:700;cursor:help}.pm-btn-share{padding:var(--space-2) var(--space-5);font-size:var(--text-xs);letter-spacing:.1em}.pm-btn-share:disabled{opacity:.5;cursor:wait}.pm-submit-status{font-size:var(--text-xs);letter-spacing:.06em;opacity:.9}.pm-comment-btn{padding:5px 12px;font-size:var(--text-xs);letter-spacing:.06em;border:1px solid rgba(255,215,0,.4);color:gold;white-space:nowrap}.pm-comment-btn:disabled{opacity:.5;cursor:default}.pm-comment-popup{position:absolute;bottom:100%;right:0;display:flex;gap:6px;padding:8px;margin-bottom:6px;background:#0f0f19f2;border:1px solid rgba(255,215,0,.3);border-radius:var(--radius-md);animation:pm-fade-in .2s ease both;z-index:10}.pm-comment-input{width:200px;padding:5px 8px;background:#ffffff0f;border:1px solid rgba(255,215,0,.35);border-radius:var(--radius-sm);color:var(--color-text-primary);font:400 var(--text-xs)/1.3 var(--font-ui);outline:none}.pm-comment-input:focus{border-color:gold}.pm-comment-input::placeholder{color:var(--color-text-tertiary)}.pm-comment-input:disabled{opacity:.5}.pm-comment-send{padding:4px 10px;font-size:var(--text-xs);border:1px solid rgba(255,215,0,.4);color:gold;white-space:nowrap}.pm-comment-send:disabled{opacity:.5;cursor:default}@media(max-width:720px){.pm-btn-hero{padding:var(--space-2) var(--space-5);min-height:44px;font-size:var(--text-sm)}.pm-session-badge{top:8px;right:8px;font-size:10px;padding:3px 8px}.pm-pb-banner{padding:8px 12px;font-size:11px;gap:6px}.up-next-label{font-size:var(--text-xs)}}.hud-channel{position:absolute;bottom:calc(var(--safe-bottom) + 100px);left:50%;transform:translate(-50%);display:flex;flex-direction:column;gap:var(--space-1);padding:var(--space-2) var(--space-3);background:var(--color-bg-panel);border:1px solid var(--color-border);border-radius:var(--radius-lg);max-height:280px;overflow-x:hidden;overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.15) transparent;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);contain:layout style paint}.hud-channel::-webkit-scrollbar{width:4px}.hud-channel::-webkit-scrollbar-track{background:transparent}.hud-channel::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:2px}.hud-channel-toggle{font-size:var(--text-2xs);font-family:var(--font-display);color:var(--color-text-tertiary);cursor:pointer;text-align:center;user-select:none;padding-bottom:var(--space-1);touch-action:manipulation;-webkit-tap-highlight-color:transparent;letter-spacing:.08em;text-transform:uppercase;transition:color var(--transition-fast)}.hud-channel-toggle:hover{color:var(--color-text-cyan)}.hud-channel-rows{display:flex;flex-direction:column;gap:var(--space-1);contain:layout style paint}.hud-channel-rows.collapsed{display:none}.hud-channel .weapon-row{display:grid;grid-template-columns:minmax(80px,1fr) auto auto auto auto;align-items:center;gap:0 var(--space-2);contain:layout style}.hud-channel .valkeron-bar{grid-column:1 / -1;position:relative;width:100%;height:6px;background:#ffd7001a;border-radius:3px;overflow:hidden;margin-top:2px}.hud-channel .valkeron-bar.hidden{display:none}.hud-channel .valk-fill{position:absolute;left:0;top:0;bottom:0;background:linear-gradient(90deg,#ffd70066,#ffd70040);border-radius:3px;transition:width .15s linear;will-change:width}.hud-channel .valk-fill.active{background:linear-gradient(90deg,gold,orange);box-shadow:0 0 6px #ffd70099}.hud-channel .valk-label{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-size:8px;font-weight:700;color:#ffd700cc;text-shadow:0 1px 2px rgba(0,0,0,.9);letter-spacing:.1em;z-index:1}.hud-channel .weapon-name{font-size:var(--text-2xs);color:var(--color-text-secondary);font-family:var(--font-ui);text-transform:uppercase;letter-spacing:.06em;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.hud-channel .weapon-dps{color:var(--color-text-accent);font-size:var(--text-2xs);font-family:var(--font-mono);font-weight:700;letter-spacing:.04em;text-align:right;white-space:nowrap}.hud-channel .weapon-kills{color:var(--color-btn-danger);font-size:var(--text-2xs);font-family:var(--font-mono);font-weight:600;letter-spacing:.04em;text-align:right;white-space:nowrap}.hud-channel .weapon-slots{display:flex;gap:var(--space-1)}.hud-channel .slot{width:28px;height:28px;border-radius:var(--radius-sm);background:var(--color-bg-input);border:2px solid var(--color-border);display:flex;align-items:center;justify-content:center;font-size:var(--text-sm);font-weight:700;color:#3a3e54}.hud-channel .slot.filled{border-color:var(--slot-color, var(--color-text-cyan));color:var(--slot-color, var(--color-text-cyan));box-shadow:0 0 8px var(--slot-color, var(--color-text-cyan))}.hud-channel .weapon-name-sub{display:flex;align-items:center;gap:var(--space-2);margin-top:2px;font-size:var(--text-2xs);color:var(--color-text-muted);text-transform:capitalize;letter-spacing:.04em}.hud-channel .weapon-name-elbar{margin-top:2px}.hud-channel .weapon-elbar{display:flex;gap:1px;height:3px;border-radius:2px;overflow:hidden}.hud-channel .weapon-elbar .elbar-seg{height:100%;border-radius:1px}.hud-channel .weapon-ammo{position:relative;width:90px;height:16px;background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-pill);overflow:hidden;margin-left:var(--space-2)}.hud-channel .weapon-ammo .ammo-fill{position:absolute;left:0;top:0;bottom:0;background:linear-gradient(90deg,var(--color-text-cyan),rgba(95,207,255,.7));border-radius:var(--radius-pill);transition:width var(--transition-fast) linear;will-change:width}.hud-channel .weapon-ammo .ammo-fill.reloading{background:linear-gradient(90deg,var(--rarity-legendary),rgba(255,180,61,.7))}.hud-channel .weapon-ammo .ammo-text{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-size:var(--text-2xs);font-weight:600;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.9);letter-spacing:.02em;white-space:nowrap;z-index:1}@container app (max-height: 500px){.hud-channel{bottom:calc(var(--safe-bottom) + 36px);padding:3px var(--space-2);max-height:120px}.hud-channel-toggle{font-size:var(--text-2xs);padding-bottom:1px}.hud-channel .weapon-row{grid-template-columns:minmax(60px,1fr) auto auto auto auto}.hud-channel .weapon-name,.hud-channel .weapon-dps,.hud-channel .weapon-kills{font-size:var(--text-2xs)}.hud-channel .slot{width:20px;height:20px;border-radius:2px}.hud-channel .weapon-ammo{width:70px;height:14px}.hud-channel .weapon-ammo .ammo-text{font-size:var(--text-2xs)}.hud-channel .valkeron-bar{height:4px}.hud-channel .valk-label{font-size:6px}}.synergy-banner{position:absolute;top:calc(var(--safe-top) + 10px);left:calc(var(--safe-left) + 10px);pointer-events:none;z-index:7000;padding:8px 16px;background:linear-gradient(180deg,#0a0c14eb,#141620eb);border:1px solid var(--banner-color, var(--color-text-accent));border-left:3px solid var(--banner-color, var(--color-text-accent));border-radius:var(--radius-md);box-shadow:0 0 20px var(--banner-color, var(--color-text-accent));animation:banner-pop 2.5s ease-out forwards;max-width:320px}.synergy-banner .b-title{font-size:9px;font-family:var(--font-display);letter-spacing:.25em;text-transform:uppercase;color:var(--color-text-secondary)}.synergy-banner .b-name{font-size:var(--text-base);font-family:var(--font-display);font-weight:800;color:var(--banner-color, var(--color-text-accent));letter-spacing:.04em;text-shadow:0 0 12px var(--banner-color, var(--color-text-accent));margin:2px 0;line-height:1.2}.synergy-banner .b-desc{font-size:var(--text-2xs);color:var(--color-text-primary);max-width:300px;line-height:1.3}@keyframes banner-pop{0%{opacity:0;transform:translate(-20px) scale(.9)}15%{opacity:1;transform:translate(0) scale(1.03)}25%{transform:translate(0) scale(1)}85%{opacity:1}to{opacity:0;transform:translate(-10px) scale(.97)}}.hud-synergies{position:absolute;bottom:calc(var(--safe-bottom) + 110px);left:calc(var(--safe-left) + var(--space-4));max-width:280px;background:var(--color-bg-panel);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3);font-size:var(--text-2xs);display:flex;flex-direction:column;gap:var(--space-1);pointer-events:none;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.hud-synergies.hidden{display:none}.hud-synergies .title{font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:.14em;color:var(--color-text-muted);margin-bottom:2px}.hud-synergies .row{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-2xs);color:var(--color-text-primary)}.hud-synergies .row .bar{flex:1;height:3px;background:var(--color-bg-input);border-radius:2px;overflow:hidden;min-width:40px}.hud-synergies .row .bar .fill{height:100%;background:var(--color-text-cyan);transition:width var(--transition-normal)}.hud-synergies .row .count{font-family:var(--font-mono);color:var(--color-text-secondary)}.hud-synergies .row.active{color:var(--color-text-success);font-weight:700}.hud-synergies .row.almost{color:var(--color-text-accent);font-weight:700;text-shadow:0 0 8px rgba(245,228,85,.6);animation:hud-syn-almost 1.6s ease-in-out infinite}@keyframes hud-syn-almost{0%,to{opacity:.85}50%{opacity:1}}@container app (max-height: 700px){.synergy-banner .b-name{font-size:var(--text-sm)}}@container app (max-height: 500px){.hud-synergies{font-size:var(--text-2xs);max-width:180px}}@media(max-width:800px){.synergy-banner{padding:6px 12px;max-width:260px}.synergy-banner .b-name{font-size:var(--text-sm)}}.hud-xp{position:absolute;top:calc(var(--safe-top) + 56px);left:50%;transform:translate(-50%);display:flex;align-items:center;gap:var(--space-3);background:var(--color-bg-panel);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--space-1) var(--space-4) var(--space-1) var(--space-1);font-size:var(--text-xs)}.hud-xp.hidden{display:none}.hud-xp .level-badge{width:28px;height:28px;border-radius:50%;background:var(--color-text-accent);color:var(--color-bg-primary);font-family:var(--font-display);font-weight:700;display:flex;align-items:center;justify-content:center;font-size:var(--text-base)}.hud-xp .xp-bar{width:220px;height:6px;background:var(--color-bg-input);border-radius:var(--radius-sm);overflow:hidden}.hud-xp .xp-bar .fill{height:100%;background:linear-gradient(90deg,var(--color-text-success),var(--color-text-accent));transition:width var(--transition-overlay)}@container app (max-height: 500px){.hud-xp{top:calc(var(--safe-top) + 36px);gap:var(--space-2);padding:2px var(--space-2) 2px 2px;border-radius:var(--radius-lg)}.hud-xp .level-badge{width:20px;height:20px;font-size:var(--text-xs)}.hud-xp .xp-bar{width:160px;height:4px}}@container app (max-height: 400px){.hud-xp{top:calc(var(--safe-top) + 28px)}.hud-xp .level-badge{width:18px;height:18px;font-size:var(--text-2xs)}.hud-xp .xp-bar{width:120px;height:3px}}.hud-scrap{position:absolute;top:calc(var(--safe-top) + var(--space-4));left:calc(var(--safe-left) + var(--space-4));background:var(--color-bg-panel);border:1px solid var(--color-border);border-radius:var(--radius-pill);padding:var(--space-1) var(--space-3) var(--space-1) var(--space-2);display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-2xs);color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.08em;pointer-events:none;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.hud-scrap:before{content:"";width:8px;height:8px;background:var(--color-scrap);border-radius:1px;transform:rotate(45deg);flex-shrink:0;box-shadow:0 0 6px var(--color-scrap)}.hud-scrap .val{color:var(--color-text-accent);font-family:var(--font-display);font-size:var(--text-base);font-weight:700}@container app (max-height: 500px){.hud-scrap{top:calc(var(--safe-top) + var(--space-1));left:calc(var(--safe-left) + var(--space-1));padding:2px var(--space-2) 2px var(--space-2);gap:var(--space-1)}.hud-scrap:before{width:6px;height:6px}.hud-scrap .val{font-size:var(--text-sm)}}.info-sidebar-root{position:absolute;left:var(--safe-left, 0px);top:0;bottom:0;z-index:9200;pointer-events:none;display:flex;align-items:stretch}.info-tab{position:absolute;left:0;top:50%;transform:translateY(-50%);width:40px;height:104px;background:var(--color-bg-panel);backdrop-filter:blur(8px);border:1px solid var(--color-border);border-left:none;border-radius:0 var(--radius-md) var(--radius-md) 0;display:flex;align-items:center;justify-content:center;pointer-events:auto;cursor:pointer;touch-action:none;-webkit-tap-highlight-color:transparent;user-select:none;-webkit-user-select:none;transition:opacity var(--transition-fast),left var(--transition-slow) var(--ease-out-quart);z-index:2}.info-tab:after{content:"▶";font-size:12px;color:var(--color-text-tertiary);transition:transform var(--transition-fast)}.info-sidebar-root.open .info-tab{left:min(188px,44vw)}.info-sidebar-root.open .info-tab:after{transform:rotate(180deg)}.info-panel{position:absolute;left:0;top:0;bottom:0;width:min(188px,44vw);background:#10121c;border-right:1px solid var(--color-border);transform:translate(-100%);transition:transform var(--transition-slow) var(--ease-out-quart);will-change:transform;pointer-events:none;overflow-y:auto;overflow-x:hidden;scrollbar-width:none;-webkit-overflow-scrolling:touch;touch-action:pan-y;padding:var(--space-3) var(--space-3) var(--space-4);z-index:1}.info-panel::-webkit-scrollbar{display:none}.info-sidebar-root.open .info-panel{transform:translate(0);pointer-events:auto}.info-section-title{font-family:var(--font-display);font-size:var(--text-xs);font-weight:700;color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.08em;margin:var(--space-3) 0 var(--space-1);padding-bottom:var(--space-1);border-bottom:1px solid var(--color-border)}.info-section-title:first-child{margin-top:0}.info-sort-row{display:flex;flex-wrap:wrap;gap:2px;margin:4px 0 6px}.info-sort-btn{font-family:var(--font-mono);font-size:9px;padding:2px 5px;border-radius:3px;border:1px solid rgba(255,255,255,.1);background:transparent;color:var(--color-text-muted);cursor:pointer;white-space:nowrap;transition:color .1s,border-color .1s,background .1s}.info-sort-btn:hover{color:var(--color-text-secondary);border-color:#fff3}.info-sort-btn.active{color:#fff;background:#5fcfff26;border-color:#5fcfff66}.info-weapon{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:var(--space-2);margin-bottom:var(--space-2)}.info-weapon-head{display:flex;align-items:center;gap:var(--space-2);margin-bottom:2px}.info-weapon-name{font-family:var(--font-display);font-size:var(--text-sm);font-weight:700;color:var(--color-text-primary)}.info-dmg-summary{font-family:var(--font-mono);font-size:var(--text-2xs);color:var(--color-text-secondary);margin:4px 0 6px;padding:4px 8px;background:#ffffff08;border-radius:var(--radius-sm)}.info-dmg-row{display:grid;grid-template-columns:50px 1fr auto;gap:6px;align-items:baseline}.info-dmg-row+.info-dmg-row{margin-top:2px}.info-dmg-label{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em}.info-dmg-total{color:var(--color-text-primary);text-align:right}.info-dmg-dps{color:var(--color-text-accent);font-weight:700;white-space:nowrap}.info-weapon-dps-upgrade{font-family:var(--font-mono);font-size:var(--text-2xs);color:var(--color-text-secondary);margin:2px 0}.info-weapon-dps-upgrade b{color:var(--color-text-accent)}.info-weapon-kills{font-family:var(--font-mono);font-size:var(--text-2xs);color:var(--color-text-muted);margin-left:auto}.info-weapon-dps-stack{font-family:var(--font-mono);font-size:var(--text-2xs);margin:4px 0;padding:3px 6px;background:#ffffff08;border-radius:var(--radius-sm)}.info-weapon-dps-row{display:grid;grid-template-columns:50px 1fr;gap:6px;align-items:baseline}.info-weapon-dps-row+.info-weapon-dps-row{margin-top:1px}.info-weapon-dps-row .info-dmg-dps{text-align:right}.info-weapon-stats{display:grid;grid-template-columns:auto 1fr auto 1fr;gap:1px var(--space-2);font-size:var(--text-2xs);margin:var(--space-1) 0}.info-wk{color:var(--color-text-tertiary)}.info-wv{color:var(--color-text-primary);font-family:var(--font-mono)}.info-wv-accent{color:var(--color-text-accent);font-family:var(--font-mono)}.info-weapon-crit{display:grid;grid-template-columns:auto 1fr;gap:var(--space-2);font-size:var(--text-2xs);margin:0 0 var(--space-1)}.info-weapon-crit .info-wv{text-align:right}.info-cores{display:flex;flex-wrap:wrap;gap:3px;margin-top:var(--space-1)}.info-core-chip{display:inline-block;padding:1px 7px;border-radius:var(--radius-pill);font-size:10px;font-weight:600;color:var(--chip-color);background:color-mix(in srgb,var(--chip-color) 18%,transparent);border:1px solid color-mix(in srgb,var(--chip-color) 55%,transparent);white-space:nowrap;max-width:140px;overflow:hidden;text-overflow:ellipsis}.info-item{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-left:3px solid var(--rarity-color, var(--color-border));border-radius:var(--radius-sm);padding:var(--space-1) var(--space-2);margin-bottom:var(--space-1)}.info-item-name{font-size:var(--text-xs);font-weight:700;color:var(--rarity-color, var(--color-text-primary))}.info-item-desc{font-size:var(--text-2xs);color:var(--color-text-secondary);margin-top:1px}.info-card{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-left:3px solid var(--card-color, var(--color-text-accent));border-radius:var(--radius-sm);padding:var(--space-1) var(--space-2);margin-bottom:var(--space-1)}.info-card-name{font-size:var(--text-xs);font-weight:700;color:var(--card-color, var(--color-text-primary))}.info-card-desc{font-size:var(--text-2xs);color:var(--color-text-secondary);margin-top:1px}.info-card-mods{font-size:var(--text-2xs);margin-top:2px}.info-elbar{display:flex;gap:1px;width:100%;height:4px;margin:2px 0 4px}.info-elbar-seg{height:100%;border-radius:1px}.info-lifetime-elbar{margin-top:6px;padding-top:6px;border-top:1px solid rgba(255,255,255,.05)}.info-lifetime-elbar .info-elbar{height:6px;margin:0}.info-empty{font-size:var(--text-2xs);color:var(--color-text-tertiary);font-style:italic;padding:var(--space-1) 0}.info-charges{display:flex;flex-direction:column;gap:3px;background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:var(--space-2)}.info-charge-row{display:flex;flex-direction:column;gap:1px;font-size:var(--text-2xs)}.info-charge-row+.info-charge-row{border-top:1px solid var(--color-border);padding-top:3px}.info-charge-label{color:var(--color-text-secondary);font-family:var(--font-display);text-transform:uppercase;letter-spacing:.04em}.info-charge-values{display:flex;flex-wrap:wrap;gap:2px 8px;color:var(--color-text-tertiary)}.info-charge-kv b{color:var(--color-text-primary);font-family:var(--font-mono);font-weight:700}@container app (max-height: 500px){.info-panel{width:min(168px,42vw);padding:var(--space-2)}.info-sidebar-root.open .info-tab{left:min(168px,42vw)}.info-tab{width:36px;height:88px}.info-section-title{font-size:10px;margin:var(--space-2) 0 var(--space-1)}.info-weapon{padding:var(--space-1)}.info-weapon-name{font-size:var(--text-xs)}.info-weapon-stats{font-size:10px}.info-core-chip{font-size:9px;padding:0 4px}}@container app (max-height: 400px){.info-panel{width:min(148px,40vw)}.info-sidebar-root.open .info-tab{left:min(148px,40vw)}}body:has(.levelup-root:not(.hidden)) .info-sidebar-root,body:has(.evolution-root:not(.hidden)) .info-sidebar-root,body:has(.item-offer-root:not(.hidden)) .info-sidebar-root,body:has(.weapon-unlock-root:not(.hidden)) .info-sidebar-root,body:has(.pause-root:not(.hidden)) .info-sidebar-root{z-index:9600}body:has(.levelup-root:not(.hidden)) .info-panel,body:has(.evolution-root:not(.hidden)) .info-panel,body:has(.item-offer-root:not(.hidden)) .info-panel,body:has(.weapon-unlock-root:not(.hidden)) .info-panel,body:has(.pause-root:not(.hidden)) .info-panel{width:min(220px,52vw);background:#0a0c14}body:has(.levelup-root:not(.hidden)) .info-sidebar-root.open .info-tab,body:has(.evolution-root:not(.hidden)) .info-sidebar-root.open .info-tab,body:has(.item-offer-root:not(.hidden)) .info-sidebar-root.open .info-tab,body:has(.weapon-unlock-root:not(.hidden)) .info-sidebar-root.open .info-tab,body:has(.pause-root:not(.hidden)) .info-sidebar-root.open .info-tab{left:min(220px,52vw)}body:has(.levelup-root:not(.hidden)) .info-tab,body:has(.evolution-root:not(.hidden)) .info-tab,body:has(.item-offer-root:not(.hidden)) .info-tab,body:has(.weapon-unlock-root:not(.hidden)) .info-tab,body:has(.pause-root:not(.hidden)) .info-tab{opacity:.5}@keyframes card-entrance{0%{transform:translateY(40px) scale(.95);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}.levelup-card{width:240px;min-height:320px;background:linear-gradient(180deg,var(--color-bg-card),var(--color-bg-card-end));border:2px solid var(--rarity-color, var(--rarity-common));border-radius:var(--radius-lg);padding:var(--space-4) 18px;cursor:pointer;display:flex;flex-direction:column;position:relative;transition:transform var(--transition-normal) var(--ease-out-quart),box-shadow var(--transition-normal) var(--ease-out-quart);box-shadow:0 0 #0000;overflow:visible;touch-action:manipulation;-webkit-tap-highlight-color:transparent;animation:card-entrance var(--transition-slow) var(--ease-out-expo) backwards}.evo-cards{flex:1;align-items:stretch}.levelup-card[data-evo-idx]{width:280px;min-height:180px}.levelup-card:nth-child(1){animation-delay:0ms}.levelup-card:nth-child(2){animation-delay:60ms}.levelup-card:nth-child(3){animation-delay:.12s}.levelup-card:nth-child(4){animation-delay:.18s}.levelup-card:nth-child(5){animation-delay:.24s}.levelup-card:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 0%,var(--card-color, var(--color-text-cyan)) 0%,transparent 60%);opacity:.18;pointer-events:none}.levelup-card:hover{transform:translateY(-6px) scale(1.02);box-shadow:0 14px 40px var(--rarity-color, var(--color-text-cyan))}.levelup-card.banned{opacity:.2;transform:scale(.95)}.levelup-card.rarity-common{box-shadow:0 0 12px #cfd3dd40}.levelup-card.rarity-uncommon{box-shadow:0 0 16px #7fd86b59}.levelup-card.rarity-rare{box-shadow:0 0 20px #5fcfff73}.levelup-card.rarity-epic{box-shadow:0 0 24px #b46dff8c}.levelup-card.rarity-legendary{box-shadow:0 0 28px #ffb43da6}.card-rarity-tag{font-size:var(--text-2xs);letter-spacing:.15em;text-transform:uppercase;color:var(--rarity-color, #fff);font-weight:700;margin-bottom:var(--space-1)}.card-category-tag{font-size:var(--text-2xs);letter-spacing:.12em;text-transform:uppercase;color:var(--color-text-secondary);margin-bottom:var(--space-2)}.card-active-tag{display:inline-block;font-size:var(--text-2xs);font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:#ffe080;background:#ffb43d1f;border:1px solid rgba(255,180,61,.55);border-radius:var(--radius-sm);padding:1px 6px;margin-bottom:var(--space-2)}.card-hp-preview{font-size:var(--text-xs);color:var(--color-text-secondary);background:#ff505014;border-left:2px solid rgba(255,80,80,.5);padding:3px var(--space-2);margin-top:var(--space-1);font-family:var(--font-mono);font-variant-numeric:tabular-nums}.card-hp-preview b{color:var(--color-text-primary);font-weight:700}.card-hp-preview .hp-preview-after{color:#ff6060}.card-name{font-size:var(--text-lg);font-family:var(--font-display);font-weight:700;color:var(--card-color, #fff);margin-bottom:var(--space-3);line-height:1.2;position:relative}.card-desc{font-size:var(--text-sm);color:var(--color-text-primary);line-height:1.5;margin-bottom:var(--space-3);border-bottom:1px solid var(--color-border);padding-bottom:var(--space-3);position:relative}.card-stats{display:grid;grid-template-columns:auto 1fr;gap:var(--space-1) var(--space-3);font-family:var(--font-mono);font-size:var(--text-sm);margin-bottom:var(--space-3);position:relative}.card-stats .k{color:var(--color-text-secondary);white-space:nowrap;min-width:0}.card-stats .v{color:#fff;text-align:right;font-weight:600}.card-proc-blurb{font-size:var(--text-xs);line-height:1.4;color:var(--color-text-primary);background:#00000040;border-left:2px solid var(--card-color, var(--color-text-cyan));padding:var(--space-2) var(--space-2);margin-bottom:var(--space-3);border-radius:var(--radius-sm);position:relative;word-wrap:break-word;white-space:normal}.card-slot-hint{margin-top:auto;font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-muted);text-align:center;position:relative;padding-top:var(--space-2);border-top:1px dashed rgba(255,255,255,.08)}@container app (max-height: 500px){.levelup-card{width:30%;min-width:0;min-height:0;padding:var(--space-3) var(--space-4) 16px;flex:1 1 0;overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none}.levelup-card::-webkit-scrollbar{display:none}.levelup-card.has-overflow{-webkit-mask-image:linear-gradient(to bottom,black calc(100% - 28px),transparent 100%);mask-image:linear-gradient(to bottom,black calc(100% - 28px),transparent 100%)}.card-rarity-tag,.card-category-tag{font-size:var(--text-2xs);margin-bottom:1px;line-height:1.2}.card-name{font-size:var(--text-lg);margin-bottom:var(--space-1);line-height:1.15}.card-desc{font-size:var(--text-sm);line-height:1.35;margin-bottom:var(--space-2);padding-bottom:var(--space-2)}.card-stats{gap:2px var(--space-3);font-size:var(--text-sm);margin-bottom:var(--space-2)}.card-proc-blurb{font-size:var(--text-xs);padding:var(--space-1) var(--space-2);margin-bottom:var(--space-1);line-height:1.35}.card-slot-hint{font-size:var(--text-xs)}.levelup-card:hover{transform:none!important;box-shadow:0 0 18px var(--rarity-color, rgba(255, 180, 61, .35))}}@container app (max-height: 400px){.levelup-card{padding:var(--space-2) var(--space-3)}.card-name{font-size:var(--text-base)}.card-desc{font-size:var(--text-xs);margin-bottom:var(--space-1);padding-bottom:var(--space-1)}.card-stats{font-size:var(--text-xs)}.card-proc-blurb{font-size:var(--text-2xs);padding:2px var(--space-2)}}.weapon-tooltip-popup{position:absolute;transform:translateY(-100%);z-index:9000;pointer-events:none;padding:10px 16px;background:linear-gradient(180deg,#121424f7,#0a0c16f7);border:1px solid rgba(95,207,255,.3);border-radius:10px;box-shadow:0 8px 32px #0009,0 0 20px #5fcfff1a;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);max-width:280px;animation:wtp-enter .15s var(--ease-out-quart) both}@keyframes wtp-enter{0%{opacity:0;transform:translateY(calc(-100% + 8px)) scale(.95)}to{opacity:1;transform:translateY(-100%) scale(1)}}.wtp-pattern{font-size:11px;font-family:var(--font-display);font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--color-text-cyan);margin-bottom:6px;padding-bottom:6px;border-bottom:1px solid rgba(95,207,255,.15)}.wtp-desc{font-size:12px;color:var(--color-text-secondary);line-height:1.5;font-style:italic}@keyframes levelup-fade{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}.levelup-root{position:absolute;inset:0;background:var(--color-bg-overlay);backdrop-filter:blur(6px);display:flex;flex-direction:column;align-items:center;justify-content:safe center;pointer-events:auto;z-index:8000;font-family:var(--font-ui);color:var(--color-text-primary);animation:levelup-fade var(--transition-overlay) var(--ease-out-quart);padding:calc(var(--safe-top) + 6px) calc(var(--safe-right) + 10px) calc(var(--safe-bottom) + 6px) calc(var(--safe-left) + 10px);box-sizing:border-box;overflow-y:auto}.levelup-root.hidden{display:none}.levelup-title{font-size:var(--text-sm);font-family:var(--font-display);letter-spacing:.3em;text-transform:uppercase;color:var(--color-text-secondary);margin-bottom:var(--space-1)}.levelup-level{font-size:var(--text-xl);font-family:var(--font-display);font-weight:800;color:var(--color-text-accent);margin-bottom:var(--space-2);letter-spacing:.06em}.levelup-sub{font-size:var(--text-base);color:var(--color-text-secondary);margin-bottom:var(--space-5)}.levelup-layout{display:flex;gap:var(--space-5);align-items:flex-start}.levelup-cards{display:flex;gap:var(--space-4)}.card-carousel-wrapper{position:relative;display:flex;align-items:center;gap:var(--space-2);overflow:hidden;max-width:100%}.card-carousel-wrapper .carousel-btn{flex-shrink:0;width:var(--touch-comfortable);height:var(--touch-comfortable);border-radius:var(--radius-pill);background:var(--color-bg-panel-solid);border:1px solid var(--color-border);color:var(--color-text-primary);font-size:var(--text-lg);display:flex;align-items:center;justify-content:center;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:background var(--transition-fast) var(--ease-out-quart)}.card-carousel-wrapper .carousel-btn:hover{background:var(--color-border)}.card-carousel-wrapper .carousel-track{display:flex;gap:var(--space-3);overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch}.card-carousel-wrapper .carousel-track::-webkit-scrollbar{display:none}.card-carousel-wrapper .carousel-track>*{scroll-snap-align:center;flex-shrink:0}.levelup-progress-panel{width:300px;background:var(--color-bg-panel-solid);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-4) 18px;display:flex;flex-direction:column;gap:var(--space-3);max-height:360px;overflow-y:auto}.levelup-progress-title{font-size:var(--text-xs);font-family:var(--font-display);text-transform:uppercase;letter-spacing:.1em;color:var(--color-text-secondary);border-bottom:1px solid var(--color-border);padding-bottom:var(--space-2)}.progress-empty{font-size:var(--text-xs);color:var(--color-text-muted);font-style:italic}.synergy-row{display:flex;flex-direction:column;gap:4px;padding:var(--space-2) var(--space-2);border-radius:var(--radius-sm);background:#0a0c1466;border-left:3px solid var(--color-border);transition:border-color var(--transition-normal),background var(--transition-normal)}.synergy-row.almost{border-left-color:var(--synergy-color, #fff);background:#0a0c1499;animation:synergy-glow 2s ease-in-out infinite alternate}@keyframes synergy-glow{0%{box-shadow:inset 3px 0 8px -4px var(--synergy-color, #fff)}to{box-shadow:inset 3px 0 16px -2px var(--synergy-color, #fff)}}.synergy-row.active{border-left-color:var(--color-text-success);background:#7fd86b14}.synergy-header{display:flex;justify-content:space-between;align-items:baseline;gap:var(--space-2)}.synergy-name{font-size:var(--text-xs);font-weight:700;color:var(--color-text-primary);line-height:1.2}.synergy-count{font-size:var(--text-2xs);font-family:var(--font-mono);color:var(--color-text-tertiary);white-space:nowrap}.synergy-row.almost .synergy-count{color:var(--synergy-color, #fff);font-weight:700}.synergy-effect{font-size:var(--text-2xs);color:var(--color-text-secondary);line-height:1.35;font-style:italic}.synergy-row.advanced-by-hover{background:#f5e4551a;border-left-color:var(--synergy-color, var(--color-text-accent));transition:all var(--transition-normal)}.synergy-progress-track{display:flex;flex-direction:column;gap:3px}.synergy-bar{height:6px;background:var(--color-bg-secondary);border-radius:var(--radius-pill);overflow:hidden;border:1px solid rgba(42,46,68,.4)}.synergy-bar .fill{height:100%;border-radius:var(--radius-pill);transition:width var(--transition-overlay) var(--ease-out-quart)}.progress-dots{display:flex;gap:4px;justify-content:center}.progress-dot{width:6px;height:6px;border-radius:50%;background:var(--color-border);transition:background var(--transition-normal),box-shadow var(--transition-normal)}.progress-dot.filled{background:var(--synergy-color, var(--color-text-success));box-shadow:0 0 4px var(--synergy-color, var(--color-text-success))}.synergy-reqs{display:flex;flex-wrap:wrap;gap:3px}.req-chip{font-size:var(--text-2xs);padding:1px 6px;border-radius:var(--radius-sm);background:#2a2e4466;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.03em;white-space:nowrap;line-height:1.4}.req-chip.met{color:var(--color-text-success);background:#7fd86b1a;font-weight:600}.levelup-current-build{margin-top:var(--space-4);padding:var(--space-3) var(--space-4);background:linear-gradient(135deg,#141620e6,#0e101af2);border:1px solid var(--color-border);border-left:3px solid var(--cb-accent, var(--color-text-cyan));border-radius:var(--radius-md);display:flex;flex-direction:column;gap:var(--space-2);max-width:920px;max-height:30vh;overflow-y:auto;flex-shrink:1;box-shadow:var(--shadow-panel)}.levelup-current-build .cb-stats{display:flex;gap:var(--space-3);font-size:var(--text-xs);font-family:var(--font-mono);color:var(--color-text-secondary);white-space:nowrap;flex-wrap:wrap}.levelup-current-build .cb-stats .cb-stat b{color:#e4e6f0;font-weight:700;margin-right:2px}.levelup-current-build .cb-stats .cb-stat-sep{color:#4a4e5e;user-select:none}.levelup-current-build .cb-elbar{display:flex;flex:1;height:10px;border-radius:3px;overflow:hidden;gap:1px;min-width:60px}.levelup-current-build .cb-elbar-seg{height:100%;min-width:4px;border-radius:2px}.levelup-current-build .cb-passive{font-size:var(--text-xs);color:var(--color-text-accent);font-style:italic;white-space:normal;word-wrap:break-word;line-height:1.4}.levelup-current-build .cb-rows.collapsed{display:none}.levelup-current-build .cb-title{font-size:var(--text-2xs);font-family:var(--font-display);text-transform:uppercase;cursor:pointer;letter-spacing:.14em;color:var(--color-text-tertiary);margin-bottom:var(--space-1);touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:color var(--transition-fast)}.levelup-current-build .cb-title:hover{color:var(--color-text-cyan)}.levelup-current-build .cb-row{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap}.levelup-current-build .cb-header{display:flex;align-items:center;gap:var(--space-2)}.levelup-current-build .cb-name{font-size:var(--text-sm);font-family:var(--font-display);color:var(--cb-accent, var(--color-text-cyan));text-transform:uppercase;letter-spacing:.06em;font-weight:700}.levelup-current-build .cb-gradient-name{-webkit-background-clip:text!important;background-clip:text!important;-webkit-text-fill-color:transparent;display:inline-block}.levelup-current-build .cb-slots{display:flex;gap:var(--space-1)}.levelup-current-build .cb-slot{width:24px;height:24px;border-radius:var(--radius-sm);background:var(--color-bg-secondary);border:2px solid var(--color-border);display:flex;align-items:center;justify-content:center;font-size:var(--text-2xs);font-weight:700;transition:border-color var(--transition-fast),box-shadow var(--transition-fast);color:#3a3e54}.levelup-current-build .cb-slot.filled{border-color:var(--cb-color, var(--color-text-cyan));color:var(--cb-color, var(--color-text-cyan));box-shadow:0 0 6px var(--cb-color, var(--color-text-cyan))}.levelup-actions{display:flex;gap:var(--space-3);margin-top:var(--space-5);align-items:center;justify-content:center}.levelup-action-hint{font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-secondary);padding:var(--space-2) var(--space-4);border:1px dashed #3a3e54;border-radius:var(--radius-sm)}.levelup-action-btn{background:var(--color-border);color:var(--color-text-primary);border:1px solid #3a3e54;padding:var(--space-2) 22px;border-radius:var(--radius-sm);cursor:pointer;font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;min-height:var(--touch-min);touch-action:manipulation;-webkit-tap-highlight-color:transparent}.levelup-action-btn:hover:not(:disabled){background:#3a3e54;color:#fff}.levelup-action-btn:disabled{opacity:.35;cursor:not-allowed}@container app (max-height: 700px){.levelup-root{padding:calc(var(--safe-top) + 6px) calc(var(--safe-right) + 10px) calc(var(--safe-bottom) + 6px) calc(var(--safe-left) + 10px)}.levelup-level{font-size:var(--text-2xl);margin-bottom:2px}.levelup-sub{font-size:var(--text-sm);margin-bottom:var(--space-3)}.levelup-card{min-height:260px;padding:var(--space-3) var(--space-4)}.levelup-progress-panel{max-height:300px;padding:var(--space-3) var(--space-4)}}@container app (max-height: 500px){.levelup-root{padding:calc(var(--safe-top) + 6px) calc(var(--safe-right) + 10px) calc(var(--safe-bottom) + 6px) calc(var(--safe-left) + 10px);overflow:hidden;justify-content:flex-start}.levelup-root::-webkit-scrollbar,.levelup-cards::-webkit-scrollbar{display:none}.levelup-cards{scrollbar-width:none;-ms-overflow-style:none}.levelup-root{gap:2px}.levelup-title{font-size:var(--text-2xs);margin-bottom:0}.levelup-level{font-size:var(--text-lg);margin-bottom:1px}.levelup-sub{font-size:var(--text-xs);margin-bottom:2px}.levelup-layout{display:flex;gap:var(--space-2);width:100%;flex:1;min-height:0;overflow:hidden}.levelup-main-col{display:flex;flex-direction:column;flex:1;min-width:0;min-height:0;overflow:hidden;gap:2px}.levelup-cards{display:flex;gap:var(--space-2);flex-wrap:nowrap;align-items:stretch;flex:1;min-height:0;overflow:hidden}.levelup-current-build{flex-shrink:0}.levelup-progress-panel{width:160px;min-width:160px;max-height:100%;padding:var(--space-2) var(--space-2);gap:var(--space-1);font-size:var(--text-2xs);overflow-y:auto;scrollbar-width:none;-ms-overflow-style:none}.levelup-progress-panel::-webkit-scrollbar{display:none}.levelup-progress-title{font-size:var(--text-2xs);padding-bottom:3px}.synergy-row{padding:4px var(--space-1);gap:2px}.synergy-name{font-size:var(--text-2xs)}.synergy-effect{font-size:var(--text-2xs);margin:0}.synergy-bar{height:4px}.progress-dots{gap:3px}.progress-dot{width:5px;height:5px}.req-chip{font-size:7px;padding:0 4px}.levelup-current-build{grid-column:1;grid-row:2;overflow:hidden;min-width:0;margin-top:0!important;padding:var(--space-2) var(--space-3);max-height:none;min-height:0;border-left-width:3px;gap:2px;padding:var(--space-1) var(--space-3)}.cb-title{font-size:var(--text-2xs);margin-bottom:0}.levelup-current-build .cb-row{flex-direction:row;align-items:center;gap:var(--space-2);flex-wrap:wrap}.levelup-current-build .cb-name{font-size:var(--text-sm);font-weight:700}.levelup-current-build .cb-slots{display:flex;gap:2px}.cb-slot{width:16px;height:16px;font-size:7px}.levelup-current-build .cb-stats{font-size:var(--text-2xs);gap:var(--space-1);flex-wrap:wrap}.cb-stat{font-size:var(--text-2xs)}.levelup-current-build .cb-passive{font-size:var(--text-2xs);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.2}.levelup-current-build .cb-elbar{height:6px}.levelup-actions{gap:var(--space-1);margin-top:2px}.levelup-action-btn{padding:var(--space-2) var(--space-3);font-size:var(--text-xs);min-height:34px}}@container app (max-height: 400px){.levelup-root{padding:calc(var(--safe-top) + 4px) calc(var(--safe-right) + 6px) calc(var(--safe-bottom) + 4px) calc(var(--safe-left) + 6px)}.levelup-title{display:none}.levelup-level{font-size:var(--text-base)}.levelup-sub{display:none}.levelup-cards{max-height:180px}.levelup-progress-panel{width:130px;min-width:130px;padding:var(--space-1) var(--space-2)}.levelup-current-build{padding:2px var(--space-2)}}.itemoffer-root{position:absolute;inset:0;background:linear-gradient(180deg,#07070cfa,#0f0f19fa);display:flex;flex-direction:column;align-items:center;justify-content:safe center;pointer-events:auto;overflow-y:auto;z-index:9000;font-family:var(--font-ui);color:var(--color-text-primary);padding:calc(var(--safe-top) + 6px) calc(var(--safe-right) + 10px) calc(var(--safe-bottom) + 6px) calc(var(--safe-left) + 10px);box-sizing:border-box}.itemoffer-root.hidden{display:none}.itemoffer-title{font-size:var(--text-base);font-family:var(--font-display);letter-spacing:.3em;text-transform:uppercase;color:var(--color-text-secondary);margin-bottom:var(--space-1)}.itemoffer-head{font-size:var(--text-xl);font-family:var(--font-display);font-weight:800;color:var(--color-text-cyan);margin-bottom:var(--space-2);letter-spacing:.06em}.itemoffer-sub{font-size:var(--text-base);color:var(--color-text-secondary);margin-bottom:36px}.itemoffer-cards{display:flex;gap:var(--space-5)}.itemoffer-card{width:260px;min-height:220px;padding:var(--space-5) var(--space-6);background:linear-gradient(180deg,var(--color-bg-card),var(--color-bg-card-end));border:2px solid var(--card-color, var(--color-text-cyan));border-radius:var(--radius-lg);cursor:pointer;display:flex;flex-direction:column;transition:transform var(--transition-normal) var(--ease-out-quart),box-shadow var(--transition-normal) var(--ease-out-quart);position:relative;overflow:hidden;touch-action:manipulation;-webkit-tap-highlight-color:transparent;animation:card-entrance var(--transition-slow) var(--ease-out-expo) backwards}.itemoffer-card:nth-child(1){animation-delay:0ms}.itemoffer-card:nth-child(2){animation-delay:80ms}.itemoffer-card:nth-child(3){animation-delay:.16s}.itemoffer-card:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 0%,var(--card-color, var(--color-text-cyan)) 0%,transparent 55%);opacity:.22}.itemoffer-card:hover{transform:translateY(-8px) scale(1.03);box-shadow:0 16px 48px var(--card-color, var(--color-text-cyan))}.itemoffer-card .card-rarity-tag{font-size:var(--text-2xs);letter-spacing:.2em;text-transform:uppercase;color:var(--rarity-color, var(--rarity-common));position:relative}.itemoffer-card .card-category-tag{font-size:var(--text-2xs);letter-spacing:.18em;color:var(--color-text-secondary);margin-top:2px;position:relative}.itemoffer-card .card-name{font-size:var(--text-xl);font-family:var(--font-display);font-weight:800;color:var(--card-color, #fff);margin:var(--space-3) 0 var(--space-4) 0;position:relative}.itemoffer-card .card-desc{font-size:var(--text-sm);color:var(--color-text-primary);line-height:1.5;position:relative}.itemoffer-card .card-slot-hint{margin-top:auto;padding-top:var(--space-4);font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-muted);text-align:center;position:relative}.itemoffer-weapon-summary{margin-top:var(--space-4);font-size:var(--text-xs);color:var(--color-text-secondary);text-align:center;line-height:1.5;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));justify-items:center;gap:var(--space-2) var(--space-4);width:100%;max-width:900px}.itemoffer-actions{margin-top:var(--space-4)}.itemoffer-actions{display:flex;gap:var(--space-3);justify-content:center}.itemoffer-skip,.itemoffer-reroll{background:transparent;border:2px solid var(--color-border);color:var(--color-text-secondary);padding:var(--space-3) var(--space-6);font-family:inherit;font-size:var(--text-sm);letter-spacing:.08em;text-transform:uppercase;border-radius:var(--radius-md);cursor:pointer;min-height:var(--touch-min);touch-action:manipulation;-webkit-tap-highlight-color:transparent}.itemoffer-reroll{border-color:var(--rarity-epic);color:var(--rarity-epic)}.itemoffer-banish{background:transparent;border:2px solid var(--color-text-danger);color:var(--color-text-danger);padding:var(--space-3) var(--space-6);font-family:inherit;font-size:var(--text-sm);letter-spacing:.08em;text-transform:uppercase;border-radius:var(--radius-md);cursor:pointer;min-height:var(--touch-min);touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:background var(--transition-fast),color var(--transition-fast)}.itemoffer-banish:disabled{opacity:.35;cursor:not-allowed}.itemoffer-keep{background:transparent;border:2px solid #f0c050;color:#f0c050;padding:var(--space-3) var(--space-6);font-family:inherit;font-size:var(--text-sm);letter-spacing:.08em;text-transform:uppercase;border-radius:var(--radius-md);cursor:pointer;min-height:var(--touch-min);touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:background var(--transition-fast),color var(--transition-fast)}.itemoffer-keep:disabled{opacity:.35;cursor:not-allowed}.itemoffer-skip:hover,.itemoffer-reroll:hover,.itemoffer-banish:hover:not(:disabled),.itemoffer-keep:hover:not(:disabled){border-color:var(--color-text-cyan);color:#fff}.itemoffer-card.banned{opacity:.3;pointer-events:none}@container app (max-height: 700px){.itemoffer-sub{margin-bottom:var(--space-5)}}@container app (max-height: 500px){.itemoffer-root{padding:calc(var(--safe-top) + 4px) calc(var(--safe-right) + 8px) calc(var(--safe-bottom) + 4px) calc(var(--safe-left) + 8px);overflow-y:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none}.itemoffer-root::-webkit-scrollbar{display:none}.itemoffer-title{font-size:var(--text-2xs);margin-bottom:0}.itemoffer-head{font-size:var(--text-lg);margin:0 0 2px}.itemoffer-sub{font-size:var(--text-xs);margin-bottom:var(--space-1)}.itemoffer-cards{gap:var(--space-2);flex-wrap:nowrap;justify-content:center;flex:1;align-items:stretch}.itemoffer-card{flex:1 1 0;min-width:0;min-height:0;padding:var(--space-3) var(--space-4);overflow:hidden}.itemoffer-card:hover{transform:none!important}.itemoffer-card .card-rarity-tag,.itemoffer-card .card-category-tag{font-size:var(--text-2xs)}.itemoffer-card .card-name{font-size:var(--text-lg);margin-bottom:var(--space-2)}.itemoffer-card .card-desc{font-size:var(--text-sm);line-height:1.4}.itemoffer-card .card-slot-hint{font-size:var(--text-2xs)}.itemoffer-actions{margin-top:var(--space-1)}.itemoffer-skip,.itemoffer-reroll,.itemoffer-keep{padding:var(--space-2) var(--space-4);font-size:var(--text-sm)}}.itemoffer-owned{width:100%;max-width:900px;margin-top:var(--space-3);text-align:center}.itemoffer-owned-label{font-family:var(--font-display);font-size:var(--text-2xs);color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.08em;margin-bottom:var(--space-1)}.itemoffer-owned-list{display:flex;flex-wrap:wrap;justify-content:center;gap:4px}.itemoffer-owned-chip{display:inline-block;padding:2px 8px;border-radius:var(--radius-pill);font-size:var(--text-2xs);font-weight:600;color:var(--rarity-color, #aaa);background:#ffffff0f;border:1px solid var(--rarity-color, var(--color-border));white-space:nowrap}@media(max-width:800px){.itemoffer-cards{flex-wrap:wrap;justify-content:center}.itemoffer-card{width:220px;min-height:180px}}.weapon-unlock-root{position:absolute;inset:0;background:linear-gradient(180deg,#080610fa,#140a1efa);display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:auto;z-index:8800;font-family:var(--font-ui);color:var(--color-text-primary);padding:calc(var(--safe-top) + 6px) calc(var(--safe-right) + 10px) calc(var(--safe-bottom) + 6px) calc(var(--safe-left) + 10px);box-sizing:border-box}.weapon-unlock-root.hidden{display:none}.weapon-unlock-title{font-size:var(--text-sm);font-family:var(--font-display);letter-spacing:.3em;text-transform:uppercase;color:var(--color-text-secondary)}.weapon-unlock-head{font-size:var(--text-2xl);font-family:var(--font-display);font-weight:800;color:var(--rarity-legendary);letter-spacing:.06em;margin:var(--space-2) 0 var(--space-2) 0;text-shadow:0 0 32px rgba(255,180,61,.6)}.weapon-unlock-sub{font-size:var(--text-base);color:var(--color-text-secondary);margin-bottom:var(--space-8)}.weapon-unlock-cards{display:flex;gap:18px;flex-wrap:wrap;justify-content:center;max-width:1000px}.weapon-unlock-actions{margin-top:var(--space-4);text-align:center}.weapon-reroll-btn{padding:var(--space-2) var(--space-5);font-size:var(--text-sm);background:#b46dff26;color:var(--rarity-epic);border:1px solid rgba(180,109,255,.4);border-radius:var(--radius-md);cursor:pointer;font-weight:700;min-height:var(--touch-min);touch-action:manipulation;-webkit-tap-highlight-color:transparent}.weapon-reroll-btn:hover{background:#b46dff4d}.weapon-unlock-card{width:240px;min-height:280px;background:linear-gradient(180deg,#1c1628f2,#120e1cf2);border:2px solid var(--rarity-legendary);border-radius:var(--radius-lg);padding:var(--space-4) 18px;cursor:pointer;display:flex;flex-direction:column;position:relative;overflow:hidden;transition:transform var(--transition-normal) var(--ease-out-quart),box-shadow var(--transition-normal) var(--ease-out-quart);box-shadow:0 0 18px #ffb43d59;touch-action:manipulation;-webkit-tap-highlight-color:transparent;animation:card-entrance var(--transition-slow) var(--ease-out-expo) backwards}.weapon-unlock-card:nth-child(1){animation-delay:0ms}.weapon-unlock-card:nth-child(2){animation-delay:80ms}.weapon-unlock-card:nth-child(3){animation-delay:.16s}.weapon-unlock-card:nth-child(4){animation-delay:.24s}.weapon-unlock-card:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 0%,var(--rarity-legendary) 0%,transparent 60%);opacity:.18;pointer-events:none}.weapon-unlock-card:hover{transform:translateY(-8px) scale(1.03);box-shadow:0 16px 48px #ffb43db3}.weapon-unlock-card .tag{font-size:var(--text-2xs);letter-spacing:.18em;text-transform:uppercase;color:var(--color-text-secondary);position:relative}.weapon-unlock-card .name{font-size:var(--text-xl);font-family:var(--font-display);font-weight:800;color:#ffd76b;margin:var(--space-2) 0 var(--space-3) 0;position:relative;line-height:1.15}.weapon-unlock-card .desc{font-size:var(--text-sm);color:var(--color-text-primary);line-height:1.5;position:relative;margin-bottom:var(--space-4)}.weapon-unlock-card .stats{display:grid;grid-template-columns:auto 1fr;gap:3px var(--space-3);font-family:var(--font-mono);font-size:var(--text-xs);position:relative}.weapon-unlock-card .stats .k{color:var(--color-text-secondary)}.weapon-unlock-card .stats .v{color:#fff;text-align:right;font-weight:600}.weapon-unlock-card .passive{font-size:var(--text-xs);line-height:1.3;color:var(--color-text-primary);background:#00000040;border-left:2px solid var(--card-color, var(--rarity-legendary));padding:var(--space-1) var(--space-2);margin:var(--space-2) 0;border-radius:var(--radius-sm);position:relative}.weapon-unlock-card .passive b{color:#fff}.weapon-mastery-badge{font-size:var(--text-2xs);text-align:center;padding:3px var(--space-2);border-radius:var(--radius-sm);margin-top:var(--space-1);position:relative}.weapon-mastery-badge.unlocked{color:var(--color-text-success);background:#7fd86b1f;border:1px solid rgba(127,216,107,.3)}.weapon-mastery-badge.unlocked .mastery-check{font-weight:700}.weapon-mastery-badge.locked{color:var(--color-text-muted);background:#ffffff0a;border:1px solid rgba(255,255,255,.08)}.weapon-unlock-card .hint{margin-top:auto;padding-top:var(--space-4);font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-muted);text-align:center;position:relative}@container app (max-height: 500px){.weapon-unlock-root{padding:calc(var(--safe-top) + 4px) calc(var(--safe-right) + 6px) calc(var(--safe-bottom) + 4px) calc(var(--safe-left) + 6px);overflow-y:auto;-webkit-overflow-scrolling:touch;justify-content:flex-start;scrollbar-width:none;-ms-overflow-style:none}.weapon-unlock-root::-webkit-scrollbar,.weapon-unlock-cards::-webkit-scrollbar{display:none}.weapon-unlock-cards{scrollbar-width:none;-ms-overflow-style:none}.weapon-unlock-root{padding:calc(var(--safe-top) + 4px) calc(var(--safe-right) + 6px) calc(var(--safe-bottom) + 4px) calc(var(--safe-left) + 6px);flex-direction:row;flex-wrap:wrap;justify-content:center;align-content:flex-start;gap:var(--space-1)}.weapon-unlock-title,.weapon-unlock-head,.weapon-unlock-sub{width:100%;text-align:center}.weapon-unlock-title{font-size:var(--text-2xs);margin-bottom:0}.weapon-unlock-head{font-size:var(--text-lg);margin:0 0 1px}.weapon-unlock-sub{font-size:var(--text-xs);margin-bottom:3px}.weapon-unlock-cards{gap:var(--space-2);flex-wrap:nowrap;width:100%;justify-content:center;flex:1;align-items:stretch}.weapon-unlock-card{width:30%;min-width:0;min-height:0;padding:var(--space-2) var(--space-4);flex:1 1 0;overflow:hidden}.weapon-unlock-card .tag{font-size:var(--text-2xs)}.weapon-unlock-card .name{font-size:var(--text-lg);margin-bottom:var(--space-1)}.weapon-unlock-card .desc{font-size:var(--text-2xs);line-height:1.3;margin-bottom:var(--space-1)}.weapon-unlock-card .stats{gap:2px var(--space-3);font-size:var(--text-2xs)}.weapon-unlock-card .passive{font-size:var(--text-2xs);padding:3px var(--space-2);margin:var(--space-1) 0}.weapon-unlock-card .hint{padding-top:var(--space-1);font-size:var(--text-2xs)}.weapon-unlock-actions{width:100%;margin-top:2px}.weapon-reroll-btn{padding:var(--space-1) var(--space-3);font-size:var(--text-xs)}.weapon-unlock-card:hover{transform:none!important;box-shadow:0 0 18px var(--rarity-color, rgba(255, 180, 61, .35))}}@container app (max-height: 400px){.weapon-unlock-root{padding:calc(var(--safe-top) + 4px) calc(var(--safe-right) + 6px) calc(var(--safe-bottom) + 4px) calc(var(--safe-left) + 6px)}.weapon-unlock-title{display:none}.weapon-unlock-head{font-size:var(--text-lg)}.weapon-unlock-sub{display:none}}@media(max-width:800px){.weapon-unlock-cards{flex-wrap:wrap;justify-content:center}.weapon-unlock-card{width:200px;min-height:220px}}.evo-damage-breakdown{width:680px;margin:0 auto var(--space-6) auto;padding:var(--space-4) 18px;background:var(--color-bg-panel-solid);border:1px solid var(--color-border);border-radius:var(--radius-md)}.evo-dmg-title{font-size:var(--text-sm);font-family:var(--font-display);letter-spacing:.12em;text-transform:uppercase;color:var(--color-text-secondary);margin-bottom:var(--space-2)}.evo-dmg-empty{color:var(--color-text-muted);font-style:italic;font-size:var(--text-sm)}.evo-dmg-bar{display:flex;height:14px;border-radius:var(--radius-sm);overflow:hidden;background:var(--color-bg-secondary);margin-bottom:var(--space-2);border:1px solid var(--color-border-subtle)}.evo-dmg-bar .seg{height:100%}.evo-dmg-legend{display:flex;flex-wrap:wrap;gap:var(--space-3);font-size:var(--text-xs);letter-spacing:.04em}.evo-dmg-legend .legend{display:inline-flex;align-items:center;gap:var(--space-1);font-weight:600}.evo-dmg-legend .dot{display:inline-block;width:8px;height:8px;border-radius:50%}.evo-weapon-breakdown{width:680px;margin:0 auto var(--space-6) auto;padding:var(--space-3) 18px;background:var(--color-bg-panel-solid);border:1px solid var(--color-border);border-radius:var(--radius-md)}.evo-weapon-row{display:grid;grid-template-columns:140px 1fr 1fr;gap:var(--space-3);align-items:center;padding:var(--space-2) 0;border-top:1px solid var(--color-border-subtle)}.evo-weapon-row:first-of-type{border-top:none}.evo-weapon-legend{grid-column:1 / -1;display:flex;flex-wrap:wrap;gap:var(--space-2);font-size:var(--text-2xs);letter-spacing:.04em;padding:0 0 var(--space-1) 0}.evo-weapon-legend .legend{display:inline-flex;align-items:center;gap:3px;font-weight:600}.evo-weapon-legend .dot{display:inline-block;width:7px;height:7px;border-radius:50%}.evo-weapon-name{font-size:var(--text-sm);font-weight:700;color:#e6e8f0;display:flex;align-items:center;gap:var(--space-2)}.evo-weapon-slots{display:inline-flex;gap:3px}.evo-slot{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:var(--radius-sm);font-size:var(--text-2xs);font-weight:800;background:var(--color-bg-secondary);border:1px solid var(--color-border);color:#3a3e54}.evo-slot.filled{border-color:var(--sc, var(--color-text-cyan));color:var(--sc, var(--color-text-cyan));box-shadow:0 0 4px var(--sc, var(--color-text-cyan))}.evo-weapon-mods{grid-column:1 / -1;display:flex;flex-wrap:wrap;gap:var(--space-2);padding:2px 0 var(--space-1) 0;font-size:var(--text-2xs)}.evo-mod{background:#ffffff0d;padding:2px 7px;border-radius:var(--radius-sm);white-space:nowrap}.evo-mod b{font-weight:700;margin-left:2px}.evo-weapon-now,.evo-weapon-total{display:flex;align-items:center;gap:var(--space-2)}.evo-weapon-label{font-size:var(--text-2xs);color:var(--color-text-muted);letter-spacing:.08em;text-transform:uppercase;width:24px}.evo-weapon-run-bar{flex:1;height:10px;background:var(--color-bg-secondary);border-radius:var(--radius-sm);border:1px solid var(--color-border-subtle);overflow:hidden}.evo-weapon-run-bar .fill{height:100%;transition:width var(--transition-overlay)}.evo-weapon-run-value{font-size:var(--text-2xs);color:var(--color-text-secondary);font-family:var(--font-mono);min-width:90px;text-align:right}@container app (max-height: 500px){.evo-damage-breakdown,.evo-weapon-breakdown{display:none}}@media(max-width:800px){.evo-damage-breakdown,.evo-weapon-breakdown{width:100%;max-width:100%}.evo-weapon-row{grid-template-columns:100px 1fr 1fr;gap:var(--space-2)}}.powersource-root{position:absolute;inset:0;background:linear-gradient(180deg,#07070cfa,#0f0f19fa);display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:auto;z-index:9000;font-family:var(--font-ui);color:var(--color-text-primary);padding:calc(var(--safe-top) + 6px) calc(var(--safe-right) + 10px) calc(var(--safe-bottom) + 6px) calc(var(--safe-left) + 10px);box-sizing:border-box}.powersource-root.hidden{display:none}.powersource-title{font-size:var(--text-base);font-family:var(--font-display);letter-spacing:.3em;text-transform:uppercase;color:var(--color-text-secondary);margin-bottom:var(--space-1)}.powersource-head{font-size:var(--text-xl);font-family:var(--font-display);font-weight:800;color:var(--color-text-accent);margin-bottom:var(--space-2);letter-spacing:.06em}.powersource-sub{font-size:var(--text-base);color:var(--color-text-secondary);margin-bottom:36px}.powersource-cards{display:flex;gap:var(--space-5)}.powersource-card{width:280px;min-height:220px;padding:var(--space-5) var(--space-6);background:linear-gradient(180deg,var(--color-bg-card),var(--color-bg-card-end));border:2px solid var(--card-color, var(--color-text-cyan));border-radius:var(--radius-lg);cursor:pointer;display:flex;flex-direction:column;transition:transform var(--transition-normal) var(--ease-out-quart),box-shadow var(--transition-normal) var(--ease-out-quart);position:relative;overflow:hidden;touch-action:manipulation;-webkit-tap-highlight-color:transparent;animation:card-entrance var(--transition-slow) var(--ease-out-expo) backwards}.powersource-card:nth-child(1){animation-delay:0ms}.powersource-card:nth-child(2){animation-delay:80ms}.powersource-card:nth-child(3){animation-delay:.16s}.powersource-card:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 0%,var(--card-color, var(--color-text-cyan)) 0%,transparent 55%);opacity:.25}.powersource-card:hover{transform:translateY(-8px) scale(1.03);box-shadow:0 16px 48px var(--card-color, var(--color-text-cyan))}.powersource-card .tag{font-size:var(--text-2xs);letter-spacing:.2em;text-transform:uppercase;color:var(--color-text-secondary);position:relative}.powersource-card .name{font-size:var(--text-xl);font-family:var(--font-display);font-weight:800;color:var(--card-color, #fff);margin:var(--space-2) 0 var(--space-4) 0;position:relative}.powersource-card .desc{font-size:var(--text-base);color:var(--color-text-primary);line-height:1.5;position:relative}.powersource-card .hint{margin-top:auto;padding-top:var(--space-4);font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-muted);text-align:center;position:relative}.ps-reroll-btn{margin-top:var(--space-4);padding:var(--space-2) var(--space-5);font-family:var(--font-ui);font-size:var(--text-sm);color:var(--color-text-primary);background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;transition:border-color var(--transition-normal),background var(--transition-normal)}.ps-reroll-btn:hover{border-color:var(--color-text-accent);background:var(--color-bg-card-end)}@container app (max-height: 700px){.powersource-sub{margin-bottom:var(--space-5)}}@container app (max-height: 500px){.powersource-root{padding:calc(var(--safe-top) + 6px) calc(var(--safe-right) + 10px) calc(var(--safe-bottom) + 6px) calc(var(--safe-left) + 10px);overflow-y:auto;-webkit-overflow-scrolling:touch;justify-content:flex-start;scrollbar-width:none;-ms-overflow-style:none}.powersource-root::-webkit-scrollbar{display:none}.powersource-root{padding:calc(var(--safe-top) + 4px) calc(var(--safe-right) + 6px) calc(var(--safe-bottom) + 4px) calc(var(--safe-left) + 6px);gap:2px}.powersource-title{font-size:var(--text-xs);margin-bottom:0}.powersource-head{font-size:var(--text-xl);margin-bottom:2px}.powersource-sub{font-size:var(--text-sm);margin-bottom:var(--space-1)}.powersource-cards{gap:var(--space-2);flex-wrap:nowrap;width:100%;justify-content:center;flex:1;align-items:stretch}.powersource-card{width:30%;min-width:0;min-height:0;padding:var(--space-3) 18px;flex:1 1 0;overflow:hidden}.powersource-card .tag{font-size:var(--text-2xs)}.powersource-card .name{font-size:var(--text-lg);margin:var(--space-1) 0 var(--space-3) 0}.powersource-card .desc{font-size:var(--text-sm);line-height:1.4}.powersource-card .hint{font-size:var(--text-2xs);padding-top:var(--space-2)}.powersource-card:hover{transform:none!important;box-shadow:0 0 18px var(--rarity-color, rgba(255, 180, 61, .35))}}@container app (max-height: 400px){.powersource-root{padding:calc(var(--safe-top) + 4px) calc(var(--safe-right) + 6px) calc(var(--safe-bottom) + 4px) calc(var(--safe-left) + 6px)}.powersource-title{display:none}.powersource-head{font-size:var(--text-lg)}.powersource-sub{display:none}}@media(max-width:800px){.powersource-cards{flex-wrap:wrap;justify-content:center}.powersource-card{width:220px;min-height:180px}}.charselect-root{position:absolute;inset:0;background:linear-gradient(180deg,#07070cfa,#0f0f19fa);display:flex;flex-direction:column;align-items:center;justify-content:flex-start;pointer-events:auto;z-index:9000;font-family:var(--font-ui);color:var(--color-text-primary);padding:0 calc(var(--safe-right) + 10px) calc(var(--safe-bottom) + 6px) calc(var(--safe-left) + 10px);box-sizing:border-box;overflow-y:hidden}.charselect-root.hidden{display:none}.charselect-toolbar{position:relative;flex-shrink:0;width:100%;display:flex;align-items:center;justify-content:center;gap:var(--space-4);padding:calc(var(--safe-top) + 4px) 0 var(--space-2) 0;background:linear-gradient(180deg,#07070c,#07070cf2)}.charselect-back{position:absolute;left:calc(var(--safe-left) + var(--space-3));top:50%;transform:translateY(-50%);padding:var(--space-1) var(--space-3);border-radius:var(--radius-pill);border:1px solid var(--color-border);background:#ffffff0a;color:var(--color-text-secondary);font-family:var(--font-ui);font-size:var(--text-xs);font-weight:600;letter-spacing:.04em;cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast);white-space:nowrap;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.charselect-back:hover{border-color:var(--color-text-cyan);color:var(--color-text-cyan);background:#5fcfff1a}.charselect-back:active{background:#5fcfff2e}.charselect-title{font-size:var(--text-lg);font-family:var(--font-display);font-weight:800;letter-spacing:.06em;color:var(--color-text-accent);white-space:nowrap}.charselect-count{font-size:var(--text-2xs);color:var(--color-text-muted);font-family:var(--font-ui);white-space:nowrap}.charselect-controls{display:flex;flex-direction:column;align-items:center;gap:var(--space-1);flex-shrink:0;padding-bottom:var(--space-2)}.charselect-danger-star{position:absolute;top:6px;right:8px;font:700 11px/1 var(--font-mono);color:#ff8a3d;cursor:pointer;z-index:2;padding:2px 5px;border-radius:4px;background:#ff78281f;border:1px solid rgba(255,120,40,.3);touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:all var(--transition-fast)}.charselect-danger-star:hover{background:#ff782840;border-color:#ff78288c}.charselect-danger-star:active{transform:scale(.9)}.charselect-random{padding:var(--space-1) var(--space-3);border-radius:var(--radius-pill);border:1px solid var(--color-text-accent);background:#ffb43d1f;color:var(--color-text-accent);font-family:var(--font-ui);font-size:var(--text-2xs);font-weight:600;cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.charselect-random:hover{background:#ffb43d40;border-color:var(--color-text-accent)}.charselect-toggle-filters{padding:var(--space-1) var(--space-3);border-radius:var(--radius-pill);border:1px solid var(--color-border);background:transparent;color:var(--color-text-secondary);font-family:var(--font-ui);font-size:var(--text-2xs);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap}.charselect-toggle-filters:hover{border-color:var(--color-text-cyan);color:var(--color-text-cyan)}.charselect-filter-panel{display:flex;flex-direction:column;align-items:center;gap:var(--space-1);max-height:0;overflow:hidden;opacity:0;transition:max-height .25s var(--ease-out-quart),opacity .2s var(--ease-out-quart)}.charselect-filter-panel.expanded{max-height:200px;opacity:1}.charselect-filters{display:flex;gap:var(--space-2);justify-content:center}.charselect-element-filters{display:flex;gap:var(--space-1);justify-content:center;flex-wrap:wrap}.charselect-search{width:160px;padding:var(--space-1) var(--space-3);border-radius:var(--radius-pill);border:1px solid var(--color-border);background:#ffffff0d;color:var(--color-text-primary);font-family:var(--font-ui);font-size:var(--text-sm);outline:none;transition:border-color var(--transition-fast)}.charselect-search:focus{border-color:var(--color-text-cyan)}.charselect-search::placeholder{color:var(--color-text-muted)}.charselect-filter{padding:var(--space-1) var(--space-4);border-radius:var(--radius-pill);border:1px solid var(--color-border);background:transparent;color:var(--color-text-secondary);font-family:var(--font-ui);font-size:var(--text-sm);cursor:pointer;transition:all var(--transition-fast)}.charselect-filter:hover{border-color:var(--color-text-cyan);color:var(--color-text-cyan)}.charselect-filter.active{background:#5fcfff26;border-color:var(--color-text-cyan);color:var(--color-text-cyan);font-weight:600}.charselect-element-filter{padding:var(--space-1) var(--space-2);border-radius:var(--radius-pill);border:1px solid var(--color-border);background:transparent;color:var(--color-text-secondary);font-family:var(--font-ui);font-size:var(--text-2xs);cursor:pointer;transition:all var(--transition-fast)}.charselect-element-filter:hover{border-color:var(--color-text-accent);color:var(--color-text-accent)}.charselect-element-filter.active{background:#ffb43d26;border-color:var(--color-text-accent);color:var(--color-text-accent);font-weight:600}.charselect-pattern-filters{display:flex;gap:var(--space-1);justify-content:center;flex-wrap:wrap}.charselect-pattern-filter{padding:var(--space-1) var(--space-2);border-radius:var(--radius-pill);border:1px solid var(--color-border);background:transparent;color:var(--color-text-secondary);font-family:var(--font-ui);font-size:var(--text-2xs);cursor:pointer;transition:all var(--transition-fast)}.charselect-pattern-filter:hover{border-color:var(--color-text-success);color:var(--color-text-success)}.charselect-pattern-filter.active{background:#7fd86b26;border-color:var(--color-text-success);color:var(--color-text-success);font-weight:600}.charselect-sort{display:flex;align-items:center;gap:var(--space-1)}.charselect-sort-label{font-size:var(--text-2xs);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em}.charselect-sort-btn{padding:2px var(--space-2);border-radius:var(--radius-pill);border:1px solid var(--color-border);background:transparent;color:var(--color-text-secondary);font-family:var(--font-ui);font-size:var(--text-2xs);cursor:pointer;transition:all var(--transition-fast)}.charselect-sort-btn:hover{border-color:var(--color-text-cyan);color:var(--color-text-cyan)}.charselect-sort-btn.active{background:#5fcfff26;border-color:var(--color-text-cyan);color:var(--color-text-cyan);font-weight:600}.charselect-cards{display:flex;gap:var(--space-3);flex-wrap:wrap;justify-content:center;max-width:100%;overflow-y:auto;flex:1;-webkit-overflow-scrolling:touch;scrollbar-width:thin;align-content:flex-start}.charselect-card{width:160px;padding:var(--space-4) var(--space-4);background:linear-gradient(180deg,var(--color-bg-card),var(--color-bg-card-end));border:2px solid var(--card-color, var(--color-text-cyan));border-radius:var(--radius-lg);cursor:pointer;display:flex;flex-direction:column;align-items:center;text-align:center;transition:transform var(--transition-normal) var(--ease-out-quart),box-shadow var(--transition-normal) var(--ease-out-quart);position:relative;touch-action:manipulation;-webkit-tap-highlight-color:transparent;animation:card-entrance var(--transition-slow) var(--ease-out-expo) backwards}.charselect-card:nth-child(1){animation-delay:0ms}.charselect-card:nth-child(2){animation-delay:60ms}.charselect-card:nth-child(3){animation-delay:.12s}.charselect-card:nth-child(4){animation-delay:.18s}.charselect-card:nth-child(5){animation-delay:.24s}.charselect-card:nth-child(6){animation-delay:.3s}.charselect-card:nth-child(7){animation-delay:.36s}.charselect-card:nth-child(8){animation-delay:.42s}.charselect-card:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 20%,var(--card-color, var(--color-text-cyan)) 0%,transparent 55%);opacity:.15;border-radius:inherit;pointer-events:none}.charselect-card:hover{transform:translateY(-6px) scale(1.03);box-shadow:0 12px 36px var(--card-color, var(--color-text-cyan))}.charselect-card.focused{box-shadow:0 0 0 3px var(--card-color, var(--color-text-cyan)),0 0 32px var(--card-color, var(--color-text-cyan));animation:card-entrance var(--transition-slow) var(--ease-out-expo) backwards,focused-pulse 2.4s ease-in-out infinite}@keyframes focused-pulse{0%,to{box-shadow:0 0 0 3px var(--card-color, var(--color-text-cyan)),0 0 28px var(--card-color, var(--color-text-cyan))}50%{box-shadow:0 0 0 3px var(--card-color, var(--color-text-cyan)),0 0 48px var(--card-color, var(--color-text-cyan))}}.charselect-recommended{position:absolute;top:4px;left:6px;font-size:18px;line-height:1;color:#fc3;text-shadow:0 0 6px rgba(255,200,60,.9),0 0 2px rgba(0,0,0,.8);cursor:help;z-index:2;user-select:none;animation:recommended-twinkle 2.4s ease-in-out infinite}@keyframes recommended-twinkle{0%,to{transform:scale(1);filter:brightness(1)}50%{transform:scale(1.18);filter:brightness(1.3)}}.charselect-unlock-hint{flex-basis:100%;text-align:center;font-family:var(--font-ui);font-size:var(--text-sm);color:var(--color-text-muted);font-style:italic;padding:var(--space-6) var(--space-4);margin-top:var(--space-4);border-top:1px dashed var(--color-border);opacity:.85}.charselect-circle{width:48px;height:48px;border-radius:50%;margin-bottom:var(--space-3);position:relative;box-shadow:0 0 16px currentColor;flex-shrink:0}.charselect-name{font-size:var(--text-lg);font-family:var(--font-display);font-weight:800;color:var(--card-color, #fff);position:relative}.charselect-tagline{font-size:var(--text-2xs);color:var(--color-text-secondary);font-style:italic;margin-bottom:var(--space-2);position:relative}.charselect-stats{font-size:var(--text-sm);color:var(--color-text-primary);margin-bottom:var(--space-2);position:relative}.charselect-passive{font-size:var(--text-xs);color:var(--color-text-secondary);line-height:1.4;margin-bottom:var(--space-2);position:relative}.charselect-passive .passive-label{color:var(--card-color, var(--color-text-accent));font-weight:700}.charselect-weapon{font-size:var(--text-2xs);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.06em;position:relative;cursor:pointer}.weapon-expand-icon{display:inline-block;width:1.2em;text-align:center;color:var(--card-color, var(--color-text-accent));font-weight:700}.charselect-weapon-details{max-height:0;overflow:hidden;transition:max-height .25s ease,padding .25s ease;width:100%;text-align:left;padding:0 var(--space-1);box-sizing:border-box}.charselect-weapon-details.open{max-height:200px;padding:var(--space-2) var(--space-1)}.wt-row{display:flex;justify-content:space-between;font-size:var(--text-2xs);color:var(--color-text-primary);padding:1px 0}.wt-label{color:var(--color-text-muted)}.el-dots{display:flex;gap:4px;align-items:center;justify-content:flex-end}.el-dot{width:8px;height:8px;border-radius:50%;display:inline-block;box-shadow:0 0 4px currentColor}.charselect-rating{display:flex;gap:6px;justify-content:center;margin:4px 0}.rating-btn{width:32px;height:28px;border:1px solid rgba(255,255,255,.15);border-radius:6px;background:#ffffff0d;cursor:pointer;font-size:14px;line-height:1;opacity:.5;transition:opacity .15s,background .15s}.rating-btn:hover{opacity:.8}.rating-btn.rating-active{opacity:1;background:#ffffff26;border-color:#fff6}.charselect-rating-filters{display:flex;gap:4px;flex-wrap:wrap}.charselect-rating-filter{padding:3px 10px;border-radius:var(--radius-sm);border:1px solid rgba(255,255,255,.15);background:transparent;color:var(--color-text-secondary);font-size:var(--text-2xs);cursor:pointer}.charselect-rating-filter.active{background:#ffffff1a;border-color:#ffffff4d;color:#fff}.charselect-hint{margin-top:auto;padding-top:var(--space-3);font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-muted);position:relative}.charselect-locked-divider{width:100%;flex-basis:100%;height:0;margin:var(--space-2) 0;border-top:1px solid var(--color-border)}.charselect-card.locked{opacity:.45;pointer-events:none;filter:grayscale(.6)}.charselect-card.locked .charselect-circle{filter:brightness(.5)}.charselect-lock-overlay{position:absolute;bottom:var(--space-3);left:0;right:0;font-size:var(--text-2xs);color:var(--color-text-muted);text-align:center;text-transform:uppercase;letter-spacing:.05em;padding:var(--space-1)}.locked-weapon{font-size:var(--text-2xs);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.06em;margin-top:var(--space-2)}@container app (max-height: 500px){.charselect-root{padding:calc(var(--safe-top) + 4px) calc(var(--safe-right) + 6px) calc(var(--safe-bottom) + 4px) calc(var(--safe-left) + 6px);overflow-y:auto;-webkit-overflow-scrolling:touch;justify-content:flex-start;scrollbar-width:none;-ms-overflow-style:none}.charselect-root::-webkit-scrollbar{display:none}.charselect-title{font-size:var(--text-lg);margin-bottom:var(--space-2)}.charselect-toolbar{padding-left:calc(var(--safe-left) + 80px);padding-right:var(--space-2)}.charselect-back{padding:2px var(--space-2);font-size:var(--text-2xs);left:calc(var(--safe-left) + 4px)}.charselect-cards{gap:var(--space-2)}.charselect-card{width:180px;padding:var(--space-3) var(--space-3)}.charselect-circle{width:32px;height:32px;margin-bottom:var(--space-2)}.charselect-name{font-size:var(--text-lg)}.charselect-tagline{display:none}.charselect-stats{font-size:var(--text-sm)}.charselect-passive,.charselect-weapon{font-size:var(--text-xs)}.charselect-hint{display:none}.charselect-card:hover{transform:none!important;box-shadow:0 0 18px var(--card-color, rgba(255, 180, 61, .35))}}@container app (max-height: 400px){.charselect-title{font-size:var(--text-base)}.charselect-card{width:140px;padding:var(--space-2)}.charselect-circle{width:24px;height:24px;margin-bottom:var(--space-1)}.charselect-passive{display:none}}.charselect-lock-progress{margin-top:6px;padding:4px 6px;background:#ffffff0a;border-radius:4px}.charselect-lock-bar{height:4px;background:#ffffff14;border-radius:2px;overflow:hidden}.charselect-lock-fill{height:100%;background:linear-gradient(90deg,#6ea0ff,#f4d96f);box-shadow:0 0 6px #6ea0ff66;transition:width .4s ease}.charselect-lock-progress-text{margin-top:3px;font:600 9px/1 var(--font-mono);color:#aab5cc;text-align:center;letter-spacing:.04em}.charselect-card.locked .charselect-name{color:#6a7696}.charselect-card.locked .charselect-tagline{color:#4a5574;opacity:.7;font-style:italic}.saferoom-root{position:absolute;inset:0;background:linear-gradient(180deg,#080a14fa,#10141efa);display:flex;flex-direction:column;align-items:center;justify-content:flex-start;pointer-events:auto;z-index:8500;font-family:var(--font-ui);color:var(--color-text-primary);padding:calc(var(--safe-top) + 6px) calc(var(--safe-right) + 10px) calc(var(--safe-bottom) + 6px) calc(var(--safe-left) + 10px);box-sizing:border-box;overflow-y:auto}.saferoom-root.hidden{display:none}.saferoom-title{font-size:var(--text-sm);font-family:var(--font-display);letter-spacing:.3em;text-transform:uppercase;color:var(--color-text-secondary)}.saferoom-head{font-size:var(--text-2xl);font-family:var(--font-display);font-weight:800;color:var(--color-text-success);letter-spacing:.06em;margin:var(--space-1) 0;text-shadow:0 0 24px rgba(127,216,107,.4)}.saferoom-sub{font-size:var(--text-base);color:var(--color-text-secondary);margin-bottom:28px;display:flex;align-items:center;gap:var(--space-6)}.saferoom-scrap-float{position:fixed;top:0;right:0;z-index:10;background:#080a14eb;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);padding:var(--space-2) var(--space-3);flex-direction:column;font-size:var(--text-base);color:var(--color-text-accent);font-family:var(--font-mono);border-bottom:1px solid var(--color-border);display:flex;align-items:center;justify-content:center;gap:var(--space-1);border-radius:0 0 0 var(--radius-lg)}.saferoom-scrap-float b{color:#fff;font-size:var(--text-lg)}.saferoom-leave-float{font-size:var(--text-sm)!important;padding:var(--space-2) var(--space-3)!important;min-width:auto!important;min-height:auto!important;width:100%}.saferoom-weapon-overview{width:100%;max-width:900px;margin-top:var(--space-6);margin-bottom:var(--space-6)}.saferoom-section-title{font-family:var(--font-display);font-size:var(--text-base);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.1em;text-align:center;margin-bottom:var(--space-3)}.saferoom-sub .scrap-display{display:none}.saferoom-weapons{display:flex;flex-direction:column;gap:18px;margin-bottom:var(--space-6);padding:0 var(--space-2);width:100%;max-width:900px;box-sizing:border-box}.saferoom-shop-head{font-size:var(--text-sm);font-family:var(--font-display);letter-spacing:.14em;text-transform:uppercase;color:var(--rarity-epic);font-weight:700;margin-top:var(--space-3);margin-bottom:var(--space-3);text-align:center}.saferoom-shop-head .shop-slot-count{font-size:var(--text-xs);font-family:var(--font-ui);color:var(--color-text-secondary);letter-spacing:.08em;margin-left:var(--space-3);text-transform:none}.saferoom-buy-slot{margin-left:var(--space-3);padding:3px var(--space-3);font-size:var(--text-xs);background:#7fd86b1f;color:var(--color-text-success);border:1px solid rgba(127,216,107,.3);border-radius:var(--radius-sm);cursor:pointer;text-transform:none;letter-spacing:0;font-weight:600;min-height:var(--touch-min);touch-action:manipulation;-webkit-tap-highlight-color:transparent}.saferoom-buy-slot:hover:not(:disabled){background:#7fd86b40}.saferoom-buy-slot:disabled{opacity:.4;cursor:not-allowed}.saferoom-shop{display:grid;grid-template-columns:repeat(3,220px);gap:var(--space-4);justify-content:center;margin-bottom:var(--space-4)}.saferoom-shop-item{background:linear-gradient(180deg,var(--color-bg-card),var(--color-bg-card-end));border:2px solid var(--rarity-color, var(--rarity-epic));border-radius:var(--radius-lg);padding:var(--space-3) var(--space-4);display:flex;flex-direction:column;gap:var(--space-2);position:relative;overflow:hidden}.saferoom-shop-item:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 0%,var(--card-color, var(--rarity-epic)) 0%,transparent 60%);opacity:.15;pointer-events:none}.saferoom-shop-item .card-rarity-tag{font-size:var(--text-2xs);letter-spacing:.2em;color:var(--rarity-color, var(--rarity-common));position:relative}.saferoom-shop-item .card-category-tag{font-size:var(--text-2xs);letter-spacing:.16em;color:var(--color-text-secondary);position:relative}.saferoom-shop-item .card-name{font-size:var(--text-lg);font-family:var(--font-display);font-weight:700;color:var(--card-color, #fff);margin:2px 0;position:relative}.saferoom-shop-item .card-desc{font-size:var(--text-sm);color:var(--color-text-primary);line-height:1.4;position:relative;min-height:48px}.saferoom-shop-item button{margin-top:var(--space-2);padding:var(--space-2) var(--space-3);background:transparent;border:2px solid var(--rarity-color, var(--rarity-epic));color:var(--rarity-color, var(--rarity-epic));font-family:inherit;font-weight:700;font-size:var(--text-sm);letter-spacing:.08em;text-transform:uppercase;border-radius:var(--radius-md);cursor:pointer;min-height:var(--touch-min);touch-action:manipulation;-webkit-tap-highlight-color:transparent}.saferoom-shop-item button:hover:not(:disabled){background:var(--rarity-color, var(--rarity-epic));color:var(--color-bg-secondary)}.saferoom-shop-item button:disabled{opacity:.35;cursor:not-allowed}.saferoom-owned-head{font-size:var(--text-sm);font-family:var(--font-display);letter-spacing:.14em;text-transform:uppercase;color:var(--color-text-accent);font-weight:700;margin-top:var(--space-3);margin-bottom:var(--space-3);text-align:center}.saferoom-owned{display:grid;grid-template-columns:repeat(3,220px);gap:var(--space-4);justify-content:center;margin-bottom:var(--space-4)}.saferoom-owned-item{position:relative;background:linear-gradient(180deg,var(--color-bg-card),var(--color-bg-card-end));border:2px solid var(--rarity-color, var(--rarity-common));border-radius:var(--radius-lg);padding:var(--space-3) var(--space-4);display:flex;flex-direction:column;gap:var(--space-1);overflow:hidden}.saferoom-owned-item:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 0%,var(--card-color, var(--color-text-cyan)) 0%,transparent 60%);opacity:.15;pointer-events:none}.saferoom-owned-item .card-rarity-tag{font-size:var(--text-2xs);letter-spacing:.2em;color:var(--rarity-color, var(--rarity-common));position:relative}.saferoom-owned-item .card-category-tag{font-size:var(--text-2xs);letter-spacing:.16em;color:var(--color-text-secondary);position:relative}.saferoom-owned-item .card-name{font-size:var(--text-base);font-weight:700;color:var(--card-color, #fff);margin:2px 0;position:relative}.saferoom-owned-item .card-desc{font-size:var(--text-xs);color:var(--color-text-secondary);line-height:1.4;position:relative}.saferoom-discard-btn{position:absolute;top:var(--space-2);right:var(--space-2);width:22px;height:22px;border-radius:var(--radius-sm);background:#ff608026;border:1px solid var(--color-btn-danger);color:var(--color-btn-danger);font-size:var(--text-base);font-weight:700;line-height:1;cursor:pointer;z-index:2;padding:0;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.saferoom-discard-btn:hover{background:var(--color-btn-danger);color:var(--color-bg-secondary)}.saferoom-weapon-block{display:flex;flex-direction:column;gap:var(--space-3)}.saferoom-weapon-header{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-2);flex-wrap:nowrap;overflow:hidden}.saferoom-weapon-name{font-size:var(--text-base);font-family:var(--font-display);letter-spacing:.14em;text-transform:uppercase;color:var(--color-text-primary);font-weight:700;padding-left:var(--space-1);white-space:nowrap;flex-shrink:0}.saferoom-weapon-stats{flex:1;min-width:0;white-space:nowrap;overflow:hidden;font-size:var(--text-xs)}.saferoom-slots{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-3);max-width:836px;margin:0 auto}.saferoom-slot{background:linear-gradient(180deg,var(--color-bg-card),var(--color-bg-card-end));border:2px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-3) var(--space-4);display:flex;flex-direction:column;gap:var(--space-2);min-height:210px;position:relative;overflow:hidden}.saferoom-slot.filled{border-color:var(--rarity-color, var(--rarity-common))}.saferoom-slot:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 0%,var(--card-color, var(--color-text-cyan)) 0%,transparent 60%);opacity:.12;pointer-events:none}.saferoom-slot .slot-num{font-size:var(--text-2xs);letter-spacing:.12em;color:var(--color-text-muted);font-family:var(--font-mono)}.saferoom-slot.empty .slot-empty-msg{flex:1;display:flex;align-items:center;justify-content:center;color:#3a3e54;font-size:var(--text-sm);font-style:italic}.saferoom-slot .slot-rarity{font-size:var(--text-2xs);letter-spacing:.15em;text-transform:uppercase;color:var(--rarity-color, #fff);font-weight:700;position:relative}.saferoom-slot .slot-name{font-size:var(--text-base);font-weight:700;color:var(--card-color, #fff);line-height:1.2;position:relative}.saferoom-slot .slot-desc{font-size:var(--text-xs);color:var(--color-text-secondary);line-height:1.4;position:relative}.saferoom-slot .slot-stats{display:grid;grid-template-columns:auto 1fr;gap:2px var(--space-2);font-family:var(--font-mono);font-size:var(--text-xs);position:relative;margin-top:2px}.saferoom-slot .slot-stats .k{color:var(--color-text-secondary);white-space:nowrap;min-width:0}.saferoom-slot .slot-stats .v{color:#fff;text-align:right;font-weight:600;min-width:0;overflow-wrap:anywhere}.saferoom-slot .slot-cap{font-size:var(--text-2xs);color:var(--color-text-muted);font-family:var(--font-mono);position:relative;margin-top:2px}.saferoom-slot .slot-actions{margin-top:auto;display:flex;gap:var(--space-2);position:relative}.saferoom-slot .slot-actions button{flex:1;background:var(--color-border);color:var(--color-text-primary);border:1px solid #3a3e54;border-radius:var(--radius-sm);padding:var(--space-2) var(--space-1);font-size:var(--text-2xs);letter-spacing:.04em;text-transform:uppercase;cursor:pointer;font-weight:600;min-height:var(--touch-min);touch-action:manipulation;-webkit-tap-highlight-color:transparent}.saferoom-slot .slot-actions button:hover:not(:disabled){background:#3a3e54;color:#fff;border-color:#5a5e7e}.saferoom-slot .slot-actions button:disabled{opacity:.3;cursor:not-allowed}.saferoom-leave{background:var(--color-btn-primary);color:var(--color-bg-primary);border:none;border-radius:var(--radius-sm);padding:var(--space-3) var(--space-8);font-size:var(--text-sm);font-weight:700;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;min-height:var(--touch-min);touch-action:manipulation;-webkit-tap-highlight-color:transparent}.saferoom-leave:hover{filter:brightness(1.15)}@container app (max-height: 500px){.saferoom-root{padding:calc(var(--safe-top) + 6px) calc(var(--safe-right) + 10px) calc(var(--safe-bottom) + 6px) calc(var(--safe-left) + 10px);overflow-y:auto;-webkit-overflow-scrolling:touch;justify-content:flex-start;scrollbar-width:none;-ms-overflow-style:none}.saferoom-root::-webkit-scrollbar{display:none}.saferoom-root{padding:calc(var(--safe-top) + 6px) calc(var(--safe-right) + 10px) calc(var(--safe-bottom) + 6px) calc(var(--safe-left) + 10px)}.saferoom-title{font-size:var(--text-2xs)}.saferoom-head{font-size:var(--text-lg);margin:1px 0}.saferoom-sub{font-size:var(--text-2xs);margin-bottom:var(--space-1)}.saferoom-leave{padding:var(--space-2) var(--space-5);font-size:var(--text-sm);margin-top:var(--space-2)}.saferoom-root{padding-bottom:60px}.saferoom-scrap-float{top:auto;bottom:0;font-size:var(--text-sm);padding:var(--space-1) var(--space-3);border-radius:var(--radius-lg) 0 0 0;border-bottom:none;border-top:1px solid var(--color-border)}.saferoom-scrap-float b{font-size:var(--text-base)}}@container app (max-height: 400px){.saferoom-root{padding:calc(var(--safe-top) + 4px) calc(var(--safe-right) + 6px) calc(var(--safe-bottom) + 4px) calc(var(--safe-left) + 6px)}.saferoom-title{display:none}.saferoom-head{font-size:var(--text-base)}.saferoom-sub{display:none}}@media(max-width:800px){.saferoom-shop,.saferoom-owned,.saferoom-slots{grid-template-columns:repeat(2,1fr)}}.pause-root{position:absolute;inset:0;background:var(--color-bg-overlay);display:flex;align-items:flex-start;justify-content:center;pointer-events:auto;z-index:9500;font-family:var(--font-ui);color:var(--color-text-primary);padding:calc(var(--safe-top) + 6px) calc(var(--safe-right) + 10px) calc(var(--safe-bottom) + 6px) calc(var(--safe-left) + 10px);box-sizing:border-box;overflow-y:auto}.pause-root.hidden{display:none}.pause-panel{width:760px;max-width:100%;background:#10121cf5;border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:22px 28px}.pause-title{font-size:var(--text-2xl);font-family:var(--font-display);font-weight:800;color:var(--color-text-accent);text-align:center;letter-spacing:.08em}.pause-sub{font-size:var(--text-sm);color:var(--color-text-secondary);text-align:center;margin-bottom:var(--space-5);letter-spacing:.12em;text-transform:uppercase}.pause-section{margin-bottom:var(--space-5)}.pause-section-title{font-size:var(--text-sm);font-family:var(--font-display);letter-spacing:.18em;text-transform:uppercase;color:var(--rarity-epic);margin-bottom:var(--space-3);font-weight:700;border-bottom:1px solid var(--color-border);padding-bottom:var(--space-1)}.pause-run-progress{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-2);background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3)}.pause-run-progress-cell{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px}.prp-label{font-family:var(--font-ui);font-size:var(--text-2xs);color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.08em}.prp-value{font-family:var(--font-mono);font-size:var(--text-lg);color:var(--color-text-primary);font-weight:700;font-variant-numeric:tabular-nums}.pause-weapons{display:flex;flex-direction:column;gap:var(--space-3)}.pause-weapon{padding:var(--space-3) var(--space-4);background:var(--color-bg-panel-solid);border:1px solid var(--color-border);border-radius:var(--radius-md)}.pause-weapon-head{display:flex;gap:var(--space-3);align-items:baseline;margin-bottom:2px}.pause-weapon-num{font-size:var(--text-2xs);color:var(--color-text-muted);letter-spacing:.14em}.pause-weapon-name{font-size:var(--text-lg);font-family:var(--font-display);font-weight:700;color:#fff}.pause-weapon-style{font-size:var(--text-2xs);color:var(--color-text-secondary);letter-spacing:.12em;text-transform:uppercase}.pause-weapon-desc{font-size:var(--text-sm);color:var(--color-text-secondary);font-style:italic;margin-bottom:var(--space-2)}.pause-weapon-stat-grid{display:grid;grid-template-columns:auto auto auto auto;gap:var(--space-1) var(--space-4);font-size:var(--text-xs);font-family:var(--font-mono);padding:var(--space-2) var(--space-3);background:#5fcfff0a;border:1px solid rgba(95,207,255,.15);border-radius:var(--radius-sm);margin-bottom:var(--space-2)}.pw-k{color:var(--color-text-secondary)}.pw-v{color:var(--color-text-primary);font-weight:600;text-align:right}.pw-accent{color:var(--color-text-accent)}.pause-weapon-elements{display:flex;flex-wrap:wrap;gap:var(--space-2);font-size:var(--text-2xs);margin-bottom:var(--space-2);font-family:var(--font-mono)}.pause-el-chip{background:#ffffff0d;padding:2px 7px;border-radius:var(--radius-lg);text-transform:uppercase;letter-spacing:.06em;font-weight:700}.pause-weapon-passive{font-size:var(--text-xs);color:var(--color-text-accent);font-style:italic;margin-bottom:var(--space-2)}.pause-weapon-mods-toggle{font-size:var(--text-2xs);color:var(--color-text-secondary);cursor:pointer;margin-top:var(--space-2);padding-top:var(--space-2);border-top:1px dashed var(--color-border);user-select:none;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.pause-weapon-mods-toggle:hover{color:var(--color-text-primary)}.pause-weapon-mods{display:flex;flex-wrap:wrap;gap:var(--space-1);margin-top:var(--space-2)}.pause-weapon-mods.collapsed{display:none}.pause-mod{font-size:var(--text-2xs);padding:2px 7px;border-radius:var(--radius-sm);font-family:var(--font-mono)}.pause-mod.buff{background:#7fd86b1a;color:var(--color-text-success);border:1px solid rgba(127,216,107,.25)}.pause-mod.debuff{background:#ff50601a;color:var(--color-text-danger);border:1px solid rgba(255,80,96,.25)}.pause-passive{color:var(--color-text-accent)}.pause-slots{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-2);margin-top:var(--space-1)}.pause-slot{border-radius:var(--radius-sm);background:#0a0c14b3;border:1px solid #1f2238;padding:var(--space-2) 9px;min-height:38px;display:flex;align-items:center;justify-content:center}.pause-slot.empty{border-style:dashed;border-color:var(--color-border)}.pause-slot-empty-msg{font-size:var(--text-2xs);color:#3a3e54;font-style:italic}.pause-slot.filled{display:block;border-color:var(--slot-color, var(--color-text-cyan));border-left:3px solid var(--slot-color, var(--color-text-cyan));box-shadow:0 0 6px #5fcfff2e}.pause-slot-head{display:flex;justify-content:space-between;align-items:baseline;font-size:var(--text-2xs);letter-spacing:.1em;text-transform:uppercase;color:var(--color-text-muted);margin-bottom:2px}.pause-slot-rarity{color:var(--rarity-color, var(--rarity-common));font-weight:700}.pause-slot-cat{color:var(--color-text-muted)}.pause-slot-name{font-size:var(--text-sm);font-weight:700;color:var(--slot-color, #fff);margin-bottom:2px}.pause-slot-desc{font-size:var(--text-2xs);color:var(--color-text-secondary);line-height:1.3}.pause-slot-stats{font-size:var(--text-2xs);font-family:var(--font-mono);color:#7fd86b;margin-top:var(--space-1);padding-top:var(--space-1);border-top:1px solid rgba(255,255,255,.08)}.pause-items{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-2)}.pause-item{padding:var(--space-2) var(--space-3);background:var(--color-bg-panel-solid);border:1px solid var(--rarity-color, var(--color-border));border-radius:var(--radius-md)}.pause-item-head{display:flex;gap:var(--space-2);align-items:baseline;margin-bottom:2px}.pause-item-rarity{font-size:var(--text-2xs);letter-spacing:.14em;color:var(--rarity-color, var(--rarity-common));text-transform:uppercase}.pause-item-name{font-size:var(--text-sm);font-weight:700;color:var(--card-color, #fff)}.pause-item-desc{font-size:var(--text-xs);color:var(--color-text-secondary);line-height:1.3}.pause-empty{font-style:italic;color:var(--color-text-muted);font-size:var(--text-sm)}.pause-charges{display:flex;flex-direction:column;gap:var(--space-2);background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:var(--space-3) var(--space-4)}.pause-charge-row{display:flex;justify-content:space-between;align-items:baseline;gap:var(--space-4);font-size:var(--text-sm)}.pause-charge-label{color:var(--color-text-secondary);font-family:var(--font-display);text-transform:uppercase;letter-spacing:.08em;font-size:var(--text-xs);flex-shrink:0}.pause-charge-values{display:flex;flex-wrap:wrap;gap:4px 12px;color:var(--color-text-tertiary);justify-content:flex-end}.pause-charge-kv b{color:var(--color-text-primary);font-family:var(--font-mono);font-weight:700;margin-right:2px}.pause-synergy-list{font-size:var(--text-sm);color:var(--color-text-accent)}.pause-synergy{display:inline-block;padding:2px var(--space-2);background:#f5e45514;border-radius:var(--radius-sm);margin:2px}.pause-power{padding:var(--space-3) var(--space-4);background:var(--color-bg-panel-solid);border:1px solid var(--card-color, var(--color-border));border-left:4px solid var(--card-color, var(--color-text-cyan));border-radius:var(--radius-md)}.pause-power-name{font-size:var(--text-base);font-family:var(--font-display);font-weight:700;color:var(--card-color, #fff);margin-bottom:var(--space-1)}.pause-power-desc{font-size:var(--text-sm);color:var(--color-text-secondary);line-height:1.3}.pause-evo-list{display:flex;flex-direction:column;gap:var(--space-2)}.pause-item-drop{margin-left:auto;background:transparent;border:1px solid var(--color-btn-danger);color:var(--color-btn-danger);font-family:inherit;font-size:var(--text-sm);line-height:1;padding:2px var(--space-2);border-radius:var(--radius-sm);cursor:pointer;min-height:var(--touch-min);touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:background var(--transition-fast)}.pause-item-drop:hover{background:#ff608033;color:#fff}.pause-actions{display:flex;gap:var(--space-3);justify-content:center;margin-bottom:var(--space-3)}.pause-actions button{padding:var(--space-3) var(--space-6);font-family:inherit;font-size:var(--text-sm);letter-spacing:.08em;text-transform:uppercase;border-radius:var(--radius-md);cursor:pointer;font-weight:700;min-height:var(--touch-min);touch-action:manipulation;-webkit-tap-highlight-color:transparent}.pause-dps-graph-wrap{background:#0a0c1499;border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-2);display:flex;justify-content:center;align-items:center}.pause-dps-canvas{width:100%;max-width:680px;height:180px;display:block}.pause-extras{display:flex;align-items:center;justify-content:center;gap:var(--space-3);margin-bottom:var(--space-5);padding-bottom:var(--space-4);border-bottom:1px solid var(--color-border)}.pause-extras-label{font-size:var(--text-sm);color:var(--color-text-primary)}.pause-resume{background:var(--color-btn-primary);color:var(--color-btn-text);border:2px solid var(--color-btn-primary)}.pause-resume:hover{background:#80e0ff;border-color:#80e0ff}.pause-quit{background:transparent;color:var(--color-btn-danger);border:2px solid var(--color-btn-danger)}.pause-quit:hover{background:#ff608026}.pause-speed-btn{background:transparent;color:var(--color-text-primary);border:2px solid var(--color-border);min-width:52px}.pause-speed-btn:hover{background:#ffffff0d}@container app (max-height: 500px){.pause-root::-webkit-scrollbar{display:none}.pause-root{padding:calc(var(--safe-top) + 6px) calc(var(--safe-right) + 10px) calc(var(--safe-bottom) + 6px) calc(var(--safe-left) + 10px);overflow-y:auto;-webkit-overflow-scrolling:touch}.pause-panel{padding:var(--space-2) var(--space-3);width:100%;max-width:100%}.pause-title{font-size:var(--text-lg);margin-bottom:2px}}@container app (max-height: 400px){.pause-panel{padding:var(--space-1) var(--space-2)}.pause-title{font-size:var(--text-base)}}.pause-status-ref{display:flex;flex-direction:column;gap:var(--space-1)}.pause-status-row{display:flex;align-items:flex-start;gap:var(--space-2);font-size:var(--text-xs);line-height:1.4}.pause-status-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;margin-top:3px}.pause-status-name{font-weight:700;font-family:var(--font-display);min-width:65px;flex-shrink:0}.pause-status-desc{color:var(--color-text-secondary)}.pause-status-desc b{color:var(--color-text-primary)}@media(max-width:800px){.pause-panel{width:100%}.pause-items,.pause-slots{grid-template-columns:1fr}}.mainmenu-root{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:auto;z-index:9500;font-family:var(--font-ui);color:var(--color-text-primary);transition:opacity .3s var(--ease-out-quart)}.mainmenu-root.hidden{display:none}.mainmenu-root.menu-fade-out{opacity:0;pointer-events:none}.menu-content{display:flex;flex-direction:column;align-items:center;gap:var(--space-4);text-align:center;animation:menu-appear .8s var(--ease-out-expo) both}.menu-content.hidden{display:none}@keyframes menu-appear{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.menu-title-section{display:flex;flex-direction:column;align-items:center;gap:var(--space-1)}.menu-title{font-family:var(--font-display);font-size:var(--text-3xl);font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:#fff;text-shadow:0 0 40px rgba(95,207,255,.6),0 0 80px rgba(95,207,255,.3),0 0 120px rgba(180,109,255,.2);animation:title-glow 3s ease-in-out infinite alternate}@keyframes title-glow{0%{text-shadow:0 0 40px rgba(95,207,255,.6),0 0 80px rgba(95,207,255,.3),0 0 120px rgba(180,109,255,.2)}to{text-shadow:0 0 50px rgba(245,228,85,.5),0 0 100px rgba(255,96,48,.3),0 0 140px rgba(95,207,255,.2)}}.menu-subtitle{font-size:var(--text-sm);color:var(--color-text-secondary);letter-spacing:.2em;text-transform:uppercase}.menu-version{position:absolute;bottom:calc(10px + env(safe-area-inset-bottom,0px));right:calc(16px + env(safe-area-inset-right,0px));font-size:11px;color:var(--color-text-muted);letter-spacing:.1em;font-family:var(--font-mono);opacity:.45;pointer-events:auto;padding:14px;margin:-14px}.menu-showcase{display:flex;flex-direction:column;align-items:center;gap:var(--space-1);min-height:100px}.menu-showcase.showcase-enter{animation:showcase-fade .6s var(--ease-out-expo) both}@keyframes showcase-fade{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.showcase-circle{width:48px;height:48px;border-radius:50%;transition:background .4s,box-shadow .4s}.showcase-name{font-family:var(--font-display);font-size:var(--text-lg);font-weight:800;transition:color .4s}.showcase-tagline{font-size:var(--text-xs);color:var(--color-text-secondary);font-style:italic}.showcase-weapon{font-size:var(--text-2xs);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.06em}.menu-buttons{display:flex;flex-direction:column;gap:var(--space-2);align-items:center}.menu-buttons.hidden{display:none}.menu-buttons-vertical{flex-direction:column;gap:var(--space-3)}.menu-buttons-vertical .menu-btn{min-width:200px;text-align:center}.menu-buttons.menu-slide-in{animation:menu-slide-in .3s var(--ease-out-expo) both}.menu-buttons.menu-slide-out{animation:menu-slide-out .2s var(--ease-out-quart) both;pointer-events:none}.menu-buttons.menu-slide-back-in{animation:menu-slide-back-in .3s var(--ease-out-expo) both}.menu-buttons.menu-slide-back-out{animation:menu-slide-back-out .2s var(--ease-out-quart) both;pointer-events:none}@keyframes menu-slide-in{0%{opacity:0;transform:translate(60px) scale(.95)}to{opacity:1;transform:translate(0) scale(1)}}@keyframes menu-slide-out{0%{opacity:1;transform:translate(0) scale(1)}to{opacity:0;transform:translate(-60px) scale(.95)}}@keyframes menu-slide-back-in{0%{opacity:0;transform:translate(-60px) scale(.95)}to{opacity:1;transform:translate(0) scale(1)}}@keyframes menu-slide-back-out{0%{opacity:1;transform:translate(0) scale(1)}to{opacity:0;transform:translate(60px) scale(.95)}}.menu-buttons-row{display:flex;gap:var(--space-3);align-items:center;justify-content:center}.menu-btn{font-family:var(--font-display);font-weight:700;letter-spacing:.1em;border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-normal) var(--ease-spring);touch-action:manipulation;-webkit-tap-highlight-color:transparent;min-height:var(--touch-min)}.menu-btn-play{font-size:var(--text-xl);padding:var(--space-3) var(--space-10);background:linear-gradient(135deg,#5fcfff33,#b46dff33);border:2px solid var(--color-text-cyan);color:#fff;box-shadow:0 0 30px #5fcfff4d,inset 0 0 20px #5fcfff1a;animation:play-pulse 2s ease-in-out infinite alternate}@keyframes play-pulse{0%{box-shadow:0 0 30px #5fcfff4d,inset 0 0 20px #5fcfff1a}to{box-shadow:0 0 50px #5fcfff80,inset 0 0 30px #5fcfff26}}.menu-btn-play:hover{transform:scale(1.08);box-shadow:0 0 60px #5fcfff99,inset 0 0 30px #5fcfff33;border-color:#fff}.menu-btn-pvp{font-size:var(--text-base);padding:var(--space-2) var(--space-6);background:linear-gradient(135deg,#ff804026,#ff3c301a);border:2px solid #ff8040;color:#ff8040;box-shadow:0 0 20px #ff804033}.menu-btn-pvp:hover{transform:scale(1.05);box-shadow:0 0 40px #ff804066;color:#fff;border-color:#ffaa60}.menu-btn-coop{font-size:var(--text-base);padding:var(--space-2) var(--space-6);background:linear-gradient(135deg,#7fd86b26,#5fcfff1a);border:2px solid #7fd86b;color:#7fd86b;box-shadow:0 0 20px #7fd86b33}.menu-btn-coop:hover{transform:scale(1.05);box-shadow:0 0 40px #7fd86b66;color:#fff;border-color:#a0f090}.menu-btn-challenge{font-size:var(--text-base);padding:var(--space-2) var(--space-6);background:linear-gradient(135deg,#ffd70026,#ffa0001a);border:2px solid #ffd700;color:gold;box-shadow:0 0 20px #ffd70033}.menu-btn-challenge:hover{transform:scale(1.05);box-shadow:0 0 40px #ffd70066;color:#fff;border-color:#ffe060}.menu-btn-coop:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}.menu-btn-pvp:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}.menu-btn-boss{font-size:var(--text-base);padding:var(--space-2) var(--space-6);background:linear-gradient(135deg,#a040ff33,#ff406026);border:2px solid #a040ff;color:#e0a0ff;box-shadow:0 0 22px #a040ff40}.menu-btn-boss:hover{transform:scale(1.05);box-shadow:0 0 42px #a040ff8c;color:#fff;border-color:#ff6080}.menu-btn-secondary{font-size:var(--text-sm);padding:var(--space-2) var(--space-5);background:#ffffff0d;border:1px solid var(--color-border);color:var(--color-text-secondary)}.menu-btn-secondary{position:relative}.menu-btn-secondary:hover{transform:scale(1.05);border-color:var(--color-text-cyan);color:var(--color-text-cyan);background:#5fcfff14}.menu-btn-season{border-color:#9b30ff59;color:#d4aaff;background:#6b00b31a}.menu-btn-season:hover{border-color:#9b30ff99!important;color:#d4aaff!important;background:#6b00b333!important}.menu-upgrade-dot{position:absolute;top:-4px;right:-4px;width:10px;height:10px;border-radius:50%;background:var(--color-text-cyan);box-shadow:0 0 6px #5fcfffcc;animation:dot-pulse 2s ease-in-out infinite alternate}.menu-upgrade-dot.hidden{display:none}@keyframes dot-pulse{0%{opacity:.7;box-shadow:0 0 4px #5fcfff99}to{opacity:1;box-shadow:0 0 10px #5fcfff}}.menu-challenge-dot{position:absolute;top:-4px;right:-4px;width:10px;height:10px;border-radius:50%;background:#4cff72;box-shadow:0 0 6px #4cff72cc;animation:challenge-dot-pulse 2s ease-in-out infinite alternate}.menu-challenge-dot.hidden{display:none}@keyframes challenge-dot-pulse{0%{opacity:.7;box-shadow:0 0 4px #4cff7299}to{opacity:1;box-shadow:0 0 10px #4cff72}}.menu-footer{display:flex;gap:var(--space-4);font-size:var(--text-2xs);color:var(--color-text-muted)}.menu-best{color:var(--color-text-accent)}.menu-stats-panel{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);animation:menu-appear .4s var(--ease-out-expo) both;max-height:100%;overflow:hidden;position:relative;z-index:11000}.menu-stats-panel.hidden{display:none}#achievements-content,#codex-content,#challenges-content{flex:1;min-height:0;overflow-y:auto;scrollbar-width:none;width:100%}#achievements-content::-webkit-scrollbar,#codex-content::-webkit-scrollbar,#challenges-content::-webkit-scrollbar{display:none}#achievements-content.hidden,#codex-content.hidden,#challenges-content.hidden,#stats-content.hidden{display:none}.stats-panel-title{font-family:var(--font-display);font-size:var(--text-xl);font-weight:800;color:var(--color-text-accent);letter-spacing:.06em}.stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-1) var(--space-10);font-family:var(--font-mono);font-size:var(--text-sm);min-width:400px}.stat-row{display:flex;justify-content:space-between;padding:var(--space-1) var(--space-2);border-bottom:1px solid rgba(255,255,255,.05);gap:var(--space-3)}.stat-label{color:var(--color-text-secondary)}.stat-value{color:#fff;font-weight:600}.stats-tabs{display:flex;gap:var(--space-2);margin-bottom:var(--space-1)}.stats-tab{font-family:var(--font-display);font-size:var(--text-sm);font-weight:700;padding:var(--space-1) var(--space-4);background:transparent;border:1px solid var(--color-border);border-radius:var(--radius-pill);color:var(--color-text-secondary);cursor:pointer;min-height:32px;transition:all .15s ease}.stats-tab:hover{background:#ffffff0d}.stats-tab.active{border-color:gold;color:gold;background:#ffd70014}.stats-back-btn{margin-top:var(--space-2)}#runs-content{flex:1;min-height:0;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--color-border) transparent;width:100%}#runs-content::-webkit-scrollbar{width:4px}#runs-content::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:2px}#runs-content.hidden{display:none}.runs-empty{color:var(--color-text-tertiary);font-size:var(--text-sm);padding:var(--space-4);text-align:center}.runs-list{display:flex;flex-direction:column;gap:2px;width:100%;max-width:700px;margin:0 auto}.run-row{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);background:#ffffff08;border:1px solid transparent;border-radius:var(--radius-sm);color:var(--color-text-secondary);font-family:var(--font-mono);font-size:var(--text-xs);cursor:pointer;transition:background .12s,border-color .12s;text-align:left;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.run-row:hover{background:#5fcfff0f;border-color:var(--color-border)}.run-row:active{transform:scale(.99)}.run-row-date{color:var(--color-text-tertiary);min-width:56px}.run-row-char{display:flex;align-items:center;gap:6px;color:var(--color-text-primary);font-weight:600;min-width:72px}.run-row-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.run-row-wave{color:var(--color-text-cyan);font-weight:700;min-width:64px}.run-row-stat{color:var(--color-text-secondary);min-width:50px}@container app (max-height: 500px){.menu-title{font-size:var(--text-2xl)}.menu-subtitle{font-size:var(--text-2xs)}.menu-content{gap:var(--space-2)}.menu-showcase{min-height:70px}.showcase-circle{width:32px;height:32px}.showcase-name{font-size:var(--text-base)}.menu-btn-play{font-size:var(--text-lg);padding:var(--space-2) var(--space-8)}.stats-grid{min-width:280px;font-size:var(--text-xs)}.menu-stats-panel{padding-top:var(--space-6)}.stats-tab{min-height:36px;padding:var(--space-1) var(--space-3)}}.achievement-toast{position:absolute;top:calc(var(--safe-top) + 70px);left:calc(var(--safe-left) + 10px);display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--color-bg-panel-solid);border:1px solid #ffd700;border-left:3px solid #ffd700;border-radius:var(--radius-md);box-shadow:0 0 24px #ffd7004d;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);animation:at-pop 3s ease-out forwards;max-width:320px;pointer-events:none}.at-icon{font-size:var(--text-xl);min-width:28px;text-align:center}.at-body{display:flex;flex-direction:column;gap:1px}.at-label{font-size:var(--text-2xs);font-family:var(--font-display);letter-spacing:.25em;text-transform:uppercase;color:gold}.at-name{font-size:var(--text-base);font-family:var(--font-display);font-weight:700;color:var(--color-text-primary)}.at-desc{font-size:var(--text-xs);color:var(--color-text-secondary)}@keyframes at-pop{0%{opacity:0;transform:translate(-30px)}10%{opacity:1;transform:translate(0)}80%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(-15px)}}@container app (max-height: 500px){.achievement-toast{top:calc(var(--safe-top) + 56px);left:calc(var(--safe-left) + 8px);max-width:240px;padding:var(--space-2) var(--space-3)}.at-icon{font-size:var(--text-lg)}.at-name{font-size:var(--text-sm)}.at-desc{font-size:var(--text-2xs)}}.notif-toast{position:absolute;top:calc(var(--safe-top, 0px) + 70px);left:calc(var(--safe-left, 0px) + 10px);display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:linear-gradient(180deg,#0a0c14f0,#141620f0);border:1px solid #ffd700;border-left:3px solid #ffd700;border-radius:var(--radius-md);box-shadow:0 0 24px #ffd7004d;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);animation:notif-pop 3s ease-out forwards;max-width:320px;pointer-events:none;z-index:7500}.notif-icon{font-size:var(--text-xl);min-width:28px;text-align:center}.notif-body{display:flex;flex-direction:column;gap:1px}.notif-label{font-size:var(--text-2xs);font-family:var(--font-display);letter-spacing:.25em;text-transform:uppercase;color:gold}.notif-name{font-size:var(--text-base);font-family:var(--font-display);font-weight:700;color:var(--color-text-primary);line-height:1.2}.notif-desc{font-size:var(--text-xs);color:var(--color-text-secondary);line-height:1.3}.notif-synergy .notif-name{text-shadow:0 0 12px var(--notif-color, var(--color-text-accent))}@keyframes notif-pop{0%{opacity:0;transform:translate(-30px)}10%{opacity:1;transform:translate(0)}80%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(-15px)}}@container app (max-height: 500px){.notif-toast{top:calc(var(--safe-top, 0px) + 56px);left:calc(var(--safe-left, 0px) + 8px);max-width:240px;padding:var(--space-2) var(--space-3)}.notif-icon{font-size:var(--text-lg)}.notif-name{font-size:var(--text-sm)}.notif-desc{font-size:var(--text-2xs)}}.tutorial-toast{position:absolute;top:calc(var(--safe-top, 0px) + 60px);left:50%;transform:translate(-50%);display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--color-bg-panel-solid);border:1px dashed #5fcfff;border-left:3px solid #5fcfff;border-radius:var(--radius-md);box-shadow:0 0 24px #5fcfff59;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);animation:tt-pop 4.5s ease-out forwards;max-width:360px;pointer-events:none}.tt-icon{font-size:var(--text-xl);min-width:28px;text-align:center}.tt-body{display:flex;flex-direction:column;gap:2px}.tt-label{font-size:var(--text-2xs);font-family:var(--font-display);letter-spacing:.25em;text-transform:uppercase;color:#5fcfff}.tt-name{font-size:var(--text-base);font-family:var(--font-display);font-weight:700;color:var(--color-text-primary)}.tt-desc{font-size:var(--text-xs);color:var(--color-text-secondary);line-height:1.35}@keyframes tt-pop{0%{opacity:0;transform:translate(-50%,-16px)}6%{opacity:1;transform:translate(-50%)}90%{opacity:1;transform:translate(-50%)}to{opacity:0;transform:translate(-50%,-8px)}}@container app (max-height: 500px){.tutorial-toast{top:8px;max-width:300px;padding:var(--space-2) var(--space-3)}.tt-icon{font-size:var(--text-lg)}.tt-name{font-size:var(--text-sm)}.tt-desc{font-size:var(--text-2xs)}}.rcr-overlay{position:absolute;top:60px;right:16px;animation:rcr-in .25s var(--ease-out-expo) both;cursor:pointer;user-select:none;-webkit-user-select:none;max-width:320px}.rcr-overlay.rcr-fade-out{animation:rcr-out .3s ease-in both;pointer-events:none}@keyframes rcr-in{0%{opacity:0;transform:translate(40px)}to{opacity:1;transform:translate(0)}}@keyframes rcr-out{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(20px)}}.rcr-card{background:var(--color-bg-panel-solid);border:1px solid var(--color-text-accent);border-left:3px solid var(--color-text-accent);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);box-shadow:0 0 24px #f5e45533;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;flex-direction:column;gap:var(--space-2);animation:rcr-card-in .3s var(--ease-spring) .05s both}@keyframes rcr-card-in{0%{transform:translate(20px);opacity:0}to{transform:translate(0);opacity:1}}.rcr-header{display:flex;align-items:center;justify-content:space-between}.rcr-badge{font-family:var(--font-display);font-size:var(--text-2xs);font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--color-text-accent);background:#f5e4551f;border:1px solid rgba(245,228,85,.35);border-radius:var(--radius-pill);padding:2px var(--space-3)}.rcr-dismiss-hint{font-size:var(--text-2xs);color:var(--color-text-muted);font-style:italic;animation:rcr-blink 1.6s ease-in-out 1.5s infinite}@keyframes rcr-blink{0%,to{opacity:.4}50%{opacity:1}}.rcr-identity{display:flex;align-items:center;gap:var(--space-4)}.rcr-circle{width:52px;height:52px;border-radius:50%;flex-shrink:0}.rcr-info{display:flex;flex-direction:column;gap:2px;min-width:0}.rcr-name{font-family:var(--font-display);font-size:var(--text-lg);font-weight:800;letter-spacing:.04em;line-height:1.1}.rcr-tagline{font-size:var(--text-xs);color:var(--color-text-secondary);line-height:1.3}.rcr-weapon{font-size:var(--text-xs);color:var(--color-text-muted);font-family:var(--font-mono);margin-top:2px}.rcr-description{display:flex;flex-wrap:wrap;gap:0;line-height:1.6}.rcr-passive{font-size:var(--text-xs);color:var(--color-text-secondary);border-top:1px solid var(--color-border-subtle);padding-top:var(--space-2);line-height:1.4}.rcr-passive-label{font-weight:700;color:var(--color-text-cyan);margin-right:4px}@container app (max-height: 500px){.rcr-overlay{top:calc(env(safe-area-inset-top,0px) + 64px);right:8px;max-width:240px}.rcr-card{padding:var(--space-2) var(--space-3)}.rcr-circle{width:32px;height:32px}.rcr-name{font-size:var(--text-sm)}.rcr-tagline,.rcr-weapon,.rcr-passive{font-size:var(--text-2xs)}}.ap-container{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4)}.ap-header{display:flex;align-items:baseline;gap:var(--space-3)}.ap-title{font-family:var(--font-display);font-size:var(--text-xl);font-weight:800;color:gold;letter-spacing:.06em}.ap-count{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--color-text-secondary)}.ap-filters{display:flex;gap:var(--space-2);flex-wrap:wrap;justify-content:center}.ap-filter{font-family:var(--font-ui);font-size:var(--text-xs);padding:var(--space-1) var(--space-3);background:#ffffff0d;border:1px solid var(--color-border);border-radius:var(--radius-pill);color:var(--color-text-secondary);cursor:pointer;min-height:32px;transition:all .15s ease}.ap-filter:hover{background:#ffffff14}.ap-filter.active{border-color:gold;color:gold;background:#ffd7001a}.ap-list{display:flex;flex-direction:column;gap:var(--space-2);width:100%;max-width:500px}.ap-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-md);transition:opacity .15s ease}.ap-item.locked{opacity:.5}.ap-item.unlocked{border-left:3px solid #ffd700}.ap-icon{font-size:var(--text-xl);min-width:32px;text-align:center}.ap-info{flex:1;min-width:0}.ap-name{font-size:var(--text-sm);font-weight:600;color:var(--color-text-primary)}.ap-desc{font-size:var(--text-xs);color:var(--color-text-secondary)}.ap-progress{margin-top:var(--space-1)}.ap-progress-bar{height:4px;background:#ffffff1a;border-radius:2px;overflow:hidden}.ap-progress-fill{height:100%;background:gold;transition:width .3s ease}.ap-progress-label{font-family:var(--font-mono);font-size:var(--text-2xs);color:var(--color-text-muted);margin-top:2px}@container app (max-height: 500px){.ap-container{padding:var(--space-2) var(--space-3);gap:var(--space-2)}.ap-title{font-size:var(--text-lg)}.ap-item{padding:var(--space-1) var(--space-2)}.ap-icon{font-size:var(--text-lg);min-width:24px}.ap-name{font-size:var(--text-xs)}.ap-desc{font-size:var(--text-2xs)}.ap-filter{font-size:var(--text-2xs);padding:2px var(--space-2);min-height:28px}.ap-list{max-width:min(420px,calc(100vw - 140px))}}.customize-root{position:absolute;inset:0;background:var(--color-bg-overlay);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:stretch;justify-content:stretch;pointer-events:auto;z-index:9600;animation:overlay-fade-in var(--transition-overlay) var(--ease-out-expo);padding:calc(var(--safe-top) + var(--space-1)) calc(var(--safe-right) + var(--space-1)) calc(var(--safe-bottom) + var(--space-1)) calc(var(--safe-left) + var(--space-1));box-sizing:border-box}.customize-root.hidden{display:none}.customize-panel{background:var(--color-bg-panel-solid);border:1px solid var(--color-border);border-radius:var(--radius-lg);width:100%;height:100%;display:flex;flex-direction:row;overflow:hidden}.customize-sidebar{flex-shrink:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-3);padding:var(--space-4);border-right:1px solid var(--color-border);background:#00000026}.customize-preview{display:flex;align-items:center;justify-content:center;width:140px;height:140px;background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:var(--radius-md)}#customize-canvas{image-rendering:auto}.customize-done{font-family:var(--font-display);font-size:var(--text-base);font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:var(--space-2) var(--space-8);border:1px solid var(--color-text-cyan);border-radius:var(--radius-md);background:#5fcfff1a;color:var(--color-text-cyan);cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation;transition:background var(--transition-fast),transform 80ms}.customize-done:hover{background:#5fcfff33}.customize-done:active{transform:scale(.95)}.customize-main{flex:1;display:flex;flex-direction:column;min-width:0;overflow:hidden}.customize-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-2) var(--space-4);border-bottom:1px solid var(--color-border);flex-shrink:0}.customize-title{font-family:var(--font-display);font-size:var(--text-lg);color:var(--color-text-accent);text-transform:uppercase;letter-spacing:.1em;margin:0}.customize-close{width:var(--touch-comfortable);height:var(--touch-comfortable);border:1px solid var(--color-border);border-radius:var(--radius-md);background:transparent;color:var(--color-text-secondary);font-size:var(--text-xl);cursor:pointer;display:flex;align-items:center;justify-content:center;-webkit-tap-highlight-color:transparent;touch-action:manipulation;transition:background var(--transition-fast),color var(--transition-fast)}.customize-close:active{background:var(--color-border);color:var(--color-text-primary)}.customize-sections{flex:1;display:flex;flex-direction:column;justify-content:space-evenly;padding:var(--space-2) var(--space-4);overflow-y:auto;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:var(--color-border) transparent}.customize-sections::-webkit-scrollbar{width:4px}.customize-sections::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:2px}.customize-section{display:flex;flex-direction:column;gap:var(--space-1)}.customize-section-title{font-family:var(--font-display);font-size:var(--text-xs);color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.12em;margin:0}.cosmetic-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(68px,1fr));gap:var(--space-2)}.cosmetic-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:8px 4px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:transparent;color:var(--color-text-secondary);cursor:pointer;min-height:56px;-webkit-tap-highlight-color:transparent;touch-action:manipulation;transition:background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast),transform 80ms}.cosmetic-btn:active{transform:scale(.93)}.cosmetic-btn:hover{background:#ffffff0a;border-color:var(--color-text-secondary)}.cosmetic-btn.active{background:#5fcfff1f;border-color:var(--color-text-cyan);color:var(--color-text-cyan)}.cosmetic-icon{font-size:24px;line-height:1}.cosmetic-label{font-size:10px;font-family:var(--font-ui);text-transform:uppercase;letter-spacing:.04em;line-height:1}.cosmetic-btn.cosmetic-locked{opacity:.45;cursor:not-allowed;border-color:#6b00b340;position:relative}.cosmetic-btn.cosmetic-locked:hover{background:#6b00b30f;border-color:#6b00b360}.cosmetic-btn.cosmetic-locked:active{transform:none}.cosmetic-season-tag{font-size:8px;font-family:var(--font-ui);text-transform:uppercase;letter-spacing:.06em;color:#9b30ff;line-height:1;margin-top:1px}.cosmetic-lock-tag{font-size:7px;font-family:var(--font-ui);text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted, #666);line-height:1;margin-top:1px;max-width:80px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@container app (max-height: 500px){.customize-root{padding:var(--safe-top) var(--safe-right) var(--safe-bottom) var(--safe-left)}.customize-panel{border-radius:var(--radius-sm)}.customize-sidebar{padding:var(--space-2) var(--space-3);gap:var(--space-2)}.customize-preview,#customize-canvas{width:160px;height:160px}.customize-header{padding:var(--space-1) var(--space-3)}.customize-title{font-size:var(--text-base)}.customize-sections{padding:var(--space-1) var(--space-3)}.cosmetic-grid{grid-template-columns:repeat(auto-fill,minmax(72px,1fr));gap:6px}.cosmetic-btn{min-height:48px;padding:5px 4px}.cosmetic-icon{font-size:22px}.cosmetic-label{font-size:9px}.customize-done{padding:var(--space-2) var(--space-6);font-size:var(--text-sm)}}body:has(.customize-root:not(.hidden)) #touch-controls{display:none!important}.upgrades-root{position:absolute;inset:0;background:var(--color-bg-overlay);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:stretch;justify-content:stretch;pointer-events:auto;z-index:9600;animation:overlay-fade-in var(--transition-overlay) var(--ease-out-expo);padding:calc(var(--safe-top) + var(--space-1)) calc(var(--safe-right) + var(--space-1)) calc(var(--safe-bottom) + var(--space-1)) calc(var(--safe-left) + var(--space-1));box-sizing:border-box}.upgrades-root.hidden{display:none}.upgrades-panel{background:var(--color-bg-panel-solid);border:1px solid var(--color-border);border-radius:var(--radius-lg);width:100%;height:100%;display:flex;flex-direction:column;overflow:hidden}.upgrades-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-2) var(--space-4);border-bottom:1px solid var(--color-border);flex-shrink:0;gap:var(--space-3)}.upgrades-title{font-family:var(--font-display);font-size:var(--text-lg);color:var(--color-text-accent);text-transform:uppercase;letter-spacing:.1em;margin:0}.upgrades-credits{font-family:var(--font-display);font-size:var(--text-base);color:var(--color-text-cyan);letter-spacing:.06em;display:flex;align-items:center;gap:var(--space-1)}.upgrades-header-actions{display:flex;align-items:center;gap:var(--space-2)}.upgrades-refund{font-family:var(--font-display);font-size:var(--text-xs);font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:var(--space-1) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:transparent;color:var(--color-text-secondary);cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation;transition:background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast)}.upgrades-refund:hover{border-color:#ff6b6b;color:#ff6b6b;background:#ff6b6b1a}.upgrades-close{width:var(--touch-comfortable);height:var(--touch-comfortable);border:1px solid var(--color-border);border-radius:var(--radius-md);background:transparent;color:var(--color-text-secondary);font-size:var(--text-xl);cursor:pointer;display:flex;align-items:center;justify-content:center;-webkit-tap-highlight-color:transparent;touch-action:manipulation;transition:background var(--transition-fast),color var(--transition-fast)}.upgrades-close:active{background:var(--color-border);color:var(--color-text-primary)}.upgrades-grid{flex:1;display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:var(--space-2);padding:var(--space-2) var(--space-3);overflow-y:auto;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:var(--color-border) transparent}.upgrades-grid::-webkit-scrollbar{width:4px}.upgrades-grid::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:2px}.upgrade-card{display:flex;flex-direction:row;align-items:center;gap:var(--space-2);padding:8px 12px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:transparent;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation;transition:background var(--transition-fast),border-color var(--transition-fast),transform 80ms;min-height:56px}.upgrade-card:active{transform:scale(.97)}.upgrade-card:hover{background:#ffffff0a;border-color:var(--color-text-secondary)}.upgrade-card.maxed{border-color:#5fcfff66;background:#5fcfff0f}.upgrade-card.affordable:not(.maxed){border-color:#5fcfff4d}.upgrade-icon{font-size:24px;line-height:1;flex-shrink:0;width:32px;text-align:center}.upgrade-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.upgrade-name{font-family:var(--font-display);font-size:var(--text-xs);color:var(--color-text-primary);text-transform:uppercase;letter-spacing:.06em;line-height:1}.upgrade-bonus{font-family:var(--font-ui);font-size:10px;color:var(--color-text-cyan);line-height:1}.upgrade-rank{font-family:var(--font-ui);font-size:10px;color:var(--color-text-tertiary);line-height:1}.upgrade-cost{font-family:var(--font-display);font-size:var(--text-xs);color:var(--color-text-secondary);flex-shrink:0;letter-spacing:.04em}.upgrade-card.affordable .upgrade-cost{color:var(--color-text-cyan)}.upgrade-card.maxed .upgrade-cost{color:#5fcfff99}@container app (max-height: 500px){.upgrades-root{padding:var(--safe-top) var(--safe-right) var(--safe-bottom) var(--safe-left)}.upgrades-panel{border-radius:var(--radius-sm)}.upgrades-header{padding:var(--space-1) var(--space-3)}.upgrades-title{font-size:var(--text-base)}.upgrades-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:6px;padding:var(--space-1) var(--space-2)}.upgrade-card{min-height:48px;padding:6px 10px}.upgrade-icon{font-size:20px}}body:has(.upgrades-root:not(.hidden)) #touch-controls{display:none!important}.streak-flame{position:absolute;top:calc(var(--safe-top, 0px) + 36px);right:calc(var(--safe-right, 0px) + 6px);z-index:9000;display:flex;align-items:center;gap:4px;padding:3px 8px 3px 7px;background:linear-gradient(180deg,#ff78282e,#ff501e14);border:1px solid rgba(255,180,84,.45);border-radius:999px;font:600 10px/1 var(--font-display);letter-spacing:.06em;color:#ffd86b;cursor:pointer;user-select:none;box-shadow:0 0 12px #ff822840;transition:transform .16s ease,box-shadow .24s ease;animation:streak-flame-in .5s var(--ease-out-expo, ease) both;white-space:nowrap}.streak-flame:hover{transform:translateY(-1px);box-shadow:0 0 20px #ff822866}.streak-flame:active{transform:scale(.96)}.streak-flame-icon{font-size:11px;filter:drop-shadow(0 0 4px rgba(255,130,40,.6))}.streak-flame-num{font-weight:800;color:#fff3b0;font-size:11px}.streak-flame-label{opacity:.7;font-size:8px;letter-spacing:.06em;text-transform:uppercase}@keyframes streak-flame-in{0%{opacity:0;transform:translateY(-8px) scale(.92)}to{opacity:1;transform:translateY(0) scale(1)}}.streak-toast{position:absolute;bottom:calc(var(--safe-bottom, 0px) + 40px);right:calc(var(--safe-right, 0px) + 10px);z-index:9100;max-width:280px;padding:8px 12px;background:linear-gradient(180deg,#1e1408f5,#140c04fa);border:1px solid rgba(255,200,80,.5);border-radius:8px;box-shadow:0 4px 20px #ff822840;color:#ffe9b3;font:500 11px/1.4 var(--font-display);cursor:pointer;animation:streak-toast-in .42s var(--ease-out-expo, ease) both}.streak-toast-fade{animation:streak-toast-out .4s ease both}.streak-toast-title{font-weight:800;color:#ffd86b;margin-bottom:2px;letter-spacing:.04em;font-size:11px}.streak-toast-body{color:#d5c49a;font-size:10px;font-weight:500}@keyframes streak-toast-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes streak-toast-out{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(6px)}}.streak-panel-modal{position:absolute;inset:0;z-index:9500;background:#05050ac7;backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:8px;animation:streak-modal-fade .2s ease both}@keyframes streak-modal-fade{0%{opacity:0}to{opacity:1}}.streak-panel{max-width:360px;width:100%;max-height:100%;overflow-y:auto;background:linear-gradient(180deg,#140e04fa,#0c0802fc);border:1px solid rgba(255,200,80,.35);border-radius:10px;padding:12px 14px;color:#ffe9b3;box-shadow:0 10px 36px #0009;animation:streak-modal-in .24s var(--ease-out-expo, ease) both}@keyframes streak-modal-in{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.streak-panel-header{display:flex;align-items:center;gap:10px;margin-bottom:4px}.streak-panel-icon{font-size:24px;filter:drop-shadow(0 0 8px rgba(255,130,40,.5))}.streak-panel-title{font-size:14px;font-weight:800;color:#ffd86b;letter-spacing:.04em}.streak-panel-sub{font-size:11px;color:#c4a876;margin-top:1px}.streak-panel-sub b{color:#ffeaa5}.streak-panel-close{margin-left:auto;background:transparent;border:1px solid rgba(255,200,80,.3);color:#ffe9b3;padding:4px 8px;border-radius:5px;font-size:11px;cursor:pointer}.streak-panel-close:hover{background:#ffc85026}.streak-panel-note{font-size:9px;color:#a09068;margin:8px 0;padding:6px 8px;border:1px dashed rgba(255,200,80,.2);border-radius:5px}.streak-rows{display:flex;flex-direction:column;gap:3px}.streak-row{display:grid;grid-template-columns:44px 1fr 50px;align-items:center;gap:8px;padding:6px 8px;background:#ffffff05;border:1px solid rgba(255,200,80,.12);border-radius:5px;font-size:11px}.streak-row-done{background:#78c85014;border-color:#78c85059}.streak-row-days{font-weight:800;color:#ffd86b;font-family:var(--font-mono);font-size:11px}.streak-row-reward{color:#d5c49a}.streak-row-done .streak-row-reward{color:#c8e8a0}.streak-row-status{text-align:right;font-family:var(--font-mono);font-size:9px;color:#a09068}.streak-row-done .streak-row-status{color:#8edc58;font-weight:700;font-size:12px}.horizon-chip{position:absolute;top:calc(var(--safe-top, 0px) + 36px);left:calc(var(--safe-left, 0px) + 10px);z-index:9000;display:flex;align-items:center;gap:5px;max-width:55%;padding:4px 10px;background:#0c101cc7;border:1px solid rgba(110,160,255,.35);border-radius:999px;font:600 10px/1.1 var(--font-display);letter-spacing:.04em;color:#e8ebf2;cursor:pointer;user-select:none;backdrop-filter:blur(4px);box-shadow:0 2px 12px #0006;transition:transform .16s ease,box-shadow .24s ease;animation:horizon-in .52s var(--ease-out-expo, ease) both;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.horizon-chip:hover{transform:translateY(-1px);box-shadow:0 4px 16px #6ea0ff40}.horizon-chip:active{transform:scale(.97)}.horizon-chip-icon{color:#8ba8d8;font-weight:800}.horizon-chip-text b{color:#ffd86b;font-weight:800}.horizon-chip-sub{color:#8ba8d8;font-weight:400;font-size:9px;margin-left:2px}@keyframes horizon-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.horizon-modal{position:absolute;inset:0;z-index:9500;background:#05050ac7;backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:8px;animation:streak-modal-fade .2s ease both}.horizon-modal-panel{max-width:420px;width:100%;max-height:100%;overflow-y:auto;background:linear-gradient(180deg,#0c1220fa,#060a14fc);border:1px solid rgba(110,160,255,.35);border-radius:10px;padding:12px 14px;color:#e8ebf2;box-shadow:0 10px 36px #0009;animation:streak-modal-in .24s var(--ease-out-expo, ease) both}.horizon-modal-header{display:flex;align-items:center;margin-bottom:8px}.horizon-modal-title{font:800 13px/1 var(--font-display);letter-spacing:.1em;text-transform:uppercase;color:#8ba8d8}.horizon-modal-close{margin-left:auto;background:transparent;border:1px solid rgba(110,160,255,.3);color:#e8ebf2;padding:4px 8px;border-radius:5px;font-size:11px;cursor:pointer}.horizon-modal-close:hover{background:#6ea0ff26}.horizon-modal-rows{display:flex;flex-direction:column;gap:8px}.horizon-modal-row{padding:6px 8px;background:#ffffff05;border-radius:5px}.horizon-modal-top{display:flex;align-items:baseline;gap:8px;font-size:11px;margin-bottom:4px}.horizon-kind{font:700 8px/1 var(--font-display);letter-spacing:.1em;text-transform:uppercase;padding:2px 5px;border-radius:3px}.horizon-kind-character{background:#6ea0ff2e;color:#9fc6ff}.horizon-kind-achievement{background:#ffb4542e;color:#ffc988}.horizon-kind-core{background:#a0ffb426;color:#a8e7ba}.horizon-label{flex:1;font-weight:800;color:#fff;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.horizon-remaining{font:600 10px/1 var(--font-mono);color:#aab5cc;white-space:nowrap}.horizon-bar{height:4px;background:#ffffff0f;border-radius:2px;overflow:hidden;margin-bottom:4px}.horizon-fill{height:100%;background:linear-gradient(90deg,#6ea0ff,#f4d96f);box-shadow:0 0 8px #6ea0ff66;transition:width .5s var(--ease-out-expo, ease)}.horizon-sub{font-size:9px;color:#8ba8d8;opacity:.8}.horizon-empty{font-size:11px;color:#8a96b4;padding:8px;font-style:italic;text-align:center}.horizon-pct-row{display:flex;flex-wrap:wrap;gap:4px;margin-top:10px;padding-top:8px;border-top:1px dashed rgba(255,255,255,.06)}.horizon-pct-chip{font:600 9px/1 var(--font-mono);color:#aab5cc;padding:2px 6px;background:#ffffff0a;border:1px solid rgba(110,160,255,.18);border-radius:999px}.horizon-pct-chip b{color:#fff;font-weight:700}.horizon-streak-chip{background:#ff82281f;border-color:#ffb45459;color:#ffd86b}.horizon-streak-chip b{color:#fff3b0}.danger-chip{position:absolute;top:calc(var(--safe-top, 0px) + 24px);left:calc(var(--safe-left, 0px) + 6px);z-index:9000;display:flex;align-items:center;gap:5px;padding:3px 8px;background:#140e08d1;border:1px solid rgba(255,130,40,.35);border-radius:999px;font:700 10px/1 var(--font-display);letter-spacing:.06em;color:#ffe4b3;cursor:pointer;user-select:none;backdrop-filter:blur(4px);transition:transform .16s ease,box-shadow .24s ease;animation:horizon-in .52s var(--ease-out-expo, ease) both;box-shadow:0 2px 8px #0006;white-space:nowrap;animation-name:danger-chip-in}@keyframes danger-chip-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.danger-chip:hover{transform:translateY(-1px);box-shadow:0 4px 16px #ff782840}.danger-chip:active{transform:scale(.96)}.danger-chip-max{border-color:#ff822899;box-shadow:0 2px 12px #ff782840}.danger-chip-tag{font-weight:900;font-size:11px;letter-spacing:.08em}.danger-chip-mult{font-family:var(--font-mono);font-size:10px;font-weight:700;color:#ffeaa5;opacity:.85}.tlm-consent-modal{position:absolute;inset:0;z-index:9800;background:#05050ad9;backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:8px;animation:streak-modal-fade .24s ease both}.tlm-consent-panel{max-width:440px;width:100%;max-height:100%;overflow-y:auto;background:linear-gradient(180deg,#0e1220fa,#070a14fc);border:1px solid rgba(110,160,255,.4);border-radius:12px;padding:16px 18px;color:#e8ebf2;font-family:var(--font-display);box-shadow:0 10px 36px #0009;animation:streak-modal-in .26s var(--ease-out-expo, ease) both}.tlm-consent-title{font-size:15px;font-weight:800;letter-spacing:.04em;color:#9fc6ff;margin-bottom:10px}.tlm-consent-body p{font-size:11px;line-height:1.5;color:#c8cfe0;margin:0 0 8px}.tlm-consent-list{margin:6px 0 0;padding:0 0 0 18px;font-size:10px;line-height:1.5;color:#aab5cc}.tlm-consent-list li{margin-bottom:3px}.tlm-consent-actions{display:flex;gap:10px;margin-top:12px}.tlm-consent-btn{flex:1;padding:10px 14px;font:700 11px/1 var(--font-display);letter-spacing:.08em;text-transform:uppercase;border-radius:6px;cursor:pointer;min-height:38px;transition:filter .16s ease,transform .16s ease}.tlm-consent-btn:active{transform:scale(.97)}.tlm-consent-no{color:#c8cfe0;background:#ffffff0d;border:1px solid rgba(255,255,255,.15)}.tlm-consent-no:hover{filter:brightness(1.2)}.tlm-consent-yes{color:#fff;background:#6ea0ff40;border:1px solid rgba(110,160,255,.6)}.tlm-consent-yes:hover{filter:brightness(1.15);box-shadow:0 0 20px #6ea0ff4d}.tlm-consent-note{margin-top:10px;font-size:9px;color:#8a96b4;font-style:italic;text-align:center}.handle-prompt-modal{position:absolute;inset:0;z-index:9800;background:#05050ad9;backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:8px;animation:streak-modal-fade .24s ease both}.handle-prompt-panel{max-width:440px;width:100%;max-height:100%;overflow-y:auto;background:linear-gradient(180deg,#0e1220fa,#070a14fc);border:1px solid rgba(110,160,255,.4);border-radius:12px;padding:16px 18px;color:#e8ebf2;font-family:var(--font-display);box-shadow:0 10px 36px #0009;animation:streak-modal-in .26s var(--ease-out-expo, ease) both}.handle-prompt-title{font-size:15px;font-weight:800;letter-spacing:.04em;color:#9fc6ff;margin-bottom:10px}.handle-prompt-body p{font-size:11px;line-height:1.5;color:#c8cfe0;margin:0 0 8px}.handle-prompt-hint{color:#aab5cc;font-size:10px;margin-bottom:10px}.handle-prompt-input{width:100%;box-sizing:border-box;padding:10px 12px;font:700 16px/1.2 var(--font-display);letter-spacing:.04em;color:#fff;background:#ffffff0d;border:1px solid rgba(110,160,255,.5);border-radius:6px;outline:none;transition:border-color .16s ease,background .16s ease}.handle-prompt-input:focus{border-color:#8cbeffcc;background:#ffffff14}.handle-prompt-hint-small{font-size:9px;color:#8a96b4;margin-top:6px;line-height:1.4}.handle-prompt-actions{display:flex;gap:10px;margin-top:12px}.handle-prompt-btn{flex:1;padding:10px 14px;font:700 11px/1 var(--font-display);letter-spacing:.08em;text-transform:uppercase;border-radius:6px;cursor:pointer;min-height:38px;transition:filter .16s ease,transform .16s ease}.handle-prompt-btn:active{transform:scale(.97)}.handle-prompt-reroll{color:#c8cfe0;background:#ffffff0d;border:1px solid rgba(255,255,255,.15)}.handle-prompt-reroll:hover{filter:brightness(1.2)}.handle-prompt-confirm{color:#fff;background:#6ea0ff40;border:1px solid rgba(110,160,255,.6)}.handle-prompt-confirm:hover{filter:brightness(1.15);box-shadow:0 0 20px #6ea0ff4d}.notif-consent-modal{position:absolute;inset:0;z-index:9800;background:#05050ad9;backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:8px;animation:streak-modal-fade .24s ease both}.notif-consent-panel{max-width:440px;width:100%;max-height:100%;overflow-y:auto;background:linear-gradient(180deg,#0e1220fa,#070a14fc);border:1px solid rgba(255,180,60,.4);border-radius:12px;padding:16px 18px;color:#e8ebf2;font-family:var(--font-display);box-shadow:0 10px 36px #0009;animation:streak-modal-in .26s var(--ease-out-expo, ease) both}.notif-consent-title{font-size:15px;font-weight:800;letter-spacing:.04em;color:#ffc860;margin-bottom:10px}.notif-consent-body p{font-size:11px;line-height:1.5;color:#c8cfe0;margin:0 0 8px}.notif-consent-list{margin:6px 0 0;padding:0 0 0 18px;font-size:10px;line-height:1.5;color:#aab5cc}.notif-consent-list li{margin-bottom:3px}.notif-consent-actions{display:flex;gap:10px;margin-top:12px}.notif-consent-btn{flex:1;padding:10px 14px;font:700 11px/1 var(--font-display);letter-spacing:.08em;text-transform:uppercase;border-radius:6px;cursor:pointer;min-height:38px;transition:filter .16s ease,transform .16s ease}.notif-consent-btn:active{transform:scale(.97)}.notif-consent-no{color:#c8cfe0;background:#ffffff0d;border:1px solid rgba(255,255,255,.15)}.notif-consent-no:hover{filter:brightness(1.2)}.notif-consent-yes{color:#fff;background:#ffb43c40;border:1px solid rgba(255,180,60,.6)}.notif-consent-yes:hover{filter:brightness(1.15);box-shadow:0 0 20px #ffb43c4d}.notif-consent-note{margin-top:10px;font-size:9px;color:#8a96b4;font-style:italic;text-align:center}.codex-container{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4)}.codex-header{display:flex;align-items:baseline;gap:var(--space-3)}.codex-title{font-family:var(--font-display);font-size:var(--text-xl);font-weight:800;color:#a6d8ff;letter-spacing:.06em}.codex-count{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--color-text-secondary)}.codex-filters{display:flex;gap:var(--space-2);flex-wrap:wrap;justify-content:center;align-items:center}.codex-filter{font-family:var(--font-ui);font-size:var(--text-xs);padding:var(--space-1) var(--space-3);background:#ffffff0d;border:1px solid var(--color-border);border-radius:var(--radius-pill);color:var(--color-text-secondary);cursor:pointer;min-height:32px;transition:all .15s ease}.codex-filter:hover{background:#ffffff14}.codex-filter.active{border-color:#a6d8ff;color:#a6d8ff;background:#a6d8ff1a}.codex-sort-sep{width:1px;height:20px;background:var(--color-border);margin:0 var(--space-1)}.codex-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:var(--space-2);width:100%;max-width:820px}.codex-card{display:flex;flex-direction:column;gap:var(--space-1);padding:var(--space-2) var(--space-3);background:var(--color-bg-card);border:1px solid var(--color-border);border-left:3px solid var(--card-color, var(--color-border));border-radius:var(--radius-md);transition:opacity .15s ease,transform .15s ease}.codex-card.locked{opacity:.55;border-left-color:var(--color-border)}.codex-card.unlocked:hover{transform:translateY(-1px)}.codex-card-name{font-size:var(--text-sm);font-weight:700;color:var(--color-text-primary);letter-spacing:.02em}.codex-card.locked .codex-card-name{color:var(--color-text-muted);font-style:italic}.codex-prereqs{display:flex;flex-wrap:wrap;gap:4px}.codex-prereq{font-family:var(--font-mono);font-size:var(--text-2xs);padding:2px 8px;background:#ffffff0f;border-radius:var(--radius-pill);color:var(--color-text-secondary)}.codex-effect{font-size:var(--text-xs);color:var(--color-text-secondary);line-height:1.4}.codex-effect-locked{color:var(--color-text-muted);font-style:italic;letter-spacing:.1em}.codex-stats{margin-top:2px}.codex-stat{font-family:var(--font-mono);font-size:var(--text-2xs);color:var(--color-text-muted)}@container app (max-height: 500px){.codex-container{padding:var(--space-2) var(--space-3);gap:var(--space-2)}.codex-title{font-size:var(--text-lg)}.codex-card{padding:var(--space-1) var(--space-2)}.codex-card-name{font-size:var(--text-xs)}.codex-effect{font-size:var(--text-2xs)}.codex-filter{font-size:var(--text-2xs);padding:2px var(--space-2);min-height:28px}.codex-list{max-width:min(760px,calc(100vw - 140px))}}.challenge-lb-cols{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px;width:100%;max-width:820px}.challenge-lb-section{margin-top:0}.challenge-lb-head{font:700 10px/1 var(--font-display);letter-spacing:.14em;text-transform:uppercase;color:var(--color-text-secondary);margin:0 0 6px;padding-bottom:4px;border-bottom:1px solid rgba(255,255,255,.08)}.challenge-lb-empty{font-size:10px;color:var(--color-text-secondary);padding:4px 0;font-style:italic}.challenge-lb-row{display:grid;grid-template-columns:22px 1fr auto auto;align-items:baseline;gap:4px;padding:2px 0;border-top:1px dashed rgba(255,255,255,.05);font-size:11px}.challenge-lb-row:first-of-type{border-top:none}.challenge-lb-rank{font-family:var(--font-mono);color:#ffd86b;font-weight:700;font-size:10px}.challenge-lb-name{color:var(--color-text-primary);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.challenge-lb-score{font-family:var(--font-mono);color:#fff;font-weight:800}.challenge-lb-detail{text-align:right;font-family:var(--font-mono);font-size:9px;color:var(--color-text-secondary)}.challenge-lb-comment{grid-column:1 / -1;font:italic 9px/1.3 var(--font-ui);color:gold;padding:0 0 1px 22px;opacity:.85;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.season-banner{margin:8px 0 12px;padding:10px 14px;background:linear-gradient(90deg,#6ea0ff24,#b478ff24,#6ea0ff24);border:1px solid rgba(140,180,255,.45);border-radius:8px;box-shadow:0 0 20px #8cb4ff2e}.season-banner-head{display:flex;align-items:baseline;gap:10px;margin-bottom:4px}.season-banner-tag{font:800 10px/1 var(--font-display);letter-spacing:.14em;color:#9fc6ff;padding:3px 7px;background:#6ea0ff40;border-radius:3px}.season-banner-name{font-size:15px;font-weight:800;color:#fff;flex:1}.season-banner-time{font:600 11px/1 var(--font-mono);color:#c8cfe0;white-space:nowrap}.season-banner-modifier{font-size:11px;color:#aab5cc}.season-banner-modifier b{color:#ffd86b}.challenge-lb-row-clickable{cursor:pointer;transition:background .14s ease,transform .1s ease;border-radius:4px;padding-left:6px;padding-right:6px}.challenge-lb-row-clickable:hover{background:#6ea0ff1a;transform:translate(2px)}.challenge-lb-row-clickable:active{background:#6ea0ff2e;transform:translate(1px) scale(.99)}.season-progress-line{display:flex;justify-content:space-between;font:600 11px/1.3 var(--font-mono);margin:8px 0 4px}.season-progress-waves{color:#ffd86b}.season-progress-tally{color:#aab5cc}.season-progress-bar{height:6px;background:#ffffff0f;border-radius:3px;overflow:hidden;margin-bottom:6px}.season-progress-fill{height:100%;background:linear-gradient(90deg,#6ea0ff,#ffd86b);box-shadow:0 0 12px #8cb4ff73;transition:width .6s ease}.season-tier-row{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:4px}.season-tier{font:700 10px/1 var(--font-mono);letter-spacing:.04em;padding:3px 7px;border-radius:999px;background:#ffffff0a;color:#6a7696;border:1px solid rgba(255,255,255,.08);cursor:help}.season-tier-earned{background:#7fd86b2e;color:#c8e8a0;border-color:#7fd86b73}.season-tier-next{background:#ffc8502e;color:#ffd86b;border-color:#ffc8508c;animation:pm-pb-glow 2.4s ease-in-out infinite}.season-next-line{font-size:11px;color:#aab5cc}.season-next-line b{color:#fff3b0}.settings-root{position:absolute;inset:0;background:var(--color-bg-overlay);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;pointer-events:auto;z-index:9600;animation:overlay-fade-in var(--transition-overlay) var(--ease-out-expo);padding:calc(var(--safe-top) + var(--space-2)) calc(var(--safe-right) + var(--space-2)) calc(var(--safe-bottom) + var(--space-2)) calc(var(--safe-left) + var(--space-2));box-sizing:border-box;overflow-y:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.settings-root::-webkit-scrollbar{display:none}.settings-root.hidden{display:none}@keyframes overlay-fade-in{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}.settings-panel{background:var(--color-bg-panel-solid);border:1px solid var(--color-border);border-radius:var(--radius-lg);max-width:600px;width:100%;max-height:100%;display:flex;flex-direction:column;overflow-y:auto;scrollbar-width:none}.settings-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border)}.settings-title{font-family:var(--font-display);font-size:var(--text-lg);color:var(--color-text-accent);text-transform:uppercase;letter-spacing:.1em;margin:0}.settings-close{width:var(--touch-comfortable);height:var(--touch-comfortable);border:1px solid var(--color-border);border-radius:var(--radius-md);background:transparent;color:var(--color-text-secondary);font-size:var(--text-xl);cursor:pointer;display:flex;align-items:center;justify-content:center;-webkit-tap-highlight-color:transparent;touch-action:manipulation;transition:background var(--transition-fast),color var(--transition-fast)}.settings-close:active{background:var(--color-border);color:var(--color-text-primary)}.settings-body{padding:var(--space-3) var(--space-4);overflow-y:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;display:flex;flex-direction:column;gap:var(--space-4)}.settings-body::-webkit-scrollbar{display:none}.settings-section{display:flex;flex-direction:column;gap:var(--space-2)}.settings-section-title{font-family:var(--font-display);font-size:var(--text-xs);color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.12em;margin:0;padding-bottom:var(--space-1);border-bottom:1px solid var(--color-border)}.setting-row{display:flex;align-items:center;gap:var(--space-3);min-height:var(--touch-min)}.setting-label{flex:1;font-size:var(--text-sm);color:var(--color-text-primary)}.setting-options{display:flex;gap:var(--space-1)}.setting-opt{padding:6px 12px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:transparent;color:var(--color-text-secondary);font-size:var(--text-xs);font-family:var(--font-ui);text-transform:capitalize;cursor:pointer;min-height:32px;-webkit-tap-highlight-color:transparent;touch-action:manipulation;transition:background var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast)}.setting-opt:active{transform:scale(.95)}.setting-opt.active{background:#5fcfff26;border-color:var(--color-text-cyan);color:var(--color-text-cyan);font-weight:600}.toggle{position:relative;display:inline-block;width:44px;height:24px}.toggle input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;cursor:pointer;inset:0;background:var(--color-border);border-radius:var(--radius-pill);transition:background var(--transition-normal)}.toggle-slider:before{content:"";position:absolute;width:18px;height:18px;left:3px;bottom:3px;background:var(--color-text-primary);border-radius:50%;transition:transform var(--transition-normal) var(--ease-spring)}.toggle input:checked+.toggle-slider{background:var(--color-text-cyan)}.toggle input:checked+.toggle-slider:before{transform:translate(20px)}.setting-slider{width:120px;height:4px;appearance:none;-webkit-appearance:none;background:var(--color-border);border-radius:var(--radius-pill);outline:none}.setting-slider::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:20px;height:20px;border-radius:50%;background:var(--color-text-cyan);cursor:pointer;border:2px solid var(--color-bg-primary)}.setting-slider::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:var(--color-text-cyan);cursor:pointer;border:2px solid var(--color-bg-primary)}.setting-val{font-size:var(--text-xs);font-family:var(--font-mono);color:var(--color-text-secondary);min-width:36px;text-align:right}@container app (max-height: 500px){.settings-panel{max-width:100%;border-radius:var(--radius-md)}.settings-body{padding:var(--space-2) var(--space-3);gap:var(--space-3);flex-direction:row;flex-wrap:wrap}.settings-section{flex:1 1 45%;min-width:240px;gap:var(--space-1)}.settings-header{padding:var(--space-2) var(--space-3)}.settings-title{font-size:var(--text-base)}.setting-row{min-height:36px;gap:var(--space-2)}.setting-opt{padding:4px 8px;font-size:var(--text-2xs);min-height:28px}.setting-slider{width:80px}}body:has(.settings-root:not(.hidden)) #touch-controls{display:none!important}.setting-action-btn{padding:8px 14px;font:700 12px/1 var(--font-display);letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-primary);background:#6ea0ff26;border:1px solid rgba(110,160,255,.45);border-radius:var(--radius-md);cursor:pointer;min-height:36px;transition:filter .16s ease,transform .16s ease}.setting-action-btn:hover:not(:disabled){filter:brightness(1.15)}.setting-action-btn:active:not(:disabled){transform:scale(.97)}.setting-action-btn:disabled{opacity:.55;cursor:wait}.settings-note .setting-label{opacity:.65;font-size:var(--text-xs);font-style:italic}.settings-handle-input{padding:6px 10px;font:700 13px/1.2 var(--font-display);letter-spacing:.03em;color:#fff;background:#ffffff0d;border:1px solid rgba(110,160,255,.4);border-radius:4px;outline:none;min-width:140px;transition:border-color .16s ease}.settings-handle-input:focus{border-color:#8cbeffcc;background:#ffffff14}
