@font-face{font-family:Heading;src:url(/bubble.ttf) format("truetype");font-weight:400;font-style:normal}@font-face{font-family:Main;src:url(/main.ttf) format("truetype");font-weight:400;font-style:normal}@font-face{font-family:m5x7;src:url(/fonts/m5x7.ttf) format("truetype");font-display:block}:root{--c-bg: #0a0a0b;--c-panel: #100f12;--c-panel-2: #16161a;--c-recess: #07070a;--c-steel: #1e1e22;--c-steel-2: #3a3a40;--c-brass: #b8863b;--c-hazard: #e2b53c;--c-ink: #07070a;--c-text: #d6d2cc;--c-text-dim: #8a8a93;--c-text-mute: #5a5a63;--c-cyan: #3fd8ff;--c-green: #46e08a;--c-amber: #ffb43c;--c-red: #ff4d5e;--c-magenta: #ff5cc8;--c-violet: #b06bff;--c-blue: #4d8cff;--fs-2xs: 14px;--fs-xs: 18px;--fs-sm: 20px;--fs-md: 24px;--fs-lg: 30px;--fs-xl: 40px;--fs-2xl: 52px;--lh-tight: 1.2;--lh: 1.5;--font-display: "m5x7", "Pixel Operator", monospace;--font-body: "m5x7", "Pixel Operator", monospace;--font-mono: ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 20px;--sp-6: 24px;--r-sm: 3px;--r-md: 4px;--r-lg: 6px;--r-pill: 999px;--slot: 44px;--slot-sm: 36px;--slot-lg: 55px;--icon: 32px;--bar-h: 10px;--bar-h-sm: 5px;--panel-w: 440px;--bottom-bar-h: 88px;--glow: 8px;--ui-bg: var(--c-bg);--ui-bg-2: var(--c-panel-2);--ui-border: var(--c-steel);--ui-accent: var(--c-cyan);--ui-gold: var(--c-amber);--ui-text: var(--c-text);--ui-muted: var(--c-text-mute);--ui-danger: var(--c-red);--ui-success: var(--c-green);--ui-heading-font: var(--font-display);--ui-body-font: var(--font-body);--bui-bg: #0c0e13;--bui-panel: #14171f;--bui-panel-2: #1b1f2a;--bui-panel-3: #10131a;--bui-line: #2a2f3d;--bui-text: #dfe3ee;--bui-text-dim: #7d8399;--bui-rust: #d97b3f;--bui-cyan: #4fd8e8;--bui-gold: #ffcf6b;--bui-hp: #4ce07a;--bui-danger: #ff4d4d;--bui-void: #05060a;--bui-font-body: "m5x7", "Pixel Operator", monospace;--bui-font-title: var(--bui-font-body);--bui-fs-xs: 8px;--bui-fs-sm: 12px;--bui-fs-md: 32px;--bui-fs-lg: 24px;--bui-fs-xl: 32px;--bui-sp-8: 32px;--bui-shadow-hard: 4px 4px 0 rgba(0, 0, 0, .6);--bui-shadow-hard-sm: 2px 2px 0 rgba(0, 0, 0, .6);--pixel-bg: var(--c-panel);--pixel-border: var(--c-steel);--pixel-border-2: var(--c-steel-2);--pixel: .125rem;--pixel-shadow: calc(var(--pixel) * -1) 0 0 0 var(--pixel-border), calc(var(--pixel) * 1) 0 0 0 var(--pixel-border), 0 calc(var(--pixel) * -1) 0 0 var(--pixel-border), 0 calc(var(--pixel) * 1) 0 0 var(--pixel-border), calc(var(--pixel) * -1) calc(var(--pixel) * -2) 0 0 var(--pixel-border), calc(var(--pixel) * 1) calc(var(--pixel) * -2) 0 0 var(--pixel-border), calc(var(--pixel) * -1) calc(var(--pixel) * 2) 0 0 var(--pixel-border), calc(var(--pixel) * 1) calc(var(--pixel) * 2) 0 0 var(--pixel-border), calc(var(--pixel) * -2) calc(var(--pixel) * -1) 0 0 var(--pixel-border), calc(var(--pixel) * 2) calc(var(--pixel) * -1) 0 0 var(--pixel-border), calc(var(--pixel) * -2) calc(var(--pixel) * 1) 0 0 var(--pixel-border), calc(var(--pixel) * 2) calc(var(--pixel) * 1) 0 0 var(--pixel-border), calc(var(--pixel) * -1) 0 0 var(--pixel) var(--pixel-border-2), calc(var(--pixel) * 1) 0 0 var(--pixel) var(--pixel-border-2), 0 calc(var(--pixel) * -1) 0 var(--pixel) var(--pixel-border-2), 0 calc(var(--pixel) * 1) 0 var(--pixel) var(--pixel-border-2), calc(var(--pixel) * -1) calc(var(--pixel) * -2) 0 var(--pixel) var(--pixel-border-2), calc(var(--pixel) * 1) calc(var(--pixel) * -2) 0 var(--pixel) var(--pixel-border-2), calc(var(--pixel) * -1) calc(var(--pixel) * 2) 0 var(--pixel) var(--pixel-border-2), calc(var(--pixel) * 1) calc(var(--pixel) * 2) 0 var(--pixel) var(--pixel-border-2), calc(var(--pixel) * -2) calc(var(--pixel) * -1) 0 var(--pixel) var(--pixel-border-2), calc(var(--pixel) * 2) calc(var(--pixel) * -1) 0 var(--pixel) var(--pixel-border-2), calc(var(--pixel) * -2) calc(var(--pixel) * 1) 0 var(--pixel) var(--pixel-border-2), calc(var(--pixel) * 2) calc(var(--pixel) * 1) 0 var(--pixel) var(--pixel-border-2);--pixel-shadow-sm: calc(var(--pixel) * -1) 0 0 0 var(--pixel-border), calc(var(--pixel) * 1) 0 0 0 var(--pixel-border), 0 calc(var(--pixel) * -1) 0 0 var(--pixel-border), 0 calc(var(--pixel) * 1) 0 0 var(--pixel-border), calc(var(--pixel) * -1) calc(var(--pixel) * -2) 0 0 var(--pixel-border), calc(var(--pixel) * 1) calc(var(--pixel) * -2) 0 0 var(--pixel-border), calc(var(--pixel) * -1) calc(var(--pixel) * 2) 0 0 var(--pixel-border), calc(var(--pixel) * 1) calc(var(--pixel) * 2) 0 0 var(--pixel-border), calc(var(--pixel) * -2) calc(var(--pixel) * -1) 0 0 var(--pixel-border), calc(var(--pixel) * 2) calc(var(--pixel) * -1) 0 0 var(--pixel-border), calc(var(--pixel) * -2) calc(var(--pixel) * 1) 0 0 var(--pixel-border), calc(var(--pixel) * 2) calc(var(--pixel) * 1) 0 0 var(--pixel-border)}.frame{background:var(--c-panel);box-shadow:var(--pixel-shadow)}.neon-sign{font-family:var(--font-display);font-size:var(--fs-lg);letter-spacing:2px;text-transform:uppercase;color:var(--c-cyan);text-shadow:0 0 var(--glow) currentColor}.neon-sign--inset{background:var(--c-recess);box-shadow:inset 0 0 0 1px var(--c-steel),inset 0 2px 6px #0009;padding:var(--sp-1) var(--sp-3);border-radius:var(--r-sm)}.btn,.ui-btn{font-family:var(--font-display);font-size:var(--fs-md);letter-spacing:1px;padding:var(--sp-2) var(--sp-4);border-radius:var(--r-sm);cursor:pointer;color:var(--c-cyan);background:color-mix(in srgb,var(--c-cyan) 10%,transparent);border:1px solid color-mix(in srgb,var(--c-cyan) 45%,transparent);transition:background .12s,color .12s,border-color .12s;-webkit-user-select:none;user-select:none}.btn:hover:not(:disabled),.ui-btn:hover:not(:disabled){background:color-mix(in srgb,var(--c-cyan) 22%,transparent);color:#fff}.btn:disabled,.ui-btn:disabled{opacity:.4;cursor:default}.btn--ghost{background:transparent}.btn--solid{background:color-mix(in srgb,var(--c-cyan) 28%,transparent);color:#fff}.btn--sm{font-size:var(--fs-sm);padding:var(--sp-1) var(--sp-3)}.btn--lg{font-size:var(--fs-lg);padding:var(--sp-2) var(--sp-6);letter-spacing:2px}.btn--green{color:var(--c-green);border-color:color-mix(in srgb,var(--c-green) 45%,transparent);background:color-mix(in srgb,var(--c-green) 10%,transparent)}.btn--green:hover:not(:disabled){background:color-mix(in srgb,var(--c-green) 22%,transparent);color:#fff}.btn--amber{color:var(--c-amber);border-color:color-mix(in srgb,var(--c-amber) 50%,transparent);background:color-mix(in srgb,var(--c-amber) 10%,transparent)}.btn--amber:hover:not(:disabled){background:color-mix(in srgb,var(--c-amber) 24%,transparent);color:#fff}.btn--red{color:var(--c-red);border-color:color-mix(in srgb,var(--c-red) 50%,transparent);background:color-mix(in srgb,var(--c-red) 10%,transparent)}.btn--red:hover:not(:disabled){background:color-mix(in srgb,var(--c-red) 22%,transparent);color:#fff}.btn--violet{color:var(--c-violet);border-color:color-mix(in srgb,var(--c-violet) 50%,transparent);background:color-mix(in srgb,var(--c-violet) 12%,transparent)}.btn--violet:hover:not(:disabled){background:color-mix(in srgb,var(--c-violet) 26%,transparent);color:#fff}.btn--magenta{color:var(--c-magenta);border-color:color-mix(in srgb,var(--c-magenta) 50%,transparent);background:color-mix(in srgb,var(--c-magenta) 12%,transparent)}.btn--magenta:hover:not(:disabled){background:color-mix(in srgb,var(--c-magenta) 26%,transparent);color:#fff}.bar{height:var(--bar-h);background:var(--c-panel-2);border:1px solid color-mix(in srgb,#fff 10%,transparent);border-radius:var(--r-sm);overflow:hidden;position:relative}.bar__fill{height:100%;width:0%;border-radius:var(--r-sm);transition:width .12s linear,background .3s ease;background:var(--c-cyan)}.bar__fill--hp{background:var(--c-green)}.bar__fill--energy{background:var(--c-cyan)}.bar__fill--xp{background:var(--c-amber)}.bar__fill--boss{background:var(--c-red)}.bar__fill--mine{background:var(--c-green)}.bar__fill--craft{background:var(--c-amber)}.bar__fill--explore{background:var(--c-blue)}.slot{width:var(--slot);height:var(--slot);background:var(--c-panel-2);box-shadow:var(--pixel-shadow-sm);position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;box-sizing:border-box}.slot--sm{width:var(--slot-sm);height:var(--slot-sm)}.slot--lg{width:var(--slot-lg);height:var(--slot-lg)}.slot img{width:var(--icon);height:var(--icon);image-rendering:pixelated;pointer-events:none}.inv-slot.id-glow--red{border-color:color-mix(in srgb,var(--c-red) 60%,var(--bui-line));box-shadow:0 0 8px -1px color-mix(in srgb,var(--c-red) 65%,transparent)}.inv-slot.id-glow--green{border-color:color-mix(in srgb,var(--c-green) 60%,var(--bui-line));box-shadow:0 0 8px -1px color-mix(in srgb,var(--c-green) 65%,transparent)}.inv-slot.id-glow--blue{border-color:color-mix(in srgb,var(--c-blue) 60%,var(--bui-line));box-shadow:0 0 8px -1px color-mix(in srgb,var(--c-blue) 65%,transparent)}.inv-tooltip.id-accent--red{border-left:3px solid var(--c-red)}.inv-tooltip.id-accent--green{border-left:3px solid var(--c-green)}.inv-tooltip.id-accent--blue{border-left:3px solid var(--c-blue)}.chip{display:inline-flex;align-items:center;gap:var(--sp-1);font-family:var(--font-display);font-size:var(--fs-2xs);letter-spacing:1px;padding:2px var(--sp-2);border-radius:var(--r-pill);border:1px solid color-mix(in srgb,var(--c-cyan) 35%,transparent);color:var(--c-cyan);background:color-mix(in srgb,var(--c-cyan) 12%,transparent)}#ui-root{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:1000;overflow:hidden}#power-display{position:fixed;top:12px;right:160px;font-family:var(--ui-heading-font);font-size:var(--fs-md);letter-spacing:1px;color:var(--ui-muted);background:#080d1fbf;border:1px solid var(--ui-border);border-radius:4px;padding:3px 10px;pointer-events:none;z-index:200}#power-display.power-ok{color:var(--c-green)}#power-display.power-warn{color:var(--c-red)}#power-display.hidden{display:none}#biome-label{position:fixed;top:204px;right:16px;display:flex;align-items:baseline;gap:var(--sp-2);font-family:var(--ui-heading-font);font-size:var(--fs-md);letter-spacing:1px;background:#080d1fbf;border:1px solid var(--ui-border);border-radius:4px;padding:3px 10px;pointer-events:none;z-index:200}#biome-label.hidden{display:none}#biome-label-coords{font-family:var(--font-mono, ui-monospace);font-size:var(--fs-xs);letter-spacing:0;color:var(--c-text-dim)}.ui-panel{position:fixed;pointer-events:auto;-webkit-user-select:none;user-select:none;min-width:200px;display:none;flex-direction:column;background:var(--bui-panel);border:2px solid var(--bui-line);box-shadow:var(--bui-shadow-hard)}.ui-panel:before,.ui-panel:after,.ui-panel .ui-panel-body:before,.ui-panel .ui-panel-body:after{content:"";position:absolute;width:6px;height:6px;background:var(--bui-void);border:1px solid var(--bui-line);z-index:2;pointer-events:none}.ui-panel:before{top:-2px;left:-2px}.ui-panel:after{top:-2px;right:-2px}.ui-panel .ui-panel-body:before{bottom:-2px;left:-2px}.ui-panel .ui-panel-body:after{bottom:-2px;right:-2px}.ui-panel.visible{display:block}.ui-panel-header{display:flex;align-items:center;justify-content:space-between;padding:var(--sp-3) var(--sp-4);background:var(--bui-panel-2);border-bottom:2px solid var(--bui-line);cursor:default}.ui-panel-title{font-family:var(--bui-font-title);font-size:var(--bui-fs-md);color:var(--bui-cyan);text-transform:uppercase;text-shadow:0 0 6px rgba(79,216,232,.5)}.ui-panel-close{font-family:var(--bui-font-body);font-size:var(--bui-fs-md);color:var(--bui-text-dim);cursor:pointer;width:20px;height:20px;display:flex;align-items:center;justify-content:center;border:1px solid var(--bui-line);background:var(--bui-panel-3);line-height:1}.ui-panel-close:hover{color:var(--bui-danger);border-color:var(--bui-danger)}.ui-panel-body{padding:var(--sp-4);position:relative;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--bui-line) 55%,transparent)}.inv-grid{display:grid;grid-template-columns:repeat(var(--inv-cols, 3),var(--slot));gap:var(--sp-1);padding:2px 0}.inv-slot{width:var(--slot);height:var(--slot);background:var(--bui-panel-3);border:1px solid var(--bui-line);position:relative;cursor:grab;display:flex;align-items:center;justify-content:center;overflow:hidden;transition:border-color .1s;box-sizing:border-box}.inv-slot:hover{border-color:var(--bui-cyan)}.inv-slot.drag-over{border-color:var(--bui-gold);background:color-mix(in srgb,var(--bui-gold) 8%,transparent)}.inv-slot.drag-src{opacity:.4}.inv-slot.empty{background:var(--bui-void);cursor:default}.inv-slot.id-glow--red:hover{border-color:color-mix(in srgb,var(--c-red) 75%,var(--bui-cyan))}.inv-slot.id-glow--green:hover{border-color:color-mix(in srgb,var(--c-green) 75%,var(--bui-cyan))}.inv-slot.id-glow--blue:hover{border-color:color-mix(in srgb,var(--c-blue) 75%,var(--bui-cyan))}.inv-slot img{width:var(--icon);height:var(--icon);image-rendering:pixelated;pointer-events:none}.inv-slot-amount{position:absolute;bottom:2px;right:3px;font-family:var(--bui-font-body);font-size:var(--bui-fs-md);color:var(--bui-gold);pointer-events:none;text-shadow:-2px -2px 0 var(--bui-void),2px 2px 0 var(--bui-void)}.inv-slot-label{font-family:var(--bui-font-body);font-size:var(--bui-fs-md);line-height:var(--lh-tight);color:var(--bui-text-dim);text-align:center;pointer-events:none;padding:2px;white-space:nowrap;letter-spacing:.04em}.inv-capacity{font-family:var(--bui-font-body);font-size:var(--bui-fs-md);color:var(--bui-text-dim);text-align:right;padding:4px 0 0}.platform-dismantle{display:flex;justify-content:flex-end;margin-top:var(--sp-2)}.feeder-status{margin-bottom:var(--sp-2)}.feeder-rate{font-family:var(--font-body);font-size:var(--fs-sm);color:var(--c-text-dim)}.feeder-core{font-family:var(--font-display);font-size:var(--fs-sm);color:var(--c-cyan);margin-top:2px}.dronelab-drones{display:flex;flex-direction:column;gap:var(--sp-2);margin-bottom:var(--sp-2)}.dronelab-drone{display:flex;flex-direction:column;align-items:stretch;gap:var(--sp-1)}.dronelab-drone-top{display:flex;align-items:center;gap:var(--sp-2)}.dronelab-progress{height:6px}.dronelab-drone-label{font-family:var(--font-display);font-size:var(--fs-sm);color:var(--c-text-dim);width:84px;flex-shrink:0}.dronelab-task{flex:1;min-width:0;font-family:var(--font-body);font-size:var(--fs-sm);color:var(--c-text);background:var(--c-panel-2);border:1px solid var(--c-steel);border-radius:var(--r-sm);padding:2px var(--sp-2)}.dronelab-rate{font-family:var(--font-body);font-size:var(--fs-xs);color:var(--c-cyan);width:64px;text-align:right;flex-shrink:0}.dronelab-footer{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--sp-2);margin-top:var(--sp-2)}.scene-screen{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9000;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 50% 40%,color-mix(in srgb,var(--c-panel-2) 90%,#000),#000814);pointer-events:auto}.scene-screen.hidden{display:none}.ship-select-panel{display:flex;flex-direction:column;gap:var(--sp-4);padding:var(--sp-6);min-width:320px;max-width:90vw;background:var(--c-panel);border:1px solid var(--c-steel);border-radius:var(--r-md);box-shadow:var(--pixel-shadow)}.ship-select-title{text-align:center;letter-spacing:.08em}.ship-select-list{display:flex;flex-direction:column;gap:var(--sp-2);max-height:55vh;overflow-y:auto;min-width:360px}.ship-card{display:flex;flex-direction:row;align-items:center;gap:var(--sp-3);padding:var(--sp-2) var(--sp-3);text-align:left;cursor:pointer;background:var(--c-panel-2);border:1px solid var(--c-steel);border-radius:var(--r-sm);color:var(--c-text);font-family:var(--font-body)}.ship-card:hover{border-color:var(--c-cyan)}.ship-card.selected{border-color:var(--c-cyan);background:color-mix(in srgb,var(--c-cyan) 18%,var(--c-panel-2))}.ship-card-preview{width:72px;height:72px;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:var(--c-recess);border-radius:var(--r-sm);box-shadow:inset 0 0 0 1px var(--c-steel)}.ship-card-info{display:flex;flex-direction:column;gap:4px;min-width:0}.ship-card-name{font-family:var(--font-display);font-size:var(--fs-md);color:var(--c-text)}.ship-card-meta{display:flex;align-items:center;gap:var(--sp-2);flex-wrap:wrap}.ship-card-gs{font-family:var(--font-display);font-size:var(--fs-sm)}.ship-card-fill{font-size:var(--fs-xs);color:var(--c-text-dim)}.ship-card-tag{font-family:var(--font-display);font-size:var(--fs-2xs);letter-spacing:1px;color:var(--c-cyan);border:1px solid color-mix(in srgb,var(--c-cyan) 40%,transparent);border-radius:var(--r-pill);padding:0 var(--sp-2)}.ship-launch-btn{align-self:stretch}.dronelab-stats{display:flex;flex-direction:column;gap:var(--sp-1);margin-bottom:var(--sp-2)}.dronelab-stat-row{display:flex;align-items:center;gap:var(--sp-2)}.dronelab-stat-label{font-family:var(--font-display);font-size:var(--fs-sm);color:var(--c-text-dim);width:96px;flex-shrink:0}.dronelab-stat-effect{font-family:var(--font-body);font-size:var(--fs-xs);color:var(--c-cyan);flex:1;min-width:0}.dl-currencies{display:flex;flex-wrap:wrap;gap:var(--sp-3);padding:var(--sp-2);margin-bottom:var(--sp-2);background:var(--c-panel-2);border-radius:var(--r-sm);font-size:var(--fs-xs);color:var(--c-text-dim)}.dl-cur b{color:var(--c-cyan);font-family:var(--font-display)}.dl-lab{display:flex;flex-direction:column;gap:var(--sp-1);margin-bottom:var(--sp-3)}.dl-lab-line{font-size:var(--fs-xs);color:var(--c-text-dim)}.dl-lab-line b{color:var(--c-text)}.dl-btn{align-self:flex-start}.dl-drone{display:flex;flex-direction:column;gap:var(--sp-1);padding:var(--sp-2);margin-bottom:var(--sp-2);background:var(--c-panel-2);border:1px solid var(--c-steel);border-radius:var(--r-sm)}.dl-drone.dl-damaged{border-color:var(--c-amber)}.dl-drone-head{display:flex;justify-content:space-between;align-items:baseline;gap:var(--sp-2)}.dl-drone-name{font-family:var(--font-display);font-size:var(--fs-sm);color:var(--c-text)}.dl-drone-meta{font-size:var(--fs-2xs);color:var(--c-text-dim)}.dl-route-sel{width:100%;font-family:var(--font-body);font-size:var(--fs-sm);color:var(--c-text);background:var(--c-panel);border:1px solid var(--c-steel);border-radius:var(--r-sm);padding:2px var(--sp-2)}.dl-route-status{font-size:var(--fs-2xs);color:var(--c-cyan);min-height:1em}.dl-est{color:var(--c-text-dim)}.dl-drone-acts{display:flex;flex-wrap:wrap;gap:var(--sp-2)}.gb-head{display:flex;justify-content:space-between;align-items:baseline;gap:var(--sp-3);padding:var(--sp-2);margin-bottom:var(--sp-2);background:var(--c-panel-2);border-radius:var(--r-sm)}.gb-cogticks{font-size:var(--fs-sm);color:var(--c-text-dim)}.gb-cogticks b{color:var(--c-amber);font-family:var(--font-display)}.gb-rate{font-size:var(--fs-xs);color:var(--c-cyan)}.gb-machine{display:flex;align-items:center;gap:var(--sp-2);padding:var(--sp-1) var(--sp-2);margin-bottom:var(--sp-1);background:var(--c-panel-2);border-radius:var(--r-sm)}.gb-mach-name{font-family:var(--font-display);font-size:var(--fs-sm);color:var(--c-text);flex:1}.gb-mach-lvl{font-size:var(--fs-2xs);color:var(--c-text-dim)}.gb-overclock{display:flex;flex-direction:column;gap:var(--sp-1);margin-top:var(--sp-3);padding:var(--sp-2);background:var(--c-panel-2);border:1px solid var(--c-amber);border-radius:var(--r-sm)}.gb-oc-line{font-size:var(--fs-xs);color:var(--c-text-dim)}.gb-oc-line b{color:var(--c-text)}.gb-oc-active{font-size:var(--fs-2xs);color:var(--c-green)}.gb-btn{align-self:flex-start}.ss-stats{display:flex;flex-direction:column;gap:var(--sp-1);margin-bottom:var(--sp-3)}.ss-line{font-size:var(--fs-xs);color:var(--c-text-dim)}.ss-line b{color:var(--c-text)}.ss-buff{color:var(--c-green)}.ss-btn{align-self:flex-start;margin-top:var(--sp-1)}.ss-hud{display:flex;justify-content:space-between;gap:var(--sp-2);font-size:var(--fs-2xs);color:var(--c-text-dim);margin-bottom:var(--sp-2)}.ss-item{font-family:var(--font-display);font-size:var(--fs-lg);color:var(--c-cyan);text-align:center;padding:var(--sp-3);margin-bottom:var(--sp-2);background:var(--c-panel-2);border-radius:var(--r-sm)}.ss-bins{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-2);margin-bottom:var(--sp-2)}.ss-result{display:flex;flex-direction:column;gap:var(--sp-1);padding:var(--sp-2);background:var(--c-panel-2);border-radius:var(--r-sm);margin-bottom:var(--sp-2)}.stash-upgrade{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);flex-wrap:wrap;margin-top:var(--sp-2);padding-top:var(--sp-2);border-top:1px solid var(--c-steel)}.stash-upgrade-cost{display:flex;flex-direction:column;gap:2px;font-family:var(--font-body);font-size:var(--fs-sm)}.stash-upgrade-item.ok{color:var(--c-green)}.stash-upgrade-item.short{color:var(--c-red)}.stash-upgrade-max{font-family:var(--font-display);font-size:var(--fs-sm);color:var(--c-text-mute);letter-spacing:1px}#inv-drag-ghost{position:fixed;width:44px;height:44px;background:var(--ui-bg-2);border:1px solid var(--ui-gold);border-radius:3px;pointer-events:none;z-index:99999;display:none;align-items:center;justify-content:center;opacity:.85;transform:translate(-50%,-50%)}#inv-drag-ghost.active{display:flex}#inv-drag-ghost img{width:32px;height:32px;image-rendering:pixelated}.inv-tooltip{position:fixed;background:#080d1ff7;border:1px solid var(--ui-border);border-radius:4px;padding:8px 10px;font-family:var(--bui-font-body);font-size:var(--bui-fs-md);color:var(--ui-text);pointer-events:none;z-index:99998;max-width:480px;min-width:200px;display:none;line-height:1.4}.inv-tooltip.visible{display:block}.tt-name{font-size:var(--bui-fs-md);font-weight:600;display:block;margin-bottom:3px;line-height:1.2}.tt-meta{display:flex;gap:6px;align-items:center;margin-bottom:4px;font-size:var(--bui-fs-md);text-transform:capitalize}.tt-rarity{font-weight:500}.tt-type{color:var(--ui-muted)}.tt-ilvl{color:var(--c-cyan);margin-left:auto;font-size:var(--bui-fs-md)}.tt-identity{display:flex;gap:4px;margin-bottom:5px}.tt-identity-pill{display:inline-block;width:10px;height:10px;border-radius:50%;opacity:.85}.tt-identity-label{font-size:var(--fs-2xs);color:#778;text-transform:uppercase;letter-spacing:.07em;margin-bottom:5px}.tt-identity{margin-bottom:2px}.tt-stats{border-top:1px solid rgba(255,255,255,.08);padding-top:4px;margin-top:2px;margin-bottom:4px}.tt-stat{display:flex;justify-content:space-between;gap:12px;font-size:var(--bui-fs-md);line-height:1.5}.tt-stat-key{color:var(--ui-muted);text-transform:capitalize;white-space:nowrap}.tt-stat-val{color:#e0e0e0;font-weight:500;font-family:var(--font-mono);font-size:var(--bui-fs-md);font-variant-numeric:tabular-nums;white-space:nowrap}.tt-stack{font-size:var(--bui-fs-md);color:var(--ui-muted);margin-top:3px}.tt-desc{border-top:1px solid rgba(255,255,255,.08);padding-top:4px;margin-top:4px;font-size:var(--bui-fs-md);color:#89a;font-style:italic;line-height:1.4}.tt-affixes{border-top:1px solid rgba(255,255,255,.08);padding-top:4px;margin-top:3px}.tt-affix{display:flex;justify-content:space-between;gap:12px;font-size:var(--bui-fs-md);line-height:1.6}.tt-affix-key{font-style:italic;white-space:nowrap}.tt-affix-val{font-family:var(--font-mono);font-size:var(--bui-fs-md);font-variant-numeric:tabular-nums;white-space:nowrap}#shop-panel,#contract-board-panel,#delivery-board-panel,#loadout-panel,#fabricator-panel,#refiner-panel,#core-panel,#platform-slot-panel,#silo-panel{top:80px;right:20px}#inventory-panel,#quest-log-panel{top:80px;left:20px}.inv-section{margin-bottom:12px}.inv-section:last-child{margin-bottom:0}.inv-section-header{font-family:var(--bui-font-body);font-size:var(--bui-fs-md);letter-spacing:.08em;text-transform:uppercase;color:var(--bui-text-dim);margin-bottom:6px;padding-bottom:4px;border-bottom:1px solid var(--bui-line)}#loadout-panel{width:680px}.loadout-body{display:flex;gap:16px;align-items:flex-start;font-family:var(--ui-body-font)}.loadout-stats-col{flex:0 0 200px;display:flex;flex-direction:column;gap:10px}.loadout-gearscore{display:flex;flex-direction:column;align-items:center;background:#ffb4000f;border:1px solid rgba(255,180,0,.25);border-radius:6px;padding:8px 6px 6px}.loadout-gs-label{font-size:var(--fs-sm);letter-spacing:.1em;text-transform:uppercase;color:#888}.loadout-gs-val{font-size:var(--fs-lg);font-weight:700;color:var(--c-amber);line-height:1}.loadout-stat-list{display:flex;flex-direction:column;gap:4px}.loadout-stat-row{display:flex;justify-content:space-between;align-items:baseline;gap:6px;padding:2px 0;border-bottom:1px solid rgba(255,255,255,.04)}.loadout-stat-label{font-size:var(--fs-sm);color:#666;text-transform:uppercase;letter-spacing:.06em}.loadout-stat-val{font-size:var(--fs-sm);color:#cce;font-weight:600;font-variant-numeric:tabular-nums}.loadout-doll-col{flex:1;display:flex;flex-direction:column;gap:6px;min-width:0}.loadout-doll-zone{display:grid;grid-template-columns:50px 1fr 50px;grid-template-rows:auto auto auto;align-items:center;gap:6px;padding:8px 0 10px;border-bottom:1px solid rgba(255,255,255,.06);margin-bottom:6px}.loadout-doll-zone .loadout-slot-zone-left{grid-column:1;grid-row:2;justify-self:center}.loadout-doll-zone .loadout-slot-zone-right{grid-column:3;grid-row:2;justify-self:center}.loadout-doll-zone .loadout-slot-zone-top{grid-column:2;grid-row:1;justify-self:center}.loadout-doll-zone .loadout-slot-zone-bot{grid-column:2;grid-row:3;display:flex;gap:6px;justify-content:center}.loadout-doll{grid-column:2;grid-row:2;position:relative;width:110px;height:110px;margin:0 auto;display:flex;align-items:center;justify-content:center;background:var(--bui-panel-3);border:1px solid var(--bui-line)}.loadout-doll:before{content:"";position:absolute;width:44px;height:60px;border:1px solid rgba(100,160,255,.18);border-radius:50% 50% 30% 30%/60% 60% 40% 40%;top:50%;left:50%;transform:translate(-50%,-50%);pointer-events:none}.loadout-doll:after{content:"";position:absolute;width:80px;height:28px;border:1px solid rgba(100,160,255,.1);border-radius:50%;top:50%;left:50%;transform:translate(-50%,-50%);pointer-events:none}.loadout-doll canvas{width:110px;height:110px;image-rendering:pixelated;pointer-events:none}.loadout-slot-row{display:flex;flex-wrap:wrap;gap:6px;padding:0 2px}.loadout-slot{display:flex;flex-direction:column;align-items:center;border-radius:4px;padding:4px 5px}.loadout-slot-label{font-family:var(--bui-font-body);font-size:var(--bui-fs-md);color:var(--bui-text-dim);letter-spacing:.08em;text-transform:uppercase;margin-bottom:3px;white-space:nowrap}.loadout-slot .inv-grid{--inv-cols: 1}.loadout-slot .inv-slot{width:36px;height:36px}.loadout-section-header{font-family:var(--bui-font-body);font-size:var(--bui-fs-md);color:var(--bui-text-dim);letter-spacing:.12em;text-transform:uppercase;padding:4px 0 2px;border-top:1px solid var(--bui-line);margin-top:2px}.pp-key-items{display:flex;gap:8px;flex-wrap:wrap;padding:4px 0}.pp-key-item{display:flex;flex-direction:column;align-items:center;gap:2px;background:#ffffff0a;border:1px solid var(--ui-border);border-radius:6px;padding:6px 10px;min-width:56px}.pp-key-item.locked{opacity:.35;filter:grayscale(.6)}.pp-key-item-badge{font-family:var(--ui-heading-font);font-size:var(--fs-md);color:var(--c-amber);font-weight:700;line-height:1}.pp-key-item.locked .pp-key-item-badge{color:var(--ui-muted)}.pp-key-item-label{font-size:var(--fs-xs);color:var(--ui-muted);text-align:center;white-space:nowrap}.pp-key-item-icon{width:32px;height:32px;image-rendering:pixelated;display:block}.loadout-tab-bar{display:flex;gap:4px;margin-bottom:6px}.loadout-tab-btn{flex:1;padding:4px 0;background:#ffffff0a;border:1px solid var(--ui-border);border-radius:4px;color:var(--ui-muted);font-family:var(--ui-heading-font);font-size:var(--fs-xs);letter-spacing:.08em;cursor:pointer;transition:background .1s,color .1s}.loadout-tab-btn:hover{background:#ffffff14;color:#fff}.loadout-tab-btn.active{background:#64a0ff1f;border-color:#64a0ff66;color:#acf}.dye-picker{display:flex;flex-wrap:wrap;gap:3px;margin-top:4px;max-width:108px}.dye-swatch{width:18px;height:18px;border-radius:50%;cursor:pointer;border:2px solid transparent;box-shadow:inset 0 0 0 1px var(--bui-line);flex-shrink:0}.dye-swatch:hover{border-color:color-mix(in srgb,var(--bui-cyan) 60%,transparent)}.dye-swatch.selected{border-color:var(--bui-cyan);box-shadow:inset 0 0 0 1px var(--bui-line),0 0 0 1px var(--bui-cyan)}.dye-swatch.none{background:var(--bui-panel-3);position:relative}.dye-swatch.none:before,.dye-swatch.none:after{content:"";position:absolute;top:50%;left:50%;width:60%;height:2px;background:#fff6;transform-origin:center}.dye-swatch.none:before{transform:translate(-50%,-50%) rotate(45deg)}.dye-swatch.none:after{transform:translate(-50%,-50%) rotate(-45deg)}.refiner-body{display:flex;gap:12px;align-items:flex-start}.refiner-section{display:flex;flex-direction:column;gap:4px}.refiner-section-label{font-family:var(--bui-font-body);font-size:var(--bui-fs-md);color:var(--bui-text-dim);letter-spacing:1px;text-transform:uppercase}.refiner-arrow{font-size:var(--bui-fs-md);color:var(--bui-rust);align-self:center;padding:0 4px}.refiner-progress-wrap{margin-top:var(--sp-2)}.refiner-progress-wrap .bar__fill{background:var(--bui-rust)}.refiner-footer{display:flex;align-items:center;justify-content:space-between;padding-top:8px;margin-top:8px;border-top:1px solid var(--bui-line)}.refiner-status{font-family:var(--bui-font-body);font-size:var(--bui-fs-md);color:var(--bui-text-dim)}.refiner-status[data-status=processing]{color:var(--bui-cyan)}.refiner-status[data-status=full]{color:var(--bui-gold)}.refiner-status[data-status=done]{color:var(--bui-hp)}#core-panel{min-width:260px}.core-row{display:flex;justify-content:space-between;align-items:center;padding:4px 0;border-bottom:1px solid var(--bui-line)}.core-label{font-family:var(--bui-font-body);font-size:var(--bui-fs-md);color:var(--bui-text-dim);letter-spacing:1px;text-transform:uppercase}.core-value{font-family:var(--bui-font-body);font-size:var(--bui-fs-md);color:var(--bui-gold)}.core-xp-section{padding:8px 0 4px}.core-xp-text{font-family:var(--bui-font-body);font-size:var(--bui-fs-md);color:var(--bui-text-dim);margin-bottom:4px}.core-xp-fill{background:var(--bui-cyan);transition:width .4s ease}.core-next{font-family:var(--bui-font-body);font-size:var(--bui-fs-md);color:var(--bui-text-dim);padding:6px 0 2px;text-align:center}.core-footer{padding-top:10px;display:flex;justify-content:center}#chat-hud{position:absolute;bottom:100px;left:20px;width:600px;pointer-events:none;display:none}.chat-messages{max-height:90px;overflow-y:hidden;padding:4px 8px;border-radius:3px;cursor:pointer;pointer-events:auto}.chat-messages p{margin:0;line-height:1.5;font-family:var(--ui-heading-font);font-size:var(--fs-md);opacity:.75;text-shadow:-2px -2px 0 #000,2px 2px 0 #000}#chat-hud.chat-open{pointer-events:auto}#chat-hud.chat-open .chat-messages{max-height:260px;overflow-y:auto;background:#000000a6;cursor:default;scrollbar-width:thin;scrollbar-color:#333 transparent}#chat-hud.chat-open .chat-messages p{opacity:1}.chat-messages .msg-system{color:#667}.chat-messages .msg-chat{color:#ccd6f6}.chat-messages .msg-self{color:#fff}.chat-messages .msg-error{color:var(--ui-danger)}.chat-input-bar{display:none;background:#000000a6;border-top:1px solid #1e1e24;padding:5px 8px;border-radius:0 0 3px 3px}#chat-hud.chat-open .chat-input-bar{display:block}.chat-input{width:100%;box-sizing:border-box;background:transparent;border:none;outline:none;color:#e0e0e0;font-family:var(--ui-heading-font);font-size:var(--fs-md);caret-color:var(--ui-accent)}.pickup-toast{position:absolute;transform:translate(-50%);font-family:var(--ui-heading-font);font-size:var(--fs-md);letter-spacing:.5px;text-shadow:-2px -2px 0 #000,2px 2px 0 #000;pointer-events:none;animation:toast-rise 1.1s ease-out forwards;white-space:nowrap}.pickup-toast--mine{color:#6cf}.pickup-toast--collect{color:var(--c-amber);font-size:var(--fs-lg)}.pickup-toast--error{color:var(--ui-danger)}@keyframes toast-rise{0%{opacity:1;transform:translate(-50%) translateY(0)}to{opacity:0;transform:translate(-50%) translateY(-52px)}}html,body{margin:0;padding:0;overflow:hidden;font-family:var(--ui-body-font)}button,input,select,textarea{font-family:inherit}canvas{display:block}#title-screen{position:fixed;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse 900px 600px at 15% 25%,color-mix(in srgb,var(--c-violet) 9%,transparent),transparent 60%),radial-gradient(ellipse 700px 550px at 88% 80%,color-mix(in srgb,var(--c-cyan) 7%,transparent),transparent 60%),radial-gradient(circle at 50% 40%,color-mix(in srgb,var(--c-panel-2) 55%,var(--c-bg)),var(--c-bg));background-attachment:fixed;display:flex;flex-direction:column;overflow-y:auto;z-index:100}#site-header{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--sp-4) var(--sp-6);padding:var(--sp-4) var(--sp-6);background:color-mix(in srgb,var(--c-bg) 88%,transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-bottom:1px solid var(--c-steel)}#title-header{text-align:left;-webkit-user-select:none;user-select:none;flex-shrink:0}#title-main{font-size:var(--fs-xl);letter-spacing:4px;line-height:1}#title-sub{font-family:var(--font-body);font-size:var(--fs-xs);color:var(--c-text-dim);letter-spacing:6px;margin-top:2px}#auth-panel{flex-shrink:0}#login-panel,#register-panel{display:flex;flex-direction:row;align-items:center;flex-wrap:wrap;gap:var(--sp-2) var(--sp-3)}#register-panel{display:none}#login-panel input,#register-panel input{width:150px;box-sizing:border-box;background:var(--c-panel-2);border:1px solid var(--c-steel);border-radius:var(--r-sm);color:var(--c-text);font-family:var(--font-body);font-size:var(--fs-sm);padding:var(--sp-1) var(--sp-2);outline:none;transition:border-color .15s}#login-panel input:focus,#register-panel input:focus{border-color:var(--c-cyan)}#reg-confirm{width:170px}#to-register-link,#to-login-link{font-family:var(--font-body);font-size:var(--fs-xs);color:var(--c-text-dim)}#to-register,#to-login{cursor:pointer;color:var(--c-cyan);text-decoration:underline}#to-register:hover,#to-login:hover{color:#fff}#auth-status,#auth-status-reg{font-family:var(--font-body);font-size:var(--fs-xs);width:100%}#auth-status.error,#auth-status-reg.error{color:var(--c-red)}#auth-status.info,#auth-status-reg.info{color:var(--c-cyan)}#site-main{flex:1;display:flex;flex-direction:column;align-items:center;gap:var(--sp-6);padding:var(--sp-6) var(--sp-4)}.site-section{width:100%;max-width:720px;background:var(--c-panel);box-shadow:var(--pixel-shadow);padding:var(--sp-5) var(--sp-6);box-sizing:border-box}.site-section h2{margin:0 0 var(--sp-4);font-size:var(--fs-lg);letter-spacing:2px}.site-section-body{font-family:var(--font-body);font-size:var(--fs-sm);color:var(--c-text-dim);line-height:var(--lh)}.site-section-body strong{color:var(--c-text);font-weight:400}.site-section-body code{font-family:var(--font-body);color:var(--c-cyan);background:color-mix(in srgb,var(--c-cyan) 10%,transparent);padding:0 3px;border-radius:var(--r-sm)}.site-section-body .cl-version{font-family:var(--font-display);font-size:var(--fs-md);color:var(--c-cyan);margin:var(--sp-4) 0 var(--sp-1)}.site-section-body .cl-version:first-child{margin-top:0}.site-section-body .cl-item{color:var(--c-text-dim);padding-left:var(--sp-2);margin:2px 0}.site-section-body .cl-item:before{content:"— ";color:var(--c-text-mute)}.site-section-body .cl-para{margin:0 0 var(--sp-3)}.site-section-body .cl-para:last-child{margin-bottom:0}#title-notice{flex-shrink:0;text-align:center;font-family:var(--font-body);font-size:var(--fs-xs);color:var(--c-text-mute);letter-spacing:1px;padding:var(--sp-5) 0;-webkit-user-select:none;user-select:none}#platform-slot-panel .ui-panel-body{padding:8px}#platform-slot-panel .inv-grid{gap:6px}#fabricator-panel .ui-panel-body{padding:8px;min-width:280px}.fab-recipe-list{display:flex;flex-direction:column;gap:4px;margin-bottom:8px}.fab-recipe-row{font-family:var(--bui-font-body);display:flex;align-items:center;justify-content:space-between;gap:8px;padding:5px 6px;border:1px solid var(--bui-line);background:var(--bui-panel-2)}.fab-recipe-info{display:flex;flex-direction:column;gap:2px;flex:1}.fab-recipe-name{font-size:var(--bui-fs-md);color:var(--bui-text)}.fab-recipe-ings,.fab-recipe-time{font-size:var(--bui-fs-md);color:var(--bui-text-dim)}.fab-craft-btn{font-size:var(--bui-fs-md);padding:2px 8px;flex-shrink:0}.fab-status{font-size:var(--bui-fs-md);color:var(--bui-cyan);margin:4px 0;text-align:center}.fab-output-label{font-size:var(--bui-fs-md);color:var(--bui-text-dim);text-transform:uppercase;letter-spacing:.05em;margin-top:6px}.core-section-header{font-size:var(--bui-fs-md);font-family:var(--bui-font-body);color:var(--bui-text-dim);text-transform:uppercase;letter-spacing:.05em;margin:10px 0 4px;border-top:1px solid var(--bui-line);padding-top:8px}.core-craft-list{display:flex;flex-direction:column;gap:4px}.core-craft-empty{font-size:var(--bui-fs-md);color:var(--bui-text-dim)}.core-recipe-row{font-family:var(--bui-font-body);display:flex;align-items:center;justify-content:space-between;gap:var(--sp-2);padding:var(--sp-1) 0;border-bottom:1px solid var(--bui-line)}.core-recipe-row:last-child{border-bottom:none}.core-recipe-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.core-recipe-name{font-size:var(--bui-fs-md);color:var(--bui-text);line-height:var(--lh-tight)}.core-recipe-ings{font-size:var(--bui-fs-md);color:var(--bui-text-dim);line-height:var(--lh-tight)}.core-recipe-btn{font-size:var(--fs-md);padding:2px 8px;flex-shrink:0}#silo-panel .ui-panel-body{padding:8px}.build-hotbar{position:fixed;bottom:24px;left:50%;transform:translate(-50%);display:flex;gap:8px;background:#080d1fe0;border:1px solid var(--ui-border);border-radius:8px;padding:8px 12px;z-index:200;pointer-events:all}.build-hotbar.hidden{display:none}.hotbar-card{display:flex;flex-direction:column;align-items:center;gap:3px;padding:6px 14px;border:2px solid #2a3a60;border-radius:6px;cursor:pointer;background:#ffffff0a;min-width:80px;transition:border-color .12s,background .12s}.hotbar-card:hover{border-color:#6680cc;background:#ffffff12}.hotbar-card.selected{border-color:var(--ui-accent);background:#66aaff21}.hotbar-name{font-size:var(--fs-md);color:var(--ui-text);text-align:center}.hotbar-qty{font-size:var(--fs-md);font-weight:700;color:var(--ui-accent)}.hotbar-empty{color:var(--ui-muted);font-size:var(--fs-md);padding:6px 12px}.build-hover-hint{position:fixed;top:72px;left:50%;transform:translate(-50%);background:#080d1fd1;color:#99b4d4;font-size:var(--fs-md);font-family:var(--ui-heading-font);padding:4px 12px;border-radius:4px;border:1px solid var(--ui-border);pointer-events:none;z-index:199;white-space:nowrap}.build-hover-hint.hidden{display:none}#mode-hotbar{position:fixed;bottom:72px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:8px;z-index:201;pointer-events:all}.mode-btn{padding:5px 14px;background:var(--bui-panel-2);color:var(--bui-text-dim);border:1px solid var(--bui-line);cursor:pointer;font-size:var(--bui-fs-md);font-family:var(--bui-font-body);-webkit-user-select:none;user-select:none;transition:border-color .12s,color .12s}.mode-btn:hover{color:var(--bui-text)}.mode-btn.active{color:var(--bui-cyan);border-color:var(--bui-cyan);background:color-mix(in srgb,var(--bui-cyan) 12%,transparent)}.mode-btn.restricted{color:var(--bui-danger);border-color:color-mix(in srgb,var(--bui-danger) 40%,var(--bui-line))}.mode-btn.restricted.active{color:var(--bui-danger);border-color:var(--bui-danger);background:color-mix(in srgb,var(--bui-danger) 12%,transparent)}.ability-slot{width:38px;height:38px;background:var(--bui-panel-2);border:2px solid var(--bui-line);cursor:pointer;transition:background .15s}.ability-slot:hover{background:var(--bui-panel-3)}.ability-slot.active{background:color-mix(in srgb,var(--bui-gold) 22%,transparent)}.ability-slot img{width:24px;height:24px;display:block;margin:5px auto 0;image-rendering:pixelated;pointer-events:none}#transition-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9000;display:none;align-items:center;justify-content:center;opacity:0;pointer-events:none}#transition-overlay.t-visible{display:flex;pointer-events:all}#transition-overlay.t-in{animation:t-fade-in var(--fade-ms, .35s) ease forwards}#transition-overlay.t-out{animation:t-fade-out var(--fade-ms, .35s) ease forwards}@keyframes t-fade-in{0%{opacity:0}to{opacity:1}}@keyframes t-fade-out{0%{opacity:1}to{opacity:0}}#transition-content{display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center}#transition-message{font-family:var(--ui-heading-font);font-size:var(--fs-lg);letter-spacing:4px;color:#fff;text-transform:uppercase}#transition-sub{font-family:var(--ui-heading-font);font-size:var(--fs-md);letter-spacing:2px;color:#ffffff80;text-transform:uppercase;min-height:16px}#transition-action-btn{margin-top:8px;padding:8px 28px;background:transparent;border:1px solid rgba(255,255,255,.4);border-radius:4px;color:#fff;font-family:var(--ui-heading-font);font-size:var(--fs-md);letter-spacing:3px;text-transform:uppercase;cursor:pointer;transition:border-color .15s,background .15s}#transition-action-btn:hover{background:#ffffff1a;border-color:#fff}#nav-map-overlay{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#00020ccc;z-index:99999;font-family:var(--ui-heading-font)}.galaxy-panel{background:#060c1a;border:1px solid #1a2a4a;border-radius:8px;padding:20px 24px;box-shadow:0 0 60px #2850c81f;display:flex;flex-direction:column;gap:12px;width:608px}.galaxy-header{display:flex;align-items:baseline;gap:12px}.galaxy-title{font-size:var(--fs-lg);letter-spacing:3px;color:var(--c-amber);font-weight:700}.galaxy-sub{font-size:var(--fs-md);color:#334;letter-spacing:1px}.galaxy-canvas{border:1px solid #0e1a30;border-radius:4px;display:block;width:560px;height:400px;cursor:crosshair}.galaxy-info-bar{height:148px;overflow:hidden;background:#080f1e;border:1px solid #0e1a30;border-radius:4px;padding:8px 12px;font-size:var(--fs-md);color:#99a8cc;box-sizing:border-box}.galaxy-info-hint{color:#2a3a5a;font-style:italic}.galaxy-info-row{display:flex;align-items:center;gap:10px;margin-bottom:4px}.galaxy-info-name{font-size:var(--fs-md);font-weight:600}.galaxy-info-diff{display:flex;align-items:center;gap:2px}.nav-star{width:16px;height:16px;image-rendering:pixelated;display:inline-block;vertical-align:middle}.galaxy-info-desc{color:#667;font-size:var(--fs-md);margin-bottom:5px;font-style:italic}.galaxy-info-orbs{display:flex;gap:6px;flex-wrap:wrap}.galaxy-orbital-tag{font-size:var(--fs-md);letter-spacing:1px;text-transform:uppercase;padding:2px 6px;border:1px solid;border-radius:3px;color:#99a8cc}.galaxy-info-current{font-size:var(--fs-md);color:var(--c-green);margin-top:4px}.galaxy-close-btn{align-self:flex-end}.galaxy-gear-score{margin-left:auto;font-size:var(--fs-md);color:#556;letter-spacing:1px}.galaxy-gear-score strong{color:var(--c-cyan)}.galaxy-ilvl-req{font-size:var(--fs-md);margin-left:auto}.galaxy-ilvl-req.unlocked{color:var(--c-green)}.galaxy-ilvl-req.locked{color:var(--c-red)}.galaxy-info-locked{font-size:var(--fs-md);color:var(--c-red);margin-top:4px}#delivery-board-panel .ui-panel-body{padding:0}.delivery-board-body{display:flex;flex-direction:column}.delivery-board-sub{font-family:var(--ui-body-font);font-size:var(--fs-md);color:var(--ui-muted);padding:8px 12px 6px;border-bottom:1px solid var(--ui-border)}.delivery-card{padding:10px 12px;border-bottom:1px solid rgba(255,255,255,.04)}.delivery-card:last-child{border-bottom:none}.delivery-card-title{font-family:var(--ui-heading-font);font-size:var(--fs-md);color:#e8e0cc;margin-bottom:3px}.delivery-card-desc{font-family:var(--ui-body-font);font-size:var(--fs-md);color:var(--ui-muted);margin-bottom:4px}.delivery-card-warn{font-family:var(--ui-body-font);font-size:var(--fs-sm);color:#f94;margin-bottom:4px}.delivery-card-meta{font-family:var(--ui-body-font);font-size:var(--fs-sm);color:var(--c-cyan);margin-bottom:8px}#delivery-timer{display:none;position:fixed;bottom:120px;left:50%;transform:translate(-50%);font-family:var(--ui-heading-font);font-size:var(--fs-md);color:var(--c-amber);background:#08101ee0;border:1px solid #ffcc4455;border-radius:4px;padding:4px 16px;letter-spacing:2px;z-index:202;pointer-events:none;transition:color .3s,border-color .3s}#delivery-timer.visible{display:block}#delivery-timer.delivery-timer-urgent{color:var(--c-red);border-color:#f535}#boss-hp-bar{position:fixed;top:18px;left:50%;transform:translate(-50%);width:480px;max-width:90vw;pointer-events:none;z-index:2000;text-align:center;font-family:var(--ui-heading-font)}#boss-hp-name{font-size:var(--fs-md);letter-spacing:3px;color:#d8a;text-transform:uppercase;margin-bottom:5px;text-shadow:0 0 12px rgba(200,40,80,.7)}#boss-hp-track{height:14px;background:color-mix(in srgb,var(--c-red) 14%,#0a000a);border-color:color-mix(in srgb,var(--c-red) 40%,transparent);box-shadow:0 0 16px color-mix(in srgb,var(--c-red) 35%,transparent)}#boss-hp-text{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:var(--fs-md);letter-spacing:1px;color:#ffdcdce6}#conversation-overlay{position:fixed;bottom:80px;left:50%;transform:translate(-50%);width:680px;background:#080a14f0;border:1px solid #2a3050;border-radius:8px;padding:20px;gap:18px;z-index:800;display:none;pointer-events:auto}#conversation-overlay.visible{display:flex}.conv-portrait{width:72px;height:72px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-family:var(--ui-heading-font);font-size:var(--fs-lg);color:#fff;letter-spacing:0}.conv-body{display:flex;flex-direction:column;flex:1;min-width:0}.conv-npc-name{font-family:var(--ui-heading-font);font-size:var(--fs-xs);letter-spacing:2px;color:#556;margin-bottom:8px;text-transform:uppercase}.conv-text{font-family:var(--ui-heading-font);font-size:var(--fs-md);color:#dde6ff;line-height:1.5;margin-bottom:16px}.conv-options{display:flex;flex-direction:column;gap:6px}.conv-option{background:#ffffff0a;border:1px solid #2a3050;border-radius:4px;padding:8px 14px;font-family:var(--ui-heading-font);font-size:var(--fs-md);color:#aabcdd;cursor:pointer;text-align:left;transition:background .1s,color .1s}.conv-option:hover{background:#ffffff1a;color:#fff;border-color:#445}.conv-option-story{color:var(--c-amber);border-color:#ffcc4480}.conv-option-story:hover{background:#ffcc441a;color:#ffe580;border-color:#fc4c}.conv-next{align-self:flex-end;background:#ffffff0f;border:1px solid #445;border-radius:4px;padding:8px 20px;font-family:var(--ui-heading-font);font-size:var(--fs-md);color:#9ac;cursor:pointer;letter-spacing:1px;transition:background .1s,color .1s}.conv-next:hover{background:#ffffff1f;color:#fff}.boss-portal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#0a0014b8;z-index:3000;pointer-events:all}.boss-portal-overlay.hidden{display:none}.boss-portal-panel{background:#0a0014;border:2px solid #6600aa;border-radius:8px;padding:32px 40px;max-width:360px;text-align:center;box-shadow:0 0 40px #7800c866;font-family:var(--ui-heading-font)}.boss-portal-eyeicon{font-size:var(--fs-xl);margin-bottom:12px;filter:drop-shadow(0 0 12px var(--c-violet))}.boss-portal-title{font-size:var(--fs-lg);color:var(--c-violet);letter-spacing:3px;margin-bottom:12px}.boss-portal-desc{font-size:var(--fs-md);color:#998aaa;line-height:1.6;margin-bottom:24px}.boss-portal-actions{display:flex;gap:12px;justify-content:center}.boss-portal-actions button{padding:8px 22px;border-radius:4px;border:1px solid #6600aa;background:transparent;color:var(--c-violet);font-family:var(--ui-heading-font);font-size:var(--fs-md);letter-spacing:2px;cursor:pointer}.boss-portal-actions button:first-child{background:#6400a059;border-color:var(--c-violet);color:#edf}.boss-portal-actions button:first-child:hover{background:#8c00dc80}.boss-portal-actions button:last-child:hover{color:#ccc;border-color:#555}#xp-display{display:none}.xp-track{display:flex;align-items:center;gap:6px;background:#080d1fbf;border:1px solid var(--ui-border);border-radius:4px;padding:3px 8px}.xp-label{font-family:var(--ui-body-font);font-size:var(--fs-sm);letter-spacing:1px;color:var(--ui-muted);width:54px}.xp-level{font-family:var(--ui-body-font);font-size:var(--fs-sm);color:#cef;width:28px}.xp-bar{width:60px;height:4px;background:#ffffff1a;border-radius:2px;overflow:hidden}.loadout-xp-section{display:flex;flex-direction:column;gap:4px;border-top:1px solid rgba(255,255,255,.06);padding-top:8px}.loadout-xp-section .xp-track{display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;background:none;border:none;border-radius:0;padding:2px 0;gap:0 4px}.loadout-xp-section .xp-label{grid-column:1;grid-row:1;width:auto}.loadout-xp-section .xp-level{grid-column:2;grid-row:1;width:auto}.loadout-xp-section .xp-bar{grid-column:1 / -1;grid-row:2;width:100%;margin-top:2px}#shop-panel{overflow:hidden}#shop-panel .ui-panel-body{padding:0;flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.shop-body{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}.shop-subtitle{flex-shrink:0;font-family:var(--ui-body-font);font-size:var(--fs-md);color:var(--ui-muted);padding:8px 12px 6px;border-bottom:1px solid var(--ui-border)}.shop-list{flex:1;overflow-y:auto;padding:4px 0;scrollbar-width:thin;scrollbar-color:#333 transparent}.shop-trade-card{display:flex;flex-direction:column;align-items:stretch;gap:var(--sp-1);padding:8px 12px;border-bottom:1px solid rgba(255,255,255,.04);border-left:3px solid transparent;cursor:pointer;transition:background .1s}.shop-trade-card:hover{background:#4488ff12}.shop-trade-card.selected{background:#4488ff24;border-left-color:var(--ui-accent)}.shop-card-offer,.shop-card-result{display:flex;flex-direction:column;gap:var(--sp-1);min-width:0}.shop-card-arrow{flex-shrink:0;font-size:var(--fs-sm);color:var(--ui-accent);opacity:.6;padding:0 2px}.shop-chip{display:flex;align-items:center;gap:7px;min-width:0}.shop-chip-icon{width:36px;height:36px;flex-shrink:0;background:#00000059;border:1px solid rgba(255,255,255,.07);border-radius:3px;display:flex;align-items:center;justify-content:center;overflow:hidden}.shop-chip-icon img{width:28px;height:28px;object-fit:contain;image-rendering:pixelated}.shop-chip-label{font-family:var(--ui-body-font);font-size:var(--fs-md);color:var(--ui-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.shop-card-offer .shop-chip-label{color:var(--ui-gold)}.shop-footer{flex-shrink:0;display:flex;align-items:center;gap:10px;padding:10px 12px;border-top:1px solid var(--ui-border)}.shop-afford{flex:1;display:flex;flex-direction:column;gap:2px;font-family:var(--ui-body-font);font-size:var(--fs-sm);min-height:22px}.shop-afford-item{color:var(--ui-muted)}.shop-afford-item.ok{color:var(--ui-success)}.shop-afford-item.short{color:var(--ui-danger)}.shop-trade-btn{flex-shrink:0;padding:7px 22px;font-size:var(--fs-md);letter-spacing:1px}.xp-fill{display:block;height:100%;background:var(--c-green);border-radius:2px;transition:width .3s ease}.scrap-body{display:flex;flex-direction:column;gap:10px;padding:12px}.scrap-subtitle{font-size:var(--fs-2xs);color:#8c2;letter-spacing:.5px;text-transform:uppercase;margin-bottom:2px}.scrap-grid{display:grid;grid-template-columns:repeat(8,48px);gap:4px}.scrap-slot{width:48px;height:48px;cursor:pointer}.scrap-slot-locked{opacity:.35;cursor:default}.scrap-preview{min-height:60px;background:#88cc2212;border:1px solid rgba(136,204,34,.2);border-radius:4px;padding:8px 10px;font-size:var(--fs-2xs);color:#ccc}.scrap-preview-name{font-size:var(--fs-2xs);color:#fff;font-weight:600;margin-bottom:4px}.scrap-preview-yield{color:#8c2;margin-bottom:4px}.scrap-preview-note{font-size:var(--fs-2xs);color:#888;font-style:italic}.scrap-footer{display:flex;justify-content:flex-end}.scrap-dismantle-btn{padding:7px 22px;font-size:var(--fs-2xs);letter-spacing:1px}.scrap-dismantle-btn:disabled{opacity:.4;cursor:default}#contract-board-panel{min-width:460px}#contract-board-panel .ui-panel-body{padding:0}.contract-board-body{display:flex;flex-direction:column;max-height:500px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#333 transparent}.contract-section-label{font-family:var(--ui-heading-font);font-size:var(--fs-md);letter-spacing:2px;color:var(--ui-muted);text-transform:uppercase;padding:8px 12px 4px;border-top:1px solid var(--ui-border)}.contract-section-label:first-child{border-top:none}.contract-empty{font-family:var(--ui-body-font);font-size:var(--fs-md);color:var(--ui-muted);padding:6px 12px 10px;font-style:italic}.contract-list{display:flex;flex-direction:column}.contract-card{display:flex;flex-direction:column;gap:var(--sp-1);padding:var(--sp-2) var(--sp-3);border-bottom:1px solid color-mix(in srgb,#fff 5%,transparent)}.contract-card:last-child{border-bottom:none}.contract-card-head{display:flex;align-items:center;gap:var(--sp-2)}.contract-type-badge{font-family:var(--font-display);font-size:var(--fs-2xs);letter-spacing:1px;padding:2px var(--sp-1);border-radius:var(--r-sm);white-space:nowrap;flex-shrink:0}.contract-type-badge.mining{background:color-mix(in srgb,var(--c-green) 12%,transparent);color:var(--c-green);border:1px solid color-mix(in srgb,var(--c-green) 30%,transparent)}.contract-type-badge.crafting{background:color-mix(in srgb,var(--c-amber) 12%,transparent);color:var(--c-amber);border:1px solid color-mix(in srgb,var(--c-amber) 30%,transparent)}.contract-type-badge.exploration{background:color-mix(in srgb,var(--c-cyan) 12%,transparent);color:var(--c-cyan);border:1px solid color-mix(in srgb,var(--c-cyan) 30%,transparent)}.contract-card-title{flex:1;min-width:0;font-family:var(--font-display);font-size:var(--fs-md);color:var(--c-text);line-height:var(--lh-tight)}.contract-card-desc{font-family:var(--font-body);font-size:var(--fs-sm);color:var(--c-text-dim);line-height:var(--lh);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.contract-card-desc.is-clamped{cursor:help}.contract-card-desc.is-clamped:after{content:" …";color:var(--c-cyan)}.contract-card-coords{font-family:var(--font-body);font-size:var(--fs-sm);color:var(--c-cyan);letter-spacing:.5px}.contract-card-reward{font-family:var(--font-body);font-size:var(--fs-sm);color:var(--c-amber)}.contract-card-footer{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:var(--sp-2);margin-top:var(--sp-1)}.contract-btn{white-space:nowrap;text-align:center;flex-shrink:0}.contract-track-btn:not(.on){color:var(--c-text-dim);border-color:color-mix(in srgb,var(--c-text-dim) 50%,transparent);background:transparent}.contract-track-btn.on{color:var(--c-green);border-color:color-mix(in srgb,var(--c-green) 50%,transparent);background:color-mix(in srgb,var(--c-green) 10%,transparent)}.dungeon-exit-btn{position:fixed;bottom:110px;left:50%;transform:translate(-50%);z-index:400;pointer-events:auto}.story-quest-card{border-left:3px solid var(--c-blue);background:color-mix(in srgb,var(--c-blue) 8%,transparent)}.story-quest-card .contract-card-title{color:color-mix(in srgb,var(--c-blue) 60%,var(--c-text))}#quest-notification{position:fixed;top:80px;left:50%;transform:translate(-50%);background:#141428f2;border:1px solid #99aaff;padding:10px 20px;z-index:1000;text-align:center;pointer-events:none;animation:questNotifFade 5s forwards}.quest-notif-title{font-family:var(--ui-heading-font);font-size:var(--fs-sm);color:#bcf}.quest-notif-msg{font-family:var(--ui-body-font);font-size:var(--fs-xs);color:#abc;margin-top:4px}@keyframes questNotifFade{0%{opacity:0;transform:translate(-50%) translateY(-10px)}10%{opacity:1;transform:translate(-50%) translateY(0)}80%{opacity:1}to{opacity:0}}#quest-log-panel{min-width:400px}#quest-tracker-panel{top:56px;left:var(--sp-4);width:320px;max-width:90vw;max-height:calc(100vh - var(--bottom-bar-h) - 56px - var(--sp-4));overflow-y:auto;z-index:350;pointer-events:none;background:transparent;border:none;box-shadow:none}#quest-tracker-panel.tracker-hidden{display:none}#quest-tracker-panel:before,#quest-tracker-panel:after{content:none}#quest-tracker-panel .ui-panel-header{background:transparent;border-bottom:none;padding:0 0 var(--sp-2) 0}#quest-tracker-panel .ui-panel-body{padding:0;box-shadow:none}#quest-tracker-panel .ui-panel-body:before,#quest-tracker-panel .ui-panel-body:after{content:none}#quest-tracker-panel .ui-panel-title{font-size:var(--bui-fs-md);text-shadow:-2px -2px 0 rgba(0,0,0,.9),2px 2px 0 rgba(0,0,0,.9),0 0 6px rgba(79,216,232,.5)}.quest-tracker-body{display:flex;flex-direction:column;gap:var(--sp-2)}.quest-tracker-card{border-left:2px solid var(--bui-cyan);padding-left:var(--sp-2);filter:drop-shadow(0 1px 2px rgba(0,0,0,.9))}.quest-tracker-title{font-family:var(--bui-font-body);font-size:var(--bui-fs-md);color:var(--bui-text);text-shadow:-2px -2px 0 rgba(0,0,0,.95),2px 2px 0 rgba(0,0,0,.95)}.quest-tracker-desc{font-family:var(--bui-font-body);font-size:var(--bui-fs-md);color:var(--bui-text-dim);margin-top:2px;text-shadow:-2px -2px 0 rgba(0,0,0,.95),2px 2px 0 rgba(0,0,0,.95)}.quest-tracker-incursion{font-family:var(--bui-font-body);font-size:var(--bui-fs-md);color:var(--bui-danger);text-shadow:-2px -2px 0 rgba(0,0,0,.95),2px 2px 0 rgba(0,0,0,.95)}.quest-tracker-empty{font-family:var(--bui-font-body);font-size:var(--bui-fs-md);color:var(--bui-text-dim);text-shadow:-2px -2px 0 rgba(0,0,0,.95),2px 2px 0 rgba(0,0,0,.95)}#scan-proximity-prompt{position:fixed;left:50%;bottom:160px;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:8px;background:#0a0e1ae0;border:1px solid rgba(68,136,255,.5);border-radius:6px;padding:10px 18px;z-index:500;pointer-events:all;box-shadow:0 0 24px #4488ff40,inset 0 0 16px #4488ff0d;animation:scan-pulse-border 2s ease-in-out infinite}@keyframes scan-pulse-border{0%,to{border-color:#48f6;box-shadow:0 0 16px #48f3}50%{border-color:#48fc;box-shadow:0 0 32px #4488ff73}}.scan-prompt-label{font-family:var(--ui-heading-font);font-size:var(--fs-md);letter-spacing:2.5px;color:var(--c-cyan);text-transform:uppercase;text-shadow:0 0 8px rgba(68,136,255,.8)}.scan-prompt-timer{font-family:var(--ui-heading-font);font-size:var(--fs-lg);letter-spacing:1px;color:#8cf;text-shadow:0 0 12px rgba(68,136,255,.9);line-height:1}.contract-scan-hint{flex:1;min-width:0;font-family:var(--font-body);font-size:var(--fs-sm);color:color-mix(in srgb,var(--c-cyan) 75%,transparent);font-style:italic}#minimap{pointer-events:none;transition:opacity .15s;border:2px solid var(--bui-line);box-shadow:var(--bui-shadow-hard-sm)}#minimap:before,#minimap:after{content:"";position:absolute;width:6px;height:6px;background:var(--bui-void);border:1px solid var(--bui-line);pointer-events:none}#minimap:before{top:-2px;left:-2px}#minimap:after{top:-2px;right:-2px}.minimap-hidden{display:none}.minimap-mini{display:block;position:fixed;top:16px;right:16px;z-index:600}.minimap-full{display:block;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:600}#minimap-label{position:fixed;top:calc(50% - 260px);left:50%;transform:translate(-50%);font-family:var(--ui-heading-font, monospace);font-size:var(--fs-2xs);letter-spacing:3px;color:#667;pointer-events:none;z-index:601}.minimap-label-mini{display:none}.minimap-label-full{display:block}.minimap-label-hidden{display:none}#ellaa-overlay{position:fixed;bottom:98px;left:50%;transform:translate(-50%) translateY(12px);width:620px;max-width:88vw;background:#08040ef0;border:1px solid rgba(255,140,186,.35);border-radius:3px;padding:14px 18px;display:flex;flex-direction:column;align-items:center;gap:16px;opacity:0;pointer-events:none;transition:opacity .25s ease,transform .25s ease;z-index:250;font-family:var(--ui-body-font)}#ellaa-overlay.visible{opacity:1;pointer-events:auto;transform:translate(-50%) translateY(0)}.ellaa-name{color:var(--c-magenta);font-size:var(--fs-sm);font-weight:700;letter-spacing:2px;white-space:nowrap;flex-shrink:0;text-shadow:0 0 8px rgba(255,140,186,.6)}.ellaa-text{flex:1;color:#f2dce8;font-size:var(--fs-xs);line-height:1.6}.ellaa-next{flex-shrink:0}#bottom-bar{position:fixed;bottom:0;left:0;right:0;height:88px;display:flex;align-items:center;gap:10px;padding:0 16px;background:var(--bui-panel);border-top:2px solid var(--bui-line);z-index:300;pointer-events:all;box-shadow:none}.bb-vitals{display:flex;flex-direction:column;gap:5px;width:330px;flex-shrink:0}.bb-bar-wrap{display:flex;align-items:center;gap:6px}.bb-bar-label{font-family:var(--bui-font-body);font-size:var(--bui-fs-md);color:var(--bui-text-dim);width:40px;flex-shrink:0}.bb-bar-track{flex:1;height:10px;background:var(--bui-panel-3);border:1px solid var(--bui-line);overflow:hidden}.bb-bar-fill{height:100%;transition:width .1s linear}#bb-health-fill{background:var(--bui-hp)}#bb-energy-fill{background:var(--bui-cyan)}#bb-sas-fill{background:color-mix(in srgb,var(--bui-cyan) 40%,transparent);position:absolute;top:0;left:0;height:100%;transition:width .1s}.bb-bar-val{font-family:var(--bui-font-body);font-size:var(--bui-fs-md);color:var(--bui-text);width:150px;text-align:right;flex-shrink:0}.bb-divider{width:2px;align-self:stretch;background:var(--bui-line);margin:10px 0;flex-shrink:0}.bb-xp{display:flex;flex-direction:column;gap:4px;width:220px;flex-shrink:0}.bb-xp-track{display:flex;align-items:center;gap:5px}.bb-xp-icon{font-size:var(--fs-2xs);width:16px;flex-shrink:0}.bb-xp-bar{flex:1;height:5px;background:var(--bui-panel-3);border:1px solid var(--bui-line);overflow:hidden}.bb-xp-fill{height:100%;transition:width .3s ease}#bb-xp-fill-mining{background:var(--bui-hp)}#bb-xp-fill-crafting{background:var(--bui-gold)}#bb-xp-fill-exploration{background:var(--bui-cyan)}.bb-xp-lvl{font-family:var(--bui-font-body);font-size:var(--bui-fs-md);color:var(--bui-text);width:60px;text-align:right;flex-shrink:0}.bb-grade{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:56px;flex-shrink:0}.bb-grade-label{font-family:var(--bui-font-body);font-size:var(--bui-fs-md);color:var(--bui-text-dim);letter-spacing:1px;text-transform:uppercase}#bb-gearscore{font-family:var(--bui-font-body);font-size:var(--bui-fs-md);color:var(--bui-gold);text-shadow:0 0 6px rgba(255,207,107,.5);line-height:1}.bb-actions{display:flex;align-items:center;gap:6px;flex:1;justify-content:center}.bb-shortcuts{display:flex;align-items:center;gap:6px;flex-shrink:0}.bb-shortcut{width:42px;height:42px;background:var(--bui-panel-2);border:1px solid var(--bui-line);cursor:pointer;font-size:var(--bui-fs-md);display:flex;align-items:center;justify-content:center;color:var(--bui-text-dim);font-family:var(--bui-font-body);transition:border-color .12s,color .12s;pointer-events:all}.bb-shortcut:hover{border-color:var(--bui-cyan);color:var(--bui-cyan)}.bb-shortcut.active{border-color:var(--bui-cyan);color:var(--bui-cyan);background:color-mix(in srgb,var(--bui-cyan) 12%,transparent)}.bb-shortcut.hidden{display:none}#shop-panel,#refiner-panel,#fabricator-panel,#core-panel,#platform-slot-panel,#silo-panel,#contract-board-panel,#delivery-board-panel,#quest-log-panel,#inventory-panel,#scrap-panel{top:0!important;left:0!important;right:auto!important;bottom:88px!important;width:440px!important;max-width:440px!important;overflow-y:auto;display:none;flex-direction:column;border-right:2px solid var(--bui-line)}#shop-panel.visible,#refiner-panel.visible,#fabricator-panel.visible,#core-panel.visible,#platform-slot-panel.visible,#silo-panel.visible,#contract-board-panel.visible,#delivery-board-panel.visible,#quest-log-panel.visible,#inventory-panel.visible,#scrap-panel.visible{display:flex}#player-panel{position:fixed;top:0;right:0;bottom:88px;left:auto;width:440px;overflow-y:auto;display:none;flex-direction:column;background:var(--bui-panel);box-shadow:none;border-left:2px solid var(--bui-line);z-index:200;pointer-events:all}#player-panel.visible{display:flex}.pp-stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:2px 10px;padding:6px 0}.pp-stat-row{display:flex;justify-content:space-between;align-items:baseline;gap:4px;padding:2px 0;border-bottom:1px solid var(--bui-line)}.pp-stat-label{font-size:var(--bui-fs-md);color:var(--bui-text-dim);text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}.pp-stat-val{font-size:var(--bui-fs-md);color:var(--bui-text);font-weight:600;font-variant-numeric:tabular-nums}.pp-gearscore{display:flex;justify-content:space-between;align-items:baseline;padding-bottom:6px;border-bottom:1px solid var(--bui-line);margin-bottom:6px}.pp-gs-label{font-family:var(--bui-font-body);font-size:var(--bui-fs-md);color:var(--bui-text-dim);letter-spacing:.1em;text-transform:uppercase}.pp-gs-val{font-family:var(--bui-font-body);font-size:var(--bui-fs-md);color:var(--bui-gold);text-shadow:0 0 6px rgba(255,207,107,.5);line-height:1;margin-left:auto}.pp-cargo-header{font-family:var(--bui-font-body);font-size:var(--bui-fs-md);color:var(--bui-text-dim);letter-spacing:.12em;text-transform:uppercase;padding:8px 0 4px;border-top:1px solid var(--bui-line);margin-top:6px;display:flex;justify-content:space-between;align-items:baseline}.pp-cargo-weight{font-size:var(--bui-fs-md);color:var(--bui-text)}#terminal-overlay,#terminal-container{bottom:100px!important}#conversation-overlay{bottom:88px!important}#player-panel,#shop-panel,#refiner-panel,#fabricator-panel,#core-panel,#platform-slot-panel,#silo-panel,#contract-board-panel,#delivery-board-panel,#quest-log-panel,#inventory-panel{z-index:400!important}.pp-gearscore{margin-bottom:4px!important}.pp-gs-label,.pp-gs-val{font-size:var(--bui-fs-md)!important}.pp-upper{display:flex;gap:8px;padding:6px 0 8px;border-bottom:1px solid rgba(255,255,255,.06);margin-bottom:6px;align-items:flex-start}.pp-stat-col{width:126px;flex-shrink:0;display:flex;flex-direction:column;gap:0}.pp-stat-col .pp-stat-row{display:flex;justify-content:space-between;align-items:baseline;padding:3px 0;border-bottom:1px solid rgba(255,255,255,.04)}.pp-stat-col .pp-stat-label{font-size:var(--fs-2xs)!important;color:#667!important}.pp-stat-col .pp-stat-val{font-size:var(--fs-2xs)!important;color:#aac!important}.pp-doll-col{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px;align-items:center}.pp-doll-row{display:flex;gap:6px;align-items:flex-end;justify-content:center;width:100%}.pp-doll-row--center{align-items:center}.pp-slot-dye{display:flex;flex-direction:column;align-items:center;gap:2px}.loadout-slot .inv-slot{width:45px!important;height:45px!important}#player-panel .inv-grid{grid-template-columns:repeat(var(--inv-cols, 4),55px)!important;gap:5px}#player-panel #pp-cargo-content .inv-grid{grid-template-columns:repeat(6,55px)!important}#player-panel #pp-cargo-content .inv-slot{width:55px!important;height:55px!important}#player-panel #pp-cargo-content .inv-slot img{width:42px!important;height:42px!important}.pp-slot-dye .dye-picker{gap:2px}.pp-slot-dye .dye-swatch{width:8px!important;height:8px!important;border-radius:2px!important}#player-panel{overflow:hidden!important}#player-panel .ui-panel-header{flex-shrink:0;position:sticky;top:0;background:var(--bui-panel-2);z-index:1}#player-panel .ui-panel-body{flex:1;overflow:hidden;min-height:0;padding-bottom:8px;display:flex;flex-direction:column}.pp-scroll{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden}.pp-cargo-section{flex:0 0 auto;border-top:1px solid var(--ui-border);padding-top:var(--sp-1)}.pp-dual{display:flex;gap:var(--sp-3);align-items:flex-start}.pp-dual-col{min-width:0}.pp-dual-col--acc{flex:2 1 0}.pp-dual-col--keys{flex:1 1 0}.pp-dual-col .loadout-section-header{margin-top:0}#shop-panel .ui-panel-header,#refiner-panel .ui-panel-header,#fabricator-panel .ui-panel-header,#core-panel .ui-panel-header,#platform-slot-panel .ui-panel-header,#silo-panel .ui-panel-header,#contract-board-panel .ui-panel-header,#delivery-board-panel .ui-panel-header,#quest-log-panel .ui-panel-header,#inventory-panel .ui-panel-header{position:sticky;top:0;background:var(--bui-panel-2);z-index:1;flex-shrink:0}.bb-shortcut-skills{position:relative}.bb-skill-badge{position:absolute;top:-4px;right:-4px;background:#f90;color:#000;font-size:var(--fs-2xs);font-weight:700;min-width:14px;height:14px;border-radius:7px;display:flex;align-items:center;justify-content:center;padding:0 3px;pointer-events:none;animation:badge-pulse 1.8s ease-in-out infinite}.bb-skill-badge.hidden{display:none}.bb-options-panel{position:absolute;bottom:calc(100% + 8px);right:0;background:#12121e;border:1px solid #2a2a44;border-radius:6px;padding:10px 12px;min-width:190px;z-index:9999;box-shadow:0 4px 16px #0009}.bb-options-panel.hidden{display:none}.bb-opt-row{display:flex;align-items:center;gap:8px;margin-bottom:8px}.bb-opt-label{width:42px;font-size:var(--fs-2xs);color:#888;flex-shrink:0}.bb-opt-slider{flex:1;accent-color:var(--ui-accent, var(--c-cyan));cursor:pointer}.bb-opt-row--check .bb-opt-label{width:auto;flex:1}.bb-opt-check{accent-color:var(--ui-accent, var(--c-cyan));width:14px;height:14px;cursor:pointer;flex-shrink:0}.bb-opt-val{width:26px;font-size:var(--fs-2xs);color:#ccc;text-align:right;flex-shrink:0}.bb-logout-btn{width:100%;margin-top:var(--sp-1)}@keyframes badge-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.15)}}.skill-panel{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:min(860px,92vw);max-height:88vh;background:#0d0d14;border:1px solid #334;border-radius:4px;z-index:1100;font-family:var(--font-mono, monospace);color:#ccd;box-shadow:0 8px 32px #000000b3}.skill-panel.hidden{display:none}.skill-panel-header{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-bottom:1px solid #223;font-size:var(--fs-2xs);letter-spacing:.08em;text-transform:uppercase;color:#889}.skill-panel-close{background:none;border:none;color:#667;font-size:var(--fs-xs);cursor:pointer;line-height:1;padding:0 2px}.skill-panel-close:hover{color:#ccd}.skill-panel-body{display:flex;flex-direction:column;gap:var(--sp-3);padding:14px}.skill-points-bar{font-size:var(--fs-xs);color:var(--c-text-dim);text-align:center}.skill-points-count{font-family:var(--font-display);font-size:var(--fs-lg);color:var(--c-text-dim)}.skill-points-count.has-points{color:var(--c-cyan)}.skill-points-sub{color:var(--c-text-dim);opacity:.7}.skill-cats{display:flex;gap:10px;align-items:flex-start}.skill-panel-footer{display:flex;justify-content:center}.skill-node-info{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.skill-rank-pips{font-size:var(--fs-2xs);letter-spacing:2px}.skill-rank-btn{flex-shrink:0;min-width:34px}.skill-tree-col{flex:1;display:flex;flex-direction:column;gap:8px}.skill-tree-title{display:flex;align-items:center;gap:7px;font-size:var(--fs-2xs);font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:#aab;margin-bottom:2px}.skill-tree-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.skill-tree-track{font-size:var(--fs-2xs);color:#445;letter-spacing:.04em;margin-bottom:2px}.skill-tree-points{font-size:var(--fs-2xs);color:#556;letter-spacing:.04em;margin-bottom:4px}.skill-tree-points.has-points{color:#f90;font-weight:600}.skill-node{display:flex;align-items:center;gap:var(--sp-2);padding:8px 10px;border:1px solid #223;border-radius:3px;background:#10101a;transition:border-color .15s,background .15s}.skill-node.maxed{border-color:#335;background:#0e0e1c}.skill-node.locked{opacity:.4}.skill-node.affordable{border-color:#445;cursor:pointer}.skill-node.affordable:hover{border-color:var(--c-cyan);background:#13131f}.skill-node.unlocked{border-color:#335;background:#0e0e1c}.skill-node-name{font-size:var(--fs-2xs);font-weight:600;color:#bbd;margin-bottom:3px}.skill-node.unlocked .skill-node-name{color:#8af}.skill-node.affordable .skill-node-name{color:#cce}.skill-node-desc{font-size:var(--fs-2xs);color:#556;letter-spacing:.03em}.skill-node.unlocked .skill-node-desc{color:#667}.tutorial-hint{position:fixed;left:50%;top:var(--sp-5);transform:translate(-50%);display:flex;flex-direction:column;gap:var(--sp-2);min-width:300px;padding:var(--sp-3) var(--sp-4);z-index:260;pointer-events:none;background:var(--c-panel);border:1px solid color-mix(in srgb,var(--c-cyan) 40%,transparent);border-radius:var(--r-md);box-shadow:0 0 24px color-mix(in srgb,var(--c-cyan) 22%,transparent),inset 0 0 16px color-mix(in srgb,var(--c-cyan) 6%,transparent);opacity:1;transition:opacity .6s ease,transform .6s ease}.tutorial-hint.hidden{display:none}.tutorial-hint--fading{opacity:0;transform:translate(-50%) translateY(calc(-1 * var(--sp-2)))}.tutorial-hint--complete{border-color:color-mix(in srgb,var(--c-green) 45%,transparent);box-shadow:0 0 24px color-mix(in srgb,var(--c-green) 22%,transparent)}.tutorial-hint__title{font-family:var(--font-display);font-size:var(--fs-sm);line-height:var(--lh-tight);letter-spacing:.14em;text-transform:uppercase;color:var(--c-cyan);text-shadow:0 0 var(--glow) currentColor}.tutorial-hint--complete .tutorial-hint__title{color:var(--c-green)}.tutorial-hint__steps{display:flex;flex-direction:column;gap:var(--sp-1)}.tutorial-hint__step{display:flex;align-items:center;gap:var(--sp-2);font-family:var(--font-body);font-size:var(--fs-md);line-height:var(--lh-tight);color:var(--c-text);transition:color .2s ease,opacity .2s ease}.tutorial-hint__key{flex:0 0 auto;min-width:3.4em;padding:var(--sp-1) var(--sp-2);font-family:var(--font-display);font-size:var(--fs-xs);line-height:var(--lh-tight);letter-spacing:.08em;text-align:center;color:var(--c-cyan);background:var(--c-recess);border:1px solid var(--c-steel-2);border-radius:var(--r-sm)}.tutorial-hint__label{flex:1 1 auto}.tutorial-hint__tick{flex:0 0 auto;font-family:var(--font-display);font-size:var(--fs-sm);color:var(--c-green);text-shadow:0 0 var(--glow) currentColor;opacity:0;transition:opacity .2s ease}.tutorial-hint__step.is-done{color:var(--c-text-mute)}.tutorial-hint__step.is-done .tutorial-hint__key{color:var(--c-text-mute);border-color:var(--c-steel)}.tutorial-hint__step.is-done .tutorial-hint__tick{opacity:1}.tutorial-hint__note{font-family:var(--font-body);font-size:var(--fs-xs);line-height:var(--lh-tight);color:var(--c-text-dim)}#ui-root:has(#tutorial-hint:not(.hidden)) #quest-notification{top:200px}#player-panel .loadout-tab-bar{margin-bottom:var(--sp-1)}#player-panel .loadout-tab-btn{padding:2px 0;font-size:var(--fs-2xs)}#player-panel .loadout-slot-label{font-size:var(--fs-2xs);margin-bottom:1px;letter-spacing:.06em}#player-panel .loadout-slot{padding:2px 4px}#player-panel .pp-doll-col{gap:2px}#player-panel .pp-doll-row{gap:var(--sp-1)}#player-panel .loadout-section-header{font-size:var(--fs-xs);padding:2px 0 1px}#player-panel .pp-dual-col--keys .pp-key-items{flex-wrap:nowrap;gap:var(--sp-1)}#player-panel .pp-key-item{min-width:0;flex:1 1 0;padding:var(--sp-1) var(--sp-2)}#player-panel .pp-key-item-label{font-size:var(--fs-2xs);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.shop-chip--result .shop-chip-label{font-size:var(--fs-md);color:var(--ui-text)}.shop-chip--cost .shop-chip-label{font-size:var(--fs-xs);color:var(--ui-muted)}.shop-chip--cost .shop-chip-icon{width:22px;height:22px}.shop-chip--cost .shop-chip-icon img{width:18px;height:18px}.shop-cost-label{font-family:var(--ui-heading-font);font-size:var(--fs-2xs);letter-spacing:.1em;text-transform:uppercase;color:var(--c-text-mute)}.shop-card-offer{padding-left:var(--sp-2);border-left:2px solid color-mix(in srgb,var(--c-steel-2) 55%,transparent);margin-left:var(--sp-1)}.shop-chip-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
