:root{--bg: #02040a;--panel: rgba(15, 23, 42, .82);--panel-solid: #0f172a;--panel-inset: rgba(2, 6, 23, .72);--panel-hover: rgba(30, 41, 59, .92);--panel-edge: rgba(71, 85, 105, .5);--border: rgba(100, 116, 139, .34);--text: #e2e8f0;--muted: #94a3b8;--dim: #64748b;--accent: #38bdf8;--accent-strong: #0ea5e9;--accent-soft: rgba(56, 189, 248, .14);--accent-glow: 0 0 16px rgba(56, 189, 248, .28);--violet: #a78bfa;--violet-soft: rgba(167, 139, 250, .16);--ok: #22c55e;--ok-soft: rgba(34, 197, 94, .14);--warn: #f59e0b;--warn-soft: rgba(245, 158, 11, .15);--danger: #ef4444;--danger-soft: rgba(239, 68, 68, .14);--font-hud: "Orbitron", "Share Tech Mono", "SFMono-Regular", Consolas, monospace;--font-body: "Inter", -apple-system, "Segoe UI", "Microsoft YaHei", "PingFang SC", sans-serif;--font-code: "Fira Code", "SFMono-Regular", Consolas, "Liberation Mono", monospace;--mono: var(--font-code);--font-sans: var(--font-body);--fs-sm: 14px;--fs-md: 16px;--fs-lg: 18px;--radius: 10px;--radius-sm: 6px;--t-fast: .15s;--t-med: .22s}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);font-family:var(--font-sans);font-size:var(--fs-md);-webkit-font-smoothing:antialiased}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:2px}@media (prefers-reduced-motion: reduce){*,*:before,*:after{transition:none!important;animation:none!important}}.side-panel::-webkit-scrollbar,.event-log::-webkit-scrollbar{width:8px}.side-panel::-webkit-scrollbar-thumb,.event-log::-webkit-scrollbar-thumb{background:var(--panel-edge);border-radius:4px}.side-panel::-webkit-scrollbar-thumb:hover,.event-log::-webkit-scrollbar-thumb:hover{background:var(--border)}.app{height:100%;display:flex;flex-direction:column}.app-header{display:flex;align-items:center;gap:12px;padding:10px 16px;background:var(--panel);border-bottom:1px solid var(--panel-edge);box-shadow:0 1px #4dd0e114}.app-header h1{font-size:var(--fs-md);margin:0;font-weight:500;font-family:var(--font-hud);letter-spacing:1.5px;color:var(--text)}.chip{font-family:var(--font-hud);font-size:var(--fs-sm);padding:2px 8px;border-radius:10px;border:1px solid var(--panel-edge);background:var(--panel-hover);color:var(--muted);letter-spacing:.5px}.wallet-chip{border-color:var(--accent);color:var(--accent)}.ship-switcher{display:inline-flex;gap:6px;margin-left:8px}.ship-switcher-btn{cursor:pointer;font:inherit;font-family:var(--font-hud);letter-spacing:.5px;transition:border-color var(--t-fast),color var(--t-fast),background var(--t-fast)}.conn{margin-left:auto;font-family:var(--font-hud);font-size:var(--fs-sm);padding:3px 10px;border-radius:10px;letter-spacing:.5px}.module-panel h3{margin:0 0 8px;font-family:var(--font-hud);font-size:var(--fs-md);letter-spacing:.5px}.module-row{padding:6px 8px;border:1px solid var(--panel-edge);border-radius:var(--radius-sm);margin-bottom:6px;font-size:var(--fs-sm);background:var(--panel-inset)}.module-title{display:flex;justify-content:space-between}.module-name{font-weight:600}.module-slot{color:var(--muted);font-size:var(--fs-sm);font-family:var(--font-hud)}.module-effect{color:var(--text);margin:2px 0}.module-cost{color:var(--muted);font-size:var(--fs-sm);font-family:var(--font-hud)}.crew-panel h3{margin:0 0 8px;font-family:var(--font-hud);font-size:var(--fs-md);letter-spacing:.5px}.crew-row{display:flex;align-items:center;gap:8px;padding:6px 8px;border:1px solid var(--panel-edge);border-radius:var(--radius-sm);margin-bottom:6px;font-size:var(--fs-sm);background:var(--panel-inset)}.crew-row .crew-name{flex-shrink:0}.crew-row .crew-traits{flex:1;min-width:0;display:flex;flex-wrap:wrap;gap:4px 8px}.crew-slot-empty{opacity:.55;border-style:dashed;background:transparent}.crew-title{display:flex;justify-content:space-between}.crew-name{font-weight:600}.crew-prof{color:var(--muted);font-size:var(--fs-sm);font-family:var(--font-hud)}.crew-trait{display:inline-block;margin-right:8px;color:var(--text)}.crew-aggregate{margin-top:6px;padding-top:6px;border-top:1px solid var(--panel-edge);font-size:var(--fs-sm);color:var(--muted);font-family:var(--font-hud)}.crew-aggregate-label{margin-right:6px}.crew-aggregate-trait{margin-right:8px;color:var(--text)}.crew-offboard{margin-left:8px;padding:1px 6px;font-size:var(--fs-sm)}.buy-row{display:flex;justify-content:space-between;align-items:center;gap:8px}.crew-assign{margin-top:8px;padding-top:6px;border-top:1px solid var(--panel-edge)}.crew-assign-title{margin:0 0 6px;font-size:var(--fs-sm);color:var(--muted);font-family:var(--font-hud);letter-spacing:.5px}.crew-onboard{margin-left:8px;padding:1px 6px;font-size:var(--fs-sm)}.fleet-panel h3{margin:0 0 8px;font-family:var(--font-hud);font-size:var(--fs-md);letter-spacing:.5px}.fleet-row{display:block;width:100%;text-align:left;padding:8px;border:1px solid var(--panel-edge);border-radius:var(--radius-sm);margin-bottom:6px;background:transparent;cursor:pointer;transition:border-color var(--t-fast),box-shadow var(--t-fast),background var(--t-fast)}.fleet-row:hover{border-color:var(--accent)}.fleet-row-badge{font-family:var(--font-hud);font-size:11px;padding:0 5px;border-radius:6px;background:var(--panel-hover);color:var(--muted)}.fleet-row-badge.front{background:var(--accent-soft);color:var(--accent)}.fleet-row-badge.middle{background:var(--violet-soft);color:var(--violet)}.fleet-row-badge.back{background:var(--warn-soft);color:var(--warn)}.fleet-row-head{display:flex;justify-content:space-between;align-items:center;gap:8px}.fleet-hull{font-weight:600;font-size:var(--fs-md);color:var(--text);font-family:var(--font-hud);letter-spacing:.5px}.fleet-power{margin-left:auto;font-family:var(--font-hud);font-size:var(--fs-sm);color:var(--dim);letter-spacing:.5px;white-space:nowrap}.fleet-box-head .fleet-power{margin-left:8px}.fleet-row-meta{display:flex;gap:8px;font-size:var(--fs-sm);color:var(--muted);flex-wrap:wrap;margin:4px 0;font-family:var(--font-code)}.fleet-bars{display:flex;flex-direction:column;gap:2px}.fleet-bar-track{height:3px;background:var(--panel-edge);border-radius:2px;overflow:hidden}.fleet-bar-fill{height:100%;border-radius:2px}.fleet-state-chip{display:inline-block;padding:1px 6px;border-radius:10px;font-size:var(--fs-sm);font-family:var(--font-hud);letter-spacing:.5px}.fleet-state-good{background:#7dd87d26;color:#7cd97c}.fleet-state-accent{background:var(--accent-soft);color:var(--accent)}.fleet-state-warn{background:#ffb74d26;color:var(--warn)}.fleet-state-danger{background:var(--danger-soft);color:var(--danger)}.fleet-state-muted{background:#8ba0bd26;color:var(--muted)}.conn-connecting{background:#3a2f14;color:var(--warn)}.conn-connected{background:#143a26;color:var(--ok)}.conn-disconnected{background:#3a1616;color:var(--danger)}.banner{padding:8px 16px;font-size:var(--fs-md)}.banner.error{background:#3a1616;color:var(--danger)}.app-body{flex:1;display:flex;min-height:0;position:relative;background:linear-gradient(#02040a59,#02040a8c),url(/bg-space.webp) center / cover no-repeat,#02040a}.map-area{flex:1;min-width:0;min-height:0;position:relative;overflow:hidden;background:radial-gradient(ellipse at 50% 40%,#0e1a2e,#070b14 70%,#04060c),#04060c}.map-area:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(1px 1px at 12% 22%,rgba(255,255,255,.6) 50%,transparent 51%),radial-gradient(1px 1px at 28% 64%,rgba(255,255,255,.4) 50%,transparent 51%),radial-gradient(1.5px 1.5px at 41% 12%,rgba(200,220,255,.5) 50%,transparent 51%),radial-gradient(1px 1px at 55% 78%,rgba(255,255,255,.45) 50%,transparent 51%),radial-gradient(1px 1px at 70% 34%,rgba(255,255,255,.55) 50%,transparent 51%),radial-gradient(1.5px 1.5px at 83% 60%,rgba(210,230,255,.5) 50%,transparent 51%),radial-gradient(1px 1px at 91% 18%,rgba(255,255,255,.4) 50%,transparent 51%);pointer-events:none}.star-map-container{position:absolute;top:0;right:0;bottom:0;left:0;touch-action:none}.star-map-error{padding:24px;color:var(--danger);font-family:var(--mono);font-size:var(--fs-md)}.side-panel{width:300px;overflow-y:auto;border-left:1px solid var(--panel-edge);background:var(--panel);display:flex;flex-direction:column;gap:12px;padding:12px}.panel{background:var(--panel);border:1px solid var(--panel-edge);border-radius:var(--radius);padding:12px;transition:border-color var(--t-med)}.panel h3{margin:0 0 10px;font-size:var(--fs-sm);font-weight:600;color:var(--muted);font-family:var(--font-hud);letter-spacing:1px;border-left:2px solid var(--accent);padding-left:8px}.panel h4{margin:12px 0 6px;font-size:var(--fs-sm);color:var(--muted);font-weight:600;font-family:var(--font-hud);letter-spacing:.5px}.muted{color:var(--muted);font-size:var(--fs-sm)}.tooltip{position:relative}.tooltip[data-tip]:after{content:attr(data-tip);position:absolute;bottom:calc(100% + 4px);left:50%;transform:translate(-50%);background:#020617f5;border:1px solid var(--accent);color:var(--text);padding:4px 8px;border-radius:6px;font-size:var(--fs-sm);font-family:var(--font-hud);white-space:nowrap;z-index:12;opacity:0;pointer-events:none;transition:opacity var(--t-fast);box-shadow:0 4px 12px #00000073}.tooltip[data-tip]:hover:after{opacity:1}.tooltip[data-tip]:before{content:""}.tooltip-right[data-tip]:after{left:calc(100% + 6px);top:50%;bottom:auto;transform:translateY(-50%);white-space:normal;width:max-content;max-width:260px;line-height:1.45;z-index:40}.tooltip-start[data-tip]:after,.tooltip-end[data-tip]:after{right:auto;left:0;transform:none;white-space:normal;width:max-content;max-width:320px;line-height:1.45}.tooltip-end[data-tip]:after{left:auto;right:0}.error-panel{border-color:var(--danger)}.error-message{font-family:var(--mono);font-size:var(--fs-sm);color:var(--danger);word-break:break-all}.error-panel button{margin-top:8px;padding:4px 12px;border-radius:var(--radius-sm);border:1px solid var(--panel-edge);background:var(--panel-hover);color:var(--text);cursor:pointer;font-family:var(--font-hud);transition:border-color var(--t-fast),color var(--t-fast)}.error-panel button:hover{border-color:var(--accent);color:var(--accent)}.ship-header{display:flex;align-items:center;gap:8px;margin-bottom:6px}.state-chip{font-family:var(--font-hud);font-size:var(--fs-sm);padding:2px 8px;border-radius:10px;background:var(--panel-hover);color:var(--accent);border:1px solid var(--panel-edge);letter-spacing:.5px}.state-chip.state-battle{color:var(--danger)}.state-chip.state-travelling{color:var(--warn)}.ship-meta{display:flex;flex-direction:column;gap:2px;font-size:var(--fs-sm);color:var(--muted);margin-bottom:10px}.meter{margin-bottom:8px}.meter-head{display:flex;justify-content:space-between;font-size:var(--fs-sm);margin-bottom:3px}.meter-value{font-family:var(--mono);color:var(--muted)}.meter-track{height:6px;border-radius:3px;background:var(--panel-hover);overflow:hidden}.meter-fill{height:100%;border-radius:3px;transition:width var(--t-med)}.inventory{margin-top:10px;display:flex;flex-direction:column;gap:2px}.inv-row{display:flex;justify-content:space-between;font-size:var(--fs-sm);font-family:var(--mono)}.cargo-foot{margin-top:6px;font-size:var(--fs-sm)}.attr-stat-row{display:flex;align-items:baseline;justify-content:space-between;padding:7px 0;border-bottom:1px solid #182338;font-size:var(--fs-md)}.attr-stat-row:last-child{border-bottom:none}.attr-label{color:var(--text);letter-spacing:.3px}.attr-num{font-family:var(--mono);color:var(--accent);font-size:var(--fs-md)}.attr-cap{color:var(--muted);font-size:var(--fs-sm)}.tendency-tags{display:flex;align-items:center;flex-wrap:wrap;gap:6px;padding:4px 0 8px}.tendency-tag{font-size:var(--fs-sm);color:#ffb020;border:1px solid rgba(255,176,32,.5);border-radius:4px;padding:1px 6px;font-family:var(--mono)}.node-title{display:flex;align-items:center;gap:6px;margin-bottom:6px}.risk-low{color:var(--ok);font-size:var(--fs-sm)}.risk-mid{color:var(--warn);font-size:var(--fs-sm)}.risk-high{color:var(--danger);font-size:var(--fs-sm)}.route-list{list-style:none;margin:0;padding:0}.route-list li{padding:6px 0;border-bottom:1px solid #182338}.route-list li:last-child{border-bottom:none}.route-list li.route-hidden .route-to,.route-list li.route-hidden .route-meta{color:var(--muted);opacity:.7}.travel-block{margin:8px 0 4px;padding:8px;border:1px solid var(--panel-edge);border-radius:var(--radius-sm);background:var(--panel-inset)}.travel-block h4{margin:0 0 4px}.travel-eta{font-size:var(--fs-sm);font-family:var(--mono);color:var(--warn);margin:0 0 6px}.game-tip{position:absolute;top:12px;left:50%;transform:translate(-50%);z-index:200;max-width:min(720px,calc(100% - 32px));padding:8px 18px;border-radius:999px;border:1px solid var(--danger);background:linear-gradient(180deg,#020617,#020617fa);color:var(--text);font-family:var(--font-hud);font-size:var(--fs-md);letter-spacing:.5px;text-align:center;pointer-events:none;animation:game-tip-in .16s ease-out}.game-tip.error{border-color:var(--danger);color:#ffd9d9;box-shadow:0 0 18px #ef444459,0 8px 24px #00000080}.game-tip.success{border-color:var(--ok);color:#d9ffe6;box-shadow:0 0 18px #4ecf7a59,0 8px 24px #00000080}@keyframes game-tip-in{0%{opacity:0;transform:translate(-50%,-6px)}to{opacity:1;transform:translate(-50%)}}@media (prefers-reduced-motion: reduce){.game-tip{animation:none}}.travel-error{font-size:var(--fs-sm);color:var(--danger);margin:4px 0}.travel-warning{font-size:var(--fs-sm);color:var(--warn);margin:4px 0}.upgrade-zone-warning{font-size:var(--fs-sm);font-weight:600;color:var(--danger);margin:8px 0 4px}.arena-fleet-row.selected,.arena-my-row{border-color:var(--accent);background:var(--accent-soft);box-shadow:0 0 0 1px var(--accent) inset,var(--accent-glow)}.arena-bracket-tabs .market-tab{min-width:84px}.arena-row-btn.is-hidden-slot{visibility:hidden}.arena-reward{flex:0 0 auto;margin-left:auto;text-align:right}.arena-row-btn{margin-left:0}.arena-fleet-row .action-btn{margin-left:auto}.arena-rank-1 .market-name{font-weight:700;color:var(--accent)}.action-btn{margin-top:6px;padding:6px 16px;border-radius:var(--radius-sm);border:1px solid var(--accent);background:var(--accent-soft);color:var(--accent);font-family:var(--font-hud);font-size:var(--fs-md);letter-spacing:.5px;cursor:pointer;transition:background var(--t-fast),box-shadow var(--t-fast),color var(--t-fast)}.action-btn:hover:not(:disabled){background:#1a4450;box-shadow:var(--accent-glow)}.action-btn:active:not(:disabled){background:#0f2e36}.cooldown-btn{display:block}.mini-btn{margin-left:8px;padding:1px 8px;border-radius:4px;border:1px solid var(--panel-edge);background:var(--panel-hover);color:var(--text);font-family:var(--font-hud);font-size:var(--fs-sm);cursor:pointer;transition:border-color var(--t-fast),color var(--t-fast)}.action-btn.danger:hover:not(:disabled){background:#4a1c1c;box-shadow:0 0 12px #ff5b5b40}.pirate-list{display:flex;flex-direction:column;gap:4px;margin-top:4px}.pirate-row{margin-bottom:0}.pirate-id{font-family:var(--font-code);font-size:var(--fs-sm)}.pirate-danger{padding:1px 8px;border-radius:10px;font-size:var(--fs-sm);font-family:var(--font-hud);letter-spacing:.5px}.pirate-danger-low{background:#7dd87d26;color:#7cd97c}.pirate-danger-mid{background:#ffb74d26;color:var(--warn)}.pirate-fleet-member{padding:6px 0;border-top:1px solid var(--panel-edge)}.pirate-member-title{margin:0 0 4px;font-size:var(--fs-sm);font-family:var(--font-hud);letter-spacing:.5px}.intel-block{margin:8px 0 4px;padding:8px;border:1px solid var(--panel-edge);border-radius:var(--radius-sm);background:var(--panel-inset)}.intel-block h4{margin:0 0 4px}.route-to{display:block;font-size:var(--fs-sm)}.route-meta{display:block;font-size:var(--fs-sm);color:var(--muted);font-family:var(--mono)}.event-log{height:150px;border-top:1px solid var(--panel-edge);background:var(--panel);padding:8px 16px;overflow-y:auto}.event-log h3{font-family:var(--font-hud);font-size:var(--fs-sm);color:var(--muted);margin:0 0 6px;font-weight:600;letter-spacing:1px}.event-log ul{list-style:none;margin:0;padding:0;font-size:var(--fs-sm)}.log-entry{display:flex;gap:8px;padding:2px 0;font-family:var(--mono)}.log-entry time{color:var(--muted);white-space:nowrap}.log-error{color:var(--danger)}.log-warn{color:var(--warn)}.encounter-panel{border-color:#5a2a2a}.encounter-meta{display:flex;flex-direction:column;gap:2px;margin-top:8px}.retreat-charge{color:var(--warn);font-family:var(--mono)}.encounter-outcome{padding:8px;border:1px solid var(--panel-edge);border-radius:var(--radius-sm);background:var(--panel-inset)}.outcome-title{color:var(--accent);font-size:var(--fs-md);font-family:var(--font-hud);letter-spacing:.5px}.template-block{margin:8px 0 4px;padding:8px;border:1px solid var(--panel-edge);border-radius:var(--radius-sm);background:var(--panel-inset)}.template-block h4{margin:0 0 6px}.template-modes{display:flex;gap:6px;margin-bottom:8px}.mode-btn{flex:1;padding:4px 8px;border-radius:var(--radius-sm);border:1px solid var(--panel-edge);background:var(--panel-hover);color:var(--text);font-family:var(--font-hud);font-size:var(--fs-sm);letter-spacing:.5px;cursor:pointer;transition:border-color var(--t-fast),color var(--t-fast),background var(--t-fast)}.template-threshold{display:flex;align-items:center;gap:6px;font-size:var(--fs-sm);flex-wrap:wrap}.template-threshold input{width:72px;padding:2px 6px;border-radius:4px;border:1px solid var(--panel-edge);background:var(--panel-hover);color:var(--text);font-family:var(--mono)}.template-threshold input:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.station-block{margin:8px 0 4px;padding:8px;border:1px solid var(--panel-edge);border-radius:var(--radius-sm);background:var(--panel-inset)}.station-block h4{margin:0 0 6px}.order-active{margin:8px 0 4px;padding:8px;border:1px solid var(--accent);border-radius:var(--radius-sm);background:var(--panel-inset);box-shadow:var(--accent-glow)}.order-active h4{margin:0 0 6px}.order-row .action-btn{white-space:nowrap}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#04060cb8;display:flex;align-items:center;justify-content:center;padding:48px 16px;z-index:50;overflow-y:auto}.modal{width:360px;max-width:100%;max-height:88vh;overflow-y:auto;background:var(--panel);border:1px solid var(--accent);border-radius:var(--radius);box-shadow:0 0 24px #4dd0e126}.modal-wide{width:420px}.modal.ship-modal{width:520px;max-width:95vw}.modal.ship-modal .modal-body{padding:16px 18px;gap:14px}.hull-warn{color:#ff5b5b;font-size:var(--fs-sm);margin-left:6px}.modal-head{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;border-bottom:1px solid var(--panel-edge)}.modal-head h3{margin:0;font-family:var(--font-hud);letter-spacing:.5px;color:var(--text)}.modal-close{background:transparent;border:1px solid var(--panel-edge);color:var(--muted);border-radius:4px;width:24px;height:24px;cursor:pointer;font-size:var(--fs-md);line-height:1;transition:border-color var(--t-fast),color var(--t-fast)}.modal-close:hover{border-color:var(--accent);color:var(--accent)}.modal-body{padding:12px 14px;display:flex;flex-direction:column;gap:12px}.station-row{display:flex;align-items:center;gap:6px;margin-bottom:6px;font-size:var(--fs-sm)}.station-row input{width:72px;padding:2px 6px;border-radius:4px;border:1px solid var(--panel-edge);background:var(--panel-hover);color:var(--text);font-family:var(--mono)}.station-row input:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.rename-row{display:flex;align-items:center;gap:8px}.rename-row input{flex:1;min-width:0;padding:6px 8px;border-radius:4px;border:1px solid var(--panel-edge);background:var(--panel-hover);color:var(--text);font-family:var(--mono)}.rename-row input:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.rename-row .action-btn{margin-top:0;white-space:nowrap}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg)}.auth-card{width:min(360px,90vw);padding:28px 26px;border:1px solid var(--border);border-radius:var(--radius);background:var(--panel);display:flex;flex-direction:column;gap:14px}.auth-title{font-family:var(--font-hud);font-size:var(--fs-lg);letter-spacing:1px;color:var(--accent);margin:0 0 6px;text-align:center}.auth-field{display:flex;flex-direction:column;gap:4px;font-size:var(--fs-sm);color:var(--muted)}.auth-field input{padding:6px 8px;border-radius:4px;border:1px solid var(--panel-edge);background:var(--panel-hover);color:var(--text);font-family:var(--mono)}.auth-field input:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.auth-switch{background:none;border:none;color:var(--muted);font-size:var(--fs-sm);cursor:pointer;text-decoration:underline}.auth-switch:hover{color:var(--accent)}.layer-switcher{display:inline-flex;gap:4px;margin-left:8px}.layer-btn{padding:3px 10px;border-radius:4px;border:1px solid var(--panel-edge);background:var(--panel-inset);color:var(--muted);font-family:var(--font-hud);font-size:var(--fs-sm);cursor:pointer;transition:border-color .15s,color .15s,background .15s}.layer-btn:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.layer-btn.active{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.layer-lumen.active{border-color:var(--ok);color:var(--ok);background:#3ddc8424}.layer-dusk.active{border-color:var(--warn);color:var(--warn);background:#ffb74d24}.layer-rift.active{border-color:var(--danger);color:var(--danger);background:#ff5b5b24}.map-legend{position:absolute;top:10px;right:10px;z-index:5;padding:8px 10px;border:1px solid var(--panel-edge);border-radius:var(--radius);background:#0a0e1abf;display:flex;flex-direction:column;gap:3px;font-size:var(--fs-sm);color:var(--muted);pointer-events:none}.legend-item{display:flex;align-items:center;gap:6px}.legend-section{display:flex;flex-direction:column;gap:2px}.legend-title{font-family:var(--font-hud);color:var(--text);letter-spacing:1px;margin:2px 0;font-size:var(--fs-sm)}.map-icon{display:inline-flex;align-items:center;justify-content:center;color:currentColor;flex:none}.map-icon>svg{width:100%;height:100%;display:block}.legend-icon{color:var(--muted)}.legend-tint{font-weight:600}.legend-chip{width:13px;height:13px;border-radius:50%;border:1.1px solid;background:#020617f2;display:inline-flex;align-items:center;justify-content:center;flex:none}.legend-chip-count{border-color:transparent;font-family:var(--font-hud);font-size:9px;font-weight:600;line-height:1}.legend-plate{width:20px;height:20px;border-radius:5px;border:1.4px solid;background:#020617db;display:inline-flex;align-items:center;justify-content:center;flex:none}.legend-ring{width:22px;height:22px;flex:none}.left-tabs{width:68px;flex-shrink:0;display:flex;flex-direction:column;gap:4px;padding:8px;background:var(--panel);border-right:1px solid var(--panel-edge)}.left-tab{background:transparent;color:var(--muted);border:1px solid transparent;border-radius:4px;padding:10px 4px;font-size:var(--fs-sm);font-family:var(--font-hud);letter-spacing:.5px;cursor:pointer;transition:all .15s}.left-tab:hover{color:var(--text);border-color:var(--panel-edge)}.left-tab.active{background:#4dd0e126;border-color:#4dd0e166;color:#4dd0e1}.report-panel{position:absolute;top:0;right:0;bottom:0;left:0;overflow:auto;background:#070b148c;border:1px solid rgba(120,160,220,.2);border-radius:8px;padding:12px}.map-area>.event-log{position:absolute;top:0;right:0;bottom:0;left:0;height:auto;border-top:none;overflow-y:auto}.report-panel h3{margin:0 0 10px;font-size:var(--fs-md);letter-spacing:.05em;color:#4dd0e1}.report-panel .empty{color:var(--muted);opacity:.8}.report-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.report-item{display:flex;align-items:center;gap:10px;padding:8px 10px;background:#78a0dc14;border:1px solid rgba(120,160,220,.15);border-radius:6px;font-size:var(--fs-md)}.report-type{flex:0 0 auto;color:#4dd0e1;font-size:var(--fs-sm);letter-spacing:.04em}.report-summary{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.report-time{flex:0 0 auto;color:var(--muted);font-size:var(--fs-sm)}.combat-replay{margin-top:8px;max-height:320px;overflow-y:auto;border:1px solid var(--panel-edge);background:var(--panel-inset);border-radius:var(--radius-sm);padding:8px 10px}.combat-replay-row{display:flex;justify-content:space-between;gap:8px}.combat-attr-summary{display:flex;gap:16px;padding:10px;border:1px solid var(--panel-edge);border-radius:var(--radius-sm);background:var(--panel-inset)}.combat-side{flex:1;min-width:0}.combat-side h4{margin:0 0 4px;font-size:var(--fs-sm);color:var(--accent);letter-spacing:1px}.combat-side .attr-stat-row{padding:4px 0;font-size:var(--fs-sm)}.combat-fleet-attr{margin-bottom:10px}.combat-fleet-attr h4{margin:0 0 6px;font-size:var(--fs-sm);color:var(--accent);letter-spacing:1px}.combat-attr-table{width:100%;border-collapse:collapse;font-size:var(--fs-sm);border:1px solid var(--panel-edge);border-radius:var(--radius-sm);overflow:hidden}.combat-attr-table th,.combat-attr-table td{padding:5px 8px;text-align:center;border-bottom:1px solid var(--panel-edge);font-family:var(--font-hud);letter-spacing:.5px;white-space:nowrap}.combat-attr-table thead th{background:var(--panel-hover);color:var(--accent);font-weight:600}.combat-attr-table thead th:first-child,.combat-attr-table tbody td:first-child{text-align:left}.combat-attr-table tbody tr:hover{background:var(--panel-hover)}.combat-attr-table .combat-name.friendly{color:var(--accent)}.combat-attr-table .combat-name.enemy{color:var(--danger)}body{background:radial-gradient(120% 90% at 50% 0%,#07182e,#040a16 55%,#02040a);background-attachment:fixed}.app-header{gap:10px;padding:14px 20px;background:#020617b8;border-bottom:1px solid var(--panel-edge);box-shadow:0 1px #38bdf81a,0 8px 24px #0006;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);position:relative;z-index:20}.app-header .topbar-meta .wallet-chip{letter-spacing:0;padding:6px 10px}.app-header .topbar-meta .wallet-chip .chip-icon{margin-right:3px}.app-header h1{font-size:var(--fs-lg);letter-spacing:3px;font-weight:700;color:var(--text);text-transform:uppercase;margin:0;white-space:nowrap}.topbar-brand{display:flex;align-items:center;gap:8px;min-width:0}.topbar-chips{display:flex;align-items:center;gap:6px}.topbar-tools{display:flex;align-items:center;margin-left:4px}.topbar-fleet{display:flex;align-items:center;margin-left:4px;min-width:0}.topbar-scroll{display:contents}.app-header>.faction-vs-chip{order:1;margin-left:auto;flex:0 0 auto}.topbar-meta{display:flex;align-items:center;gap:8px;order:2;min-width:0}.topbar-wallet{display:flex;align-items:center;gap:8px;min-width:0;overflow-x:auto;overflow-y:hidden;scrollbar-width:none}.topbar-wallet::-webkit-scrollbar{display:none}.topbar-wallet .wallet-chip{flex:0 0 auto}.brand-icon{width:34px;height:34px;color:var(--accent);flex-shrink:0}.chip-icon{width:12px;height:12px;vertical-align:-1px;margin-right:4px}.chip{font-family:var(--font-hud);font-size:var(--fs-sm);padding:3px 10px;border-radius:999px;border:1px solid var(--panel-edge);background:var(--panel-hover);color:var(--muted);letter-spacing:1px;text-transform:uppercase;white-space:nowrap}.chip.phase-chip{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.wallet-chip{border-color:var(--warn);color:var(--warn);background:var(--warn-soft);display:inline-flex;align-items:center}.wallet-chip.alloy-chip{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.conn{font-family:var(--font-hud);font-size:var(--fs-sm);letter-spacing:1px;text-transform:uppercase;padding:3px 12px;border-radius:999px}.conn-connecting{background:var(--warn-soft);color:var(--warn);border:1px solid rgba(245,158,11,.5)}.conn-connected{background:var(--ok-soft);color:var(--ok);border:1px solid rgba(34,197,94,.5)}.conn-disconnected{background:var(--danger-soft);color:var(--danger);border:1px solid rgba(239,68,68,.5)}.layer-switcher{gap:4px}.layer-btn{padding:4px 12px;border-radius:6px;border:1px solid var(--panel-edge);background:var(--panel-inset);color:var(--muted);font-family:var(--font-hud);font-size:var(--fs-sm);letter-spacing:1px;text-transform:uppercase;cursor:pointer;transition:border-color var(--t-fast),color var(--t-fast),background var(--t-fast),box-shadow var(--t-fast)}.layer-btn:hover{border-color:var(--accent);color:var(--text)}.layer-btn.active{border-color:var(--accent);color:var(--accent);background:var(--accent-soft);box-shadow:var(--accent-glow)}.layer-lumen.active{border-color:var(--ok);color:var(--ok);background:var(--ok-soft);box-shadow:none}.layer-dusk.active{border-color:var(--warn);color:var(--warn);background:var(--warn-soft);box-shadow:none}.layer-rift.active{border-color:var(--danger);color:var(--danger);background:var(--danger-soft);box-shadow:none}.ship-switcher{gap:6px;display:inline-flex}.ship-switcher-btn{font-family:var(--font-hud);letter-spacing:.5px;cursor:pointer;transition:border-color var(--t-fast),color var(--t-fast),background var(--t-fast),box-shadow var(--t-fast)}.ship-switcher-btn:hover{border-color:var(--accent);color:var(--text)}.ship-switcher-btn.active{border-color:var(--accent);background:var(--accent-soft);color:var(--text);box-shadow:var(--accent-glow)}.left-tabs{width:84px;flex-shrink:0;gap:6px;padding:12px 8px;background:#02061780;border-right:1px solid var(--panel-edge)}.left-tab{display:flex;flex-direction:column;align-items:center;gap:6px;padding:14px 4px;background:transparent;color:var(--muted);border:1px solid transparent;border-radius:8px;font-family:var(--font-hud);font-size:var(--fs-sm);letter-spacing:1px;cursor:pointer;transition:all var(--t-fast)}.left-tab svg{width:20px;height:20px}.left-tab:hover{color:var(--text);border-color:var(--panel-edge);background:var(--panel-inset)}.left-tab{position:relative}.left-tab-dot{position:absolute;top:8px;right:12px;width:8px;height:8px;border-radius:50%;background:var(--danger);box-shadow:0 0 6px var(--danger)}.left-tab.active{background:var(--accent-soft);border-color:#38bdf866;color:var(--accent);box-shadow:var(--accent-glow)}.left-tab-settings{margin-top:auto}.setup-card{width:420px}.setup-desc{margin:-4px 0 12px}.tendency-picker{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.tendency-option{flex:0 0 auto;padding:5px 10px;background:transparent;color:var(--muted);border:1px solid var(--panel-edge);border-radius:6px;cursor:pointer;font-size:var(--fs-sm);transition:all var(--t-fast)}.tendency-option:hover{color:var(--text);border-color:var(--accent)}.tendency-option.active{background:var(--accent-soft);border-color:#38bdf880;color:var(--accent)}.faction-fieldset{border:0;padding:0;margin:0 0 16px}.faction-fieldset legend{display:block;margin-bottom:6px;color:var(--text-secondary);font-weight:600;font-size:.94rem;text-transform:uppercase;letter-spacing:1px}.faction-picker{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.faction-option{display:flex;position:relative;flex-direction:column;gap:4px;padding:10px 12px;border:1px solid var(--vault-edge-soft, rgba(120, 200, 255, .12));border-radius:8px;background:var(--bg-input);cursor:pointer;transition:border-color .15s,box-shadow .15s,background .15s}.faction-option:hover{border-color:var(--vault-edge, rgba(120, 200, 255, .3))}.faction-option:focus-within{border-color:var(--vault-accent, #7ed4ff);box-shadow:0 0 0 2px var(--vault-accent-soft, rgba(126, 212, 255, .16))}.faction-option.active{border-color:var(--vault-accent, #7ed4ff);background:var(--vault-accent-soft, rgba(126, 212, 255, .16))}.faction-option input{position:absolute;width:0;height:0;opacity:0}.faction-option-head{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.faction-option-name{display:inline-flex;align-items:center;gap:6px;color:var(--text-primary);font-weight:700;font-size:1rem;letter-spacing:1px;white-space:nowrap}.faction-option-badge{flex:0 0 auto;padding:1px 6px;border:1px solid currentColor;border-radius:999px;font-size:.68rem;font-weight:700;white-space:nowrap}.faction-option-badge.recommend{color:#fcd34d}.faction-option-badge.weak{color:#86efac}.faction-option-sub{color:var(--text-muted);font-size:.8rem}.faction-option-meta{color:var(--text-secondary);font-size:.78rem;line-height:1.4}.setup-hint{margin:8px 0 0;color:var(--text-muted);font-size:.78rem;line-height:1.5}@media (max-width: 480px){.faction-picker{grid-template-columns:minmax(0,1fr)}}.settings-panel .station-block+.station-block{margin-top:14px}.map-area{background:transparent}.map-area:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(120% 120% at 50% 40%,transparent 55%,rgba(0,0,0,.5) 100%);pointer-events:none}.star-map-stage,.star-map-container{position:absolute;top:0;right:0;bottom:0;left:0}.star-map-container canvas{display:block;width:100%;height:100%}.map-controls{position:absolute;right:14px;bottom:14px;display:flex;flex-direction:column;gap:6px;z-index:6}.map-control-btn{width:38px;height:38px;border-radius:10px;border:1px solid var(--panel-edge);background:#0f172ac7;color:var(--muted);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:border-color var(--t-fast),color var(--t-fast),background var(--t-fast),box-shadow var(--t-fast);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.map-control-btn svg{width:18px;height:18px}.map-control-btn:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-soft);box-shadow:var(--accent-glow)}.map-control-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.map-control-btn:disabled{opacity:.4;cursor:not-allowed}.zoom-indicator{position:absolute;right:14px;bottom:168px;font-family:var(--font-hud);font-size:var(--fs-sm);letter-spacing:1px;color:var(--muted);background:#0f172ab3;border:1px solid var(--panel-edge);border-radius:999px;padding:2px 10px;z-index:6;pointer-events:none}.map-legend{top:12px;left:12px;right:auto;padding:10px 12px;border:1px solid var(--panel-edge);border-radius:var(--radius);background:#020617b3;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);box-shadow:0 8px 24px #00000059;font-size:var(--fs-md);gap:6px;color:var(--muted)}.map-legend:before{content:"图例";font-family:var(--font-hud);font-size:var(--fs-sm);letter-spacing:2px;color:var(--accent);text-transform:uppercase}.map-corner{position:absolute;top:12px;left:12px;z-index:6;display:flex;flex-direction:column;gap:8px;align-items:stretch}.legend-toggle{display:none}.legend-wrap{display:block}.map-corner .map-legend{position:static;top:auto;left:auto;right:auto;width:100%;box-sizing:border-box}.map-corner .layer-switcher{display:flex;flex-direction:column;gap:4px;width:100%;margin-left:0}.map-corner .layer-btn{width:100%;text-align:left;font-size:var(--fs-md);padding:10px 12px}.legend-item{display:flex;align-items:center;gap:8px}.side-panel{width:320px;gap:12px;padding:14px;border-left:1px solid var(--panel-edge);background:#02061773}.panel{background:var(--panel);border:1px solid var(--panel-edge);border-radius:var(--radius);padding:14px;box-shadow:0 6px 18px #00000047;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:border-color var(--t-med)}.panel h3{font-size:var(--fs-sm);letter-spacing:1.5px;color:var(--accent);text-transform:uppercase;border-left:2px solid var(--accent);padding-left:8px;font-weight:600;margin:0 0 10px}.panel h4{color:var(--muted);font-size:var(--fs-sm);letter-spacing:1px;text-transform:uppercase;font-weight:600}.muted{color:var(--muted)}.travel-block,.intel-block,.station-block,.template-block,.encounter-outcome{border:1px solid var(--panel-edge);background:var(--panel-inset);border-radius:var(--radius-sm)}.action-btn{margin-top:6px;padding:8px 18px;border-radius:8px;border:1px solid var(--accent);background:var(--accent-soft);color:var(--accent);font-family:var(--font-hud);font-size:var(--fs-sm);letter-spacing:1px;text-transform:uppercase;cursor:pointer;transition:background var(--t-fast),box-shadow var(--t-fast),color var(--t-fast),border-color var(--t-fast)}.action-btn:hover:not(:disabled){background:#38bdf842;box-shadow:var(--accent-glow)}.action-btn:active:not(:disabled){background:#0ea5e952}.action-btn:disabled{opacity:.5;cursor:not-allowed}.action-btn.danger{border-color:var(--danger);background:var(--danger-soft);color:var(--danger)}.action-btn.danger:hover:not(:disabled){background:#ef444442;box-shadow:0 0 12px #ef444447}.action-btn.ok{border-color:var(--ok);background:var(--ok-soft);color:var(--ok)}.mini-btn{padding:2px 10px;border-radius:6px;border:1px solid var(--panel-edge);background:var(--panel-hover);color:var(--muted);font-family:var(--font-hud);font-size:var(--fs-sm);letter-spacing:.5px;text-transform:uppercase;cursor:pointer;transition:border-color var(--t-fast),color var(--t-fast)}.mini-btn:hover{border-color:var(--accent);color:var(--accent)}.mode-btn{font-family:var(--font-hud);font-size:var(--fs-sm);letter-spacing:1px;text-transform:uppercase}.mode-btn.active{border-color:var(--accent);color:var(--accent);background:var(--accent-soft);box-shadow:var(--accent-glow)}.state-chip{border-radius:999px;text-transform:uppercase;letter-spacing:.5px}.state-chip.state-battle{color:var(--danger);border-color:var(--danger)}.state-chip.state-travelling{color:var(--warn);border-color:var(--warn)}.fleet-state-chip{border-radius:999px;text-transform:uppercase;letter-spacing:.5px}.fleet-state-good{background:var(--ok-soft);color:var(--ok)}.fleet-state-warn{background:var(--warn-soft);color:var(--warn)}.fleet-state-muted{background:#64748b26;color:var(--muted)}.fleet-row{border-radius:8px;background:var(--panel-inset)}.fleet-row:hover{border-color:var(--accent);background:var(--panel-hover)}.fleet-row-active{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent) inset,var(--accent-glow)}.fleet-hull{font-family:var(--font-hud);letter-spacing:.5px}.pirate-boss-block{border-color:#f8717173}.pirate-boss-name{color:#fda4af;font-weight:700}.pirate-boss-status{font-size:var(--fs-sm)}.pirate-boss-row{align-items:center}.pirate-danger-low{background:#22c55e26;color:var(--ok)}.pirate-danger-mid{background:#f59e0b26;color:var(--warn)}.pirate-danger-high{background:var(--danger-soft);color:var(--danger)}.wanted-chip .wanted-dot{display:inline-block;width:8px;height:8px;border-radius:999px;background:currentColor;box-shadow:0 0 8px currentColor;margin-right:6px;vertical-align:-1px;animation:wanted-pulse 1.6s ease-in-out infinite}@keyframes wanted-pulse{0%,to{opacity:1}50%{opacity:.35}}.intel-hint{font-size:var(--fs-sm);margin:4px 0 6px;opacity:.8}.wanted-tier-1{color:#facc15;border-color:#facc15;background:#facc1524;box-shadow:0 0 10px #facc1533}.wanted-tier-2{color:#fb923c;border-color:#fb923c;background:#fb923c29;box-shadow:0 0 10px #fb923c38}.wanted-tier-4{color:var(--danger);border-color:var(--danger);background:var(--danger-soft);box-shadow:0 0 12px #ef444452}.report-panel{border:1px solid var(--panel-edge);border-radius:var(--radius);background:#0206178c}.report-panel h3{color:var(--accent);text-transform:uppercase;letter-spacing:1.5px;font-size:var(--fs-sm)}.report-type{color:var(--accent)}.report-item{background:var(--panel-inset);border:1px solid var(--panel-edge)}.mail-bar{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;margin-bottom:12px}.mail-tabs{display:flex;flex-wrap:wrap;gap:6px}.mail-tab{padding:6px 12px;font-size:var(--fs-md);letter-spacing:.05em;color:var(--text);background:var(--panel-inset);border:1px solid var(--panel-edge);border-radius:999px;cursor:pointer;transition:border-color .15s,color .15s,background .15s}.mail-tab:hover{border-color:var(--accent);color:var(--accent)}.mail-tab.active{border-color:var(--accent);color:#0c4a6e;background:var(--accent)}.id-row{display:flex;align-items:center;gap:8px;justify-content:flex-start;width:100%}.panel-subtitle{margin:0 0 8px;font-family:var(--font-hud);letter-spacing:1px;color:var(--accent);font-size:var(--fs-sm)}.claim-block{display:flex;flex-direction:column;gap:6px;padding:8px 10px;margin:8px 0;border:1px solid var(--border);border-left-width:3px;border-radius:6px;background:var(--surface)}.claim-block.faction-hf{border-left-color:#4f9dff}.claim-block.faction-xe{border-left-color:#ff5d8f}.claim-block.faction-neutral{border-left-color:#94a3b8}.claim-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.claim-owner{font-family:var(--font-hud);color:var(--text)}.claim-garrison{color:var(--muted);font-size:var(--fs-sm)}.claim-bar{height:6px;border-radius:3px;background:#94a3b840;overflow:hidden}.claim-bar-fill{height:100%;background:linear-gradient(90deg,#38bdf8,#a78bfa);transition:width .3s ease}.claim-warn{margin:0;color:var(--gold, #fbbf24);font-size:var(--fs-sm)}.claim-cooldown{margin:0;color:#4dd0e1;font-size:var(--fs-sm)}.claim-countdown{margin:0;color:var(--accent);font-size:var(--fs-sm);font-variant-numeric:tabular-nums}.claim-countdown b{font-size:var(--fs-base)}.faction-dot{width:10px;height:10px;border-radius:2px;background:#94a3b8;flex:0 0 auto}.faction-dot.faction-hf{background:#4f9dff}.faction-dot.faction-xe{background:#ff5d8f}.faction-weak-badge{padding:8px 10px;border:1px solid var(--border);border-left:3px solid var(--gold, #fbbf24);border-radius:6px;background:var(--surface);color:var(--gold, #fbbf24);font-size:var(--fs-sm)}.faction-weak-badge.mine{border-color:var(--gold, #fbbf24);box-shadow:inset 0 0 0 1px #fbbf2438}.id-code{font-family:var(--mono);font-size:var(--fs-sm);color:var(--accent);word-break:break-all;flex:1}.settings-panel .station-block,.settings-panel .station-row{width:100%}.settings-panel .id-row .muted{flex-shrink:0}.modal{border-color:var(--accent);box-shadow:0 0 30px #38bdf82e,0 20px 50px #00000080}.modal-overlay{background:#02040ac7;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.auth-page{background:radial-gradient(120% 90% at 50% 0%,#07182e,#040a16 55%,#02040a)}.auth-title{color:var(--accent);font-family:var(--font-hud);letter-spacing:2px;text-transform:uppercase}.auth-card{background:var(--panel);border:1px solid var(--panel-edge);border-radius:var(--radius);box-shadow:0 20px 50px #00000080}.form-group select{width:100%;padding:10px 14px;background:var(--bg-input);border:1px solid var(--vault-edge-soft, var(--panel-edge));border-radius:6px;color:var(--text-primary, var(--text));font:inherit;font-size:1rem}.form-group select:focus{outline:none;border-color:var(--vault-edge, var(--accent));box-shadow:0 0 0 2px #7ed4ff1a}.form-group select:disabled{opacity:.6;cursor:not-allowed}.form-group select option{background:#081020;color:var(--text-primary, #f1f6ff)}.form-group input[readonly]{opacity:.7;cursor:default}.auth-link-row{display:flex;justify-content:flex-end;margin:-8px 0 14px}.auth-question{margin-bottom:16px;padding:10px 14px;border:1px solid var(--vault-edge-soft, var(--panel-edge));border-radius:6px;background:#7ed4ff14;color:var(--text-secondary);font-size:.98rem;line-height:1.5}.auth-question-label{display:block;margin-bottom:4px;color:var(--text-muted);font-size:.78rem;letter-spacing:1px;text-transform:uppercase}.auth-hint{margin:0 0 16px;color:var(--text-muted);font-size:.92rem}.auth-steps{margin:0 0 10px;color:var(--vault-accent, var(--accent));font-size:.82rem;font-weight:600;letter-spacing:1px;text-transform:uppercase}.auth-notice{margin-bottom:16px;padding:8px 12px;border:1px solid var(--vault-edge, var(--accent));border-radius:6px;background:#7ed4ff1f;color:var(--text-secondary);font-size:.98rem}.server-list{list-style:none;margin:18px 0 0;padding:0;display:flex;flex-direction:column;gap:12px}.server-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border:1px solid var(--panel-edge);border-radius:var(--radius);background:#0a142480}.server-item:hover{border-color:var(--accent)}.server-name{font-family:var(--font-hud);font-size:var(--fs-md);letter-spacing:1px;color:var(--text)}.server-desc{font-size:var(--fs-md);color:var(--text-dim);margin-top:4px}.server-item .btn{min-width:96px}.report-item{padding:18px 20px;gap:16px;font-size:var(--fs-md)}.report-type{font-size:var(--fs-md);letter-spacing:.08em}.report-summary{font-size:var(--fs-md);line-height:1.5;white-space:normal}.report-time{font-size:var(--fs-md)}.report-panel .mini-btn{padding:6px 16px;font-size:var(--fs-sm);letter-spacing:1px}.modal{display:flex;flex-direction:column;overflow:hidden}.modal.modal-wide{width:460px}.modal.modal-wide.board-modal{width:min(690px,calc(100vw - 32px))}.modal .modal-head{flex:0 0 auto}.modal .modal-body{flex:1;min-height:0;overflow-y:auto}.modal::-webkit-scrollbar,.modal-body::-webkit-scrollbar,.report-panel::-webkit-scrollbar,.combat-replay::-webkit-scrollbar,.fc-actions::-webkit-scrollbar,.combat-attr-table::-webkit-scrollbar{width:8px}.modal::-webkit-scrollbar-thumb,.modal-body::-webkit-scrollbar-thumb,.report-panel::-webkit-scrollbar-thumb,.combat-replay::-webkit-scrollbar-thumb,.fc-actions::-webkit-scrollbar-thumb,.combat-attr-table::-webkit-scrollbar-thumb{background:var(--panel-edge);border-radius:4px}.modal::-webkit-scrollbar-thumb:hover,.modal-body::-webkit-scrollbar-thumb:hover,.report-panel::-webkit-scrollbar-thumb:hover,.combat-replay::-webkit-scrollbar-thumb:hover,.fc-actions::-webkit-scrollbar-thumb:hover,.combat-attr-table::-webkit-scrollbar-thumb:hover{background:var(--border)}.settings-panel{position:absolute;top:0;right:0;bottom:0;left:0;overflow-y:auto;padding:14px;display:flex;flex-direction:column;align-items:center;scrollbar-width:none}.settings-panel::-webkit-scrollbar{display:none}.settings-panel h3{text-align:center;align-self:stretch}.settings-panel .station-block{width:100%;max-width:460px}.settings-panel .station-row{flex-wrap:wrap;justify-content:center}.settings-panel .station-row input{flex:1 1 220px;min-width:180px;padding:10px 12px;font-size:var(--fs-md)}.settings-panel .action-btn{min-width:180px;padding:10px 24px;font-size:var(--fs-md)}.combat-bars{display:flex;flex-direction:column;gap:8px;padding:10px 12px;border:1px solid var(--panel-edge);border-radius:var(--radius-sm);background:var(--panel-inset)}.combat-bar-row{display:flex;align-items:center;gap:10px;font-size:var(--fs-sm)}.combat-bar-name{flex:0 0 96px;font-family:var(--font-hud);letter-spacing:.5px;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.combat-bar-track{flex:1;height:8px;background:var(--panel-edge);border-radius:4px;overflow:hidden}.combat-bar-fill{height:100%;border-radius:4px;transition:width .2s}.combat-bar-fill.mine{background:#4dd0e1}.combat-bar-fill.foe{background:#ff5b5b}.combat-bar-th{flex:0 0 auto;color:var(--muted);font-family:var(--mono)}.combat-tick-row{display:flex;flex-direction:column;gap:6px;padding:8px 0;border-bottom:1px solid var(--panel-edge)}.combat-tick-head{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap}.combat-action-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.combat-action-row{display:flex;align-items:center;gap:8px;font-size:var(--fs-md)}.combat-action-badge{flex:0 0 auto;padding:1px 8px;border-radius:999px;font-size:var(--fs-sm);font-family:var(--font-hud);letter-spacing:.5px}.admin-card{width:480px}.admin-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.admin-sub{margin:-4px 0 12px}.admin-form{display:flex;flex-direction:column;gap:10px}.admin-form .auth-field{display:flex;flex-direction:column;gap:4px}.admin-form .auth-field>span{font-size:var(--fs-sm);color:var(--muted);font-family:var(--font-hud);letter-spacing:1px;text-transform:uppercase}.admin-form input,.admin-form select,.admin-form textarea{padding:9px 12px;font-size:var(--fs-md);border:1px solid var(--panel-edge);border-radius:6px;background:var(--panel-inset);color:var(--text);font-family:var(--font-body);width:100%}.admin-form input:focus-visible,.admin-form select:focus-visible,.admin-form textarea:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.admin-form textarea{resize:vertical}.admin-form select{cursor:pointer}.admin-back{display:inline-block;margin-top:12px;color:var(--muted)}.admin-back:hover{color:var(--accent)}.banner.success{background:#22c55e29;color:var(--ok);border:1px solid rgba(34,197,94,.5)}.admin-send-summary{display:block;margin-top:4px;font-size:var(--fs-sm);color:var(--muted)}.admin-eq-row{display:flex;gap:8px;align-items:center}.admin-eq-row select{flex:1}.admin-eq-row .mini-btn{flex:none}.admin-eq-list{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.admin-eq-item{display:inline-flex;align-items:center;gap:6px;padding:4px 8px;font-size:var(--fs-sm);border:1px solid var(--panel-edge);border-radius:6px;background:var(--panel-inset);color:var(--text)}.admin-eq-item .mini-btn{padding:0 4px;font-size:var(--fs-sm);line-height:1.4}.player-combo{position:relative;display:flex;align-items:center;gap:8px;width:100%}.player-combo input{flex:1;min-width:0}.player-combo .mini-btn{flex:none}.player-combo-list{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:30;max-height:240px;overflow-y:auto;margin:0;padding:4px;list-style:none;border:1px solid var(--accent);border-radius:6px;background:var(--panel);box-shadow:0 10px 26px #0000008c}.player-combo-item{padding:6px 8px;border-radius:4px;cursor:pointer;font-family:var(--font-code);font-size:var(--fs-sm);color:var(--text)}.player-combo-item:hover,.player-combo-item.active{background:var(--accent-soft);color:var(--accent)}.player-combo-empty{padding:6px 8px;font-size:var(--fs-sm);color:var(--muted)}.system-mail{display:flex;align-items:flex-start;gap:16px;padding:12px 14px}.system-mail .system-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.system-mail .system-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.system-mail .system-title{font-weight:600;font-size:var(--fs-md);color:var(--text)}.system-mail .system-body{font-size:var(--fs-sm);color:var(--muted);white-space:pre-wrap;margin:0 0 8px}.system-mail .system-attach{display:inline-flex;align-items:center;gap:8px;padding:6px 10px;border:1px solid var(--warn);border-radius:8px;background:var(--warn-soft)}.combat-action-badge.mine{background:#4dd0e12e;color:#4dd0e1}.combat-action-badge.foe{background:#ff5b5b2e;color:#ff5b5b}.combat-action-text{color:var(--text)}.combat-action-text strong{color:var(--accent);font-weight:600}.combat-dmg{color:#ffb74d;font-family:var(--mono);font-weight:700;margin:0 3px}.combat-tick-nothing{margin:0;padding-left:8px;font-size:var(--fs-sm)}.star-map-error{font-family:var(--font-code);color:var(--danger)}.combat-replay-action{display:flex;align-items:flex-start;gap:8px;padding:6px 0;border-bottom:1px solid var(--panel-edge);font-size:var(--fs-md)}.combat-name.friendly{color:#4dd0e1;font-weight:600}.combat-name.enemy{color:#ff5b5b;font-weight:600}.combat-hull{color:#ff5b5b;font-family:var(--mono);font-weight:700}.combat-shield{color:#4dd0e1;font-family:var(--mono);font-weight:700}.station-main-panel{position:absolute;top:0;right:0;bottom:0;left:0;overflow:auto;padding:14px;display:flex;flex-direction:column;gap:12px}.station-main-panel h3{margin:0;font-size:var(--fs-md);letter-spacing:.05em;color:#4dd0e1}.station-hint{margin:0}.station-body,.station-ops{display:flex;flex-direction:column;gap:12px;width:100%}.station-ops-disabled{opacity:.5;pointer-events:none}.station-main-panel .station-block{width:100%}.station-main-panel{scrollbar-width:none}.station-main-panel::-webkit-scrollbar{display:none}.fleet-manage-btn{cursor:pointer;margin-left:6px}.fleet-manage-btn:hover{border-color:var(--accent);color:var(--text)}.fleet-chip-group{display:inline-flex;align-items:center;gap:4px;margin-left:6px}.fleet-chip-group-label{padding:2px 6px;border-radius:8px;background:var(--violet-soft);color:var(--violet);font-family:var(--font-hud);font-size:var(--fs-sm);letter-spacing:.5px}.fleet-modal-body .auth-field{display:flex;flex-direction:column;gap:4px}.fleet-modal-body .auth-field>span{font-size:var(--fs-sm);color:var(--muted);font-family:var(--font-hud);letter-spacing:1px}.fleet-select-hint{display:flex;justify-content:space-between;align-items:center;gap:8px}.fleet-same-node{font-family:var(--font-hud);font-size:var(--fs-sm);padding:2px 8px;border-radius:8px}.fleet-same-node.ok{background:var(--ok-soft);color:var(--ok)}.fleet-same-node.bad{background:var(--danger-soft);color:var(--danger)}.fleet-grade-hint{font-family:var(--font-hud);font-size:var(--fs-sm);padding:4px 8px;border-radius:8px}.fleet-grade-hint.ok{background:var(--ok-soft);color:var(--ok)}.fleet-grade-hint.bad{background:var(--danger-soft);color:var(--danger)}.fleet-grade-chip{font-family:var(--font-hud);font-size:var(--fs-sm);padding:1px 6px;border-radius:8px;margin-left:6px}.fleet-grade-chip.ok{background:var(--ok-soft);color:var(--ok)}.fleet-grade-chip.bad{background:var(--danger-soft);color:var(--danger)}.fleet-select-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px;max-height:300px;overflow-y:auto}.fleet-select-item{display:flex;align-items:center;gap:8px;width:100%;text-align:left;padding:8px;border:1px solid var(--panel-edge);border-radius:var(--radius-sm);background:var(--panel-inset);color:var(--text);cursor:pointer;font:inherit;transition:border-color var(--t-fast),background var(--t-fast)}.fleet-select-item:hover:not(:disabled){border-color:var(--accent)}.fleet-select-item.selected{border-color:var(--accent);background:var(--accent-soft)}.fleet-select-item.disabled{opacity:.45;cursor:not-allowed}.fleet-select-name{font-weight:600;font-family:var(--font-hud);font-size:var(--fs-sm);letter-spacing:.5px}.fleet-select-loc{margin-left:auto;font-family:var(--font-code);font-size:var(--fs-sm)}.fleet-select-tag{font-family:var(--font-hud);font-size:var(--fs-sm);padding:1px 6px;border-radius:8px;background:var(--panel-hover);color:var(--muted)}.fleet-select-tag.ok{background:var(--ok-soft);color:var(--ok)}.fleet-modal-foot{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--panel-edge);padding-top:12px}.fleet-modal-actions{display:flex;gap:8px}.fleet-modal-actions .action-btn,.fleet-modal-actions .btn{margin-top:0}.fleet-positions{margin-top:10px;border:1px solid var(--panel-edge);border-radius:var(--radius-sm);padding:8px;background:var(--panel-inset);display:flex;flex-direction:column;gap:8px}.fleet-positions-head{font-family:var(--font-hud);font-size:var(--fs-sm);color:var(--muted);letter-spacing:.5px}.fleet-position-row{display:flex;align-items:flex-start;gap:8px}.fleet-position-label{width:56px;flex-shrink:0;font-family:var(--font-hud);font-size:var(--fs-sm);color:var(--text);display:flex;flex-direction:column}.fleet-position-label .muted{font-size:11px;color:var(--dim)}.fleet-position-row.front .fleet-position-label{color:var(--accent)}.fleet-position-row.middle .fleet-position-label{color:var(--violet)}.fleet-position-row.back .fleet-position-label{color:var(--warn)}.fleet-position-slots{display:flex;flex-wrap:wrap;gap:6px;align-items:center;min-height:27px}.fleet-position-chip{display:inline-flex;align-items:center;gap:4px;padding:3px 6px;border:1px solid var(--panel-edge);border-radius:8px;background:var(--panel-hover);color:var(--text);font-size:var(--fs-sm)}.fleet-position-chip .fleet-position-move{display:inline-flex;gap:3px}.chip-btn{font:inherit;font-size:11px;border:1px solid var(--panel-edge);background:var(--panel-inset);color:var(--muted);border-radius:6px;padding:1px 5px;cursor:pointer;transition:border-color var(--t-fast),color var(--t-fast)}.chip-btn:hover{border-color:var(--accent);color:var(--accent)}.fleet-box{border:1px solid var(--panel-edge);border-radius:var(--radius-sm);padding:6px;margin-bottom:10px;background:transparent}.fleet-box-head{display:flex;justify-content:space-between;align-items:center;padding:2px 4px 6px}.fleet-box-name{font-family:var(--font-hud);font-size:var(--fs-sm);color:var(--accent);letter-spacing:.5px}.fleet-box-members{display:flex;flex-direction:column}.fleet-box-ungrouped{border-color:var(--panel-edge);background:transparent}.fleet-box-ungrouped .fleet-box-name{color:var(--muted)}.fleet-detail-tabs{display:flex;gap:4px;padding:8px 14px 0;flex-wrap:wrap}.fleet-detail-tabs button{padding:4px 10px;border-radius:8px;border:1px solid var(--panel-edge);background:var(--panel-hover);color:var(--muted);cursor:pointer;font-family:var(--font-hud);font-size:var(--fs-sm);letter-spacing:.5px;transition:border-color var(--t-fast),color var(--t-fast),background var(--t-fast)}.fleet-detail-tabs button.active{border-color:var(--accent);background:var(--accent-soft);color:var(--text);box-shadow:var(--accent-glow)}.station-fleet-tabs{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:6px;width:100%}.station-fleet-tabs button{min-height:64px;display:inline-flex;align-items:center;justify-content:center;padding:6px 12px;border-radius:8px;border:1px solid var(--panel-edge);background:var(--panel-hover);color:var(--muted);cursor:pointer;font-family:var(--font-hud);font-size:var(--fs-sm);letter-spacing:.5px;transition:border-color var(--t-fast),color var(--t-fast),background var(--t-fast);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.station-fleet-tabs button.active{border-color:var(--accent);background:var(--accent-soft);color:var(--text);box-shadow:var(--accent-glow)}.fleet-box-active{border-color:var(--accent);background:#38bdf80d;box-shadow:var(--accent-glow)}.fleet-combat-modal .modal-body{gap:10px}.fleet-combat-modal .fleet-modal-foot{justify-content:flex-end}.modal.modal-wide.fleet-combat-modal,.modal.modal-wide.combat-replay-modal{width:min(598px,calc(100vw - 32px))}.fc-side{display:flex;flex-direction:column;gap:6px}.fc-side-title{font-family:var(--font-hud);font-size:var(--fs-sm);color:var(--accent);letter-spacing:.5px}.fc-row{display:flex;align-items:center;gap:8px}.fc-row.fc-down{opacity:.5}.fc-row-badge{font-family:var(--font-hud);font-size:11px;padding:0 5px;border-radius:6px;background:var(--panel-hover);color:var(--muted)}.fc-row-badge.front{background:var(--accent-soft);color:var(--accent)}.fc-row-badge.middle{background:var(--violet-soft);color:var(--violet)}.fc-row-badge.back{background:var(--warn-soft);color:var(--warn)}.fc-name{min-width:110px;font-family:var(--font-hud);font-size:var(--fs-sm);color:var(--text)}.fc-name.fc-enemy{color:var(--danger)}.fc-bar{flex:1;display:flex;flex-direction:column;gap:2px}.fc-bar-track{height:6px;border-radius:3px;background:var(--panel-edge);overflow:hidden}.fc-bar-hull{background:var(--accent)}.fc-bar-shield{background:var(--ok)}.fc-hp{min-width:64px;text-align:right;font-family:var(--font-code);font-size:var(--fs-sm);color:var(--muted)}.action-btn.primary{background:var(--accent);color:#02040a;border-color:var(--accent)}.action-btn.primary:hover:not(:disabled){background:var(--accent-strong);box-shadow:var(--accent-glow)}.app-header .chip{font-size:var(--fs-md);padding:8px 16px}.app-header .chip-icon{width:16px;height:16px}.app-header .conn{font-size:var(--fs-md);padding:8px 16px}.app-header .layer-btn{font-size:var(--fs-md);padding:7px 15px}.player-name-btn{border-color:var(--violet);color:var(--text);background:linear-gradient(120deg,var(--accent-soft),var(--violet-soft));box-shadow:0 0 12px #a78bfa40;cursor:pointer;font-weight:600}.player-name-btn:hover{border-color:var(--accent);box-shadow:var(--accent-glow)}.fleet-switcher-btn{cursor:pointer}.fleet-switcher-btn:hover{border-color:var(--accent);color:var(--text)}.fleet-switcher-btn.active{border-color:var(--accent);background:var(--accent-soft);color:var(--text);box-shadow:var(--accent-glow)}.fc-status{padding:1px 6px;border-radius:8px;font-family:var(--font-hud);font-size:var(--fs-sm);background:var(--ok-soft);color:var(--ok)}.fc-status-down{background:var(--danger-soft);color:var(--danger)}.fc-actions{max-height:220px;overflow-y:auto;display:flex;flex-direction:column;gap:4px}.fc-action{display:flex;align-items:center;gap:6px;font-family:var(--font-code);font-size:var(--fs-sm)}.fc-action-tag{padding:1px 6px;border-radius:8px;font-family:var(--font-hud);font-size:var(--fs-sm)}.fc-action-tag.mine{background:var(--accent-soft);color:var(--accent)}.fc-action-tag.foe{background:var(--danger-soft);color:var(--danger)}.mail-tools{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.mail-tools .mini-btn{margin-left:0}.report-item.unread{border-left:3px solid var(--accent)}.unread-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--danger);margin-right:6px;flex-shrink:0}.report-check{display:inline-flex;align-items:center;margin-right:4px;padding:2px;cursor:pointer}.report-check input[type=checkbox]{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:16px;height:16px;border:1px solid var(--panel-edge);border-radius:4px;background:var(--panel-inset);cursor:pointer;position:relative;margin:0;transition:border-color var(--t-fast),background var(--t-fast),box-shadow var(--t-fast)}.report-check input[type=checkbox]:hover{border-color:var(--accent)}.report-check input[type=checkbox]:checked{border-color:var(--accent);background:var(--accent-soft);box-shadow:var(--accent-glow)}.report-check input[type=checkbox]:checked:after{content:"";position:absolute;left:5px;top:1px;width:4px;height:8px;border:solid var(--accent);border-width:0 2px 2px 0;transform:rotate(45deg)}.report-check input[type=checkbox]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.report-foot{display:inline-flex;align-items:center;gap:10px;margin-left:auto}.system-mail .report-foot{display:inline-flex;align-items:center;justify-content:flex-end;gap:10px;margin-left:0}.system-mail .system-claim-btn{margin-top:0;padding:5px 14px}.report-actions{display:inline-flex;gap:4px}.mini-btn.danger{border-color:var(--danger);color:var(--danger)}.ftx-selects{display:grid;grid-template-columns:1fr auto 1fr;gap:12px;align-items:end;margin-bottom:12px}.ftx-field{display:flex;flex-direction:column;gap:6px}.ftx-field select{min-width:0;padding:4px 8px;border-radius:var(--radius-sm);border:1px solid var(--panel-edge);background:var(--panel-hover);color:var(--text);font-family:var(--font-hud);font-size:var(--fs-sm);cursor:pointer}.ftx-field select:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.ftx-swap{align-self:end;white-space:nowrap}.ftx-row{display:grid;grid-template-columns:1fr 90px auto;gap:10px;align-items:center}.eq-legend{font-size:var(--fs-sm);margin:-4px 0 6px}.comb-reward-equip{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px;position:relative}.comb-reward-equip .qual-chip{cursor:help}.comb-reward-equip .qual-chip.tooltip{position:static}.comb-reward-equip .qual-chip[data-tip]:after{left:0;right:auto;bottom:calc(100% + 4px);transform:none;white-space:normal;width:max-content;max-width:100%;line-height:1.45}.eq-group{margin-top:6px}.eq-group-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:3px;padding-bottom:2px;border-bottom:1px solid var(--panel-edge)}.eq-group-label{font-family:var(--font-hud);font-size:var(--fs-sm);letter-spacing:1px;color:var(--muted)}.eq-group-count{font-family:var(--font-code);font-size:var(--fs-sm);color:var(--dim)}.eq-empty{font-size:var(--fs-sm);color:var(--dim);padding:3px 4px}.eq-row{display:flex;align-items:center;gap:8px;padding:5px 4px;border-bottom:1px solid var(--border)}.eq-row:last-child{border-bottom:none}.eq-name{flex:1;font-size:var(--fs-md)}.eq-lv{font-family:var(--font-code);font-size:var(--fs-sm);color:var(--dim);white-space:nowrap}.eq-actions{display:inline-flex;gap:6px}.qual-chip{display:inline-block;min-width:20px;text-align:center;padding:1px 6px;border-radius:8px;border:1px solid;font-family:var(--font-hud);font-size:var(--fs-sm);line-height:1.4}.qual-tier-jia{color:var(--warn);border-color:var(--warn);background:var(--warn-soft);box-shadow:0 0 8px #f59e0b3d}.qual-tier-yi{color:var(--accent);border-color:var(--accent);background:var(--accent-soft);box-shadow:0 0 8px #38bdf833}.qual-tier-bing{color:var(--muted);border-color:var(--border);background:#64748b29}.pvp-duel{display:flex;align-items:center;gap:8px;padding:8px 12px;border:1px solid var(--danger);border-radius:var(--radius-sm);background:var(--danger-soft);color:var(--danger);font-family:var(--font-hud);font-size:var(--fs-sm);letter-spacing:1px}.pvp-duel-dot{width:8px;height:8px;border-radius:999px;background:currentColor;box-shadow:0 0 8px currentColor;animation:wanted-pulse 1.6s ease-in-out infinite}.outcome{display:inline-block;padding:2px 8px;border-radius:8px;font-family:var(--font-hud);font-size:var(--fs-sm)}.outcome-WIN{background:var(--ok-soft);color:var(--ok)}.outcome-DISABLED{background:var(--danger-soft);color:var(--danger)}.outcome-TIMEOUT{background:var(--warn-soft);color:var(--warn)}.outcome-RETREAT,.outcome-NPC_RETREAT{background:var(--accent-soft);color:var(--accent)}.market-panel{display:flex;flex-direction:column;gap:12px;padding:14px;overflow-y:auto;height:100%}.market-tabs{display:inline-flex;gap:8px}.market-tab{padding:6px 14px;border-radius:var(--radius-sm);border:1px solid var(--panel-edge);background:var(--panel);color:var(--muted);font-family:var(--font-hud);font-size:var(--fs-sm);cursor:pointer;transition:all var(--t-fast)}.market-tab.active{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.market-section{display:flex;flex-direction:column;gap:10px}.market-filterbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.market-filterbar select,.market-filterbar input{padding:4px 8px;border-radius:var(--radius-sm);border:1px solid var(--panel-edge);background:var(--panel-hover);color:var(--text);font-family:var(--font-hud);font-size:var(--fs-sm)}.market-filterbar select:focus-visible,.market-filterbar input:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.market-list{display:flex;flex-direction:column;gap:6px}.market-row{display:flex;align-items:center;gap:10px;padding:6px 8px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--panel-inset)}.market-name{font-size:var(--fs-md);font-weight:600;white-space:nowrap}.market-spec{font-family:var(--font-code);font-size:var(--fs-sm);color:var(--muted);flex:1;min-width:0}.market-seller{font-size:var(--fs-sm);color:var(--dim);white-space:nowrap}.market-price{font-family:var(--font-code);font-size:var(--fs-md);color:var(--warn);white-space:nowrap}.market-price-input{width:92px;padding:4px 6px;border-radius:var(--radius-sm);border:1px solid var(--panel-edge);background:var(--panel-hover);color:var(--text);font-family:var(--font-code);font-size:var(--fs-sm)}.market-warehouse-group{display:flex;flex-direction:column;gap:4px}.lobby-v2{min-height:100vh;background:linear-gradient(#02040a8c,#02040ac2),url(/bg-space.webp) center / cover no-repeat,#02040a}.pirate-row .pirate-id{font-size:var(--fs-sm)}.pirate-row{align-items:center}.pirate-row .action-btn:not(.danger){margin-left:auto}.pirate-row .action-btn{white-space:nowrap}.route-list li{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.route-list li .route-meta{font-size:var(--fs-sm)}.route-list li .action-btn{margin-left:auto;white-space:nowrap;font-size:var(--fs-sm)}.node-title{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.node-title .chip{font-size:var(--fs-md)}.wallet-chip.reputation-chip{border-color:#d4a017;color:#e7b91f;background:#d4a01724}.zone-tag.zone-green{border-color:#4ade8073;color:#4ade80}.zone-tag.zone-yellow{border-color:#facc1573;color:#facc15}.zone-tag.zone-red{border-color:#f8717173;color:#f87171}.trait-chips{display:inline-flex;flex-wrap:wrap;gap:4px;vertical-align:middle}.trait-chip{display:inline-block;padding:1px 6px;border-radius:4px;background:#4dd0e11f}.market-price-input:disabled{opacity:.55;cursor:not-allowed;background:var(--panel-inset)}.app-header .topbar-brand .server-chip{font-size:var(--fs-sm);padding:3px 10px;letter-spacing:.5px;background:var(--panel-hover);color:var(--muted)}.market-pager{display:flex;align-items:center;gap:8px;justify-content:flex-end;margin-top:6px;font-size:var(--fs-sm)}.market-pager .mini-btn{margin-left:0}.ship-assign-body{display:flex;flex-direction:column;gap:10px}.eq-group-head.ware-filter-head{justify-content:flex-start;gap:12px}.ship-pick-list{display:flex;flex-direction:column;gap:6px}.ship-pick{display:flex;flex-direction:column;align-items:stretch;gap:4px;padding:8px 10px;border-radius:var(--radius-sm);border:1px solid var(--panel-edge);background:var(--panel-hover);color:var(--text);cursor:pointer;text-align:left;width:100%}.ship-pick:hover:not(:disabled){border-color:var(--accent)}.ship-pick.active{border-color:var(--accent);background:var(--accent-soft);color:var(--accent);box-shadow:var(--accent-glow)}.ship-pick.full{opacity:.5;cursor:not-allowed}.ship-pick-name{font-family:var(--font-hud);font-weight:600;white-space:nowrap}.ship-pick-stats{font-size:var(--fs-sm);color:var(--dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ship-pick-traits{display:inline-flex;flex-wrap:wrap;gap:4px}.crew-ship-detail{display:flex;align-items:center;padding:2px 2px 6px}.fsd-name{font-family:var(--font-hud);font-weight:700;color:var(--text);margin-right:10px}.fsd-info{font-size:var(--fs-sm);color:var(--muted);margin-left:10px}.ship-pick-meta{font-size:var(--fs-sm);color:var(--muted);display:inline-flex;gap:4px;flex-wrap:wrap}.slot-pill{padding:1px 6px;border-radius:6px;border:1px solid var(--panel-edge);background:var(--panel-inset);font-size:var(--fs-sm)}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:10px}.version-overlay{z-index:96}.version-modal{width:min(460px,calc(100vw - 32px))}.version-compare{display:flex;align-items:center;gap:8px;margin:0;font-size:var(--fs-md)}.version-arrow{color:var(--muted)}.version-log{border:1px solid var(--panel-edge);border-radius:var(--radius);background:var(--panel-inset);padding:10px 12px}.version-log-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:6px;color:var(--accent);font-size:var(--fs-sm);letter-spacing:.5px}.version-log ul{display:flex;flex-direction:column;gap:6px;margin:0;padding-left:18px;color:var(--text);font-size:var(--fs-sm);line-height:1.5}.version-stale{color:var(--warn);font-size:var(--fs-sm)}.version-modal .action-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.sort-btns{display:inline-flex;gap:6px;align-items:center}.sort-btn{padding:3px 8px;border-radius:var(--radius-sm);border:1px solid var(--panel-edge);background:var(--panel-hover);color:var(--muted);font-family:var(--font-hud);font-size:var(--fs-sm);cursor:pointer;transition:all var(--t-fast)}.sort-btn:hover{color:var(--text);border-color:var(--accent)}.sort-btn.active{color:var(--accent);border-color:var(--accent);background:var(--accent-soft)}.daily-stats{display:flex;justify-content:center;gap:20px;margin-top:12px;flex-wrap:wrap}.daily-stat{display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 20px;border:1px solid var(--panel-edge);border-radius:var(--radius);background:var(--panel-inset)}.daily-stat-label{font-size:var(--fs-sm);color:var(--dim)}.daily-stat-value{font-family:var(--font-hud);font-size:var(--fs-lg);color:var(--accent);text-align:center}.daily-newcomer{margin:8px 0 0;text-align:center;font-size:var(--fs-sm);color:var(--warn)}.newbie-row{align-items:center}.newbie-row.current{border-color:var(--accent);background:var(--accent-soft)}.newbie-row.claimed{opacity:.6}.newbie-step-index{flex:0 0 auto;width:24px;height:24px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--panel-edge);color:var(--muted);font-family:var(--font-code);font-size:var(--fs-sm)}.newbie-row.current .newbie-step-index{border-color:var(--accent);color:var(--accent)}.newbie-step-main{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.newbie-step-hint{font-size:var(--fs-sm);color:var(--dim)}.newbie-tag{margin-left:8px;padding:1px 6px;border-radius:var(--radius-sm);border:1px solid var(--accent);color:var(--accent);font-size:var(--fs-sm);font-weight:400}.newbie-done{margin:8px 0 0;text-align:center;font-size:var(--fs-sm);color:var(--ok, #4ecf7a)}.board-body{display:grid;grid-template-columns:1fr 1fr;gap:20px}.board-col{display:flex;flex-direction:column;gap:2px}.board-col h4{margin:0 0 6px;font-family:var(--font-hud);letter-spacing:1px;color:var(--accent)}.board-row{display:grid;grid-template-columns:28px 1fr auto;gap:12px;align-items:center;padding:5px 0;border-bottom:1px solid var(--panel-edge);font-size:var(--fs-md)}.board-row:last-child{border-bottom:none}.board-row.board-top{border-color:#38bdf84d}.board-rank{font-family:var(--font-code);color:var(--dim);text-align:center}.board-row.board-top .board-rank{color:var(--accent);font-weight:700}.board-name{color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.board-name.board-empty{color:var(--dim)}.board-amount{font-family:var(--font-code);color:var(--warn);white-space:nowrap}.lb-crown{color:var(--gold, #fbbf24);font-weight:700}.leaderboard-panel{position:relative;height:100%;display:flex;flex-direction:column;padding:16px;box-sizing:border-box;overflow-y:auto}.leaderboard-note{flex:0 0 auto;margin:0 0 14px;text-align:center}.leaderboard-grid{flex:1;min-height:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));grid-auto-rows:minmax(0,1fr);column-gap:18px;row-gap:16px;justify-content:center;align-content:center;max-width:1180px;margin:0 auto;width:100%}.lb-card{display:flex;flex-direction:column;gap:6px;min-width:0;min-height:0;padding:10px;border:1px solid var(--panel-edge);border-radius:var(--radius);background:var(--panel);box-shadow:0 6px 18px #00000047;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.lb-card-head{display:flex;align-items:baseline;gap:8px;min-width:0}.lb-card-head h4{margin:0;font-family:var(--font-hud);letter-spacing:1px;color:var(--accent);white-space:nowrap}.lb-card-head .lb-crown{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lb-desc{margin:0;color:var(--dim);font-size:var(--fs-sm);line-height:1.4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lb-rewards{margin:0;color:var(--gold, #fbbf24);font-size:var(--fs-sm);line-height:1.45}.lb-reward-item{display:inline-block;margin-right:8px;white-space:nowrap}.lb-empty{flex:1;margin:0;color:var(--dim);font-size:var(--fs-sm);display:flex;align-items:center;justify-content:center}.lb-list{flex:1;min-height:0;overflow-y:auto}.lb-list .board-row{flex:1 0 auto;grid-template-columns:20px minmax(0,1fr) auto;gap:6px;font-size:var(--fs-lg);padding:3px 0}.lb-list .board-amount{font-size:var(--fs-lg)}@media (max-width: 1024px){.leaderboard-grid{flex:none;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:none;column-gap:12px;row-gap:12px;justify-content:stretch;align-content:start}.lb-card{height:auto}.lb-list{overflow:visible}}@media (max-width: 720px){.leaderboard-grid{grid-template-columns:minmax(0,1fr)}.lb-list .board-row{grid-template-columns:28px 1fr auto;gap:12px;font-size:var(--fs-lg);padding:5px 0}.lb-list .board-amount{font-size:var(--fs-lg)}}@media (max-width: 720px){.board-body{grid-template-columns:1fr}}.action-block .action-btn{display:block;width:100%;margin-top:6px}.action-row{margin-top:4px}.action-row .muted{display:block;margin-bottom:2px}.notice-ticker{display:flex;align-items:center;gap:10px;height:32px;padding:0 10px;border:1px solid rgba(56,189,248,.3);border-radius:999px;background:linear-gradient(90deg,#38bdf824,#0206176b 24%,#0206176b 76%,#38bdf824);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);box-shadow:inset 0 0 18px #38bdf814,0 4px 18px #02061773;overflow:hidden;flex:0 0 auto}.notice-ticker.notice-floating{position:absolute;top:12px;left:50%;transform:translate(-50%);width:30%;min-width:0;max-width:960px;z-index:30}.notice-ticker.notice-unique{border-color:#fbbf2473;background:linear-gradient(90deg,#fbbf2429,#0206176b 24%,#0206176b 76%,#fbbf2429);box-shadow:inset 0 0 18px #fbbf241a,0 4px 18px #02061773}@media (max-width: 900px){.notice-ticker.notice-floating{width:30%;min-width:0}}.notice-tag{flex:0 0 auto;font-family:var(--font-hud);font-size:12px;letter-spacing:.12em;padding:2px 8px;border:1px solid var(--accent);border-radius:var(--radius-sm);color:var(--accent);background:var(--accent-soft)}.notice-unique .notice-tag{border-color:#fbbf24;color:#fbbf24;background:#fbbf2424}.notice-viewport{position:relative;flex:1 1 auto;overflow:hidden;height:100%;display:flex;align-items:center;min-width:0}.notice-track{position:absolute;left:0;display:inline-flex;gap:6px;white-space:nowrap;will-change:transform;font-size:var(--fs-sm);animation-name:notice-scroll;animation-timing-function:linear;animation-iteration-count:infinite}.notice-ticker:hover .notice-track,.notice-ticker:focus-within .notice-track{animation-play-state:paused}@keyframes notice-scroll{0%{transform:translate(var(--notice-start, 100%))}to{transform:translate(var(--notice-end, -100%))}}.notice-track.notice-static{position:static;animation:none;transform:none;overflow:hidden;text-overflow:ellipsis;max-width:100%}.admin-notice .notice-track{--notice-start: 100%;--notice-end: -100%}.notice-count{flex:0 0 auto;font-size:12px;color:var(--muted);font-family:var(--font-code)}.admin-tabs{display:flex;gap:8px;margin:8px 0 12px}.admin-tab{flex:1 1 auto;padding:8px 10px;border:1px solid var(--border);border-radius:var(--radius-sm);background:transparent;color:var(--muted);cursor:pointer;font-size:var(--fs-sm);transition:color var(--t-fast),border-color var(--t-fast),background var(--t-fast)}.admin-tab:hover{color:var(--text);border-color:var(--panel-edge)}.admin-tab.active{color:var(--accent);border-color:var(--accent);background:var(--accent-soft)}.notice-seg-row{display:flex;gap:6px;align-items:center;margin-bottom:6px}.notice-seg-row input{flex:1 1 auto;min-width:0}.notice-seg-row select{flex:0 0 130px}.admin-notice-list{margin-top:14px}.admin-notice-list h3{font-size:var(--fs-sm);color:var(--muted);margin:12px 0 6px}.notice-admin-row{display:flex;align-items:center;gap:8px;padding:6px 8px;margin-bottom:6px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--panel-inset)}.notice-admin-kind{flex:0 0 auto;font-family:var(--font-hud);font-size:12px;color:var(--muted)}.notice-admin-text{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--fs-sm)}.notice-admin-meta{flex:0 0 auto;font-size:12px;color:var(--dim);font-family:var(--font-code)}.admin-server-bar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:6px 0 10px;padding:8px 10px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--panel-inset)}.admin-server-label{font-family:var(--font-hud);font-size:12px;color:var(--accent);letter-spacing:.08em}.admin-server-hint{font-size:12px;flex:1 1 240px}.notice-server-picker{display:flex;flex-wrap:wrap;gap:8px;padding:6px 0}.notice-server-item{display:inline-flex;align-items:center;gap:6px;padding:4px 8px;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:var(--fs-sm);cursor:pointer}.notice-server-item.unreachable{opacity:.55}.notice-server-actions{display:flex;gap:6px}.notice-server-group{margin-bottom:10px}.notice-server-group-head{font-family:var(--font-hud);font-size:12px;color:var(--muted);margin:6px 0 4px;letter-spacing:.06em}.admin-settle-list{display:flex;flex-direction:column;gap:8px;margin:10px 0 4px}.admin-settle-row{display:flex;align-items:flex-start;gap:12px;padding:10px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--panel-inset)}.admin-settle-main{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:4px}.admin-settle-label{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-hud);font-size:var(--fs-sm);color:var(--text)}.admin-settle-tag{font-size:11px;color:var(--muted)}.admin-settle-hint{font-size:12px;line-height:1.4}.admin-settle-result{font-size:12px;font-family:var(--font-code);color:var(--muted)}.admin-settle-result.ok{color:var(--accent)}.admin-settle-row .btn{flex:0 0 auto}.redeem-edit-row{display:flex;align-items:center;gap:8px}.redeem-res-row{display:flex;flex-wrap:wrap;gap:12px}.redeem-res-item{display:inline-flex;align-items:center;gap:6px;font-size:var(--fs-sm)}.redeem-res-item input{width:96px}.admin-form .auth-field.redeem-active{flex-direction:row;align-items:center;gap:8px}.redeem-admin-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:8px 10px;margin-bottom:6px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--panel-inset)}.redeem-admin-reward{flex:1 1 200px;min-width:0;font-size:var(--fs-sm)}.redeem-admin-state{flex:0 0 auto;font-family:var(--font-hud);font-size:12px;color:var(--ok)}.redeem-admin-state.off{color:var(--dim)}.redeem-admin-actions{flex:0 0 auto;display:flex;gap:6px;margin-left:auto}.player-admin{display:flex;flex-direction:column;gap:12px}.player-admin .auth-field{display:flex;flex-direction:column;gap:4px}.player-admin .auth-field>span{font-size:var(--fs-sm);color:var(--muted);font-family:var(--font-hud);letter-spacing:1px;text-transform:uppercase}.player-admin input{padding:9px 12px;font-size:var(--fs-md);border:1px solid var(--panel-edge);border-radius:6px;background:var(--panel-inset);color:var(--text);font-family:var(--font-body);width:100%}.player-admin input:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.player-admin-block{display:flex;flex-direction:column;gap:8px;padding:10px 12px;border:1px solid var(--panel-edge);border-radius:var(--radius-sm);background:var(--panel-inset)}.player-admin-block h4{margin:0;font-size:var(--fs-md);color:var(--text)}.player-admin-grid{display:flex;flex-direction:column;gap:10px}.player-admin-status{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:var(--fs-sm)}.player-ban-tag{font-family:var(--font-hud);font-size:12px;padding:2px 8px;border-radius:4px;border:1px solid var(--danger);color:var(--danger);background:var(--danger-soft)}.player-ban-tag.ok{border-color:#22c55e80;color:var(--ok);background:#22c55e1f}.player-ban-tag.expired{border-color:var(--border);color:var(--muted);background:transparent}.player-admin-res-row{display:flex;flex-wrap:wrap;gap:12px}.player-admin-res-item{display:inline-flex;align-items:center;gap:6px;font-size:var(--fs-sm)}.player-admin-res-item input{width:96px}.player-admin-actions{display:flex;align-items:center;gap:8px}.player-combo-ban{margin-left:6px;font-size:11px;color:var(--danger)}.redeem-ok{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:8px 0 0;font-size:var(--fs-sm);color:var(--ok)}.mobile-info-btn,.mobile-drawer-overlay{display:none}@media (max-width: 768px){body,#root{overflow-x:hidden}.app-header{flex-wrap:nowrap;align-items:center;gap:8px;padding:8px 10px;overflow:hidden}.app-header .topbar-brand h1,.app-header .topbar-brand .server-chip{display:none}.brand-icon{width:26px;height:26px}.app-header>.topbar-scroll{display:flex;align-items:center;gap:8px;flex:1 1 auto;min-width:0;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:none}.app-header>.topbar-scroll::-webkit-scrollbar{display:none}.app-header>*{flex:0 0 auto}.app-header>.topbar-scroll>*{flex:0 0 auto}.topbar-chips{order:1}.topbar-chips .player-name-btn{max-width:46vw;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.topbar-meta{order:2;width:auto;margin-left:0;gap:6px}.topbar-wallet{overflow:visible}.topbar-tools{order:3}.topbar-fleet{order:4;width:auto;margin-left:0;overflow:visible}.ship-switcher{margin-left:0}.app-header>.faction-vs-chip{order:1;margin-left:0;min-width:0;padding:4px 8px}.app-header .faction-vs-chip .faction-vs-row{font-size:12px;gap:4px}.app-header .faction-vs-chip .faction-vs-score{font-size:12px}.app-header .faction-vs-chip .faction-vs-side.leading,.app-header .faction-vs-chip .faction-vs-side.leading .faction-vs-score{font-size:var(--fs-sm)}.faction-vs-chip.tooltip[data-tip]:after,.faction-vs-chip.tooltip[data-tip]:before{display:none}.chip{font-size:12px;padding:3px 8px}.legend-toggle{display:inline-flex;align-items:center;gap:6px;min-height:44px;width:100%;box-sizing:border-box;padding:10px 12px;border:1px solid var(--panel-edge);border-radius:var(--radius);background:#020617b3;color:var(--accent);font-family:var(--font-hud);font-size:var(--fs-md);letter-spacing:1px;cursor:pointer;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.legend-toggle[aria-expanded=true]{border-color:var(--accent);background:var(--accent-soft)}.legend-toggle{order:1}.map-corner .layer-switcher{order:2}.legend-wrap{order:3;display:none}.legend-wrap.open{display:block}.legend-wrap.open .map-legend{max-height:58vh;overflow-y:auto}.notice-ticker.notice-floating{position:static;top:auto;left:auto;transform:none;width:calc(100% - 16px);max-width:none;margin:8px 8px 0}.left-tabs{width:100%;flex:0 0 auto;flex-direction:row;overflow-x:auto;overflow-y:hidden;gap:6px;padding:6px 8px;border-right:none;border-bottom:1px solid var(--panel-edge);-webkit-overflow-scrolling:touch}.left-tab{flex:0 0 auto;flex-direction:row;align-items:center;gap:6px;padding:10px 12px;min-height:44px;white-space:nowrap}.left-tab svg{flex-shrink:0}.left-tab-settings{margin-top:0}.left-tab-dot{top:50%;transform:translateY(-50%);right:8px}.app-body{flex-direction:column}.map-area{width:100%;flex:1;min-height:0}.side-panel{position:fixed;top:0;right:0;bottom:0;width:min(360px,85vw);max-width:85vw;height:100%;margin:0;padding:14px;transform:translate(100%);transition:transform var(--t-med) ease;z-index:60;border-left:1px solid var(--panel-edge);border-right:none;background:var(--panel-solid);box-shadow:-12px 0 30px #00000080}.side-panel.open{transform:translate(0)}.mobile-drawer-overlay{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:55;background:#02040a80;border:none;cursor:pointer}.mobile-info-btn{display:inline-flex;align-items:center;gap:6px;position:fixed;left:16px;bottom:16px;z-index:40;min-height:44px;padding:12px 16px;border-radius:999px;border:1px solid var(--accent);background:#0f172ad9;color:var(--accent);font-family:var(--font-hud);font-size:var(--fs-sm);letter-spacing:1px;cursor:pointer;box-shadow:var(--accent-glow);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.mobile-info-btn:hover{background:var(--accent-soft)}.modal-overlay{padding:16px;align-items:flex-start}.modal{max-height:calc(100vh - 32px)}.modal-close{width:44px;height:44px;border-radius:var(--radius-sm)}.map-control-btn{width:44px;height:44px}.layer-btn{min-height:44px;padding:10px 14px}}@media (pointer: coarse){.action-btn,.mini-btn{min-height:44px}}.ledger-panel{position:absolute;top:0;right:0;bottom:0;left:0;overflow:auto;background:#070b148c;border:1px solid rgba(120,160,220,.2);border-radius:8px;padding:12px}.ledger-sub{color:var(--muted);font-size:var(--fs-sm);margin:-6px 0 12px}.ledger-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;margin-bottom:12px}.ledger-card{padding:10px 12px;border:1px solid var(--panel-edge);border-radius:var(--radius);background:var(--panel-inset);transition:border-color var(--t-fast)}.ledger-card.active{border-color:var(--accent);box-shadow:var(--accent-glow)}.ledger-card-name{font-family:var(--font-hud);font-size:var(--fs-sm);color:var(--muted);letter-spacing:1px}.ledger-card-balance{font-size:20px;font-weight:700;color:var(--text);font-family:var(--font-code);margin-top:4px}.ledger-card-delta{font-family:var(--font-hud);font-size:var(--fs-sm);margin-top:2px}.ledger-card-delta.pos{color:var(--ok)}.ledger-card-delta.neg{color:var(--danger)}.ledger-filters{display:flex;gap:14px;flex-wrap:wrap;align-items:center;margin-bottom:12px}.ledger-filter-group{display:inline-flex;gap:6px}.ledger-tab{padding:4px 12px;border:1px solid var(--panel-edge);border-radius:var(--radius-sm);background:var(--panel);color:var(--muted);font-family:var(--font-hud);font-size:var(--fs-sm);cursor:pointer;transition:all var(--t-fast)}.ledger-tab:hover{color:var(--text);border-color:var(--panel-edge)}.ledger-tab.active{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.ledger-list{list-style:none;margin:0;padding:0}.ledger-row{display:grid;grid-template-columns:90px 70px 96px 1fr auto;gap:10px;align-items:center;padding:8px 10px;border-bottom:1px solid var(--panel-edge);font-size:var(--fs-md)}.ledger-resource{font-family:var(--font-hud);color:var(--text)}.ledger-delta{font-family:var(--font-code);font-weight:700}.ledger-delta.pos{color:var(--ok)}.ledger-delta.neg{color:var(--danger)}.ledger-balance{color:var(--muted);font-family:var(--font-hud);font-size:var(--fs-sm)}.ledger-reason{color:var(--text)}.ledger-time{color:var(--dim);font-size:var(--fs-sm);font-family:var(--font-hud)}.ledger-more{margin-top:10px}@media (max-width: 720px){.ledger-row{grid-template-columns:1fr auto auto}.ledger-reason,.ledger-time{grid-column:1 / -1}}.tech-panel{position:absolute;top:0;right:0;bottom:0;left:0;overflow:auto;background:#070b148c;border:1px solid rgba(120,160,220,.2);border-radius:8px;padding:12px}.tech-sub{color:var(--muted);font-size:var(--fs-sm);margin:-6px 0 12px}.tech-slot{border:1px solid var(--panel-edge);border-radius:var(--radius);padding:10px 12px;margin-bottom:14px;background:var(--panel-inset)}.tech-slot h4{margin:0 0 8px;font-family:var(--font-hud);font-size:var(--fs-sm);color:var(--muted);letter-spacing:1px}.tech-active{display:flex;align-items:center;gap:12px;font-family:var(--font-hud)}.tech-countdown{color:var(--accent);font-family:var(--font-code)}.tech-idle{color:var(--muted);font-family:var(--font-hud);font-size:var(--fs-sm)}.tech-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px}.tech-card{border:1px solid var(--panel-edge);border-radius:var(--radius);padding:10px 12px;background:var(--panel-inset);display:flex;flex-direction:column;gap:6px}.tech-card-name{font-family:var(--font-hud);color:var(--text)}.tech-card-lv{font-family:var(--font-code);color:var(--accent)}.tech-card-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.tech-card-desc{margin:0;font-size:var(--fs-sm);color:var(--muted);line-height:1.5}.tech-card-effect{display:flex;flex-direction:column;gap:2px;font-size:var(--fs-sm);font-family:var(--font-hud)}.tech-effect-now{color:var(--text)}.tech-effect-now b{color:var(--accent);font-family:var(--font-code)}.tech-effect-next{color:var(--muted)}.tech-effect-next b{color:var(--ok);font-family:var(--font-code)}.tech-card-next{font-size:var(--fs-sm);color:var(--muted);font-family:var(--font-hud)}.tech-card-max{font-size:var(--fs-sm);color:var(--ok);font-family:var(--font-hud)}.tech-card button{margin-top:auto;cursor:pointer}.tech-group{margin-bottom:16px}.tech-group:last-child{margin-bottom:0}.tech-group-title{margin:0 0 10px;padding-bottom:6px;border-bottom:1px solid var(--panel-edge);font-family:var(--font-hud);font-size:var(--fs-md);font-weight:600;letter-spacing:1px;color:#cbd5e1}.player-name-btn.faction-hf{border-color:#4f9dff;color:#cfe6ff;background:linear-gradient(120deg,#4f9dff33,#4f9dff14);box-shadow:0 0 12px #4f9dff47}.player-name-btn.faction-xe{border-color:#ff5d8f;color:#ffd9e6;background:linear-gradient(120deg,#ff5d8f33,#ff5d8f14);box-shadow:0 0 12px #ff5d8f47}.player-name-btn.faction-hf:hover{border-color:#7db6ff;box-shadow:0 0 16px #4f9dff73}.player-name-btn.faction-xe:hover{border-color:#ff86ac;box-shadow:0 0 16px #ff5d8f73}.faction-vs-chip{display:inline-flex;flex-direction:column;align-items:stretch;gap:4px;padding:5px 10px;min-width:140px}.faction-vs-row{display:flex;align-items:center;justify-content:space-between;gap:6px;font-size:var(--fs-sm);line-height:1.1}.faction-vs-side{display:inline-flex;align-items:center;gap:4px}.faction-vs-side.xe{color:#ff5d8f}.faction-vs-side.hf{color:#4f9dff}.faction-vs-side.mine{font-weight:700}.faction-vs-side.leading{font-size:var(--fs-base);font-weight:800;letter-spacing:.04em}.faction-vs-chip.tooltip[data-tip]:after{top:calc(100% + 6px);bottom:auto;white-space:pre-line;width:max-content;max-width:280px;text-align:left;line-height:1.5}.faction-vs-score{font-family:var(--font-code);font-size:var(--fs-sm);margin:0 2px}.faction-vs-side.leading .faction-vs-score{font-size:var(--fs-base)}.faction-vs-chip:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.faction-vs-chip[data-tip]:focus-visible:after{opacity:1}.faction-vs-vs{font-size:11px;color:var(--dim);letter-spacing:1px}.faction-vs-bar{display:flex;height:4px;border-radius:3px;overflow:hidden;background:var(--panel-inset)}.faction-vs-fill{display:block;height:100%}.faction-vs-fill.xe{background:#ff5d8f}.faction-vs-fill.hf{background:#4f9dff}.wallet-chip.faction-score-chip{border-color:#a78bfa;color:#d8ccff;background:#a78bfa24}.arena-status-bar{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px}.arena-cooldown-chip.ready{border-color:var(--ok);color:var(--ok);background:var(--ok-soft)}.arena-cooldown-chip.cooling{border-color:var(--warn);color:var(--warn);background:var(--warn-soft)}.arena-settle-chip{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.upgrade-confirm-modal .modal-body{display:flex;flex-direction:column;gap:12px}.upgrade-grade-line{display:flex;align-items:center;gap:10px;font-family:var(--font-hud);font-size:var(--fs-lg)}.upgrade-grade-from{color:var(--muted)}.upgrade-grade-to{color:var(--accent);text-shadow:0 0 10px rgba(56,189,248,.35)}.upgrade-arrow{color:var(--dim);font-family:var(--font-code)}.upgrade-cost-line{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 12px;border:1px solid var(--panel-edge);border-radius:var(--radius-sm);background:var(--panel-inset)}.upgrade-cost-values,.upgrade-attr-values{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-code)}.upgrade-now{color:var(--muted);font-weight:400}.upgrade-after{color:var(--accent);font-weight:700}.upgrade-after.bad{color:var(--danger)}.upgrade-delta{font-size:var(--fs-sm)}.upgrade-delta.good{color:var(--ok)}.upgrade-delta.bad{color:var(--danger)}.upgrade-sub{margin:4px 0 0;font-family:var(--font-hud);letter-spacing:1px;color:var(--accent);font-size:var(--fs-md)}.upgrade-attr-table{display:flex;flex-direction:column;gap:2px}.upgrade-attr-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:4px 8px;border-radius:var(--radius-sm);border:1px solid transparent}.upgrade-attr-row.focused{border-color:var(--accent);background:var(--accent-soft)}.upgrade-attr-name{display:inline-flex;align-items:center;gap:6px;color:var(--text)}.upgrade-focus-tag{font-size:11px;padding:1px 6px;border-radius:8px;background:var(--accent-soft);color:var(--accent)}.action-btn.primary{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.upgrade-sub-hint{margin-left:8px;font-size:var(--fs-sm);font-weight:400;letter-spacing:0;color:var(--muted);text-transform:none}.upgrade-attr-row{width:100%;background:transparent;color:var(--text);font:inherit;text-align:left;cursor:pointer;transition:border-color var(--t-fast),background var(--t-fast)}.upgrade-attr-row:hover:not(:disabled){border-color:var(--panel-edge);background:var(--panel-hover)}.upgrade-attr-row.focused:hover:not(:disabled){border-color:var(--accent);background:var(--accent-soft)}.upgrade-attr-row:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.upgrade-attr-row:disabled{cursor:not-allowed;opacity:.7}.refine-block .refine-head{display:flex;flex-direction:column;gap:4px;text-align:center}.refine-budget{font-family:var(--font-hud);font-size:var(--fs-sm);letter-spacing:.5px;color:var(--muted)}.refine-budget b{font-family:var(--font-code);color:var(--accent)}.refine-table{display:flex;flex-direction:column;gap:4px;width:100%;margin-top:4px}.refine-row{display:grid;grid-template-columns:52px minmax(48px,1fr) 116px 58px 34px 54px;align-items:center;gap:8px;padding:4px 8px;border-radius:var(--radius-sm);border:1px solid transparent;background:var(--panel-inset);transition:border-color var(--t-fast),background var(--t-fast)}.refine-row.active{border-color:var(--accent);background:var(--accent-soft)}.refine-name{font-family:var(--font-hud);font-size:var(--fs-sm);color:var(--text)}.refine-bar{display:block;width:90%;justify-self:center;height:6px;border-radius:3px;background:#94a3b838;overflow:hidden}.refine-bar i{display:block;height:100%;background:linear-gradient(90deg,#38bdf8,#a78bfa);transition:width var(--t-fast)}.refine-value{display:inline-flex;align-items:baseline;justify-content:flex-end;gap:4px;font-family:var(--font-code);font-size:var(--fs-sm)}.refine-value b{color:var(--text)}.refine-value .muted{font-size:var(--fs-sm)}.refine-plus{font-style:normal;color:var(--ok)}.refine-unit{font-size:var(--fs-sm);text-align:right}.refine-step,.refine-max{padding:3px 0;min-width:0;text-align:center}.refine-step{font-size:var(--fs-md);line-height:1}.refine-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:6px;padding-top:8px;border-top:1px solid var(--panel-edge)}.refine-foot .muted{font-family:var(--font-hud);font-size:var(--fs-sm)}.refine-warn{color:var(--warn);margin-left:6px}.refine-actions{display:inline-flex;align-items:center;gap:8px}.refine-actions .action-btn{margin-top:0}@media (max-width: 720px){.refine-row{grid-template-columns:46px minmax(40px,1fr) 104px 34px 50px}.refine-unit{display:none}}.ship-shop-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;width:100%;margin-top:4px}.ship-card{display:flex;flex-direction:column;align-items:center;gap:5px;padding:12px 10px;border:1px solid var(--panel-edge);border-radius:var(--radius);background:linear-gradient(180deg,#38bdf814,#0206178c);text-align:center;transition:border-color var(--t-fast),box-shadow var(--t-fast)}.ship-card:hover{border-color:var(--accent);box-shadow:0 0 18px #38bdf838}.ship-card.bought{opacity:.55}.ship-card.bought:hover{border-color:var(--panel-edge);box-shadow:none}.ship-card-art{display:flex;align-items:center;justify-content:center;width:100%;height:104px;color:var(--accent)}.ship-card-art svg{filter:drop-shadow(0 0 10px rgba(56,189,248,.35))}.ship-card-tier{font-family:var(--font-hud);font-size:var(--fs-md);letter-spacing:1px;color:var(--text)}.ship-card-price{font-family:var(--font-code);font-size:var(--fs-md);color:var(--warn)}.ship-card .action-btn{width:100%;margin-top:2px}@media (max-width: 900px){.ship-shop-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 520px){.ship-shop-grid{grid-template-columns:minmax(0,1fr)}}.station-main-panel{align-items:center}.station-main-panel>*:not(.modal-overlay){width:100%;max-width:960px}.station-main-panel .station-block{text-align:center}.station-main-panel .station-row{flex-wrap:wrap;justify-content:center}.market-panel{align-items:center}.market-panel>*:not(.modal-overlay){width:100%;max-width:1080px}.market-tabs,.market-filterbar{justify-content:center}.market-list,.market-warehouse-group{width:100%;max-width:920px;margin:0 auto}.market-pager{justify-content:center}.market-section{align-items:center}.market-section>p.muted{text-align:center}.faction-panel{--fp-line: #5b6c86;--fp-dim: #94a3b8;width:100%;max-width:1080px;margin:0 auto;height:100%;overflow-y:auto}.faction-panel>section,.faction-panel>.fp-columns{width:100%;max-width:880px;margin:0 auto 16px}.faction-panel>.fp-columns:last-child,.faction-panel>section:last-child{margin-bottom:0}.faction-panel section{padding:12px 14px 14px;border:1px solid var(--panel-edge);border-radius:var(--radius-sm);background:var(--panel-inset)}.faction-panel section>.fp-head{margin-bottom:10px}.fp-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap;padding-bottom:6px;border-bottom:1px solid var(--fp-line);margin-bottom:10px}.fp-title{display:inline-flex;align-items:center;gap:8px;margin:0;font-family:var(--font-hud);font-size:var(--fs-md);font-weight:600;letter-spacing:1px;color:#cbd5e1}.fp-realtime{font-size:var(--fs-sm);letter-spacing:0;color:var(--fp-dim)}.fp-note{margin:0;color:var(--fp-dim);font-size:var(--fs-sm);line-height:1.5}.fp-legend{display:inline-flex;align-items:center;gap:14px;font-size:var(--fs-sm);color:var(--muted)}.fp-legend-item{display:inline-flex;align-items:center;gap:6px}.faction-panel .faction-dot{width:8px;height:8px;border-radius:999px}.fp-faction-name.faction-hf{color:#4f9dff}.fp-faction-name.faction-xe{color:#ff5d8f}.faction-adv-badge{margin-top:12px;padding:8px 10px;border:1px solid currentColor;border-left-width:3px;border-radius:6px;background:var(--panel-inset);font-size:var(--fs-sm);font-weight:600}.faction-adv-badge.faction-hf{color:#4f9dff}.faction-adv-badge.faction-xe{color:#ff5d8f}.faction-adv-badge+.faction-weak-badge,.faction-adv-badge+.fp-note{margin-top:8px}.fp-balance{display:flex;height:10px;border-radius:5px;overflow:hidden;background:#94a3b82e}.fp-balance-seg{display:block;height:100%;transition:width var(--t-med)}.fp-balance-seg.faction-hf{background:#4f9dff}.fp-balance-seg.faction-xe{background:#ff5d8f}.fp-legend-pct{font-family:var(--font-code);color:var(--text);font-weight:600}.fp-balance+.faction-weak-badge,.fp-balance+.fp-note{margin-top:12px}.fp-table{display:flex;flex-direction:column}.fp-tr{display:grid;align-items:center;gap:8px;min-height:40px;padding:0 10px;font-variant-numeric:tabular-nums}.fp-tr+.fp-tr{border-top:1px solid rgba(91,108,134,.55)}.fp-thead{min-height:26px;border-bottom:1px solid var(--fp-line)}.fp-thead+.fp-tr{border-top:none}.fp-cell-name{display:inline-flex;align-items:center;gap:6px;min-width:0;font-family:var(--font-hud);font-size:var(--fs-sm);color:var(--text)}.fp-cell-name>span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fp-cell-num{text-align:right;font-family:var(--font-code);font-size:var(--fs-sm);color:#cbd5e1}.fp-thead .fp-cell-num,.fp-thead .fp-cell-name{font-family:var(--font-hud);font-size:var(--fs-sm);color:var(--fp-dim)}.fp-unit{margin-left:2px;font-size:var(--fs-sm);color:var(--fp-dim)}.fp-strong{font-size:var(--fs-lg);font-weight:700;color:var(--text)}.fp-delta{color:var(--gold, #fbbf24);font-weight:700}.fp-table-nodes .fp-tr{grid-template-columns:132px repeat(3,minmax(56px,1fr))}.fp-tr-faction{background:#94a3b814;border-top:1px solid var(--fp-line)}.fp-table-nodes .fp-tr-faction .fp-cell-num{color:var(--text)}.fp-tr-layer .fp-cell-name{padding-left:20px}.fp-layer-name{font-family:var(--font-hud);font-size:var(--fs-sm);letter-spacing:1px}.fp-layer-name.layer-lumen{color:var(--ok)}.fp-layer-name.layer-dusk{color:var(--warn)}.fp-layer-name.layer-rift{color:var(--danger)}.fp-table-score .fp-tr{grid-template-columns:132px minmax(72px,1fr) 68px 60px 60px 56px}.fp-table-src .fp-tr{grid-template-columns:minmax(0,1fr) 72px 76px}.fp-src-name{font-family:var(--font-body)}.fp-cell-bar{display:block;height:6px;border-radius:3px;background:#94a3b82e;overflow:hidden}.fp-bar-fill{display:block;height:100%}.fp-bar-fill.faction-hf{background:linear-gradient(90deg,#2f6fd0,#4f9dff)}.fp-bar-fill.faction-xe{background:linear-gradient(90deg,#c9456f,#ff5d8f)}.fp-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.fp-total{margin-left:auto;font-family:var(--font-code);font-size:var(--fs-lg);font-weight:700;color:var(--text)}.fp-info{width:20px;height:20px;flex:0 0 auto;border-radius:999px;border:1px solid var(--fp-line);background:transparent;color:var(--fp-dim);font-size:var(--fs-sm);line-height:1;cursor:pointer}.fp-info:hover,.fp-info:focus-visible{color:var(--accent);border-color:var(--accent);outline:none}.fp-link{margin-left:6px;padding:0;border:none;background:none;color:var(--accent);font:inherit;cursor:pointer}.fp-link:hover{text-decoration:underline}.fp-table-titles .fp-tr{grid-template-columns:minmax(64px,1fr) auto}.fp-tr-title{width:100%;border:none;border-radius:0;background:transparent;color:var(--text);font:inherit;text-align:left;cursor:pointer;transition:background var(--t-fast)}.fp-tr-title:hover:not(:disabled){background:var(--panel-hover)}.fp-tr-title:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.fp-tr-title:disabled{cursor:not-allowed;opacity:.7}.fp-tr-title.is-worn{background:var(--accent-soft)}.fp-tr-title.is-worn .fp-title-name{color:var(--gold, #fbbf24);font-weight:700}.fp-title-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fp-worn-tag{flex:0 0 auto;font-size:11px;padding:1px 6px;border-radius:8px;background:var(--accent-soft);color:var(--accent)}.fp-table-titles .fp-cell-num{white-space:nowrap}.donate-rows input.donate-qty{width:144px;padding:2px 6px;border-radius:4px;border:1px solid var(--panel-edge);background:var(--panel-hover);color:var(--text);font-family:var(--mono)}.donate-rows input.donate-qty:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.donate-rows{display:grid;grid-template-columns:144px max-content minmax(120px,auto);align-items:center;justify-content:center;gap:6px 10px;font-size:var(--fs-sm)}.donate-row{display:contents}.donate-rows .action-btn{width:100%;margin-top:0}.donate-stat{grid-column:1 / span 2;text-align:left}@media (max-width: 768px){.donate-rows{display:flex;flex-direction:column;align-items:stretch;gap:10px;justify-content:flex-start}.donate-row{display:grid;grid-template-columns:minmax(0,1fr) max-content;align-items:center;gap:6px 10px}.donate-rows input.donate-qty{width:100%;min-width:0}.donate-rows .action-btn{grid-column:1 / -1}}.donate-num{display:inline-block;min-width:6ch;text-align:right;font-family:var(--font-code);font-variant-numeric:tabular-nums;font-weight:600;color:var(--text)}.inline-icon{width:14px;height:14px;vertical-align:-2px;margin-right:4px}.station-main-panel,.settings-panel,.report-panel,.ledger-panel,.tech-panel,.faction-panel{background:transparent;border:none;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.report-panel>*:not(.modal-overlay),.ledger-panel>*:not(.modal-overlay),.tech-panel>*:not(.modal-overlay){width:100%;max-width:1120px;margin-left:auto;margin-right:auto}.report-panel>h3,.ledger-panel>h3,.tech-panel>h3,.report-panel>.empty,.ledger-panel>.ledger-sub,.tech-panel>.tech-sub{text-align:center}.mail-bar{column-gap:24px}.ledger-filters{justify-content:center}.faction-panel .faction-weak-badge{text-align:left;margin-top:12px}@media (max-width: 900px){.fp-columns{grid-template-columns:minmax(0,1fr);gap:24px}}@media (max-width: 560px){.fp-table-nodes .fp-tr{grid-template-columns:96px repeat(3,minmax(40px,1fr))}.fp-table-score .fp-tr{grid-template-columns:96px minmax(48px,1fr) 56px 48px 48px 48px}}.newbie-tip{position:fixed;right:20px;bottom:20px;z-index:90;width:min(320px,calc(100vw - 32px));display:flex;flex-direction:column;gap:6px;padding:14px 16px 12px;border:1px solid var(--accent);border-radius:var(--radius);background:#020617f0;box-shadow:0 0 24px #38bdf840;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);font-family:var(--font-hud);animation:newbie-tip-in var(--t-med) ease-out}@keyframes newbie-tip-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.newbie-tip-head{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:var(--fs-sm);letter-spacing:1px;color:var(--accent)}.newbie-tip-title{font-size:var(--fs-md);font-weight:600;color:var(--text)}.newbie-tip-hint{font-size:var(--fs-sm);color:var(--dim);line-height:1.5}.newbie-tip-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:2px}.newbie-tip-reward{font-family:var(--font-code);font-size:var(--fs-sm);color:var(--warn);white-space:nowrap}.newbie-tip .newbie-tip-go{margin-top:0}.newbie-tip-close{flex:0 0 auto;width:36px;height:36px;margin:-8px -8px -8px 0;display:inline-flex;align-items:center;justify-content:center;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--muted);font-size:18px;line-height:1;cursor:pointer;transition:color var(--t-fast),background var(--t-fast)}.newbie-tip-close:hover{color:var(--text);background:var(--panel-hover)}@media (max-width: 768px){.newbie-tip{right:12px;bottom:12px;padding:12px 12px 10px}.newbie-tip-close{width:44px;height:44px;margin:-8px -8px -6px 0}}.recruit-head{display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center}.recruit-head h4,.recruit-head p{margin:0}.recruit-head .action-btn{margin-top:0}.recruit-intro{max-width:720px;margin:12px auto 0;padding-left:22px;text-align:left;color:var(--muted);font-size:var(--fs-sm);line-height:1.8}.recruit-intro li::marker{color:var(--accent);font-family:var(--font-code)}.market-tab{position:relative}.market-tab-dot{position:absolute;top:3px;right:3px;width:8px;height:8px;border-radius:50%;background:var(--danger);box-shadow:0 0 6px var(--danger)}.market-empty{padding:28px 0;text-align:center;font-size:var(--fs-lg);color:var(--muted);opacity:.85}.buy-confirm-row{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;padding:10px 12px;border:1px solid var(--panel-edge);border-radius:var(--radius-sm);background:var(--panel-inset)}.buy-confirm-name{font-family:var(--font-hud);font-size:var(--fs-md);font-weight:600;color:var(--text)}.buy-confirm-spec{font-family:var(--font-code);font-size:var(--fs-sm);color:var(--muted)}.buy-confirm-price{margin-left:auto;font-family:var(--font-code);font-size:var(--fs-lg);font-weight:700;color:var(--warn)}.faction-panel{scrollbar-width:none}.faction-panel::-webkit-scrollbar{display:none}@keyframes profile-title-metal-sheen{0%,to{background-position:100% 0}50%{background-position:0 0}}.auth-page{--vault-bg: #05060b;--vault-surface: rgba(8, 16, 32, .88);--vault-panel: rgba(8, 16, 32, .94);--vault-panel-raised: rgba(12, 24, 44, .96);--vault-panel-hover: rgba(21, 43, 70, .96);--vault-input: rgba(5, 10, 20, .96);--vault-surface-soft: rgba(60, 110, 170, .18);--vault-edge: rgba(120, 200, 255, .3);--vault-edge-soft: rgba(120, 200, 255, .12);--vault-accent: #7ed4ff;--vault-accent-soft: rgba(126, 212, 255, .16);--vault-text: #f1f6ff;--vault-text-secondary: #d9e6f7;--vault-text-dim: #c0cce0;--vault-blur-panel: 12px;--vault-saturation: 105%;--bg-primary: var(--vault-bg);--bg-secondary: var(--vault-panel-raised);--bg-card: var(--vault-panel);--bg-card-hover: var(--vault-panel-hover);--bg-input: var(--vault-input);--text-primary: var(--vault-text);--text-secondary: var(--vault-text-secondary);--text-muted: var(--vault-text-dim);--text-accent: var(--vault-accent);--border-color: var(--vault-edge-soft);--border-accent: var(--vault-edge);--color-success: #22c55e;--color-error: #ef4444}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(180deg,#05060ba3,#05060beb),var(--vault-bg);padding:calc(20px + env(safe-area-inset-top,0px)) calc(20px + env(safe-area-inset-right,0px)) calc(20px + env(safe-area-inset-bottom,0px)) calc(20px + env(safe-area-inset-left,0px));position:relative;box-sizing:border-box;color:var(--text-primary);font-family:Rajdhani,"Exo 2",system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.auth-page *,.auth-page *:before,.auth-page *:after{box-sizing:border-box}.auth-lang-selector{position:absolute;top:calc(1.25rem + env(safe-area-inset-top,0px));right:calc(1.25rem + env(safe-area-inset-right,0px))}.auth-container{width:100%;max-width:420px}.auth-title{text-align:center;font-size:2.5rem;color:var(--text-accent);letter-spacing:4px;margin:0 0 4px;font-family:Orbitron,"Exo 2",sans-serif}.auth-subtitle{text-align:center;color:var(--text-accent);margin:0 0 12px;font-size:1rem;text-transform:uppercase;letter-spacing:3px}.lore-intro{text-align:center;color:var(--text-secondary);font-size:.95rem;line-height:1.6;margin:0 auto 24px;max-width:600px;opacity:.8}.lore-intro p{margin:0 0 8px}.auth-form{background:var(--vault-surface);border:1px solid var(--vault-edge-soft);border-radius:12px;padding:32px;backdrop-filter:blur(var(--vault-blur-panel)) saturate(var(--vault-saturation));-webkit-backdrop-filter:blur(var(--vault-blur-panel)) saturate(var(--vault-saturation));box-shadow:0 22px 60px #0000004d,inset 0 1px #78c8ff14}.auth-form h2{font-size:1.3rem;margin:0 0 24px;color:var(--text-primary)}.auth-error{background:#ef44441a;border:1px solid var(--color-error);color:var(--color-error);padding:8px 12px;border-radius:6px;margin-bottom:16px;font-size:.98rem}.auth-info{background:#7ed4ff1a;border:1px solid var(--vault-edge-soft);color:var(--text-secondary);padding:8px 12px;border-radius:6px;font-size:.98rem}.form-group{margin-bottom:16px}.form-group label{display:block;margin-bottom:6px;color:var(--text-secondary);font-weight:600;font-size:.94rem;text-transform:uppercase;letter-spacing:1px}.form-group input{width:100%;padding:10px 14px;background:var(--bg-input);border:1px solid var(--vault-edge-soft);border-radius:6px;color:var(--text-primary);font:inherit;font-size:1rem;transition:border-color .15s,box-shadow .15s}.form-group input:focus{outline:none;border-color:var(--vault-edge);box-shadow:0 0 0 2px #7ed4ff1a}.auth-btn{width:100%;padding:12px;background:var(--vault-accent);color:#041020;border:1px solid var(--vault-accent);border-radius:6px;font:inherit;font-size:1rem;font-weight:700;text-transform:uppercase;letter-spacing:1px;transition:opacity .15s,background .15s,box-shadow .15s,transform .15s;margin-top:8px;box-shadow:0 0 20px -8px #7ed4ff8c;cursor:pointer}.auth-btn:hover{opacity:1;background:#a8e5ff;box-shadow:0 0 26px -6px #7ed4ffad;transform:translateY(-1px)}.auth-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.auth-link{text-align:center;margin:16px 0 0;color:var(--text-muted);font-size:.98rem}.auth-link a{color:var(--vault-accent)}.lang-btn{display:inline-flex;align-items:center;gap:.4rem;background:transparent;border:1px solid var(--vault-edge-soft);color:var(--text-muted);font-family:Orbitron,"Exo 2",sans-serif;font-size:.78rem;font-weight:600;letter-spacing:.05em;padding:.3rem .6rem;border-radius:4px;cursor:pointer;transition:border-color .15s,color .15s,background .15s}.lang-btn:hover{border-color:var(--vault-edge);color:var(--vault-accent);background:var(--vault-surface-soft)}.oauth-buttons{display:flex;flex-direction:column;gap:10px;margin-bottom:14px}.oauth-btn{display:flex;align-items:center;justify-content:center;gap:10px;padding:10px 16px;color:var(--vault-text, #e5eef7);border-radius:4px;font-weight:600;font-size:.95rem;text-decoration:none;cursor:pointer}.oauth-btn.discord{background:#5865f2d1;border:1px solid rgba(126,212,255,.18)}.oauth-btn.steam{background:#172d45eb;border:1px solid rgba(126,212,255,.24)}.oauth-google-slot{display:flex;justify-content:center}.oauth-glyph{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border:1px solid currentColor;border-radius:50%;font-size:.72rem;font-weight:800}.oauth-divider{display:flex;align-items:center;gap:12px;margin:8px 0 4px;color:var(--vault-text-dim, #94a3b8);font-size:.78rem;letter-spacing:.16em;text-transform:uppercase}.oauth-divider span:first-child,.oauth-divider span:last-child{flex:1;height:1px;background:var(--vault-edge-soft, rgba(126, 212, 255, .2))}.login-forgot-row{text-align:right;font-size:.8rem;margin-top:4px;margin-bottom:0}.login-forgot-row a{color:var(--vault-text-secondary, #a8b3c2)}.register-leader-note{color:#94a3b8;font-size:.82rem;margin:.25rem 0 .5rem}.auth-copy{color:var(--color-text-secondary, #94a3b8);font-size:.9rem;margin-bottom:1rem}.auth-link-button{background:none;border:none;color:var(--vault-accent, #7ed4ff);cursor:pointer;padding:0;text-decoration:underline}@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))){.auth-form{background:#081020f5}}@media (max-width:720px){.lang-btn-label{display:none}.lang-btn{padding:.35rem .45rem;gap:0}}@media (max-width:560px){.auth-page{align-items:flex-start;padding-top:calc(68px + env(safe-area-inset-top,0px))}.auth-form{padding:24px}.auth-title{font-size:2rem}}.lucide-icon{display:inline-block;flex-shrink:0;vertical-align:middle}.mining-dispatch-modal.spy-modal{width:min(620px,calc(100vw - 32px));max-width:calc(100vw - 32px);max-height:min(760px,calc(100vh - 32px));max-height:min(760px,calc(100dvh - 32px));overflow:hidden}.mining-dispatch-modal .spy-modal-header,.mining-dispatch-modal .mining-dispatch-steps,.mining-dispatch-modal .mining-template-bar,.mining-dispatch-modal .spy-modal-footer{flex:0 0 auto}.mining-dispatch-modal .spy-modal-body{min-height:0;overflow-y:auto}.mining-dispatch-modal .spy-modal-footer{padding-bottom:max(16px,calc(12px + env(safe-area-inset-bottom)))}.mining-dispatch-steps{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));padding:8px 14px;gap:8px;border-bottom:1px solid rgba(148,163,184,.18);background:#02061757}.mining-dispatch-steps span{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:5px 8px;color:var(--text-muted, #94a3b8);font-size:.78rem;font-weight:700;border:1px solid transparent;border-radius:6px}.mining-dispatch-steps span b{display:inline-grid;width:18px;height:18px;place-items:center;font-size:.7rem;border:1px solid currentColor;border-radius:50%}.mining-dispatch-steps span.active{color:#b9f5ff;background:#0891b226;border-color:#22d3ee6b}.mining-dispatch-footer-actions{display:inline-flex;align-items:center;gap:8px}.mining-dispatch-confirmation{display:flex;gap:10px;align-items:flex-start;margin-bottom:16px;padding:12px 14px;color:#b8f3ff;background:#08658033;border:1px solid rgba(34,211,238,.55);border-radius:10px}.mining-dispatch-confirmation svg{flex:0 0 auto;margin-top:2px;color:#22d3ee}.mining-dispatch-confirmation strong,.mining-dispatch-confirmation span{display:block}.mining-dispatch-confirmation span{margin-top:3px;color:#cbd5e1;line-height:1.45}@keyframes holo-drift{to{transform:translate(-6%)}}@keyframes holo-shake{0%,to{transform:translate(0)}25%{transform:translate(calc(var(--shake, 0) * -.9px),1px)}60%{transform:translate(calc(var(--shake, 0) * .7px),-1px)}}@keyframes tracer-fire{0%{opacity:0;stroke-dashoffset:var(--len, 1000)}20%{opacity:1}75%{opacity:1;stroke-dashoffset:0}to{opacity:.35;stroke-dashoffset:0}}@keyframes tracer-slug{0%{offset-distance:0%;opacity:0}15%{opacity:1}85%{opacity:1}to{offset-distance:100%;opacity:0}}@keyframes unit-graze{30%{background:#ffd66638}}@keyframes unit-struck{0%{transform:translate(0)}20%{background:#f06b7880;transform:translate(-2px)}55%{transform:translate(2px)}to{transform:translate(0)}}@keyframes unit-float{0%{opacity:0;transform:translateY(6px)}25%{opacity:1;transform:translateY(-2px)}to{opacity:0;transform:translateY(-20px)}}@keyframes debris{0%{opacity:1;transform:translate(0) scale(1)}to{opacity:0;transform:translate(calc((var(--i) - 2.5) * 13px),calc((var(--i) - 2.5) * -7px)) scale(.3)}}@keyframes camp-hit{30%{box-shadow:0 0 18px #ff8f9ad9;border-color:#ff8f9a}}@keyframes comms-pulse{70%{box-shadow:0 0 0 7px #39c88300}to{box-shadow:0 0 #39c88300}}@keyframes comms-in{0%{opacity:0;transform:translateY(6px)}}.galaxy-pirate-revenge-outpost-marker .lucide-icon{color:#fda4af}@keyframes galaxy-pirate-revenge-route-flow{to{stroke-dashoffset:var(--galaxy-pirate-revenge-route-dash-offset, -1)}}@keyframes galaxy-rift-spin{0%{transform:translate(-50%,-50%) rotate(0)}to{transform:translate(-50%,-50%) rotate(360deg)}}@keyframes galaxy-rift-core-pulse{0%,to{opacity:.38;transform:translate(-50%,-50%) scale(.85)}50%{opacity:.72;transform:translate(-50%,-50%) scale(1.08)}}@keyframes surveyPulse{0%,to{opacity:1}50%{opacity:.35}}@keyframes pirate-priority-drag-lift{0%{transform:translateY(0) scale(.985)}58%{transform:translateY(-6px) scale(1.035) rotate(-.45deg)}to{transform:translateY(-4px) scale(1.025) rotate(-.25deg)}}.debris-dispatch-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;padding:8px 10px;color:var(--text-secondary);background:var(--bg-card);border:1px solid var(--border-color);border-radius:6px;font-size:.74rem}.debris-dispatch-summary>span{display:flex;align-items:center;gap:4px;min-width:0;line-height:1.3}.debris-dispatch-summary.insufficient{color:var(--color-error);background:#ef444414;border-color:#ef444433}.debris-dispatch-summary.placeholder{display:flex;color:var(--text-muted);background:#0f172a42;border-color:#94a3b824}@media (max-width:560px){.debris-dispatch-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.debris-dispatch-summary>span:last-child{grid-column:1 / -1}}.wormhole-dispatch-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.debris-flag .lucide-icon{flex:none}.station-sidebar-owner-details summary .lucide-icon{color:#94a3b8;transition:transform .16s ease}.station-sidebar-owner-details[open] summary .lucide-icon{transform:rotate(180deg)}.music-control{position:relative;display:inline-flex;align-items:center}.music-control-btn.is-playing{border-color:#38bdf894;color:#7dd3fc;box-shadow:0 0 18px #38bdf82e}.music-control-panel{position:absolute;top:calc(100% + 10px);right:0;z-index:30;width:min(290px,calc(100vw - 24px));padding:14px;border:1px solid rgba(125,211,252,.22);border-radius:8px;background:#040a16f7;box-shadow:0 22px 54px #00000073;color:#dbeafe}.music-control-head,.music-control-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.music-control-head{margin-bottom:12px;color:#cbd5e1;font-size:.8rem;font-weight:800}.music-control-head strong{color:#93c5fd;font-size:.78rem}.music-control-row{margin-bottom:12px}.music-mini-btn:hover,.music-control-btn:hover{border-color:#7dd3fc70;color:#fff}.music-control-error{margin:10px 0 0;color:#fca5a5;font-size:.72rem}.lobby-v2-nav{display:flex;align-items:center;gap:12px;min-height:64px;padding:12px 22px;border-bottom:1px solid rgba(125,211,252,.16);background:#020617db;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);position:sticky;top:0;z-index:20}.lobby-v2-brand{display:inline-flex;align-items:center;gap:9px;min-width:0}.lobby-v2-brand-logo{width:34px;height:34px;object-fit:contain}.lobby-v2-brand-name{color:#f8fafc;font-size:.92rem;font-weight:800;letter-spacing:.14em;white-space:nowrap}.lobby-v2-brand-tag{padding:3px 7px;border:1px solid rgba(125,211,252,.3);border-radius:5px;color:#7dd3fc;font-size:.62rem;font-weight:800;letter-spacing:.1em}.lobby-v2-nav-spacer{flex:1}.lobby-v2-nav-online,.lobby-v2-steam-chip{display:inline-flex;align-items:center;gap:7px;color:#cbd5e1;font-size:.82rem;font-weight:700}.lobby-v2-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#22c55e;box-shadow:0 0 10px #22c55eb3;flex:0 0 auto}.music-control-btn,.lang-btn,.lobby-v2-nav-cart,.lobby-v2-nav-announcements,.lobby-v2-nav-rules,.lobby-v2-logout{min-height:34px;border:1px solid rgba(125,211,252,.18);border-radius:7px;background:#0f172ad1;color:#dbeafe;cursor:pointer}.music-control-btn{width:34px;display:grid;place-items:center}.lang-btn{display:inline-flex;align-items:center;gap:7px;padding:6px 9px;font-size:.78rem;font-weight:800}.lobby-v2-nav-cart{display:inline-flex;align-items:center;justify-content:center;padding:6px 10px;color:#93c5fd;text-decoration:none;font-size:.78rem;font-weight:800}.lobby-v2-nav-announcements{width:34px;display:inline-grid;place-items:center;padding:0;color:#fcd34d;font-size:1rem}.lobby-v2-nav-rules{display:inline-flex;align-items:center;justify-content:center;padding:6px 10px;border-color:#f59e0b5c;color:#fde68a;font-size:.78rem;font-weight:800;text-decoration:none}.lobby-v2-logout{padding:6px 12px;color:#fecaca;border-color:#f8717152}.lobby-v2-layout{display:grid;grid-template-columns:minmax(280px,340px) minmax(0,1fr);gap:22px;width:min(1260px,calc(100vw - 32px));margin:0 auto;padding:22px 0 28px}.lobby-v2-left{min-height:calc(100vh - 114px);display:flex;flex-direction:column;gap:16px;padding:18px;border:1px solid rgba(125,211,252,.18);border-radius:8px;background:#0f172ab8}.lobby-v2-eyebrow,.lobby-v2-rule{color:#7dd3fc;font-size:.72rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.lobby-v2-profile{display:grid;grid-template-columns:auto minmax(0,1fr);gap:14px;align-items:center}.lobby-v2-avatar-wrap{position:relative;width:72px;height:72px}.lobby-v2-avatar{width:72px;height:72px;object-fit:cover;border-radius:8px;border:1px solid rgba(125,211,252,.28);background:#020617}.lobby-v2-avatar-wrap .lobby-v2-dot{position:absolute;right:-1px;bottom:5px}.lobby-v2-avatar-new{position:absolute;left:-7px;top:-7px;padding:3px 6px;border-radius:999px;background:#f59e0b;color:#111827;font-size:.68rem;font-weight:900}.lobby-v2-profile-text{min-width:0}.lobby-v2-rules-gate{display:grid;gap:5px;padding:16px;border:1px solid rgba(245,158,11,.42);border-radius:8px;background:linear-gradient(135deg,#f59e0b29,#0f172a75),#020617b3;color:#f8fafc;text-decoration:none}.lobby-v2-rules-gate-kicker{color:#fbbf24;font-size:.68rem;font-weight:900;letter-spacing:.12em}.lobby-v2-rules-gate strong{font-size:1rem}.lobby-v2-rules-gate small{color:#cbd5e1;line-height:1.5}.lobby-v2-rules-gate b{margin-top:4px;color:#fde68a;font-size:.78rem}.lobby-v2-username{overflow:hidden;color:#f8fafc;font-size:1.24rem;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.lobby-v2-steam-chip{margin-top:4px;color:#86efac;font-size:.72rem}.lobby-v2-leader{margin-top:5px;font-size:.82rem;font-weight:800}.lobby-v2-hero{display:flex;flex-direction:column;gap:12px;padding:16px;border:1px solid rgba(125,211,252,.18);border-radius:8px;background:linear-gradient(135deg,#38bdf81a,#0f172a5c),#02061794}.lobby-v2-hero.accent{border-color:#f59e0b59;background:linear-gradient(135deg,#f59e0b2e,#38bdf814),#020617a6}.lobby-v2-hero-eyebrow{color:#fbbf24;font-size:.84rem;font-weight:900}.lobby-v2-hero-body{margin:0;color:#cbd5e1;font-size:.9rem;line-height:1.55}.lobby-v2-hero-btn,.uni-card-cta,.btn-play,.btn-outline{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:36px;border-radius:7px;border:1px solid rgba(56,189,248,.45);background:#38bdf82b;color:#bfdbfe;cursor:pointer;font-weight:900}.lobby-v2-hero-btn{align-self:flex-start;padding:8px 13px}.lobby-v2-rule{display:flex;align-items:center;gap:10px}.lobby-v2-rule:after{content:"";height:1px;flex:1;background:#7dd3fc29}.lobby-v2-rule.wide{margin-top:12px}.lobby-v2-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.lobby-v2-stat{padding:12px;border:1px solid rgba(125,211,252,.16);border-radius:8px;background:#02061770}.lobby-v2-stat-label{color:#94a3b8;font-size:.72rem;font-weight:800}.lobby-v2-stat-value{margin-top:4px;color:#f8fafc;font-size:1.1rem;font-weight:900}.lobby-v2-stat-dim{color:#64748b}.lobby-v2-left-spacer{flex:1}.lobby-v2-left-links{display:flex;flex-wrap:wrap;gap:8px}.lobby-v2-link-icon{display:inline-flex;align-items:center;justify-content:center;min-height:32px;padding:6px 10px;border:1px solid rgba(125,211,252,.16);border-radius:7px;background:#0f172ab8;color:#cbd5e1;font-size:.78rem;font-weight:900;text-decoration:none}.lobby-v2-left-footer{display:flex;justify-content:space-between;gap:8px;color:#64748b;font-size:.76rem;font-weight:800}.lobby-v2-right{display:flex;min-width:0;flex-direction:column;gap:16px}.lobby-v2-right-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px}.lobby-v2-title{margin:0;color:#f8fafc;font-size:1.8rem;font-weight:900}.lobby-v2-subtitle{color:#94a3b8;font-size:.9rem;font-weight:700}.lobby-v2-universes{display:grid;gap:12px}.uni-card{display:grid;grid-template-columns:150px minmax(0,1fr) minmax(150px,auto);gap:14px;align-items:stretch;padding:12px;border:1px solid rgba(125,211,252,.16);border-radius:8px;background:#0f172ab8}.uni-card.active{border-color:#38bdf86b}.uni-card.recommended{border-color:#f59e0b6b}.uni-galaxy-thumb{width:150px;height:84px;border-radius:7px;border:1px solid rgba(125,211,252,.12);overflow:hidden}.uni-card-body{display:flex;flex-direction:column;gap:8px;min-width:0}.uni-card-title-row{display:flex;align-items:center;flex-wrap:wrap;gap:7px}.uni-card-name{color:#f8fafc;font-size:1rem;font-weight:900}.uni-card-code,.uni-chip{display:inline-flex;align-items:center;gap:5px;min-height:22px;padding:3px 7px;border:1px solid rgba(125,211,252,.16);border-radius:999px;color:#94a3b8;font-size:.7rem;font-weight:900}.uni-chip.live{border-color:#22c55e4d;color:#86efac}.uni-chip.warn{border-color:#f59e0b52;color:#fcd34d}.uni-chip.accent{border-color:#38bdf861;color:#7dd3fc}.uni-card-blurb{color:#cbd5e1;font-size:.86rem;line-height:1.45}.uni-card-metrics{display:flex;flex-wrap:wrap;gap:8px 12px;color:#94a3b8;font-size:.78rem;font-weight:800}.uni-card-cta{align-self:center;min-width:132px;padding:8px 12px}.uni-card-cta.primary{background:linear-gradient(135deg,#38bdf852,#22c55e2e);color:#f8fafc}.uni-card-cta.ghost{background:#0f172ac7}.uni-card-cta.hall{border-color:#f59e0b66;background:#f59e0b29;color:#fde68a}.uni-card-ended-actions{display:flex;flex-direction:column;justify-content:center;gap:8px}.lobby-v2-dispatch{display:flex;align-items:stretch;gap:12px;padding-bottom:4px;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin}.dispatch-card{flex:0 0 min(320px,82vw);padding:13px;border:1px solid rgba(125,211,252,.16);border-radius:8px;background:#0f172abd}.dispatch-card.featured{border-color:#38bdf859}.dispatch-meta{display:flex;align-items:center;justify-content:space-between;gap:10px;color:#64748b;font-size:.72rem;font-weight:900}.dispatch-tag{padding:3px 7px;border-radius:999px;background:#38bdf824;color:#7dd3fc}.dispatch-tag.maintenance{background:#f59e0b24;color:#fcd34d}.dispatch-title{margin-top:8px;color:#f8fafc;font-size:.94rem;font-weight:900;line-height:1.35}.dispatch-body{margin-top:8px;color:#cbd5e1;font-size:.82rem;line-height:1.45}.dispatch-body a{color:#7dd3fc}.dispatch-reward{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:10px;color:#fcd34d;font-size:.76rem;font-weight:800}.dispatch-claim{border:1px solid rgba(125,211,252,.45);border-radius:6px;background:#0e749057;color:#e0f2fe;cursor:pointer;font-weight:800;padding:5px 8px}.dispatch-claim:disabled{cursor:default;opacity:.55}.dispatch-claim-message{color:#7dd3fc;font-size:.8rem;margin-top:8px}.lobby-v2-community{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.community-tile{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;min-height:76px;padding:13px;border:1px solid rgba(125,211,252,.16);border-radius:8px;background:#0f172abd;color:inherit;text-decoration:none}.community-tile-icon{display:grid;width:40px;height:40px;place-items:center;border-radius:8px;background:#38bdf824;color:#7dd3fc;font-weight:900}.community-tile-icon.discord{background:#6366f12e;color:#c4b5fd}.community-tile-title{color:#f8fafc;font-weight:900}.community-tile-sub{margin-top:3px;color:#94a3b8;font-size:.82rem}.community-tile-arrow{color:#64748b;font-weight:900}.lobby-v2-bottom-logout{align-self:flex-end;min-height:34px;padding:7px 14px;border:1px solid rgba(248,113,113,.28);border-radius:7px;background:#7f1d1d3d;color:#fecaca;cursor:pointer;font-weight:800}.lobby-v2-footer{width:min(1260px,calc(100vw - 32px));margin:0 auto;padding:10px 0 22px;color:#64748b;font-size:.76rem}.lobby-v2-footer-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.lobby-v2-footer-link{color:#94a3b8;text-decoration:none}.lobby-v2-footer-btn{border:0;background:transparent;cursor:pointer;padding:0}.lobby-v2-footer-entity{margin-top:4px}@media (max-width:860px){.lobby-v2-nav{flex-wrap:wrap}.lobby-v2-layout,.hof-grid{grid-template-columns:1fr}.lobby-v2-left{min-height:0}.uni-card{grid-template-columns:120px minmax(0,1fr)}.uni-galaxy-thumb{width:120px}.uni-card-cta,.uni-card-ended-actions{grid-column:1 / -1;width:100%}.lobby-v2-community{grid-template-columns:1fr}}@media (max-width:560px){.lobby-v2-layout,.lobby-v2-footer{width:min(100vw - 18px,1260px)}.lobby-v2-nav{padding:10px}.lobby-v2-brand-name{font-size:.8rem}.lobby-v2-brand-tag{display:none}.lobby-v2-right-head{align-items:flex-start;flex-direction:column;gap:6px}.lobby-v2-title{font-size:1.35rem}.uni-card{grid-template-columns:1fr}.uni-galaxy-thumb{width:100%}.lobby-v2-stats,.leader-grid{grid-template-columns:1fr}}.info-row .lucide-icon{flex:0 0 auto;color:var(--text-accent, #38bdf8)}.defense-row .lucide-icon{color:var(--text-accent, #38bdf8)}@keyframes ov-critical-pulse{0%,to{opacity:1;box-shadow:0 0 8px #ef444480}50%{opacity:.7;box-shadow:0 0 14px #ef4444cc}}.pirate-ranking-select-wrap .lucide-icon{position:absolute;right:10px;pointer-events:none;color:var(--text-muted, #94a3b8)}.moon-operations-card,.moon-panel,.moon-dispatch-panel{background:var(--bg-card, #0f172a);border:1px solid var(--border-color, rgba(148, 163, 184, .24));border-radius:12px}.moon-operations-header span,.moon-panel-row,.moon-dispatch-row,.moon-panel-ship-avail,.moon-panel-cargo-row{color:var(--text-secondary, #cbd5e1);font-size:.88rem}.moon-operations-stats,.moon-fleet-tabs,.moon-dispatch-types{display:flex;flex-wrap:wrap;gap:8px}.moon-fleet-tab,.moon-dispatch-type-btn{min-height:32px;padding:6px 11px;color:var(--text-secondary, #cbd5e1);font:inherit;font-size:.84rem;font-weight:700;cursor:pointer;background:#0f172ab8;border:1px solid rgba(148,163,184,.22);border-radius:7px}.moon-fleet-tab.active,.moon-dispatch-type-btn.active{color:#eff6ff;background:#2563ebc7;border-color:#60a5fa6b}.moon-operations-main,.moon-operations-side,.moon-panel-body,.moon-dispatch-body,.moon-panel-ships,.moon-panel-cargo{display:flex;flex-direction:column;gap:10px}.moon-panel,.moon-dispatch-panel{padding:12px}.moon-panel-header,.moon-dispatch-header{margin-bottom:10px;color:var(--text-primary, #f8fafc);font-size:.96rem;font-weight:800}.moon-panel-row,.moon-dispatch-row,.moon-panel-ship-row,.moon-panel-cargo-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.moon-panel-row>span,.moon-dispatch-row>span,.moon-panel-cargo-row>span,.moon-panel-ship-name{min-width:112px;color:var(--text-primary, #f8fafc);font-weight:700}.moon-panel-submit,.moon-dispatch-btn{min-height:36px;padding:8px 12px;color:#eff6ff;font:inherit;font-weight:800;cursor:pointer;background:#2563ebd1;border:1px solid rgba(96,165,250,.42);border-radius:7px}.moon-panel-submit:hover,.moon-dispatch-btn:hover,.moon-fleet-tab:hover:not(:disabled),.moon-dispatch-type-btn:hover{background:#2563eb}@media (max-width:720px){.moon-operations-header,.moon-panel-row,.moon-dispatch-row,.moon-panel-ship-row,.moon-panel-cargo-row{align-items:stretch;flex-direction:column}.moon-panel-row>span,.moon-dispatch-row>span,.moon-panel-cargo-row>span,.moon-panel-ship-name{min-width:0}}.mission-card,.report-card,.garrison-card,.fleet-dispatch-panel,.fleet-empty-active,.empty-state{background:var(--bg-card, #0f172a);border:1px solid var(--border-color, rgba(148, 163, 184, .24));border-radius:12px}.fleet-dispatch-panel{display:flex;flex-direction:column;gap:14px;padding:16px}.fleet-dispatch-head{display:flex;flex-direction:column;gap:6px}.fleet-dispatch-head h3{margin:0;color:var(--text-primary, #f8fafc);font-family:Rajdhani,"Exo 2",sans-serif}.fleet-dispatch-head p{max-width:560px;margin:0;color:var(--text-secondary, #cbd5e1);font-size:.86rem;line-height:1.5}.fleet-dispatch-form-grid,.fleet-dispatch-cargo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:10px 12px;background:var(--bg-secondary, rgba(15, 23, 42, .7));border:1px solid rgba(148,163,184,.18);border-radius:8px}.fleet-dispatch-cargo-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.fleet-dispatch-field{display:flex;min-width:0;flex-direction:column;gap:5px;color:var(--text-secondary, #cbd5e1);font-size:.78rem;font-weight:700}.fleet-dispatch-select,.fleet-dispatch-cargo-input,.fleet-target-search-input{width:100%;min-width:0;padding:7px 8px;color:var(--text-primary, #f8fafc);font:inherit;font-size:.82rem;background:var(--bg-input, #0b1120);border:1px solid var(--border-color, rgba(148, 163, 184, .24));border-radius:6px}.fleet-target-search-panel,.fleet-dispatch-estimate{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:10px 12px;color:var(--text-secondary, #cbd5e1);font-size:.8rem;background:var(--bg-secondary, rgba(15, 23, 42, .7));border:1px solid rgba(148,163,184,.18);border-radius:8px}.fleet-target-search-error,.fleet-dispatch-estimate.warn strong{color:#fca5a5;font-weight:800}.vacation-mode-alert,.dispatch-shield-warning{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:10px 12px;color:var(--text-primary, #f8fafc);font-size:.8rem;font-weight:700;border-radius:8px}.dispatch-shield-warning{background:#38bdf81a;border:1px solid rgba(56,189,248,.3)}.dispatch-shield-warning strong{color:#bae6fd}.fleet-dispatch-estimate span,.fleet-dispatch-estimate strong{padding:4px 8px;background:#0f172a94;border:1px solid rgba(148,163,184,.16);border-radius:5px}.fleet-dispatch-submit{align-self:flex-start;min-height:34px;padding:7px 14px;color:#bbf7d0;font:inherit;font-size:.8rem;font-weight:800;cursor:pointer;background:#22c55e1f;border:1px solid rgba(34,197,94,.32);border-radius:7px}.fleet-dispatch-submit:hover:not(:disabled){background:#22c55e33}.fleet-dispatch-submit:disabled{cursor:not-allowed;opacity:.48}.fleet-dispatch-quantity{width:84px;min-width:0;padding:6px 8px;color:var(--text-primary, #f8fafc);font:inherit;font-size:.84rem;background:var(--bg-input, #0b1120);border:1px solid var(--border-color, rgba(148, 163, 184, .24));border-radius:6px}@media (max-width:720px){.fleet-dispatch-form-grid,.fleet-dispatch-cargo-grid,.report-forces,.report-losses,.round-detail-columns{grid-template-columns:minmax(0,1fr)}.fleet-docked-ship-meta,.fleet-docked-ship-damaged,.fleet-dispatch-quantity{grid-column:2}}@keyframes pcp-signal-bar{0%,to{opacity:.55;transform:scaleY(.75)}50%{opacity:1;transform:scaleY(1)}}@keyframes pcp-signal-fade{0%,to{opacity:.3}50%{opacity:1}}@keyframes public-chat-title-sheen{0%,to{background-position:100% 0}50%{background-position:0 0}}.game-shell-pirate-revenge-menu-item>.lucide-icon{flex:0 0 auto;color:#fda4af}.game-shell-pirate-revenge-alert>.lucide-icon{flex:0 0 auto;color:#fda4af}.game-shell-pirate-revenge-help>.lucide-icon,.game-shell-pirate-revenge-help small{color:#93c5fd}.game-shell-help-request-outpost-title .lucide-icon{color:#fda4af}@keyframes pirate-revenge-signal-travel{0%{background-position:0 0,48px 100%,0 0,100% 48px}to{background-position:96px 0,-48px 100%,0 96px,100% -48px}}@keyframes pirate-revenge-edge-ambient{0%,to{opacity:.52}50%{opacity:.78}}.game-shell-resource--energy .lucide-icon{color:#60d7ff}:root{color-scheme:dark;--bg-primary: #050914;--bg-secondary: #0b1424;--bg-card: rgba(11, 20, 36, .88);--bg-card-hover: rgba(18, 35, 59, .94);--bg-input: rgba(3, 9, 20, .84);--text-primary: #e7f0fb;--text-secondary: #b7c8dd;--text-muted: #7e92aa;--text-accent: #7ed4ff;--border-color: rgba(126, 212, 255, .18);--border-accent: rgba(126, 212, 255, .42);--color-success: #39c883;--color-error: #f06b78}.terms-checkbox{display:flex;align-items:center;gap:8px;margin:6px 0 4px;color:var(--text-secondary,#d9e6f7);font-size:.92rem}.terms-checkbox input{width:16px;height:16px;accent-color:var(--vault-accent,#7ed4ff);cursor:pointer}.terms-checkbox a{color:var(--vault-accent,#7ed4ff)}.tendency-picker{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:8px}.tendency-option{padding:9px 4px;border:1px solid var(--vault-edge-soft,rgba(120,200,255,.12));border-radius:6px;background:var(--bg-input,rgba(5,10,20,.96));color:var(--text-secondary,#d9e6f7);font:inherit;font-size:.9rem;cursor:pointer;transition:border-color .15s,background .15s,color .15s}.tendency-option:hover{border-color:var(--vault-edge,rgba(120,200,255,.3))}.tendency-option.active{border-color:var(--vault-accent,#7ed4ff);color:var(--vault-accent,#7ed4ff);background:var(--vault-accent-soft,rgba(126,212,255,.16));box-shadow:0 0 12px -4px #7ed4ff99}.auth-error-kicker{color:var(--color-error,#ef4444);font-size:.8rem;margin:8px 0 0}.lobby-v2-universe-list{list-style:none;margin:0;padding:0;display:grid;gap:14px}
