:root{--bg-primary:#0a0a1a;--bg-secondary:#151530;--bg-panel:#0f0f28f2;--bg-overlay:#000000b3;--accent-primary:#0f8;--accent-secondary:#0cf;--accent-warning:#fa0;--accent-danger:#f44;--text-primary:#fff;--text-secondary:#ffffffb3;--text-muted:#fff6;--border-color:#346;--border-glow:#00ff884d;--font-display:"Orbitron", "Rajdhani", sans-serif;--font-body:"Rajdhani", "Segoe UI", sans-serif;--spacing-xs:5px;--spacing-sm:10px;--spacing-md:20px;--spacing-lg:30px;--spacing-xl:50px;--transition-fast:.15s ease;--transition-normal:.25s ease;--transition-slow:.4s ease}*{box-sizing:border-box;margin:0;padding:0}html,body{background:var(--bg-primary);width:100%;height:100%;font-family:var(--font-body);color:var(--text-primary);overflow:hidden}button{font-family:var(--font-display);cursor:pointer;border:none;outline:none}input{font-family:var(--font-body);outline:none}#pixi-world-canvas,#game-canvas{width:100%;height:100%;display:block;position:fixed;top:0;left:0}#pixi-world-canvas{z-index:0}#game-canvas{z-index:1;background:0 0}#login-panel{z-index:1000;width:100%;height:100%;transition:opacity var(--transition-slow), visibility var(--transition-slow);background:linear-gradient(#02081252,#030812b8),url(./Spaced_In_Splash_Web-DkUxABe6.jpg) 50%/cover no-repeat;justify-content:center;align-items:center;display:flex;position:fixed;top:0;left:0}#login-panel.hidden{opacity:0;visibility:hidden;pointer-events:none}#login-panel:before{content:"";pointer-events:none;background:radial-gradient(circle at 50% 35%,#00d2ff2e,#0000 35%),linear-gradient(#00000014,#02061273);position:absolute;inset:0}.login-container{text-align:center;-webkit-backdrop-filter:blur(16px)saturate(130%);backdrop-filter:blur(16px)saturate(130%);background:linear-gradient(#0e142a8f,#080c1cb8);border:1px solid #a8d8ff3d;border-radius:22px;width:min(520px,100vw - 48px);padding:36px 36px 28px;position:relative;overflow:hidden;box-shadow:0 24px 80px #0000006b,inset 0 1px #ffffff24}.login-container:before{content:"";pointer-events:none;background:linear-gradient(135deg,#ffffff1f,#0000 38%);position:absolute;inset:0}.game-title{font-family:var(--font-display);color:#f4fbff;text-shadow:0 0 20px #87e1ff59,0 8px 24px #00000059;letter-spacing:.28em;margin-bottom:12px;font-size:clamp(2.5rem,5vw,4rem);font-weight:900;position:relative}.game-title:after{content:"drift beyond the frontier";letter-spacing:.34em;color:#dcf5ffb3;margin-top:12px;font-size:.78rem;font-weight:500;display:block}.login-form{gap:var(--spacing-md);flex-direction:column;align-items:center;margin-top:24px;display:flex;position:relative}#profile-name-input{width:100%;max-width:360px;color:var(--text-primary);text-align:center;transition:border-color var(--transition-fast), box-shadow var(--transition-fast);background:#0a122280;border:1px solid #9fcff347;border-radius:12px;padding:16px 20px;font-size:1.1rem}#profile-name-input:focus{border-color:#8ee6ffbf;box-shadow:0 0 0 4px #5abeff26}#profile-name-input::placeholder{color:var(--text-muted)}#play-button,#create-profile-button,.login-secondary-button{color:#05111e;letter-spacing:.22em;width:100%;max-width:360px;transition:transform var(--transition-fast), box-shadow var(--transition-fast), filter var(--transition-fast);background:linear-gradient(135deg,#72edfff5,#62ffb7eb);border-radius:12px;padding:16px 40px;font-size:1.2rem;font-weight:700}#create-profile-button,.login-secondary-button{color:#dff6ff;background:#091829b8;border:1px solid #7dc8ff3d}#play-button:hover{filter:brightness(1.04);transform:translateY(-2px);box-shadow:0 10px 30px #50d6ff4d}#create-profile-button:hover,.login-secondary-button:hover{filter:brightness(1.05);transform:translateY(-2px);box-shadow:0 10px 24px #12385e47}#play-button:active,#create-profile-button:active,.login-secondary-button:active{transform:translateY(0)}#play-button:disabled,#create-profile-button:disabled,.login-secondary-button:disabled{opacity:.55;cursor:not-allowed;box-shadow:none;filter:none;transform:none}.login-status-bar{margin-top:10px;position:relative}.login-status-copy{flex-direction:column;align-items:center;gap:10px;display:flex}.login-status-title{font-family:var(--font-display);letter-spacing:.14em;color:#dcf5ffb8;text-transform:uppercase;font-size:.82rem}.login-status-pills{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.login-status-pill{letter-spacing:.08em;text-transform:uppercase;background:#ffffff0f;border:1px solid #a5d6ff2e;border-radius:999px;padding:8px 12px;font-size:.82rem}.login-status-pill.online{color:#8bffbf}.login-status-pill.offline{color:#ff8b8b}.login-status-pill.load-light{color:#9de7ff}.login-status-pill.load-medium{color:#ffd37b}.login-status-pill.load-heavy{color:#ff9380}.login-status-pill.neutral{color:#e4f2ffdb}.login-busy-label,.login-create-warning,.login-empty-state{border-radius:12px;margin-top:16px;padding:12px 14px;font-size:.92rem;line-height:1.45}.login-busy-label{color:#e6f6ffdb;background:#0a1a2c99;border:1px solid #78beff33}.login-create-warning{color:#ffd7cdeb;background:#46181273;border:1px solid #ff8a6c38}.login-empty-state{color:#dcf0ffbf;background:#0a1a2c6b;border:1px dashed #92d0ff40}.login-profile-list{gap:14px;margin-top:22px;display:grid}.login-profile-card{text-align:left;cursor:pointer;transition:transform var(--transition-fast), border-color var(--transition-fast), box-shadow var(--transition-fast), background var(--transition-fast);background:#0912239e;border:1px solid #96cdff24;border-radius:18px;grid-template-columns:104px minmax(0,1fr);align-items:center;gap:16px;padding:16px;display:grid}.login-profile-card:hover{border-color:#88dcff52;transform:translateY(-2px);box-shadow:0 16px 34px #0000003d}.login-profile-card.selected{background:linear-gradient(135deg,#54ffb51f,#49bdff14),#0a1627e0;border-color:#65ffb9b8;transform:translateY(-3px)scale(1.01);box-shadow:0 0 0 1px #65ffb947,0 0 28px #4effb029,0 18px 40px #071b2857}.login-profile-card.selected .login-profile-name{color:#fff;text-shadow:0 0 14px #84ffd02e}.login-profile-ship{background:radial-gradient(circle at 50% 42%,#72edff2e,#070f1b1f);border-radius:16px;justify-content:center;align-items:center;min-height:90px;display:flex}.login-profile-ship img{object-fit:contain;filter:drop-shadow(0 10px 16px #00000061);width:86px;height:86px}.login-profile-meta{gap:8px;min-width:0;display:grid}.login-profile-header,.login-profile-footer,.login-actions-row,.login-delete-actions{justify-content:space-between;align-items:center;gap:12px;display:flex}.login-profile-title-block{align-items:center;gap:10px;min-width:0;display:flex}.login-profile-name{font-family:var(--font-display);letter-spacing:.08em;color:#f3fbff;font-size:1.08rem}.login-profile-selected-badge{color:#dffef0;letter-spacing:.12em;text-transform:uppercase;background:#57ffb629;border:1px solid #65ffb96b;border-radius:999px;justify-content:center;align-items:center;padding:4px 10px;font-size:.72rem;font-weight:700;display:inline-flex;box-shadow:0 0 14px #4effb01f}.login-profile-slot,.login-profile-last-login{color:#dcf0ff99;font-size:.86rem}.login-profile-zone{color:#e6f5ffc7;font-size:.98rem}.login-profile-levels{gap:6px;display:grid}.login-profile-level-primary{font-family:var(--font-display);letter-spacing:.08em;color:#edf9fff0;font-size:1rem}.login-profile-level-secondary{color:#c9e9ffcc;flex-wrap:wrap;gap:10px;font-size:.88rem;display:flex}.login-profile-delete{color:#ffd7cf;letter-spacing:.08em;background:#41121094;border:1px solid #ff797933;border-radius:10px;padding:8px 12px}.login-actions-row{margin-top:20px}.login-actions-row>*{flex:1 1 0;max-width:none}.profile-create-form{margin-top:18px}.profile-create-form.hidden,.login-create-toggle-row.hidden{display:none}.login-create-toggle-row{justify-content:center;margin-top:18px;display:flex}.login-create-toggle-btn{color:#d7efffe6;width:100%;max-width:100%;min-height:48px;transition:transform var(--transition-fast), border-color var(--transition-fast), box-shadow var(--transition-fast), background var(--transition-fast);background:#0a1a2c6b;border:1px dashed #92d0ff47;border-radius:16px;font-size:1.8rem;line-height:1}.login-create-toggle-btn:hover{background:#0b1e328f;border-color:#65ffb966;transform:translateY(-2px);box-shadow:0 12px 28px #0818273d}.login-delete-dialog{z-index:2;background:#020812bd;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.login-delete-dialog.hidden{opacity:0;visibility:hidden;pointer-events:none}.login-delete-card{background:#0b1320f2;border:1px solid #ff938038;border-radius:18px;width:min(420px,100vw - 64px);padding:24px;box-shadow:0 26px 60px #0006}.login-delete-card h3{font-family:var(--font-display);color:#fff2ee;letter-spacing:.08em;margin-bottom:12px}.login-delete-card p{color:#ffe5dfd6;line-height:1.5}.login-delete-confirm,.login-delete-cancel{letter-spacing:.12em;border-radius:12px;flex:1 1 0;padding:14px 16px;font-size:.94rem}.login-delete-confirm{color:#fff4ef;background:#982014e6}.login-delete-cancel{color:#dff3ff;background:#0f1f32e6;border:1px solid #8ecfff2e}.login-hint{color:#e4f2ffb8;max-width:100%;margin-top:20px;font-size:.9rem;line-height:1.45;position:relative}#upgrade-panel,#perk-panel,#character-panel,#market-panel,#party-panel,#corp-panel,#options-panel,#craft-result-panel{background:var(--bg-overlay);z-index:500;width:100%;height:100%;transition:opacity var(--transition-normal), visibility var(--transition-normal);justify-content:center;align-items:center;display:flex;position:fixed;top:0;left:0}#upgrade-panel.hidden,#perk-panel.hidden,#character-panel.hidden,#market-panel.hidden,#party-panel.hidden,#corp-panel.hidden,#options-panel.hidden,#craft-result-panel.hidden{opacity:0;visibility:hidden;pointer-events:none}.upgrade-container,.perk-container,.character-container,.market-container,.party-container,.corp-container,.options-container,.craft-result-container{width:600px;max-width:90vw;max-height:80vh;padding:var(--spacing-lg);background:var(--bg-panel);border:1px solid var(--border-color);border-radius:10px;position:relative;overflow-y:auto}.upgrade-container h2,.perk-container h2,.character-container h2,.market-container h2,.party-container h2,.corp-container h2,.options-container h2,.craft-result-container h2{font-family:var(--font-display);color:var(--accent-primary);text-align:center;margin-bottom:var(--spacing-md);letter-spacing:.1em;font-size:1.5rem}.upgrade-container h3,.perk-container h3,.character-container h3,.market-container h3,.party-container h3,.corp-container h3,.options-container h3,.craft-result-container h3{font-family:var(--font-display);color:var(--accent-secondary);margin-bottom:var(--spacing-sm);border-bottom:1px solid var(--border-color);padding-bottom:var(--spacing-xs);font-size:1rem}.close-btn{width:30px;height:30px;color:var(--text-secondary);transition:color var(--transition-fast);background:0 0;font-size:1.5rem;position:absolute;top:15px;right:15px}.close-btn:hover{color:var(--accent-danger)}.upgrade-content,.perk-content,.character-content,.party-content,.options-content{gap:var(--spacing-md);flex-direction:column;display:flex}.ship-section,.hull-section,.perk-section,.party-section,.options-section{padding:var(--spacing-md);background:#0000004d;border-radius:5px}.audio-option{grid-template-columns:120px minmax(0,1fr) 56px;align-items:center;gap:12px;padding:10px 0;display:grid}.audio-option+.audio-option{border-top:1px solid #ffffff14}.audio-option-label{color:var(--text-primary);font-weight:600}.audio-slider{width:100%}.audio-option-value{color:var(--accent-secondary);text-align:right;font-variant-numeric:tabular-nums}#ship-list{gap:var(--spacing-xs);flex-direction:column;display:flex}.ship-item{padding:var(--spacing-sm) var(--spacing-md);background:var(--bg-secondary);border:1px solid var(--border-color);cursor:default;transition:background var(--transition-fast), border-color var(--transition-fast);border-radius:4px;justify-content:space-between;align-items:center;display:flex}.ship-item:hover{background:#00ff881a}.ship-item[data-disabled=true]{opacity:.75}.ship-item.owned{opacity:.6;cursor:default}.ship-item.owned:hover{background:var(--bg-secondary)}.ship-item.available{border-color:var(--accent-primary);cursor:pointer}.ship-item.available:hover{background:#0f83}.ship-name{font-family:var(--font-display);font-size:.9rem}.ship-cost{color:var(--accent-warning);font-weight:600}.ship-item.owned .ship-cost{color:var(--accent-primary)}.upgrade-container-wide{width:1020px;max-width:95vw}.hull-fitting-layout{align-items:stretch;gap:0;margin-bottom:16px;display:flex}.hull-fitting-left,.hull-fitting-right{flex-direction:column;flex:0 0 180px;justify-content:center;gap:4px;display:flex}.hull-fitting-center{flex-direction:column;flex:1;justify-content:center;align-items:center;min-width:200px;display:flex}.hull-ship-preview-wrap{justify-content:center;align-items:center;width:440px;height:440px;display:flex;position:relative}.hull-ship-image{filter:drop-shadow(0 0 18px #0af3);pointer-events:none;width:330px;height:auto;transform:rotate(90deg)}.hull-attach-lines{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.hull-slot-summary{width:100%;max-width:300px;color:var(--text-secondary);font-size:.8rem;font-family:var(--font-display);justify-content:space-between;padding:6px 12px;display:flex}.hull-slots-column{flex-direction:column;gap:8px;display:flex}.hull-slot-group{flex-direction:column;gap:3px;display:flex}.hull-slot-group-label{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.08em;opacity:.7;padding:0 4px;font-size:.65rem}.hull-slot{background:var(--bg-secondary);border:1px solid var(--border-color);width:52px;height:52px;transition:border-color var(--transition-fast), box-shadow var(--transition-fast);border-radius:6px;justify-content:center;align-items:center;display:flex;position:relative}.hull-slot-empty{opacity:.5;border-style:dashed}.hull-slot-empty.drag-over{opacity:1;border-style:solid;border-color:var(--accent-primary);box-shadow:0 0 12px #00ff8840}.hull-slot-icon{border-radius:4px;justify-content:center;align-items:center;width:100%;height:100%;display:flex;overflow:hidden}.hull-slot-icon img{object-fit:cover;width:100%;height:100%}.hull-slot-letter{font-family:var(--font-display);font-size:1.1rem;font-weight:700}.hull-slot-icon-empty{color:var(--text-secondary);font-size:1.2rem;background:0 0!important;border-color:#0000!important}.hull-slot-remove{background:var(--accent-danger);color:#fff;cursor:pointer;opacity:0;width:18px;height:18px;transition:opacity var(--transition-fast);border:none;border-radius:50%;justify-content:center;align-items:center;padding:0;font-size:.7rem;line-height:1;display:flex;position:absolute;top:-6px;right:-6px}.hull-slot-filled{border-width:2px;padding:0}.hull-slot-filled:hover .hull-slot-remove{opacity:1}.hull-inventory-section{border-top:1px solid var(--border-color);padding-top:12px}.hull-cargo-grid{flex-wrap:wrap;gap:6px;display:flex}.hull-cargo-item{background:var(--bg-secondary);border:1px solid var(--border-color);cursor:pointer;width:64px;transition:border-color var(--transition-fast), box-shadow var(--transition-fast);border-radius:6px;flex-direction:column;align-items:center;gap:3px;padding:6px 4px;display:flex;position:relative}.hull-cargo-item.hull-cargo-equippable:hover{border-color:var(--accent-primary);box-shadow:0 0 8px #0f83}.hull-cargo-item.hull-cargo-equippable{cursor:grab}.hull-cargo-item.hull-cargo-locked{opacity:.35;cursor:not-allowed}.hull-cargo-icon{width:36px;height:36px;font-family:var(--font-display);border:1px solid;border-radius:4px;justify-content:center;align-items:center;font-size:.95rem;font-weight:700;display:flex;overflow:hidden}.hull-cargo-icon img{object-fit:contain;background:#ffffff0a;width:100%;height:100%}.hull-cargo-label{color:var(--text-secondary);text-align:center;text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:.55rem;line-height:1.2;overflow:hidden}#perk-quick-buttons{z-index:360;pointer-events:none;position:fixed;inset:0}.perk-quick-btn{border:1px solid var(--perk-glow);width:24px;height:24px;color:var(--perk-glow);box-shadow:0 0 8px var(--perk-glow), 0 0 18px var(--perk-glow);pointer-events:auto;background:#060c18eb;border-radius:50%;place-items:center;padding:0;font-size:16px;font-weight:700;line-height:1;animation:1.6s ease-in-out infinite perk-pulse;display:grid;position:fixed;transform:translate(-50%,-50%)}.perk-quick-btn-label{line-height:1;display:block;transform:translateY(-1px)}.perk-quick-btn:hover{transform:translate(-50%,-50%)scale(1.08)}@keyframes perk-pulse{0%{box-shadow:0 0 6px var(--perk-glow), 0 0 12px var(--perk-glow)}50%{box-shadow:0 0 10px var(--perk-glow), 0 0 22px var(--perk-glow)}to{box-shadow:0 0 6px var(--perk-glow), 0 0 12px var(--perk-glow)}}#perk-tree-tabs{gap:var(--spacing-xs);margin-bottom:var(--spacing-sm);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.perk-tab-btn{background:var(--bg-secondary);border:1px solid var(--border-color);color:var(--text-secondary);transition:border-color var(--transition-fast), color var(--transition-fast), background var(--transition-fast);border-radius:4px;padding:8px 10px;font-size:.85rem}.perk-tab-btn.active{border-color:var(--accent-primary);color:var(--accent-primary);background:#00ff881f}#perk-tree-summary{margin-bottom:var(--spacing-sm)}.perk-summary-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:4px;flex-wrap:wrap;gap:8px 14px;padding:10px 12px;display:flex}.perk-summary-title{color:var(--text-primary);font-family:var(--font-display)}.perk-summary-meta{color:var(--text-secondary);font-size:.85rem}#perk-branches{border:1px solid var(--border-color);background:#030a12a6;border-radius:8px;padding:14px}.perk-tree-layout{grid-template-columns:minmax(120px,1fr) 90px minmax(120px,1fr);align-items:start;gap:12px 18px;display:grid;position:relative}.perk-lane{flex-direction:column;align-items:center;gap:18px;padding-top:28px;display:flex;position:relative}.perk-lane:before{content:"";z-index:0;background:linear-gradient(#00d8ff26,#00d8ff73,#00d8ff26);width:2px;position:absolute;top:58px;bottom:16px;left:50%;transform:translate(-50%)}.perk-lane-title{color:var(--accent-secondary);font-family:var(--font-display);text-transform:uppercase;letter-spacing:.08em;font-size:.8rem;position:absolute;top:0;left:50%;transform:translate(-50%)}.perk-tier-labels{flex-direction:column;align-items:center;gap:18px;padding-top:28px;display:flex}.perk-tier-label{width:100%;min-height:58px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;justify-content:center;align-items:center;font-size:.78rem;display:flex}.perk-node-shell{z-index:1;position:relative}.perk-icon-btn{width:58px;height:58px;color:var(--text-secondary);transition:transform var(--transition-fast), border-color var(--transition-fast), box-shadow var(--transition-fast), opacity var(--transition-fast);background:radial-gradient(circle at 35% 30%,#192d46f2,#060c18fa);border:2px solid #ffffff29;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:0;display:flex;position:relative;overflow:hidden}.perk-icon-img{object-fit:cover;pointer-events:none;border-radius:50%;width:100%;height:100%;position:absolute;inset:0}.perk-icon-btn.locked .perk-icon-img{filter:grayscale(.7)}.perk-icon-btn .perk-icon-rank{z-index:1;background:#040a14c7;border-radius:8px;padding:1px 5px;position:absolute;bottom:3px;left:50%;transform:translate(-50%)}.perk-icon-btn.ready{color:var(--accent-secondary);border-color:#00d8ff8c;box-shadow:0 0 14px #00d8ff2e}.perk-icon-btn.owned,.perk-icon-btn.maxed{color:var(--accent-primary);border-color:#00ff88a6;box-shadow:0 0 18px #00ff8838}.perk-icon-btn.locked{opacity:.55;color:var(--text-muted)}.perk-icon-btn:hover:not(:disabled){transform:scale(1.06)}.perk-icon-btn:disabled{cursor:default}.perk-icon-glyph{font-family:var(--font-display);font-size:1rem;line-height:1}.perk-icon-rank{font-size:.68rem;line-height:1}.perk-hover-card{border:1px solid var(--border-color);min-width:220px;max-width:280px;color:var(--text-primary);opacity:0;visibility:hidden;transition:opacity var(--transition-fast), transform var(--transition-fast), visibility var(--transition-fast);pointer-events:none;z-index:5;background:#060c18f7;border-radius:6px;padding:10px 12px;position:absolute;top:50%;left:calc(100% + 12px);transform:translateY(-50%)translate(-4px);box-shadow:0 12px 24px #00000059}.perk-lane-b .perk-hover-card{left:auto;right:calc(100% + 12px);transform:translateY(-50%)translate(4px)}.perk-node-shell:hover .perk-hover-card,.perk-node-shell:focus-within .perk-hover-card{opacity:1;visibility:visible}.perk-node-shell:hover .perk-hover-card,.perk-lane-b .perk-node-shell:hover .perk-hover-card{transform:translateY(-50%)translate(0)}.perk-hover-title{color:var(--text-primary);justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:4px;font-weight:700;display:flex}.perk-hover-value{color:#8fd89a;white-space:nowrap;font-size:.76rem;font-weight:600}.perk-hover-tier,.perk-hover-points,.perk-hover-state{color:var(--text-secondary);margin-bottom:4px;font-size:.8rem}.perk-hover-description{color:var(--text-primary);margin-bottom:6px;font-size:.84rem;line-height:1.35}.perk-value-active{color:#8fd89a;font-weight:700}.perk-ultimate-row{grid-column:1/span 3;justify-content:center;margin-top:10px;padding-top:26px;display:flex;position:relative}.perk-ultimate-row:before{content:"";background:linear-gradient(90deg,#00d8ff33,#00d8ff80,#00d8ff33);height:2px;position:absolute;top:12px;left:25%;right:25%}.perk-ultimate-row:after{content:"";background:#00d8ff73;width:2px;height:20px;position:absolute;top:12px;left:50%;transform:translate(-50%)}.perk-node-shell-ultimate .perk-hover-card{top:calc(100% + 12px);left:50%;right:auto;transform:translate(-50%)}.perk-node-shell-ultimate:hover .perk-hover-card,.perk-node-shell-ultimate:focus-within .perk-hover-card{transform:translate(-50%)}.perk-icon-btn-ultimate{border-width:2px;border-color:#ffaa0073;width:70px;height:70px}.perk-icon-btn-ultimate.ready,.perk-icon-btn-ultimate.owned,.perk-icon-btn-ultimate.maxed{color:var(--accent-warning);border-color:#ffaa00b3;box-shadow:0 0 18px #ffaa003d}@media (width<=860px){.perk-tree-layout{grid-template-columns:1fr}.perk-tier-labels{display:none}.perk-ultimate-row{grid-column:auto}.perk-lane-b .perk-hover-card,.perk-hover-card{top:calc(100% + 12px);left:50%;right:auto;transform:translate(-50%)}.perk-node-shell:hover .perk-hover-card,.perk-lane-b .perk-node-shell:hover .perk-hover-card{transform:translate(-50%)}}#notifications{align-items:center;gap:var(--spacing-sm);z-index:400;pointer-events:none;flex-direction:column;display:flex;position:fixed;bottom:170px;left:50%;transform:translate(-50%)}.notification{min-width:240px;max-width:min(560px,100vw - 48px);padding:var(--spacing-sm) var(--spacing-md);background:var(--bg-panel);border-left:3px solid var(--accent-secondary);text-align:center;opacity:0;transition:transform var(--transition-normal), opacity var(--transition-normal);border-radius:4px;font-size:.9rem;transform:translateY(18px);box-shadow:0 8px 22px #00000047}.notification.show{opacity:1;transform:translateY(0)}.notification.success{border-color:var(--accent-primary);color:var(--accent-primary)}.notification.error{border-color:var(--accent-danger);color:var(--accent-danger)}.notification.info{border-color:var(--accent-secondary);color:var(--accent-secondary)}.notification-accent{font-weight:700}#party-invite-popup{z-index:620;transition:opacity var(--transition-normal), visibility var(--transition-normal), transform var(--transition-normal);position:fixed;top:50%;left:20px;transform:translateY(-50%)}#party-invite-popup.hidden{opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-50%)translate(-10px)}.party-invite-popup-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);pointer-events:auto;background:linear-gradient(#10161ee0,#0a0e16d1);border:1px solid #7ef9ff47;border-radius:14px;width:min(320px,100vw - 40px);padding:16px 16px 14px;box-shadow:0 18px 42px #00000057,inset 0 1px #ffffff14}.party-invite-popup-header{color:#a0e2ffeb;font-family:var(--font-display);letter-spacing:.16em;text-transform:uppercase;font-size:.78rem}.party-invite-popup-copy{color:var(--text-primary);margin-top:10px;line-height:1.45}.party-invite-popup-actions{gap:10px;margin-top:14px;display:flex}.party-invite-popup-actions .party-action-btn{flex:1 1 0}.party-invite-popup-timer{margin-top:14px}.party-invite-popup-timer span{color:#d2e6f5c7;margin-bottom:6px;font-size:.8rem;display:block}.party-invite-popup-bar{background:#ffffff14;border-radius:999px;height:8px;overflow:hidden}.party-invite-popup-bar span{background:linear-gradient(90deg,#6dff96eb,#7ef9ffeb);height:100%;margin:0;transition:width .15s linear;display:block}#party-context-menu{z-index:640;transition:opacity var(--transition-fast), visibility var(--transition-fast);position:fixed}#party-context-menu.hidden{opacity:0;visibility:hidden;pointer-events:none}.party-context-menu-items{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:linear-gradient(#12161ef0,#0a0c12eb);border:1px solid #aabed238;border-radius:12px;min-width:190px;padding:6px;box-shadow:0 18px 36px #00000057,inset 0 1px #ffffff0f}.party-context-menu-action{color:#f0f7fff0;text-align:left;letter-spacing:.03em;width:100%;transition:background var(--transition-fast), color var(--transition-fast);background:0 0;border-radius:8px;padding:11px 12px;font-size:.82rem;display:block}.party-context-menu-action:hover{background:#ffffff0f}.party-context-menu-action.danger{color:#ff8484f5}.party-context-menu-action.danger:hover{color:#ffaeaefa;background:#ff50501f}#cargo-context-menu{z-index:650;transition:opacity var(--transition-fast), visibility var(--transition-fast);position:fixed}#cargo-context-menu.hidden{opacity:0;visibility:hidden;pointer-events:none}.cargo-context-menu-items{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:linear-gradient(#12161ef0,#0a0c12eb);border:1px solid #aabed238;border-radius:12px;min-width:180px;padding:6px;box-shadow:0 18px 36px #00000057,inset 0 1px #ffffff0f}.cargo-context-menu-action{color:#f0f7fff0;text-align:left;letter-spacing:.03em;width:100%;transition:background var(--transition-fast), color var(--transition-fast);background:0 0;border-radius:8px;padding:10px 12px;font-size:.8rem;display:block}.cargo-context-menu-action:hover:not(:disabled){background:#ffffff0f}.cargo-context-menu-action.equip-ready{color:#55e682f2}.cargo-context-menu-action.equip-ready:hover{color:#82ffaafa;background:#55e6821a}.cargo-context-menu-action.equip-disabled{color:#a0aab973;cursor:default}.cargo-context-menu-action.danger{color:#ff8484f5}.cargo-context-menu-action.danger:hover{color:#ffaeaefa;background:#ff50501f}#chat-panel{z-index:350;pointer-events:none;flex-direction:column;gap:8px;width:320px;display:flex;position:fixed;bottom:128px;left:20px}#chat-messages{flex-direction:column;gap:6px;max-height:180px;display:flex;overflow:hidden}#chat-panel.chat-open #chat-messages{max-height:280px}.chat-message{color:var(--text-primary);text-shadow:0 1px 2px #000c;background:#080e1ab8;border-left:2px solid #00d8ff8c;border-radius:4px;padding:6px 10px;font-size:.9rem;line-height:1.25;transition:opacity .25s}.chat-author{color:var(--accent-secondary);margin-right:6px;font-weight:600}.chat-text{color:var(--text-primary);word-break:break-word}#chat-entry{pointer-events:auto}#chat-entry.hidden{display:none}#chat-input{width:100%;color:var(--text-primary);background:#080e1ae6;border:1px solid #00d8ff80;border-radius:4px;padding:10px 12px;font-size:.95rem;box-shadow:0 0 12px #00d8ff26}#chat-input:focus{border-color:var(--accent-secondary);box-shadow:0 0 14px #00d8ff47}#chat-input::placeholder{color:var(--text-muted)}#inventory-panel{background:var(--bg-overlay);z-index:500;width:100%;height:100%;transition:opacity var(--transition-normal), visibility var(--transition-normal);justify-content:center;align-items:center;display:flex;position:fixed;top:0;left:0}#inventory-panel.hidden{opacity:0;visibility:hidden;pointer-events:none}.inventory-container,.character-container,.market-container{max-width:92vw;max-height:85vh;padding:var(--spacing-lg);background:var(--bg-panel);border:1px solid var(--border-color);border-radius:10px;position:relative;overflow-y:auto}.inventory-container{width:780px;padding-left:calc(var(--spacing-lg) + 30px);padding-right:calc(var(--spacing-lg) + 30px)}.character-container{width:960px}.market-container{width:min(1100px,94vw)}.inventory-container h2,.character-container h2,.market-container h2{font-family:var(--font-display);color:var(--accent-primary);text-align:center;margin-bottom:var(--spacing-md);letter-spacing:.1em;font-size:1.5rem}.inventory-container h3,.character-container h3,.market-container h3{font-family:var(--font-display);color:var(--accent-secondary);margin-bottom:var(--spacing-sm);border-bottom:1px solid var(--border-color);padding-bottom:var(--spacing-xs);font-size:1rem}.inventory-content,.character-content,.market-content{gap:var(--spacing-md);flex-direction:column;display:flex}.cargo-section,.character-ship-section,.character-stats-section,.market-station-section,.market-cargo-section{padding:var(--spacing-md);background:#0000004d;border-radius:5px}.character-content{gap:var(--spacing-md);grid-template-columns:minmax(280px,340px) minmax(0,1fr);align-items:start;display:grid}.market-summary{justify-content:space-between;gap:var(--spacing-md);margin-bottom:var(--spacing-md);background:#0000004d;border:1px solid #00d8ff33;border-radius:8px;padding:14px 16px;display:flex}.market-summary-title{font-family:var(--font-display);color:var(--text-primary);letter-spacing:.06em;font-size:1.05rem}.market-summary-subtitle{color:var(--text-secondary);margin-top:4px;font-size:.88rem}.market-summary-meta{text-align:right;color:var(--text-secondary);flex-direction:column;gap:4px;font-size:.9rem;display:flex}.market-summary-value{color:var(--accent-warning);font-weight:700}.market-tab-list{margin-bottom:var(--spacing-md);gap:10px;display:flex}.market-tab-btn{color:var(--text-secondary);background:#ffffff0a;border:1px solid #ffffff1f;border-radius:999px;padding:9px 14px;font-size:.84rem;font-weight:600}.market-tab-btn.active{color:var(--text-primary);background:#00d8ff1f;border-color:#00d8ff73}.market-content{gap:var(--spacing-md);grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;display:grid}.craft-result-container{width:min(460px,92vw)}.market-station-list,#market-station-list,#market-cargo-list{flex-direction:column;gap:10px;display:flex}#market-bulk-controls{margin-bottom:12px}.market-row{background:linear-gradient(#151530f2,#080e1af2);border:1px solid #ffffff14;border-radius:6px;justify-content:space-between;align-items:center;gap:14px;padding:12px 14px;display:flex;position:relative}.ui-item-tooltip-card{z-index:80;opacity:0;visibility:hidden;pointer-events:none;min-width:220px;max-width:min(320px,70vw);transition:opacity var(--transition-fast), transform var(--transition-fast), visibility var(--transition-fast);text-align:left;background:linear-gradient(#ffffff17,#ffffff03),linear-gradient(#080c1cf0,#0e142ae6);border:1px solid #a8d8ff3d;border-radius:14px;flex-direction:column;align-items:stretch;padding:12px 14px;display:flex;position:absolute;bottom:calc(100% + 10px);left:50%;transform:translate(-50%,6px);box-shadow:0 18px 38px #0000006b}.ui-item-tooltip-card:before{content:"";pointer-events:none;z-index:0;background:linear-gradient(#080c1c00 0%,#080c1c66 50%,#080c1cbf 100%);border-radius:14px 14px 0 0;height:90px;position:absolute;top:0;left:0;right:0}.ui-item-tooltip-card:after{content:"";pointer-events:none;border-radius:14px;position:absolute;inset:0;box-shadow:inset 0 1px #ffffff0f}.market-row:hover .ui-item-tooltip-card,.market-row:focus-within .ui-item-tooltip-card{opacity:1;visibility:visible;transform:translate(-50%)}.ui-item-tooltip-icon-corner{pointer-events:none;z-index:0;border-radius:8px;width:82px;height:82px;position:absolute;top:-8px;left:6px;overflow:hidden}.ui-item-tooltip-icon-corner img{object-fit:cover;width:100%;height:100%}.ui-item-tooltip-title-row,.ui-item-tooltip-header-row,.ui-item-tooltip-meta-row,.ui-item-tooltip-section,.ui-item-tooltip-line,.ui-item-tooltip-footer-row{z-index:1;position:relative}[data-tooltip-source]>.ui-item-tooltip-card{display:none!important}.floating-tooltip{z-index:9999;pointer-events:none;min-width:220px;max-width:min(320px,70vw);font-family:var(--font-body);color:var(--text-primary);text-align:left;background:linear-gradient(#ffffff17,#ffffff03),linear-gradient(#080c1cf0,#0e142ae6);border:1px solid #a8d8ff3d;border-radius:14px;flex-direction:column;align-items:stretch;padding:12px 14px;display:flex;position:fixed;box-shadow:0 18px 38px #0000006b}.floating-tooltip.hidden{opacity:0;visibility:hidden}.floating-tooltip:after{content:"";pointer-events:none;border-radius:14px;position:absolute;inset:0;box-shadow:inset 0 1px #ffffff0f}.ui-item-tooltip-badge{color:var(--text-secondary);font-family:var(--font-display);letter-spacing:.05em;text-transform:uppercase;background:#ffffff0a;border:1px solid #ffffff14;border-radius:999px;align-self:flex-start;align-items:center;margin-bottom:8px;padding:3px 8px;font-size:.72rem;display:inline-flex}.ui-item-tooltip-header-row{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:4px;display:flex}.ui-item-tooltip-header-row .ui-item-tooltip-badge{margin-bottom:0}.ui-item-tooltip-stamp{justify-content:flex-end;align-items:flex-start;gap:6px;min-width:0;max-width:120px;margin-top:-4px;display:inline-flex}.ui-item-tooltip-logo-copy{text-align:right;flex-direction:column;justify-content:flex-start;align-items:flex-end;min-width:0;max-width:70px;margin-top:3px;line-height:1.05;display:flex}.ui-item-tooltip-logo-copy-primary{color:#dce8f8c7;font-family:var(--font-display);letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;font-size:.54rem}.ui-item-tooltip-logo-copy-secondary{color:#becee2a8;font-family:var(--font-display);letter-spacing:.03em;text-transform:uppercase;overflow-wrap:anywhere;font-size:.46rem;line-height:1.1}.ui-item-tooltip-logo-slot{opacity:.22;flex:0 0 42px;justify-content:center;align-items:center;width:42px;height:42px;display:inline-flex;overflow:hidden;transform:translateY(-2px)}.ui-item-tooltip-logo-slot.has-logo{opacity:1}.ui-item-tooltip-logo-image{object-fit:contain;filter:drop-shadow(0 2px 6px #00000040);width:100%;height:100%;display:block}.ui-item-tooltip-title-row{background:#04081299;border-radius:6px 6px 0 0;justify-content:space-between;align-items:baseline;gap:8px;margin:-4px -6px 0;padding:4px 6px;display:flex}.ui-item-tooltip-ql{font-family:var(--font-display);color:var(--text-muted);letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;flex-shrink:0;font-size:.68rem;font-weight:600}.ui-item-tooltip-title{color:var(--text-primary);font-family:var(--font-display);padding-right:16px;font-size:.96rem;line-height:1.2}.ui-item-tooltip-meta{color:var(--ui-tooltip-rarity,var(--text-primary));font-family:var(--font-display);font-size:.76rem;line-height:1.2}.ui-item-tooltip-submeta{color:var(--text-secondary);margin-top:0;font-size:.8rem;line-height:1.2}.ui-item-tooltip-meta-row{background:#04081280;border-radius:0 0 6px 6px;justify-content:space-between;align-items:center;gap:12px;margin:0 -6px;padding:5px 6px;display:flex}.ui-item-tooltip-meta-row .ui-item-tooltip-submeta{text-align:right;white-space:nowrap;margin-top:0}.ui-item-tooltip-section{margin-top:10px}.ui-item-tooltip-section-title{color:var(--text-primary);font-family:var(--font-display);text-transform:uppercase;letter-spacing:.06em;margin-bottom:4px;font-size:.72rem}.ui-item-tooltip-line{color:var(--text-secondary);font-size:.82rem;line-height:1.35}.ui-item-tooltip-card.compact .ui-item-tooltip-line{margin-top:4px}.ui-item-tooltip-footer-row{justify-content:space-between;align-items:baseline;gap:12px;margin-top:10px;display:flex}.ui-item-tooltip-footer{font-size:.8rem;line-height:1.25}.ui-item-tooltip-footer.can-use{color:#66e08a}.ui-item-tooltip-footer.cannot-use{color:#f77}.ui-item-tooltip-footer-right{color:var(--text-muted);white-space:nowrap;font-size:.74rem}.market-row-main{align-items:center;gap:12px;min-width:0;display:flex}.market-row-has-cost{padding-top:30px}.mineral-icon{border:2px solid #fff3;border-radius:50%;flex:none;justify-content:center;align-items:center;width:20px;height:20px;display:inline-flex;overflow:hidden}.mineral-icon img{object-fit:contain;width:100%;height:100%}.market-item-icon{justify-content:center;align-items:center;width:24px;height:24px;font-size:.72rem;font-weight:700;display:inline-flex;overflow:hidden}.market-item-icon img{object-fit:contain;width:100%;height:100%}.ore-row-icon{border:none;border-radius:0;width:32px;height:32px;box-shadow:none!important;background:0 0!important}.market-row-labels{min-width:0}.market-row-title{color:var(--text-primary);font-weight:700;line-height:1.2}.market-row-subtitle{color:var(--text-secondary);margin-top:2px;font-size:.84rem;line-height:1.2}.market-subsection-title{color:var(--text-secondary);letter-spacing:.06em;text-transform:uppercase;margin:16px 2px 8px;font-size:.8rem;font-weight:700}.market-price-value{color:var(--text-primary);font-weight:600}.market-price-value.modified{color:#8fd89a}.market-row-ql{color:var(--text-secondary);font-size:.82rem;font-weight:500}.market-row-actions{flex-wrap:wrap;flex:none;justify-content:flex-end;align-items:center;gap:10px;display:flex}.market-price-label{color:var(--accent-warning);white-space:nowrap;font-weight:700}.market-price-label.modified{color:#8fd89a}.market-action-btn{background:var(--accent-primary);min-width:78px;color:var(--bg-primary);transition:transform var(--transition-fast), opacity var(--transition-fast), background var(--transition-fast);border-radius:4px;padding:8px 12px;font-size:.82rem}.market-action-btn:hover:not(:disabled){transform:scale(1.04)}.market-action-btn:disabled{background:var(--border-color);cursor:not-allowed;opacity:.55}.market-storage-station{background:linear-gradient(#15153099,#080e1ab8);border:1px solid #ffffff14;border-radius:8px;margin-top:10px;padding:12px}.market-storage-station.remote{opacity:.58;filter:grayscale(.35)}.market-storage-station-header{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;justify-content:space-between;gap:12px;margin-bottom:10px;font-size:.82rem;display:flex}.storage-row-disabled{opacity:.72}.market-bulk-controls{background:linear-gradient(#151530bf,#080e1ad9);border:1px solid #ffffff14;border-radius:6px;flex-direction:column;gap:10px;padding:12px 14px;display:flex}.market-bulk-filter-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;font-size:.82rem}.market-bulk-filter-list{flex-wrap:wrap;gap:8px;display:flex}.market-rarity-toggle{color:var(--text-primary);background:#ffffff0a;border:1px solid #ffffff1f;border-radius:999px;align-items:center;gap:8px;padding:7px 10px;font-size:.8rem;display:inline-flex}.market-rarity-toggle.active{background:#00d8ff1f;border-color:#00d8ff80}.market-rarity-checkbox{width:14px;height:14px;color:var(--text-primary);border:1px solid #ffffff4d;border-radius:3px;justify-content:center;align-items:center;font-size:.7rem;line-height:1;display:inline-flex}.market-bulk-summary{color:var(--text-secondary);font-size:.84rem}.market-empty-state{color:var(--text-secondary);background:#ffffff08;border:1px dashed #ffffff1f;border-radius:6px;flex-direction:column;gap:8px;padding:12px 14px;display:flex}.shipyard-tier-caption{text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary);margin-top:14px;margin-bottom:6px;font-size:.75rem;font-weight:600}.shipyard-tier-caption:first-child{margin-top:0}.shipyard-ship-card{background:linear-gradient(#151530f2,#080e1af2);border:1px solid #ffffff14;border-radius:8px;overflow:hidden}.shipyard-ship-card+.shipyard-ship-card{margin-top:10px}.shipyard-ship-card.current{border-color:#00d8ff47}.shipyard-ship-toggle{width:100%;color:var(--text-primary);text-align:left;background:0 0;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex}.shipyard-ship-toggle:hover{background:#ffffff0a}.shipyard-ship-toggle-main,.shipyard-ship-toggle-side{align-items:center;gap:10px;display:flex}.shipyard-ship-toggle-main{flex-direction:column;align-items:flex-start;gap:4px}.shipyard-ship-title{font-family:var(--font-display);font-size:.95rem}.shipyard-ship-meta{color:var(--text-secondary);font-size:.82rem}.ship-specialization-badge{text-transform:uppercase;letter-spacing:.04em;color:#ffffffd9;vertical-align:middle;background:#ffffff1f;border-radius:4px;margin-left:6px;padding:2px 6px;font-size:.68rem;font-weight:600;display:inline-block}.ship-specialization-badge--mining{color:#a5d6a7f2;background:#81c78438}.ship-specialization-badge--freighter{color:#ffe082f2;background:#ffc1072e}.ship-specialization-badge--combat{color:#ffab91f2;background:#ef535033}.ship-specialization-badge--utility{color:#90caf9f2;background:#64b5f633}.shipyard-ship-status{font-size:.82rem;font-weight:700}.shipyard-ship-status.active{color:var(--accent-primary)}.shipyard-ship-status.owned{color:#8fd89a}.shipyard-ship-status.buyable{color:var(--accent-warning)}.shipyard-ship-status.locked{color:var(--text-secondary)}.shipyard-ship-chevron{text-align:center;width:22px;color:var(--text-secondary);font-size:1.1rem}.shipyard-ship-details{grid-template-columns:170px minmax(0,1fr);align-items:start;gap:16px;padding:0 16px 16px;display:grid}.shipyard-ship-specialization-row{grid-column:1/-1}.shipyard-ship-specialization-row .ship-specialization-box{margin-top:0}.shipyard-ship-preview,.shipyard-current-ship-card{background:#ffffff08;border:1px solid #ffffff14;border-radius:8px;padding:12px}.shipyard-ship-image,.shipyard-current-ship-image{image-rendering:auto;width:100%;max-width:150px;margin:0 auto 10px;display:block}.shipyard-current-ship-image{max-width:170px}.shipyard-ship-stats,.shipyard-current-ship-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;gap:8px;display:grid}.shipyard-ship-stat{color:var(--text-secondary);background:#ffffff08;border:1px solid #ffffff0f;border-radius:6px;justify-content:space-between;gap:10px;padding:8px 10px;font-size:.82rem;display:flex}.shipyard-ship-stat span:last-child{color:var(--text-primary);font-weight:700}.shipyard-ship-actions{justify-content:space-between;align-items:center;gap:12px;margin-top:12px;display:flex}.shipyard-ship-cost{color:var(--accent-warning);font-weight:700}.shipyard-ship-note{color:var(--text-secondary);font-size:.82rem}.shipyard-current-ship-name{text-align:center;font-family:var(--font-display);color:var(--text-primary);margin-bottom:12px;font-size:.98rem}.ship-specialization-box{background:#07121ee0;border:1px solid #7ef9ff24;border-radius:8px;margin-top:10px;padding:10px 12px}.ship-specialization-box.compact{width:100%}.ship-specialization-title{color:#7ef9ff;letter-spacing:.05em;text-transform:uppercase;font-size:.84rem;font-weight:700}.ship-specialization-summary{color:var(--text-primary);margin-top:6px;font-size:.82rem;line-height:1.45}.ship-specialization-list{color:var(--text-secondary);margin:8px 0 0;padding-left:18px;font-size:.8rem;line-height:1.45}.market-row-common{border-color:#b8c1d12e}.market-row-uncommon{border-color:#55d98c40}.market-row-rare{border-color:#44a8ff47}.market-row-epic{border-color:#c576ff52}.shipyard-craft-layout{flex-direction:column;gap:14px;display:flex}.shipyard-craft-recipes{flex-direction:column;gap:10px;display:flex}.shipyard-craft-slot-filters{flex-wrap:wrap;gap:4px;margin-bottom:8px;display:flex}.shipyard-craft-slot-btn{color:var(--text-secondary);font-size:.72rem;font-family:var(--font-display);cursor:pointer;transition:background var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast);background:#ffffff08;border:1px solid #ffffff14;border-radius:6px;padding:5px 10px}.shipyard-craft-slot-btn:hover:not(:disabled){border-color:var(--accent-secondary);color:var(--accent-secondary)}.shipyard-craft-slot-btn.active{border-color:var(--accent-primary);color:var(--accent-primary);background:#00ff8814}.shipyard-craft-tier-tabs{flex-wrap:wrap;gap:8px;display:flex}.shipyard-craft-tier-btn{color:var(--text-secondary);transition:background var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast), transform var(--transition-fast);background:#ffffff0a;border:1px solid #ffffff1f;border-radius:999px;padding:7px 12px;font-size:.8rem;font-weight:700}.shipyard-craft-tier-btn:hover:not(:disabled){color:var(--text-primary);transform:translateY(-1px)}.shipyard-craft-tier-btn.active{color:var(--text-primary);background:#00d8ff1f;border-color:#00d8ff6b}.shipyard-craft-tier-btn:disabled{opacity:.55;cursor:not-allowed}.shipyard-craft-select-btn{width:100%;color:var(--text-primary);text-align:left;background:linear-gradient(#151530eb,#080e1aeb);border:1px solid #ffffff14;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}.shipyard-craft-select-btn.active{background:linear-gradient(#0a3040c7,#080e1aeb);border-color:#00d8ff61}.shipyard-craft-select-main{flex-direction:column;gap:4px;min-width:0;display:flex}.shipyard-craft-select-title{font-weight:700}.shipyard-craft-select-meta,.shipyard-craft-preview-meta,.shipyard-craft-range-meta{color:var(--text-secondary);font-size:.82rem}.shipyard-craft-select-stats{color:var(--accent-secondary);opacity:.85;font-size:.75rem}.shipyard-craft-select-icon{background:#ffffff0f;border-radius:8px;justify-content:center;align-items:center;width:30px;height:30px;font-weight:700;display:inline-flex;overflow:hidden}.shipyard-craft-select-icon img{object-fit:contain;width:100%;height:100%}.shipyard-craft-preview-card{background:linear-gradient(#151530e6,#080e1af2);border:1px solid #ffffff14;border-radius:10px;flex-direction:column;gap:12px;padding:14px;display:flex;position:relative}.shipyard-craft-preview-card.crafting-active{border-color:#72edff47;overflow:hidden;box-shadow:inset 0 0 0 1px #72edff14,0 0 24px #00d8ff14}.shipyard-craft-preview-card.crafting-active:before{content:"";pointer-events:none;background:radial-gradient(circle,#72edff1f,#0000 62%);width:140%;height:70%;animation:1.9s ease-in-out infinite shipyardCraftGlow;position:absolute;inset:-20% auto auto -10%}.shipyard-craft-preview-header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.shipyard-craft-preview-title{font-family:var(--font-display);color:var(--text-primary);font-size:.98rem}.shipyard-craft-anim-header{justify-content:space-between;align-items:center;gap:16px;display:flex}.shipyard-craft-core{flex:none;width:74px;height:74px;position:relative}.shipyard-craft-core-ring,.shipyard-craft-core-center{border-radius:50%;position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%)}.shipyard-craft-core-ring{border:1px solid #72edff33}.shipyard-craft-core-ring.ring-a{width:72px;height:72px;animation:3.2s linear infinite shipyardCraftSpin}.shipyard-craft-core-ring.ring-b{border-color:#62ffb73d;width:54px;height:54px;animation:2.4s linear infinite shipyardCraftSpinReverse}.shipyard-craft-core-ring.ring-c{border-color:#ffffff29;width:38px;height:38px;animation:1.35s ease-in-out infinite shipyardCraftPulse}.shipyard-craft-core-center{width:28px;height:28px;color:var(--text-primary);background:radial-gradient(circle at 35% 35%,#ffffff4d,#00d8ff33 45%,#080e1af5 100%);justify-content:center;align-items:center;font-size:.84rem;font-weight:700;display:inline-flex;box-shadow:0 0 18px #00d8ff2e}.shipyard-craft-selected-ores{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.shipyard-craft-ore-slot{color:var(--text-secondary);background:#ffffff08;border:1px dashed #ffffff24;border-radius:8px;flex-direction:column;align-items:center;gap:4px;padding:10px 12px;font-size:.82rem;display:flex}.shipyard-craft-ore-icon{width:22px;height:22px}.shipyard-craft-ore-slot strong{color:var(--text-primary)}.shipyard-craft-ore-slot.filled{background:linear-gradient(#72edff14,#ffffff08);border-style:solid;border-color:#72edff33}.shipyard-craft-range{color:var(--text-primary);font-size:.9rem}.shipyard-craft-autofill-btn{border:1px solid var(--accent-secondary);color:var(--accent-secondary);font-family:var(--font-display);cursor:pointer;vertical-align:middle;transition:background var(--transition-fast), color var(--transition-fast);background:0 0;border-radius:6px;margin-left:8px;padding:3px 10px;font-size:.7rem;display:inline-block}.shipyard-craft-autofill-btn:hover:not(:disabled){background:var(--accent-secondary);color:var(--bg-primary)}.shipyard-craft-autofill-btn:disabled{opacity:.4;cursor:not-allowed}.shipyard-craft-rarity-warning{color:var(--accent-warning);font-weight:600}.shipyard-craft-preview-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.shipyard-craft-preview-tier{background:#ffffff08;border:1px solid #ffffff14;border-radius:8px;flex-direction:column;gap:8px;padding:10px;display:flex}.shipyard-craft-tooltip-card{background:linear-gradient(#ffffff0f,#ffffff04),radial-gradient(circle at 0 0,#ffffff14,#0000 46%),linear-gradient(#0b1423f5,#070d18fa);border-radius:12px;padding:12px;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffff0d,0 8px 18px #0000002e}.shipyard-craft-tooltip-card:before{content:"";background:linear-gradient(180deg, var(--craft-rarity-accent,#72edfff2), #72edff2e);opacity:.9;width:3px;position:absolute;inset:0 auto 0 0}.shipyard-craft-preview-tier-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;font-size:.78rem}.shipyard-craft-tooltip-badge{color:var(--text-secondary);font-family:var(--font-display);letter-spacing:.05em;text-transform:uppercase;background:#ffffff0a;border:1px solid #ffffff14;border-radius:999px;align-self:flex-start;padding:3px 8px;font-size:.72rem}.shipyard-craft-preview-tier-main{align-items:center;gap:10px;display:flex}.shipyard-craft-tooltip-header{align-items:flex-start}.shipyard-craft-preview-icon{flex:none}.shipyard-craft-tooltip-icon{border-radius:10px;width:34px;height:34px;box-shadow:0 0 12px #72edff1f}.shipyard-craft-tooltip-header-copy{flex-direction:column;gap:3px;min-width:0;display:flex}.shipyard-craft-preview-name{color:var(--text-primary);font-size:.88rem;font-weight:700;font-family:var(--font-display)}.shipyard-craft-preview-stats{color:var(--text-secondary);flex-direction:column;gap:4px;font-size:.8rem;display:flex}.shipyard-craft-tooltip-meta-row{color:var(--text-secondary);justify-content:space-between;align-items:center;gap:10px;font-size:.78rem;display:flex}.shipyard-craft-tooltip-rarity{font-family:var(--font-display);font-size:.8rem}.shipyard-craft-tooltip-weight{white-space:nowrap}.shipyard-craft-tooltip-section{gap:5px}.shipyard-craft-tooltip-section-title{color:var(--text-primary);font-family:var(--font-display);letter-spacing:.06em;text-transform:uppercase;font-size:.74rem}.shipyard-craft-tooltip-footer{color:var(--text-secondary);text-align:right;margin-top:auto;padding-top:2px;font-size:.76rem}.shipyard-craft-ore-list{flex-direction:column;gap:10px;display:flex}.shipyard-craft-ore-btn{text-align:left;width:100%;color:inherit}.shipyard-craft-ore-btn.selected{border-color:#72edff66;box-shadow:inset 0 0 0 1px #72edff26}.shipyard-craft-ore-state{color:var(--accent-secondary);white-space:nowrap;font-size:.82rem;font-weight:700}.shipyard-craft-progress-bar{background:#ffffff14;border-radius:999px;width:100%;height:12px;position:relative;overflow:hidden}.shipyard-craft-progress-fill{background:linear-gradient(90deg,#72edfff2,#62ffb7f2);height:100%;transition:width .18s linear;position:relative}.shipyard-craft-progress-fill:after{content:"";background:linear-gradient(90deg,#0000,#ffffffb3,#0000);width:36px;height:100%;animation:1.1s linear infinite shipyardCraftShimmer;position:absolute;top:0;right:0}.shipyard-craft-progress-meta{color:var(--text-secondary);justify-content:space-between;gap:12px;font-size:.82rem;display:flex}.shipyard-craft-scanline{background:#ffffff0a;border-radius:999px;height:6px;position:relative;overflow:hidden}.shipyard-craft-scanline:after{content:"";background:linear-gradient(90deg,#0000,#72edffb3,#0000);width:22%;animation:1.45s ease-in-out infinite shipyardCraftSweep;position:absolute;inset:0 auto 0 -22%}.craft-result-card{background:linear-gradient(#151530f2,#080e1af2);border:1px solid #ffffff1a;border-radius:10px;flex-direction:column;gap:10px;padding:16px;display:flex}.craft-result-rarity{letter-spacing:.08em;text-transform:uppercase;font-size:.82rem;font-weight:700}.craft-result-name{font-family:var(--font-display);color:var(--text-primary);font-size:1.15rem}.craft-result-meta,.craft-result-stats{color:var(--text-secondary)}.craft-result-stats{flex-direction:column;gap:6px;display:flex}@keyframes shipyardCraftSpin{0%{transform:translate(-50%,-50%)rotate(0)}to{transform:translate(-50%,-50%)rotate(360deg)}}@keyframes shipyardCraftSpinReverse{0%{transform:translate(-50%,-50%)rotate(360deg)}to{transform:translate(-50%,-50%)rotate(0)}}@keyframes shipyardCraftPulse{0%,to{opacity:.65;transform:translate(-50%,-50%)scale(.94)}50%{opacity:1;transform:translate(-50%,-50%)scale(1.08)}}@keyframes shipyardCraftGlow{0%,to{opacity:.55;transform:translateY(0)}50%{opacity:1;transform:translateY(4px)}}@keyframes shipyardCraftShimmer{0%{transform:translate(100%)}to{transform:translate(-220%)}}@keyframes shipyardCraftSweep{0%{transform:translate(0)}to{transform:translate(560%)}}.character-ship-card{background:radial-gradient(circle at top,#00d8ff14,#060c18eb);border:1px solid #ffffff14;border-radius:8px;flex-direction:column;align-items:center;gap:12px;padding:18px;display:flex}.character-ship-image{object-fit:contain;filter:drop-shadow(0 10px 18px #00000073);width:min(100%,260px);height:auto;max-height:220px}.character-ship-name{font-family:var(--font-display);color:var(--text-primary);text-align:center;letter-spacing:.06em;font-size:1.05rem}.character-ship-tier{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.08em;font-size:.92rem}.ship-xp-bar-container{width:100%;max-width:220px;margin:8px auto 4px}.ship-xp-bar{background:#ffffff14;border-radius:999px;width:100%;height:6px;position:relative;overflow:hidden}.ship-xp-bar-fill{background:linear-gradient(90deg,#72edffe6,#62ffb7e6);border-radius:999px;height:100%;transition:width .3s}.ship-xp-bar-fill.maxed{background:linear-gradient(90deg,#ffd750f2,#ffaa32f2)}.ship-xp-label{color:var(--text-muted);text-align:center;letter-spacing:.03em;margin-top:3px;font-size:.68rem}.refinery-level-header{border-bottom:1px solid var(--border-color);align-items:center;gap:10px;margin-bottom:12px;padding:10px 0 14px;display:flex}.refinery-level-label{font-family:var(--font-display);color:var(--accent-secondary);white-space:nowrap;font-size:.82rem;font-weight:700}.refinery-xp-label{color:var(--text-muted);white-space:nowrap;font-size:.68rem}.refinery-mineral-group{margin-bottom:14px}.refinery-mineral-title{font-family:var(--font-display);color:var(--text-primary);text-transform:uppercase;letter-spacing:.06em;cursor:pointer;-webkit-user-select:none;user-select:none;transition:color var(--transition-fast);border-bottom:1px solid #ffffff0f;align-items:center;gap:6px;margin-bottom:0;padding:8px 6px;font-size:.78rem;font-weight:700;display:flex}.refinery-mineral-title:hover{color:var(--accent-secondary)}.refinery-collapse-icon{color:var(--text-secondary);width:10px;font-size:.6rem}.refinery-ready-badge{background:var(--accent-primary);color:var(--bg-primary);border-radius:8px;margin-left:4px;padding:1px 5px;font-size:.6rem;font-weight:700}.refinery-mineral-group.collapsed .refinery-mineral-title{border-bottom-color:#0000;margin-bottom:0}.refinery-recipe{background:#ffffff05;border-radius:6px;justify-content:space-between;align-items:center;gap:10px;margin-bottom:4px;padding:8px 10px;display:flex}.refinery-recipe.locked{opacity:.45}.refinery-recipe.ready{background:#55d98c0f}.refinery-recipe-info{flex-direction:column;gap:2px;display:flex}.refinery-recipe-conversion{color:var(--text-primary);font-size:.82rem}.refinery-recipe-stock{color:var(--text-muted);font-size:.7rem}.refinery-recipe-lock{color:var(--accent-warning);font-size:.7rem}.refinery-ore-row{border-bottom:1px solid #ffffff0a;justify-content:space-between;padding:6px 0;display:flex}.refinery-ore-name{font-size:.82rem}.refinery-ore-count{color:var(--text-secondary);font-size:.82rem;font-weight:600}.character-ship-card .ship-specialization-box{align-self:stretch}.character-stats-section{flex-direction:column;display:flex}.stat-row{border-bottom:1px solid #ffffff14;justify-content:space-between;gap:16px;padding:7px 0;display:flex}.stat-label{color:var(--text-secondary)}.stat-value{color:var(--text-primary);text-align:right;font-weight:600}.stat-value.stat-modified{color:#55d98c;cursor:help}.stat-row.has-breakdown{position:relative}.stat-breakdown-tooltip{z-index:90;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);opacity:0;visibility:hidden;pointer-events:none;background:linear-gradient(#ffffff17,#ffffff03),linear-gradient(#080c1cf5,#0e142af0);border:1px solid #a8d8ff3d;border-radius:10px;min-width:190px;padding:10px 12px;transition:opacity .15s,transform .15s,visibility .15s;position:absolute;bottom:calc(100% + 8px);right:0;transform:translateY(4px);box-shadow:0 14px 32px #00000073}.stat-row.has-breakdown:hover .stat-breakdown-tooltip{opacity:1;visibility:visible;transform:translateY(0)}.stat-breakdown-row{justify-content:space-between;gap:16px;padding:3px 0;display:flex}.stat-breakdown-label{color:var(--text-secondary);font-size:.76rem}.stat-breakdown-val{color:var(--text-primary);text-align:right;font-size:.76rem;font-weight:600}.stat-breakdown-row.source .stat-breakdown-val{color:#55d98c}.stat-breakdown-row.total{border-top:1px solid #ffffff1a;margin-top:3px;padding-top:5px}.stat-breakdown-row.total .stat-breakdown-label,.stat-breakdown-row.total .stat-breakdown-val{color:var(--text-primary);font-weight:700}.stat-level-bars{margin-bottom:14px}.stat-level-bar-general{background:#ffffff1f;border-radius:3px;width:100%;height:20px;margin-bottom:8px;position:relative;overflow:hidden}.stat-level-bar-general-fill{background:#ffffffe0;border-radius:3px;height:100%;position:absolute;top:0;left:0}.stat-level-bar-general-text{color:#000;text-shadow:0 0 4px #0000004d;font-family:Orbitron,sans-serif;font-size:11px;font-weight:600;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.stat-level-bar-general .stat-level-tick{background:#ffffff14;width:1px;position:absolute;top:2px;bottom:2px}.stat-level-bars-row{grid-template-columns:1fr 1fr 1fr;gap:6px;display:grid}.stat-level-bars-bottom{grid-template-columns:1fr 2fr;gap:6px;margin-top:6px;display:grid}.stat-level-bar{background:#00000080;border-radius:2px;height:14px;position:relative;overflow:hidden}.stat-level-bar-fill{opacity:.7;border-radius:2px;height:100%;position:absolute;top:0;left:0}.stat-level-bar-text{color:#fff;text-shadow:0 1px 2px #000c;white-space:nowrap;font-family:Orbitron,sans-serif;font-size:8px;font-weight:600;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.stat-credits-display{justify-content:flex-end;align-items:center;gap:5px;display:flex}.stat-credits-display span{color:#da5;font-family:Orbitron,sans-serif;font-size:13px;font-weight:600}.stat-divider{background:#ffffff0f;height:1px;margin:4px 0 12px}.stat-filter-tabs{flex-wrap:wrap;gap:4px;margin-bottom:12px;display:flex}.stat-filter-tab{color:#778;cursor:pointer;background:#ffffff0a;border:1px solid #ffffff14;border-radius:4px;padding:3px 10px;font-family:inherit;font-size:11px;transition:background .15s,color .15s,border-color .15s}.stat-filter-tab:hover{color:#aab;background:#ffffff14}.stat-filter-tab.active{color:#4de1ff;background:#4de1ff26;border-color:#4de1ff4d;font-weight:600}.stat-grid{grid-template-columns:1fr 1fr 1fr;gap:8px;display:grid}.stat-card{text-align:center;cursor:pointer;background:#ffffff08;border:1px solid #ffffff0f;border-radius:6px;padding:8px 6px;transition:border-color .15s,background .15s;position:relative}.stat-card:hover{background:#ffffff0d;border-color:#ffffff26}.stat-card-value{color:#ccc;text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:13px;font-weight:700;overflow:hidden}.stat-card-value.stat-modified{color:#55d98c}.stat-card-label{color:#889;text-transform:uppercase;letter-spacing:.8px;font-size:8px}.stat-card-wide-2{grid-column:span 2}.stat-card-wide-3{grid-column:span 3}.stat-card-inline{justify-content:center;align-items:center;gap:6px;display:flex}.stat-card-inline .stat-card-label{margin-top:3px}.stat-card-inline .stat-card-value{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.stat-card .stat-breakdown-tooltip{z-index:10;min-width:190px;max-width:280px;bottom:calc(100% + 8px);left:50%;right:auto;transform:translate(-50%)translateY(0)}.stat-card:hover .stat-breakdown-tooltip{opacity:1;visibility:visible;transform:translate(-50%)translateY(0)}.stat-card.tooltip-below .stat-breakdown-tooltip{top:calc(100% + 8px);bottom:auto}.cargo-bar{background:var(--bg-secondary);height:24px;margin-bottom:var(--spacing-md);border-radius:4px;position:relative;overflow:hidden}#inventory-controls{margin-bottom:12px}#hud-action-buttons{z-index:320;align-items:center;gap:10px;display:flex;position:fixed;bottom:76px;left:20px}#party-button,#scan-button{min-width:112px;color:var(--accent-secondary);font-family:var(--font-display);letter-spacing:.08em;text-transform:uppercase;background:#060e1aeb;border:1px solid #00d8ff59;border-radius:8px;padding:10px 16px;font-size:.88rem;box-shadow:0 8px 18px #00000047}#scan-button{justify-content:center;align-items:center;width:46px;min-width:0;padding:10px;display:inline-flex}#party-button:hover,#scan-button:hover{color:var(--text-primary);border-color:#00d8ff99}#scan-button svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:18px;height:18px}#scan-button .scan-dot{fill:currentColor;stroke:none}.scan-panel{background:#060e1ae0;border:1px solid #00d8ff33;border-radius:10px;align-items:center;gap:4px;padding:4px;display:flex}.scan-toggles{gap:2px;display:flex}.scan-toggle{cursor:pointer;transition:border-color var(--transition-fast), background var(--transition-fast);background:#ffffff08;border:1px solid #ffffff14;border-radius:6px;flex-direction:column;align-items:center;gap:1px;min-width:30px;padding:4px 6px;display:flex}.scan-toggle:hover{background:#ffffff0f;border-color:#fff3}.scan-toggle.active{border-color:var(--accent-primary);background:#00ff881a}.scan-divider{background:#ffffff1f;flex-shrink:0;width:1px;height:24px;margin:0 2px}.scan-toggle-dot{border-radius:50%;width:8px;height:8px}.scan-toggle-label{font-family:var(--font-display);color:var(--text-secondary);letter-spacing:.04em;font-size:.55rem}.scan-toggle.active .scan-toggle-label{color:var(--text-primary)}.scan-go-btn{width:36px;min-width:0;height:36px;color:var(--accent-secondary);cursor:pointer;transition:border-color var(--transition-fast), background var(--transition-fast);background:#00d8ff14;border:1px solid #00d8ff59;border-radius:8px;justify-content:center;align-items:center;padding:6px;display:inline-flex}.scan-go-btn:hover{background:#00d8ff26;border-color:#00d8ff99}.scan-go-btn svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:18px;height:18px}.scan-go-btn .scan-dot{fill:currentColor;stroke:none}body.mobile-ui #hud-action-buttons,body.mobile-ui #perk-quick-buttons{display:none}body.mobile-ui #game-canvas,body.mobile-ui #mobile-controls,body.mobile-ui #mobile-joystick-zone{touch-action:none;-webkit-user-select:none;user-select:none}body.mobile-ui #mobile-joystick-zone{left:max(12px, env(safe-area-inset-left));bottom:max(14px, env(safe-area-inset-bottom));z-index:330;width:min(42vw,190px);height:min(42vw,190px);position:fixed}body.mobile-ui #mobile-joystick-base{background:radial-gradient(circle at 35% 35%,#50aaff38,#060c1aad);border:1px solid #82dcff4d;border-radius:50%;width:min(26vw,118px);height:min(26vw,118px);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:inset 0 1px 10px #ffffff14,0 10px 24px #0000004d}body.mobile-ui #mobile-joystick-base.active{border-color:#82dcff85;box-shadow:inset 0 1px 12px #ffffff1f,0 12px 30px #0000005c}body.mobile-ui #mobile-joystick-thumb{background:radial-gradient(circle at 32% 32%,#ffffffb3,#4baaff4d 48%,#0f233ccc);border:1px solid #b4f2ff59;border-radius:50%;width:min(12vw,54px);height:min(12vw,54px);transition:transform 60ms linear;position:absolute;top:calc(50% - min(6vw,27px));left:calc(50% - min(6vw,27px));box-shadow:0 8px 18px #00000052}body.mobile-ui #mobile-controls{right:max(12px, env(safe-area-inset-right));bottom:max(14px, env(safe-area-inset-bottom));z-index:330;pointer-events:none;position:fixed}body.mobile-ui #mobile-right-controls{pointer-events:auto;flex-direction:column;align-items:end;gap:8px;display:flex}body.mobile-ui #mobile-combat-buttons{align-items:end;gap:8px;display:flex}body.mobile-ui #mobile-fire-button,body.mobile-ui #mobile-boost-button{color:#fff9f9;letter-spacing:.08em;text-transform:uppercase;border-radius:50%;justify-content:center;align-items:center;width:82px;height:82px;font-size:.82rem;font-weight:700;display:inline-flex;box-shadow:0 14px 28px #00000052}body.mobile-ui #mobile-fire-button{background:radial-gradient(circle at 35% 35%,#ffa6a6f5,#d62a2aeb);border:1px solid #ff7d7d7a}body.mobile-ui #mobile-boost-button{background:radial-gradient(circle at 35% 35%,#aaeeffeb,#2080d6e6);border:1px solid #6ed7ff6b;width:62px;height:62px;font-size:.68rem}body.mobile-ui #mobile-fire-button:active,body.mobile-ui #mobile-boost-button:active{transform:scale(.97)}body.mobile-ui #mobile-fire-button:disabled,body.mobile-ui #mobile-boost-button:disabled{opacity:.4}body.mobile-ui #mobile-utility-row{gap:8px;display:flex}body.mobile-ui #mobile-scan-button,body.mobile-ui #mobile-menu-button{color:#e8f7ffeb;letter-spacing:.08em;text-transform:uppercase;background:#070e1ae0;border:1px solid #00d8ff47;border-radius:12px;min-width:74px;min-height:42px;padding:8px 10px;font-size:.68rem;font-weight:700;box-shadow:0 8px 18px #00000042}body.mobile-ui #mobile-action-grid{grid-template-columns:repeat(2,minmax(0,74px));gap:8px;display:grid}body.mobile-ui #mobile-action-grid.collapsed{display:none}body.mobile-ui #mobile-action-grid button{color:#e8f7ffeb;letter-spacing:.08em;text-transform:uppercase;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#070e1ae0;border:1px solid #00d8ff47;border-radius:12px;min-height:42px;padding:8px 10px;font-size:.68rem;font-weight:700;box-shadow:0 8px 18px #00000042}body.mobile-ui #mobile-action-grid button:active{transform:scale(.98)}body.mobile-ui #upgrade-panel,body.mobile-ui #perk-panel,body.mobile-ui #character-panel,body.mobile-ui #market-panel,body.mobile-ui #party-panel,body.mobile-ui #corp-panel,body.mobile-ui #options-panel,body.mobile-ui #craft-result-panel{padding:max(10px, env(safe-area-inset-top)) max(10px, env(safe-area-inset-right)) max(10px, env(safe-area-inset-bottom)) max(10px, env(safe-area-inset-left));justify-content:center;align-items:stretch}body.mobile-ui #upgrade-panel>*,body.mobile-ui #perk-panel>*,body.mobile-ui #character-panel>*,body.mobile-ui #market-panel>*,body.mobile-ui #party-panel>*,body.mobile-ui #corp-panel>*,body.mobile-ui #options-panel>*,body.mobile-ui #craft-result-panel>*{width:min(100%,920px);max-height:calc(100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 20px);overflow:auto}body.mobile-ui #chat-panel{left:max(12px, env(safe-area-inset-left));right:max(12px, env(safe-area-inset-right));bottom:calc(max(14px, env(safe-area-inset-bottom)) + 148px);width:auto;max-width:none}body.mobile-ui[data-device-mode=phone] #mobile-fire-button{width:78px;height:78px}body.mobile-ui[data-device-mode=phone] #mobile-boost-button{width:58px;height:58px}.party-invite-row{gap:10px;display:flex}.party-invite-row input{min-width:0;color:var(--text-primary);background:#00000047;border:1px solid #ffffff1a;border-radius:6px;flex:1;padding:10px 12px}.party-action-btn{color:var(--accent-secondary);text-transform:uppercase;letter-spacing:.06em;background:#00d8ff1f;border:1px solid #00d8ff52;border-radius:6px;padding:9px 14px;font-weight:700}.party-action-btn:hover{color:var(--text-primary);border-color:#00d8ff8c}.party-action-btn.secondary{color:var(--text-secondary);background:#ffffff0a;border-color:#ffffff1f}.party-inline-actions{flex-wrap:wrap;gap:10px;margin-top:12px;display:flex}.party-empty-state{color:var(--text-muted);font-size:.88rem}.party-invite-card{background:#00d8ff0d;border:1px solid #00d8ff26;border-radius:8px;padding:12px 14px}.party-invite-copy{color:var(--text-primary);line-height:1.4}.party-member-row{background:#ffffff08;border:1px solid #ffffff14;border-radius:8px;padding:12px 14px}.party-member-row+.party-member-row{margin-top:10px}.party-member-name-row{align-items:center;gap:8px;margin-bottom:4px;display:flex}.party-member-name{color:var(--text-primary);font-weight:700}.party-member-badge{color:var(--accent-secondary);text-transform:uppercase;letter-spacing:.06em;background:#00d8ff1f;border-radius:999px;padding:2px 7px;font-size:.7rem}.party-member-meta{color:var(--text-secondary);font-size:.82rem}.party-member-hp-bar{background:#00000059;border-radius:999px;height:8px;margin:10px 0 8px;overflow:hidden}.party-member-hp-bar span{background:linear-gradient(90deg,#ff6b6b,#6cff9a);height:100%;display:block}.inventory-toggle-row{cursor:pointer;background:#ffffff08;border:1px solid #ffffff14;border-radius:8px;justify-content:space-between;align-items:center;gap:16px;padding:12px 14px;display:flex}.inventory-toggle-copy{flex-direction:column;gap:4px;display:flex}.inventory-toggle-title{color:var(--text-primary);font-weight:700}.inventory-toggle-description{color:var(--text-secondary);font-size:.83rem;line-height:1.35}.inventory-toggle-checkbox{min-width:58px;color:var(--text-secondary);letter-spacing:.08em;background:#ffffff0a;border:1px solid #ffffff1f;border-radius:999px;justify-content:center;align-items:center;padding:7px 12px;font-size:.76rem;font-weight:700;display:inline-flex;position:relative}.inventory-toggle-checkbox.checked{color:var(--accent-primary);background:#00d8ff1f;border-color:#00d8ff73}.inventory-toggle-checkbox input{opacity:0;pointer-events:none;position:absolute}.inventory-select{color:var(--text-primary);font-family:var(--font-display);cursor:pointer;background:#151530;border:1px solid #ffffff1f;border-radius:8px;flex-shrink:0;padding:7px 12px;font-size:.75rem}.inventory-select option{color:var(--text-primary);background:#151530}.inventory-select:focus{border-color:var(--accent-secondary);outline:none}.options-action-btn{width:100%;color:var(--text-primary);letter-spacing:.04em;transition:transform var(--transition-fast), background var(--transition-fast), border-color var(--transition-fast);background:#00d8ff1f;border:1px solid #00d8ff47;border-radius:8px;margin-top:14px;padding:10px 14px;font-weight:700}.options-action-btn:hover{background:#00d8ff2e;border-color:#00d8ff73;transform:translateY(-1px)}#tutorial-overlay{z-index:650;max-width:min(420px,100vw - 48px);transition:opacity var(--transition-fast), visibility var(--transition-fast);position:fixed;top:190px;left:24px}#tutorial-overlay.tutorial-dragged{transition:opacity var(--transition-fast), visibility var(--transition-fast)}.tutorial-card{cursor:grab}.tutorial-card:active{cursor:grabbing}#tutorial-overlay.hidden{opacity:0;visibility:hidden;pointer-events:none}body.mobile-ui #tutorial-overlay,#tutorial-overlay.mobile-tutorial{width:min(420px, calc(100vw - 24px - env(safe-area-inset-left) - env(safe-area-inset-right)));max-width:none;transform:translate(-50%);left:50%!important;top:max(12px, env(safe-area-inset-top))!important;bottom:auto!important}body.mobile-ui #tutorial-overlay.tutorial-overlay-bottom,#tutorial-overlay.mobile-tutorial.tutorial-overlay-bottom{top:auto;bottom:max(12px, env(safe-area-inset-bottom))}.tutorial-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#050a12db;border:1px solid #00d8ff38;border-radius:12px;padding:16px 18px;box-shadow:0 12px 26px #00000059}body.mobile-ui .tutorial-card,#tutorial-overlay.mobile-tutorial .tutorial-card{background:#050a12eb;border-radius:14px;padding:14px 16px;box-shadow:0 10px 24px #00000057}.tutorial-progress{color:var(--accent-secondary);letter-spacing:.08em;text-transform:uppercase;margin-bottom:8px;font-size:.78rem;font-weight:700}#tutorial-title{color:var(--text-primary);font-family:var(--font-display);margin:0 0 8px;font-size:1rem}#tutorial-body{color:var(--text-secondary);margin:0;font-size:.92rem;line-height:1.45}.tutorial-actions{justify-content:flex-end;margin-top:14px;display:flex}body.mobile-ui .tutorial-actions,#tutorial-overlay.mobile-tutorial .tutorial-actions{justify-content:space-between;align-items:center}.tutorial-skip-btn,.tutorial-confirm-btn{color:var(--text-primary);background:#ffffff0f;border:1px solid #ffffff24;border-radius:8px;padding:8px 12px;font-weight:700}.tutorial-confirm{margin-top:10px}body.mobile-ui .tutorial-confirm-card,#tutorial-overlay.mobile-tutorial .tutorial-confirm-card{border-radius:12px}.tutorial-confirm.hidden{display:none}.tutorial-confirm-card{background:#080c14f2;border:1px solid #ffffff14;border-radius:10px;padding:12px 14px}.tutorial-confirm-text{color:var(--text-primary);font-size:.88rem;line-height:1.4}.tutorial-confirm-actions{justify-content:flex-end;gap:10px;margin-top:12px;display:flex}.tutorial-confirm-btn.danger{background:#ff64641f;border-color:#ff646459}.tutorial-highlight-target{border-color:#ffe478d1;animation:1.15s ease-in-out infinite tutorial-highlight-pulse;position:relative;box-shadow:0 0 0 2px #ffe47847,0 0 18px #ffe47852}@keyframes tutorial-highlight-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.cargo-fill{background:linear-gradient(90deg, var(--accent-secondary), var(--accent-primary));height:100%;transition:width var(--transition-normal)}.cargo-text{text-shadow:0 1px 2px #000c;font-size:.85rem;font-weight:600;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.empty-cargo{color:var(--text-muted);text-align:center;padding:var(--spacing-sm);font-style:italic}.cargo-grid{grid-template-columns:repeat(auto-fill,minmax(78px,1fr));gap:6px;display:grid}.cargo-slot{aspect-ratio:1;text-align:center;background:#0c1020cc;border:2px solid #ffffff0f;border-radius:6px;flex-direction:column;justify-content:flex-end;align-items:center;gap:1px;padding:6px 5px 5px;transition:border-color .15s,background .15s;display:flex;position:relative;overflow:visible}.cargo-slot .cargo-slot-icon{position:absolute;top:50%;left:50%;transform:translate(-50%,-55%)}.cargo-slot:hover,.cargo-slot:focus-within{z-index:90;background:#141a34f2}.cargo-slot-empty{background:#080a1680;border-style:dashed;border-color:#ffffff0a}.market-row:hover,.market-row:focus-within{z-index:90}.item-cost-badge{pointer-events:none;z-index:3;background:#000000b8;border-radius:6px;flex-direction:column;align-items:flex-end;gap:1px;padding:3px 6px;display:inline-flex;box-shadow:0 2px 12px #0000004d}.item-cost-badge-label{color:#e6eef8b8;letter-spacing:.08em;text-transform:uppercase;font-size:.52rem;font-weight:700;line-height:1}.item-cost-badge-value{color:var(--accent-warning);font-size:.66rem;font-weight:700;line-height:1.05}.cargo-slot-cost-badge{max-width:calc(100% - 4px);position:absolute;top:2px;right:2px}.market-row-cost-badge{position:absolute;top:8px;right:12px}.cargo-slot-common{border-color:#b8c1d147}.cargo-slot-uncommon{border-color:#55d98c8c;box-shadow:inset 0 0 8px #55d98c14}.cargo-slot-rare{border-color:#44a8ff99;box-shadow:inset 0 0 8px #44a8ff1a}.cargo-slot-epic{border-color:#c576ffa6;box-shadow:inset 0 0 10px #c576ff1f}.cargo-slot-icon{width:56px;height:56px;box-shadow:none;color:var(--text-primary);background:0 0;border:none;border-radius:0;flex-shrink:0;justify-content:center;align-items:center;font-size:.7rem;font-weight:700;display:inline-flex;overflow:visible}.cargo-slot-icon img{object-fit:contain;width:100%;height:100%}.cargo-slot-name{z-index:1;color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:.64rem;font-weight:600;line-height:1.1;position:relative;overflow:hidden}.cargo-slot-count{z-index:3;color:#fffffff2;pointer-events:none;background:#0000008c;border-radius:4px;padding:1px 4px;font-size:.6rem;font-weight:700;line-height:1.2;position:absolute;top:3px;right:4px}.cargo-slot:not(.cargo-slot-empty):before{content:"";pointer-events:none;z-index:1;background:linear-gradient(#0000 50%,#04061080 70%,#040610d9 100%);border-radius:4px;position:absolute;inset:0}.cargo-eject-btn{color:#ffb4b400;text-align:center;cursor:pointer;z-index:2;background:#ff3c3c00;border:none;border-radius:50%;width:16px;height:16px;padding:0;font-size:12px;font-weight:700;line-height:16px;transition:background .15s,color .15s;position:absolute;top:2px;right:2px}.cargo-slot:hover .cargo-eject-btn{color:#fcc;background:#ff3c3c59}.cargo-eject-btn:hover{color:#fff;background:#ff3c3cb3}@media (width<=900px){.hull-fitting-layout{flex-direction:column;align-items:center}.hull-fitting-left,.hull-fitting-right{flex-flow:wrap;justify-content:center}.character-content{grid-template-columns:1fr}.market-content,.market-summary{flex-direction:column;grid-template-columns:1fr}.market-summary-meta{text-align:left}}@media (width<=640px){.cargo-grid{grid-template-columns:repeat(auto-fill,minmax(66px,1fr))}.inventory-toggle-row{flex-direction:column;align-items:stretch}}#loading-overlay{background:var(--bg-primary);z-index:2000;width:100%;height:100%;transition:opacity var(--transition-slow), visibility var(--transition-slow);flex-direction:column;justify-content:center;align-items:center;display:flex;position:fixed;top:0;left:0}#loading-overlay.hidden{opacity:0;visibility:hidden}.loading-spinner{border:3px solid var(--border-color);border-top-color:var(--accent-primary);border-radius:50%;width:50px;height:50px;animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.loading-text{margin-top:var(--spacing-md);font-family:var(--font-display);color:var(--text-secondary);letter-spacing:.1em}@media (width<=768px){.game-title{letter-spacing:.18em;font-size:2rem}.game-title:after{letter-spacing:.18em}#username-input,#play-button{width:100%}.login-container{border-radius:18px;width:min(100vw - 24px,420px);padding:28px 20px 22px}.upgrade-container{padding:var(--spacing-md)}}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--bg-secondary)}::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--accent-secondary)}.corp-container{width:640px}.corp-tab-bar{gap:8px;margin-bottom:16px;display:flex}.corp-tab-btn{background:var(--bg-secondary);border:1px solid var(--border-color);color:var(--text-secondary);font-family:var(--font-display);cursor:pointer;transition:border-color var(--transition-fast), color var(--transition-fast);border-radius:6px;flex:1;padding:8px 12px;font-size:.85rem}.corp-tab-btn.active{border-color:var(--accent-primary);color:var(--accent-primary)}.corp-tab-btn:hover{border-color:var(--accent-secondary);color:var(--accent-secondary)}.corp-create-section,.corp-browse-section{margin-bottom:20px}.corp-create-form{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.corp-create-form input{background:var(--bg-secondary);border:1px solid var(--border-color);min-width:120px;color:var(--text-primary);font-family:var(--font-body);border-radius:6px;flex:1;padding:8px 12px;font-size:.85rem}.corp-action-btn{background:var(--bg-secondary);border:1px solid var(--accent-primary);color:var(--accent-primary);font-family:var(--font-display);cursor:pointer;transition:background var(--transition-fast), color var(--transition-fast);white-space:nowrap;border-radius:6px;padding:8px 16px;font-size:.8rem}.corp-action-btn:hover:not(:disabled){background:var(--accent-primary);color:var(--bg-primary)}.corp-action-btn:disabled{opacity:.4;cursor:not-allowed}.corp-action-btn.corp-danger{border-color:var(--accent-danger);color:var(--accent-danger)}.corp-action-btn.corp-danger:hover:not(:disabled){background:var(--accent-danger);color:var(--bg-primary)}.corp-list-row{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:6px;justify-content:space-between;align-items:center;margin-bottom:6px;padding:10px 12px;display:flex}.corp-list-info{align-items:center;gap:8px;display:flex}.corp-list-tag{color:#4fc3f7;font-family:var(--font-display);font-size:.85rem}.corp-list-name{color:var(--text-primary);font-weight:600}.corp-list-meta{color:var(--text-secondary);font-size:.8rem}.corp-list-shares{color:var(--text-secondary);align-items:center;gap:10px;font-size:.8rem;display:flex}.corp-overview-header{text-align:center;margin-bottom:16px}.corp-name-display{font-family:var(--font-display);color:#4fc3f7;margin-bottom:4px;font-size:1.3rem}.corp-overview-meta{color:var(--text-secondary);font-size:.85rem}.corp-funds-row{justify-content:center;gap:12px;margin-bottom:16px;display:flex}.corp-fund-card{text-align:center;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;flex:1;padding:10px 16px}.corp-fund-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:4px;font-size:.75rem}.corp-fund-value{font-family:var(--font-display);color:var(--accent-primary);font-size:1.1rem}.corp-your-shares{text-align:center;color:var(--text-primary);margin-bottom:16px;padding:8px;font-size:.9rem}.corp-dividend-timer{color:var(--accent-warning);margin-left:8px;font-size:.8rem}.corp-board-list{margin-bottom:16px}.corp-board-member{background:var(--bg-secondary);border:1px solid var(--border-color);color:var(--text-primary);border-radius:4px;margin-bottom:4px;padding:6px 10px;font-size:.85rem}.corp-board-member.corp-owner{color:#4fc3f7;border-color:#4fc3f7}.corp-member-list{max-height:200px;overflow-y:auto}.corp-member-row{background:var(--bg-secondary);border-radius:4px;justify-content:space-between;margin-bottom:3px;padding:6px 10px;display:flex}.corp-member-name{color:var(--text-primary)}.corp-owner-name{color:#4fc3f7}.corp-member-shares{color:var(--text-secondary);font-size:.85rem}.corp-stocks-info{color:var(--text-primary);margin-bottom:16px}.corp-stocks-info p{margin-bottom:6px}.corp-stock-action{margin-bottom:16px}.corp-stock-form{align-items:center;gap:8px;display:flex}.corp-stock-form input,.corp-stock-form select{background:var(--bg-secondary);border:1px solid var(--border-color);min-width:80px;color:var(--text-primary);font-family:var(--font-body);border-radius:6px;flex:1;padding:8px 12px;font-size:.85rem}.corp-mgmt-section{margin-bottom:20px}.corp-mgmt-hint{color:var(--text-secondary);margin-bottom:8px;font-size:.8rem}.corp-empty-text{color:var(--text-secondary);font-size:.85rem;font-style:italic}.corp-buy-btn{padding:4px 12px;font-size:.75rem}.rnd-capital-info{text-align:center;color:var(--text-primary);margin-bottom:12px;padding:8px;font-size:.9rem}.rnd-branches{flex-direction:column;gap:16px;display:flex}.rnd-branch{border:1px solid var(--border-color);border-radius:8px;overflow:hidden}.rnd-branch-header{background:var(--bg-secondary);font-family:var(--font-display);color:var(--accent-secondary);letter-spacing:.05em;border-bottom:1px solid var(--border-color);padding:8px 12px;font-size:.9rem}.rnd-branch-nodes{flex-direction:column;display:flex}.rnd-node{border-bottom:1px solid #ffffff0a;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.rnd-node:last-child{border-bottom:none}.rnd-node-info{flex:1;min-width:0}.rnd-node-name{font-family:var(--font-display);color:var(--text-primary);margin-bottom:2px;font-size:.85rem}.rnd-node-desc{color:var(--text-secondary);margin-bottom:4px;font-size:.75rem}.rnd-status{font-size:.7rem;font-family:var(--font-display);letter-spacing:.03em}.rnd-completed{color:var(--accent-primary)}.rnd-researching{color:var(--accent-warning)}.rnd-available{color:var(--accent-secondary)}.rnd-locked{color:var(--text-secondary);opacity:.5}.rnd-node-locked .rnd-node-name{opacity:.4}.rnd-node-locked .rnd-node-desc{opacity:.3}.rnd-node-completed{background:#00ff8808}.rnd-node-completed .rnd-node-name{color:var(--accent-primary)}.rnd-node-researching{background:#ffaa000d}.rnd-node-action{flex-shrink:0}.rnd-start-btn,.rnd-cancel-btn{padding:5px 14px;font-size:.75rem}.corp-online-dot{background:var(--accent-primary);vertical-align:middle;border-radius:50%;width:6px;height:6px;margin-right:6px;display:inline-block}.corp-beacon-btn{color:#b388ff;border-color:#b388ff;margin-left:8px;padding:3px 10px;font-size:.7rem}.corp-beacon-btn:hover:not(:disabled){color:var(--bg-primary);background:#b388ff}#system-banners{z-index:900;pointer-events:none;flex-direction:column;align-items:center;gap:8px;display:flex;position:fixed;top:12px;left:50%;transform:translate(-50%)}.system-banner{letter-spacing:.04em;pointer-events:auto;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border-radius:10px;align-items:center;gap:12px;padding:8px 16px;font-family:Orbitron,sans-serif;font-size:.78rem;display:flex}.system-banner.hidden{display:none}.system-banner-update{color:#8fffc7;background:#103026eb;border:1px solid #3fdc968c;box-shadow:0 0 18px #3fdc9640}.system-banner-update button{color:#b8ffd9;letter-spacing:.05em;cursor:pointer;background:#3fdc9629;border:1px solid #3fdc96b3;border-radius:7px;padding:5px 12px;font-family:Orbitron,sans-serif;font-size:.72rem}.system-banner-update button:hover{color:#fff;background:#3fdc9657}.system-banner-restart{color:#ffc9a8;background:#3a1812f0;border:1px solid #ff8c5a99;animation:1.6s ease-in-out infinite restart-banner-pulse;box-shadow:0 0 18px #ff783c47}@keyframes restart-banner-pulse{0%,to{box-shadow:0 0 12px #ff783c2e}50%{box-shadow:0 0 26px #ff783c6b}}
