:root{--bg:#02060c;--bg-panel:#0818288c;--holo:#5cf2ff;--holo-rgb:92, 242, 255;--holo-dim:rgba(var(--holo-rgb), .55);--holo-faint:rgba(var(--holo-rgb), .15);--text:#d6fbff;--muted:#d6fbff99;--danger:#ff4d5e;--danger-rgb:255, 77, 94;--font-mono:"Share Tech Mono", ui-monospace, monospace;--font-display:"Orbitron", "Share Tech Mono", sans-serif;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-holo=amber]{--bg:#0a0603;--bg-panel:#2818088c;--holo:#ffb547;--holo-rgb:255, 181, 71;--text:#ffeccc;--muted:#ffeccc99}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:radial-gradient(ellipse at 50% 120%, rgba(var(--holo-rgb), .12), transparent 60%), var(--bg);color:var(--text);font-family:var(--font-mono);-webkit-font-smoothing:antialiased;font-size:16px;line-height:1.5}.shell{flex-direction:column;min-height:100%;display:flex;position:relative;overflow-x:hidden}.scanlines{pointer-events:none;z-index:50;mix-blend-mode:multiply;background:repeating-linear-gradient(#0000 0 2px,#00000040 3px,#0000 4px);position:fixed;inset:0}.scanlines:after{content:"";background:linear-gradient(to bottom, transparent, rgba(var(--holo-rgb), .06), transparent);height:30%;animation:8s linear infinite sweep;position:absolute;inset:0}.topbar{border-bottom:1px solid var(--holo-faint);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 24px;padding:16px 24px;display:flex}.brand{flex-direction:column;text-decoration:none;display:flex}.brand-name{font-family:var(--font-display);letter-spacing:.12em;text-transform:uppercase;color:var(--holo);text-shadow:0 0 8px rgba(var(--holo-rgb), .8);font-size:1.25rem;font-weight:700}.brand-os{color:var(--muted);letter-spacing:.1em;font-size:.75rem}.nav{flex-wrap:wrap;gap:4px;display:flex}.nav-link{color:var(--holo-dim);text-transform:uppercase;letter-spacing:.1em;border:1px solid #0000;padding:6px 12px;font-size:.85rem;text-decoration:none}.nav-link:hover{color:var(--holo)}.nav-link.active{color:var(--holo);border-color:var(--holo-dim);box-shadow:inset 0 0 12px var(--holo-faint)}.nav-login{opacity:.6;border-left:1px solid var(--holo-faint);margin-left:8px}.nav-login:hover,.nav-login.active{opacity:1}.gm-badge{color:var(--bg);background:var(--holo)}.gm-badge.active,.gm-badge:hover{color:var(--bg)}.main{flex:1;width:100%;max-width:1480px;margin:0 auto;padding:24px}.grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,360px),1fr));gap:24px;display:grid}.panel{background:var(--bg-panel);border:1px solid var(--holo-dim);box-shadow:0 0 24px var(--holo-faint), inset 0 0 32px var(--holo-faint);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);padding:20px 24px;position:relative}.panel:before,.panel:after{content:"";border:2px solid var(--holo);width:14px;height:14px;position:absolute}.panel:before{border-bottom:0;border-right:0;top:-2px;left:-2px}.panel:after{border-top:0;border-left:0;bottom:-2px;right:-2px}.panel-narrow{max-width:420px;margin:8vh auto 0}.panel-offline{text-align:center;max-width:560px;margin:8vh auto 0}.panel-alert{--holo-dim:rgba(var(--danger-rgb), .6);border-color:var(--danger)}.panel-title{font-family:var(--font-display);letter-spacing:.15em;text-transform:uppercase;color:var(--holo);text-shadow:0 0 6px rgba(var(--holo-rgb), .6);margin:0 0 16px;font-size:1rem;font-weight:500}.muted{color:var(--muted)}.readout{grid-template-columns:auto 1fr;gap:6px 16px;margin:0;display:grid}.readout dt{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;align-self:center;font-size:.8rem}.readout dd{overflow-wrap:anywhere;margin:0}.slot-list{margin:0;padding:0;list-style:none}.slot{border-bottom:1px dashed var(--holo-faint);justify-content:space-between;gap:12px;padding:6px 0;display:flex}.slot-value{text-align:right;color:var(--holo)}.slot-empty .slot-value{color:var(--muted);animation:1.6s steps(2,start) infinite blink}.slot-damaged .slot-value{color:var(--danger);animation:.4s infinite flicker}.tag{border:1px solid var(--holo-dim);color:var(--holo);margin-left:8px;padding:0 6px;font-size:.7rem}.form{flex-direction:column;gap:16px;display:flex}.field{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);flex-direction:column;gap:6px;font-size:.8rem;display:flex}.field input{font:inherit;color:var(--text);border:1px solid var(--holo-dim);background:#0006;outline:none;padding:10px 12px;font-size:1rem}.field input:focus{border-color:var(--holo);box-shadow:0 0 12px var(--holo-faint)}.btn{font:inherit;text-transform:uppercase;letter-spacing:.12em;color:var(--holo);border:1px solid var(--holo);cursor:pointer;background:0 0;padding:10px 16px}.btn:hover:not(:disabled){background:var(--holo-faint);box-shadow:0 0 16px var(--holo-faint)}.btn:disabled{opacity:.4;cursor:default}.error{color:var(--danger);text-shadow:0 0 6px rgba(var(--danger-rgb), .6);margin:0}.ticker{border-top:1px solid var(--holo-faint);color:var(--muted);align-items:center;gap:12px;padding:10px 24px;font-size:.85rem;display:flex;overflow:hidden}.ticker-label{color:var(--bg);background:var(--holo-dim);padding:0 6px}.ticker-msg{white-space:nowrap;text-overflow:ellipsis;animation:.6s steps(24,end) both type-in;overflow:hidden}.boot{letter-spacing:.2em;margin:0}.cursor{animation:1s steps(2,start) infinite blink}.flicker{animation:6s infinite flicker}.glitch{position:relative}.glitch:before,.glitch:after{content:attr(data-text);opacity:0;position:absolute;inset:0}.glitch:before{color:var(--danger);animation:3s infinite glitch}.glitch:after{color:var(--holo);animation:3s infinite reverse glitch}@keyframes sweep{0%{transform:translateY(-100%)}to{transform:translateY(400%)}}@keyframes blink{to{visibility:hidden}}@keyframes flicker{0%,92%,to{opacity:1}93%{opacity:.6}94%{opacity:1}96%{opacity:.4}97%{opacity:1}}@keyframes glitch{0%,88%,to{opacity:0;transform:none}89%{opacity:.8;clip-path:inset(10% 0 60%);transform:translate(-3px,1px)}91%{opacity:.8;clip-path:inset(50% 0 20%);transform:translate(3px,-1px)}93%{opacity:0}}@keyframes type-in{0%{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0)}}@media (prefers-reduced-motion:reduce){*,:before,:after{animation:none!important}}@media (width<=600px){.topbar,.main,.ticker{padding-left:16px;padding-right:16px}.panel{padding:16px}}.ship-layout{grid-template-columns:minmax(0,1fr) 340px;grid-template-areas:"stage side""stats side";align-items:start;gap:24px;display:grid}.holo-stage{grid-area:stage}.ship-stats{grid-area:stats}.ship-side{grid-area:side}@media (width>=1280px){.ship-layout{grid-template-columns:250px minmax(0,1fr) 340px;grid-template-areas:"stats stage side"}}.stat-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.stat{grid-template-columns:1fr auto;grid-template-areas:"label value""bar bar";gap:4px 8px;font-size:.8rem;display:grid}.stat-label{text-transform:uppercase;letter-spacing:.1em;color:var(--muted);grid-area:label}.stat-value{color:var(--holo);grid-area:value}.stat-value.up{color:#7dffb0}.stat-value.down{color:var(--danger)}.stat-bar{grid-area:bar;grid-template-columns:repeat(10,1fr);gap:3px;display:grid}.seg{border:1px solid var(--holo-faint);background:0 0;height:8px}.seg-on{background:var(--holo);border-color:var(--holo);box-shadow:0 0 6px rgba(var(--holo-rgb), .6)}.seg-gain{background:#7dffb059;border-color:#7dffb0;animation:1s steps(2,start) infinite blink}.seg-loss{border-color:var(--danger);background:rgba(var(--danger-rgb), .25);animation:1s steps(2,start) infinite blink}.small{margin:0;font-size:.75rem}.holo-stage{touch-action:none;height:min(72vh,720px);min-height:380px;padding:0;overflow:hidden}.holo-stage canvas{display:block}.stage-msg{padding:20px 24px}.stage-hint{color:var(--muted);pointer-events:none;margin:0;font-size:.75rem;position:absolute;bottom:10px;left:16px}.ship-side{flex-direction:column;gap:24px;display:flex}.holo-label{white-space:nowrap;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--holo);border:1px solid var(--holo-dim);box-shadow:0 0 10px var(--holo-faint);background:#0000008c;padding:2px 8px;font-size:.8rem}.flavour{color:var(--text);margin:0 0 12px;font-style:italic}.upgrade-name{color:var(--holo);text-transform:uppercase;letter-spacing:.06em;margin:0 0 6px}.bonus{color:var(--muted);margin:0 0 12px;font-size:.9rem}.state-chip{letter-spacing:.1em;border:1px solid;margin:-6px 0 12px;padding:0 8px;font-size:.75rem;display:inline-block}.state-installed{color:var(--holo)}.state-empty{color:var(--muted)}.state-damaged{color:var(--danger);animation:.5s infinite flicker}.slot-btn{width:100%;font:inherit;color:inherit;text-align:left;border:0;border-bottom:1px dashed var(--holo-faint);cursor:pointer;background:0 0}.slot-btn:hover,.slot-btn.is-selected{background:var(--holo-faint)}.gm-controls{border-top:1px solid var(--holo-faint);flex-direction:column;gap:12px;margin-top:16px;padding-top:16px;display:flex}.gm-controls-title{letter-spacing:.12em;text-transform:uppercase;color:var(--holo);margin:0;font-size:.8rem}.field select{font:inherit;color:var(--text);border:1px solid var(--holo-dim);text-transform:none;letter-spacing:0;background:#0009;padding:8px 10px;font-size:.95rem}.check{cursor:pointer;align-items:center;gap:8px;font-size:.9rem;display:flex}.check input{accent-color:var(--holo)}@media (width<=900px){.ship-layout{grid-template-columns:1fr;grid-template-areas:"stage""stats""side"}.holo-stage{height:52vh;min-height:320px}}.btn-small{margin-top:16px;padding:6px 12px;font-size:.8rem}.lightbox{z-index:100;cursor:zoom-out;background:#000000d9;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.lightbox-figure{flex-direction:column;gap:8px;max-width:min(1600px,100%);max-height:100%;margin:0;display:flex}.lightbox-figure img{object-fit:contain;border:1px solid var(--holo-dim);max-width:100%;max-height:calc(100vh - 80px);box-shadow:0 0 24px var(--holo-faint);display:block}.lightbox-figure figcaption{letter-spacing:.08em;color:var(--muted);text-align:center;font-size:.75rem}.chart-layout{grid-template-columns:minmax(0,1fr) 340px;align-items:start;gap:24px;display:grid}.chart-stage{touch-action:none;height:min(76vh,780px);min-height:420px;padding:0;position:relative;overflow:hidden}.chart-side{flex-direction:column;gap:24px;display:flex}.star-chart{cursor:grab;-webkit-user-select:none;user-select:none;width:100%;height:100%;font-family:var(--font-mono);display:block}.star-chart:active{cursor:grabbing}.star-chart.is-picking .chart-node{cursor:crosshair}.star-chart.is-far .lane-label{display:none}.star-chart.is-far .node-label{font-size:10px}.chart-stars circle{fill:var(--text)}.chart-grid circle,.chart-grid line{fill:none;stroke:rgba(var(--holo-rgb), .07);stroke-width:1px}.lane-hit{stroke:#0000;stroke-width:16px;cursor:pointer}.lane-line{stroke:var(--lane);fill:none;stroke-linecap:round;filter:url(#glow)}.lane-main_gate .lane-line{stroke-width:4px}.lane-backwater_gate .lane-line{stroke-width:2px}.lane-stable_drift .lane-line{stroke-width:2.4px;stroke-dasharray:10 6}.lane-rumoured .lane-line{stroke-width:1.4px;stroke-dasharray:3 8;opacity:.55;animation:3s infinite flicker}.lane-severed .lane-line{stroke-width:2px;stroke-dasharray:9 5}.chart-lane.is-selected .lane-line{stroke-width:5px;opacity:1}.chart-lane:hover .lane-line{opacity:1}.chart-lane.is-fresh .lane-line{animation:1.2s ease-out 4 fresh-lane}.lane-label{fill:var(--lane);letter-spacing:.14em;text-anchor:middle;pointer-events:none;paint-order:stroke;stroke:var(--bg);stroke-width:3px;font-size:10px}.chart-node{cursor:pointer}.chart-node.is-draggable{cursor:move}.node-hit{fill:#0000}.node-ring{fill:var(--bg);stroke:var(--holo);stroke-width:2px;filter:url(#glow)}.node-core{fill:var(--holo)}.chart-node.is-rumoured .node-ring{stroke-dasharray:3 3;opacity:.6;animation:3s infinite flicker}.chart-node.is-rumoured .node-core{opacity:.35}.chart-node.is-rumoured .node-label{opacity:.7;font-style:italic}.chart-node.is-picked .node-ring{stroke:#7dffb0;stroke-width:3px}.node-select{fill:none;stroke:#fff;stroke-width:1.2px;stroke-dasharray:6 4;transform-origin:50%;transform-box:fill-box;animation:6s linear infinite spin}.chart-node.is-station .node-label{font-size:10px}.node-label{fill:var(--text);letter-spacing:.1em;text-transform:uppercase;text-anchor:middle;paint-order:stroke;stroke:var(--bg);stroke-width:3px;pointer-events:none;font-size:12px}.node-sub{letter-spacing:.15em;text-anchor:middle;pointer-events:none;paint-order:stroke;stroke:var(--bg);stroke-width:3px;font-size:9px}.node-sub-here{fill:#ffc86e}.node-ship path{fill:#ffc86e;filter:url(#glow);animation:2s ease-in-out infinite bob}.node-here-pulse{fill:none;stroke:#ffc86e;stroke-width:1.2px;transform-origin:50%;transform-box:fill-box;animation:2.4s ease-out infinite pulse}.node-fresh-pulse{fill:none;stroke:#7dffb0;stroke-width:2px;transform-origin:50%;transform-box:fill-box;animation:1.2s ease-out 6 pulse}.chart-toast{z-index:5;color:#7dffb0;letter-spacing:.1em;text-align:center;background:#000c;border:1px solid #7dffb0;flex-direction:column;align-items:center;gap:2px;max-width:calc(100% - 32px);padding:10px 20px;font-size:.8rem;animation:.5s steps(6,end) both toast-in;display:flex;position:absolute;top:16px;left:50%;transform:translate(-50%);box-shadow:0 0 20px #7dffb04d}.chart-toast-title{font-family:var(--font-display);letter-spacing:.2em}.chart-mode{color:#7dffb0;background:#000000bf;border:1px solid #7dffb0;align-items:center;gap:12px;padding:8px 12px;font-size:.8rem;display:flex;position:absolute;top:16px;left:16px}.chart-mode .btn-small,.chart-tools .btn-small{margin-top:0}.chart-tools{align-items:center;gap:16px;font-size:.8rem;display:flex;position:absolute;bottom:10px;right:16px}.system-view{z-index:4;background:radial-gradient(ellipse at 50% 50%, rgba(var(--holo-rgb), .06), transparent 70%), #02060cf5;flex-direction:column;animation:.35s steps(5,end) both toast-in;display:flex;position:absolute;inset:0}.system-view-head{align-items:center;gap:16px;padding:14px 16px 0;display:flex}.system-view-head .btn-small{margin-top:0}.system-view-head .panel-title,.system-view-head p{margin:0}.system-view-empty{margin:auto}.system-svg{width:100%;min-height:0;font-family:var(--font-mono);flex:1}.orbit{fill:none;stroke:rgba(var(--holo-rgb), .22);stroke-width:1px}.orbit.is-rumoured{stroke-dasharray:4 6}.orbit-belt{stroke:rgba(var(--holo-rgb), .35);stroke-width:7px;stroke-dasharray:1 5;cursor:pointer}.orbit.is-selected{stroke:#fff9}.body{cursor:pointer}.body-hit{fill:#0000}.body-shape{fill:currentColor;fill-opacity:.85;stroke:#ffffffb3;stroke-width:1px;filter:url(#body-glow)}.body-star .body-shape{fill-opacity:1;stroke:none}.body-station .body-shape{fill-opacity:.25;stroke:currentColor;stroke-width:1.5px}.body.is-rumoured .body-shape{fill-opacity:.15;stroke:currentColor;stroke-dasharray:3 3;animation:3s infinite flicker}.body-select{fill:none;stroke:#fff;stroke-width:1.2px;stroke-dasharray:5 4;transform-origin:50%;transform-box:fill-box;animation:6s linear infinite spin}.body-label{fill:var(--text);letter-spacing:.08em;text-anchor:middle;paint-order:stroke;stroke:var(--bg);stroke-width:4px;pointer-events:none;font-size:13px}.body-label-side{text-anchor:start;fill:var(--muted);font-size:11px}.belt-label{text-anchor:start;fill:var(--muted)}.body-label.is-rumoured,.body.is-rumoured .body-label{opacity:.7;font-style:italic}.body-card{border:1px solid var(--holo-dim);max-width:min(360px,100% - 32px);box-shadow:0 0 16px var(--holo-faint);background:#000c;padding:12px 14px;position:absolute;bottom:16px;left:16px}.body-card p{margin:4px 0 0}.holo-text{color:var(--holo);font-weight:400}.holo-link{color:var(--holo)}.detail{margin:0 0 10px;font-size:.9rem}.detail-label{letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-size:.7rem;display:block}.chip-here{color:#ffc86e}.chip-rumoured{color:var(--muted)}.body-list{margin:4px 0 12px;padding:0;list-style:none}.body-btn{width:100%;font:inherit;color:inherit;text-align:left;border:0;border-bottom:1px dashed var(--holo-faint);cursor:pointer;background:0 0;justify-content:space-between;gap:12px;padding:5px 0;font-size:.9rem;display:flex}.body-btn:hover,.body-btn.is-selected{background:var(--holo-faint)}.body-btn-child{padding-left:14px;font-size:.85rem}.gm-tool-row{flex-wrap:wrap;gap:8px;display:flex}.gm-tool-row .btn-small{margin-top:0}.gm-controls-flush{border-top:0;margin-top:0;padding-top:0}.btn-danger{color:var(--danger);border-color:var(--danger)}.field textarea{font:inherit;color:var(--text);border:1px solid var(--holo-dim);resize:vertical;text-transform:none;letter-spacing:0;background:#0006;padding:8px 10px;font-size:.95rem}.field-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.field{min-width:0}.field input,.field select,.field textarea{width:100%;min-width:0}.legend{color:var(--muted);flex-direction:column;gap:8px;margin:0;padding:0;font-size:.8rem;list-style:none;display:flex}.legend li{grid-template-columns:40px 1fr;align-items:center;gap:10px;display:grid}.legend strong{color:var(--text);font-weight:400}.legend-swatch{width:40px;height:14px;overflow:visible}svg.legend-swatch.chart-node{height:22px}.gm-layout{grid-template-columns:minmax(0,1fr) 340px;align-items:start;gap:24px;display:grid}.packet-list{flex-direction:column;gap:12px;margin:8px 0 20px;padding:0;list-style:none;display:flex}.packet{border:1px solid var(--holo-dim);background:#00000040;padding:12px 14px}.packet.is-released{border-style:dashed;border-color:var(--holo-faint);padding:8px 14px}.packet-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.packet-head .btn-small{margin-top:0}.packet p{margin:6px 0}.packet-ops{color:var(--muted);margin:6px 0 0;padding-left:18px;font-size:.8rem}.nav-new{color:var(--bg);background:#7dffb0;margin-left:6px;padding:0 4px;font-size:.65rem;animation:1.2s steps(2,start) infinite blink}.tx-layout{grid-template-columns:minmax(300px,440px) minmax(0,1fr);align-items:start;gap:24px;display:grid}.tx-feed-head{justify-content:space-between;align-items:baseline;display:flex}.tx-new-btn{margin:0 0 14px}.tx-filters{flex-wrap:wrap;gap:6px;margin-bottom:16px;display:flex}.chip{font:inherit;letter-spacing:.06em;color:var(--muted);border:1px solid var(--holo-faint);cursor:pointer;background:0 0;padding:3px 10px;font-size:.75rem}.chip.is-on,.chip:hover{color:var(--holo);border-color:var(--holo-dim)}.tx-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.tx{--tx:var(--holo);width:100%;font:inherit;color:inherit;text-align:left;background:linear-gradient(90deg, rgba(var(--holo-rgb), .06), transparent 70%);border:0;border-left:2px solid var(--tx);cursor:pointer;flex-direction:column;gap:4px;padding:10px 14px 12px 16px;display:flex}.tx:hover{background:linear-gradient(90deg, rgba(var(--holo-rgb), .12), transparent 80%)}.tx.is-open{background:linear-gradient(90deg, rgba(var(--holo-rgb), .16), rgba(var(--holo-rgb), .04));box-shadow:inset 0 0 0 1px var(--holo-dim)}.source-general{--tx:var(--danger)}.tx.source-general{background:linear-gradient(90deg, rgba(var(--danger-rgb), .08), transparent 70%)}.source-job{--tx:#c4801a}.tx.source-job{background:linear-gradient(90deg,#c4801a14,#0000 70%)}.source-rumour{--tx:var(--muted)}.tx.is-new{box-shadow:inset 0 0 0 1px #7dffb059}.tx.is-draft{opacity:.65;border-left-style:dashed}.tx-meta{letter-spacing:.06em;color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:4px 12px;font-size:.72rem;display:flex}.tx-source{color:var(--tx);text-transform:uppercase}.tx-from{color:var(--muted);text-transform:none}.tx-icon{width:1.2em;display:inline-block}.tx-tags{align-items:center;gap:10px;display:flex}.tag-new{color:#7dffb0;border-color:#7dffb0;margin-left:0}.tx-title{color:var(--text);font-size:1rem}.tx-teaser{color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.85rem;display:-webkit-box;overflow:hidden}.tx-reader{max-height:calc(100vh - 32px);position:sticky;top:16px;overflow-y:auto}.tx-reader-empty{text-align:center;padding:48px 0}.tx-back{margin:0 0 14px;display:none}.tx-full{--tx:var(--holo)}.tx-full .tx-meta{border-bottom:1px dashed var(--holo-faint);padding-bottom:10px}.tx-full-title{font-family:var(--font-display);letter-spacing:.06em;color:var(--tx);text-shadow:0 0 8px rgba(var(--holo-rgb), .35);margin:14px 0 16px;font-size:1.2rem;font-weight:500}.tx-full-body{white-space:pre-wrap;color:var(--text);max-width:72ch;line-height:1.7}.tx-full-end{letter-spacing:.1em;margin:24px 0 16px}.tx-form{margin-top:4px}.tx-full .tx-form{margin-top:0}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{0%{opacity:1;transform:scale(.6)}to{opacity:0;transform:scale(1.8)}}@keyframes bob{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}@keyframes fresh-lane{0%{stroke:#7dffb0;stroke-width:6px}}@keyframes toast-in{0%{clip-path:inset(0 50%)}to{clip-path:inset(0)}}@media (width<=900px){.chart-layout,.gm-layout,.tx-layout{grid-template-columns:1fr}.tx-layout.reader-open .tx-feed,.tx-layout:not(.reader-open) .tx-reader{display:none}.tx-reader{max-height:none;position:static}.tx-back{display:inline-block}.chart-stage{height:60vh;min-height:340px}.chart-stage .stage-hint{display:none}.field-row{grid-template-columns:1fr}}.main:has(>.bridge){max-width:1800px}.bridge{--bridge-h:max(560px, calc(100dvh - 175px));min-height:var(--bridge-h);grid-template-columns:clamp(260px,100% - 944px,34%) minmax(0,1fr);align-items:start;gap:24px;display:grid}.bridge-main{min-width:0;min-height:var(--bridge-h);flex-direction:column;gap:24px;display:flex;position:relative}.bridge-main>.panel,.bridge-grid{z-index:1;position:relative}.bridge-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));align-items:start;gap:24px;display:grid}.bridge-grid .btn-small{margin-top:12px}.bridge-grid .gm-tool-row .btn-small{margin-top:4px}.btn{text-decoration:none;display:inline-block}.bridge-big{font-family:var(--font-display);letter-spacing:.08em;color:var(--text);margin:0 0 10px;font-size:1.3rem}.bridge-ok{color:var(--holo);font-size:1.05rem}.bridge-alert{color:var(--danger);font-size:1.05rem;animation:2s infinite flicker}.panel-damage{border-color:rgba(var(--danger-rgb), .7);box-shadow:0 0 24px rgba(var(--danger-rgb), .15), inset 0 0 32px rgba(var(--danger-rgb), .08)}.damage-list{margin:0;padding:0;list-style:none}.damage-list a{color:inherit;border-bottom:1px dashed rgba(var(--danger-rgb), .3);justify-content:space-between;gap:12px;padding:6px 0;text-decoration:none;display:flex}.damage-list a:hover{background:rgba(var(--danger-rgb), .1)}.damage-name{color:var(--danger)}.damage-part{color:var(--muted);text-align:right;font-size:.85rem}.bridge-tx{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.bridge-tx-item{--tx:var(--holo);color:inherit;border-left:2px solid var(--tx);background:linear-gradient(90deg, rgba(var(--holo-rgb), .06), transparent 70%);flex-direction:column;gap:2px;padding:6px 10px;text-decoration:none;display:flex}.bridge-tx-item:hover{background:linear-gradient(90deg, rgba(var(--holo-rgb), .14), transparent 80%)}.bridge-tx-item .tx-source{letter-spacing:.06em;font-size:.7rem}.bridge-tx-item .tag-new{margin-left:8px}.bridge-tx-item .tx-title{font-size:.95rem}.buck-figure{height:var(--bridge-h);background:radial-gradient(ellipse 45% 5% at 50% calc(100% - 14px), rgba(var(--holo-rgb), .35), transparent 100%);justify-content:center;align-items:flex-end;padding-bottom:18px;display:flex;position:sticky;top:16px}.buck-figure .holo-buck{max-width:100%;height:100%}.holo-figure{animation:6s ease-in-out infinite buck-breathe;position:relative}.holo-layer{-webkit-mask:var(--mask) center bottom / contain no-repeat;-webkit-mask:var(--mask) center bottom / contain no-repeat;mask:var(--mask) center bottom / contain no-repeat;position:absolute;inset:0}.holo-body{background:var(--holo);opacity:.92;filter:drop-shadow(0 0 4px rgba(var(--holo-rgb), .45))}.holo-glint{-webkit-mask-image:var(--glint);-webkit-mask-image:var(--glint);mask-image:var(--glint);opacity:.35;background:#fff}.holo-scan{background:repeating-linear-gradient(#0000002e 0 1px,#0000 1px 3px) 0 0/100% 3px;animation:1.2s linear infinite buck-scan}.holo-buck.is-talking .holo-body{animation:.5s ease-in-out infinite alternate buck-talk}.bessy-figure{z-index:5;background:radial-gradient(ellipse 40% 6% at 50% calc(100% - 10px), rgba(var(--holo-rgb), .3), transparent 100%);cursor:pointer;border:0;height:min(260px,32%);padding:0 0 14px;transition:filter .2s;position:absolute;bottom:0;right:0}.bessy-figure .holo-bessy{opacity:.9;height:100%;transform:scaleX(-1)}.bessy-figure:hover,.bessy-figure:focus-visible{filter:brightness(1.25) drop-shadow(0 0 8px rgba(var(--holo-rgb), .6));outline:none}@keyframes buck-breathe{0%,to{opacity:.94}50%{opacity:1}}@keyframes buck-scan{to{background-position:0 3px}}@keyframes buck-talk{to{filter:drop-shadow(0 0 10px rgba(var(--holo-rgb), .85)) brightness(1.15)}}.buck-speech{min-width:0;padding:16px 24px}.buck-name{letter-spacing:.18em;color:var(--muted);font-size:.75rem}.buck-line{min-height:3em;color:var(--text);margin:6px 0 0;font-size:1.15rem;line-height:1.6}@media (width<=900px){.bridge{grid-template-columns:1fr}.bridge,.bridge-main{min-height:0}.buck-figure{height:340px;position:static}.bessy-figure{align-self:flex-end;height:160px;position:static}.buck-line{font-size:1rem}}.nav-credits{color:#ffc86e;border-color:#ffc86e59;margin-left:8px}.nav-credits:hover,.nav-credits.active{color:#ffd78c;border-color:#ffc86ecc;box-shadow:inset 0 0 12px #ffc86e26}.slot-row{align-items:stretch;display:flex}.slot-row .slot-btn{flex:1;min-width:0}.shop-link{color:#ffc86e;border-bottom:1px dashed var(--holo-faint);flex:none;justify-content:center;align-items:center;width:34px;text-decoration:none;display:flex}.shop-link:hover{background:#ffc86e1f}.slot-locked .slot-name,.slot-locked .slot-value{color:var(--muted);opacity:.6}.shop-layout{grid-template-columns:320px minmax(0,1fr);align-items:start;gap:24px;display:grid}.shop-side{flex-direction:column;gap:24px;display:flex}.shop-credits{font-family:var(--font-display);letter-spacing:.06em;color:#ffc86e;text-shadow:0 0 10px #ffc86e66;margin:4px 0;font-size:2rem}.shop-parts{margin:0;padding:0;list-style:none}.shop-part{width:100%;font:inherit;color:inherit;text-align:left;border:0;border-bottom:1px dashed var(--holo-faint);cursor:pointer;background:0 0;justify-content:space-between;gap:12px;padding:7px 4px;display:flex}.shop-part:hover,.shop-part.is-selected{background:var(--holo-faint)}.shop-part.is-locked{color:var(--muted)}.shop-msg{color:#7dffb0;border:1px solid #7dffb0;padding:8px 12px}.viewer-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:8px 24px;display:flex}.viewer-head .panel-title{margin-bottom:4px}.viewer-head p{margin:0}.viewer-stage{background:radial-gradient(ellipse 30% 6% at 50% calc(100% - 18px), rgba(var(--holo-rgb), .35), transparent 100%), radial-gradient(ellipse at 50% 60%, rgba(var(--holo-rgb), .08), transparent 65%);grid-template-rows:minmax(0,1fr);grid-template-columns:56px minmax(0,1fr) 56px;align-items:center;height:clamp(260px,42vh,420px);margin:16px 0 12px;display:grid;position:relative}.viewer-holo{box-sizing:border-box;flex-direction:column;justify-content:flex-end;align-self:stretch;align-items:center;min-height:0;padding:8px 0 22px;animation:.45s steps(6,end) both viewer-in;display:flex;position:relative}.viewer-holo .holo-figure{flex:1 1 0;max-width:100%;min-height:0;animation:6s ease-in-out infinite buck-breathe,5s ease-in-out infinite viewer-float}.viewer-arrow{height:56px;font:inherit;color:var(--holo);border:1px solid var(--holo-dim);cursor:pointer;background:0 0;font-size:1.1rem}.viewer-arrow:hover:not(:disabled){background:var(--holo-faint);box-shadow:0 0 14px var(--holo-faint)}.viewer-arrow:disabled{opacity:.25;cursor:default}.viewer-status{z-index:1;letter-spacing:.14em;border:1px solid;padding:1px 8px;font-size:.72rem;position:absolute;top:0;left:72px}.status-installed{color:var(--holo)}.status-for{color:#ffc86e}.status-superseded,.status-locked{color:var(--muted)}.viewer-tabs{flex-wrap:wrap;gap:6px;margin-bottom:16px;display:flex}.viewer-tab{min-width:120px;font:inherit;color:var(--muted);text-align:left;border:1px solid var(--holo-faint);cursor:pointer;background:0 0;flex-direction:column;align-items:flex-start;gap:1px;padding:6px 10px;display:flex}.viewer-tab:hover{color:var(--text);border-color:var(--holo-dim)}.viewer-tab.is-on{color:var(--text);border-color:var(--holo);background:var(--holo-faint);box-shadow:0 0 12px var(--holo-faint)}.viewer-tab.is-fitted .viewer-tab-tier:after{content:" · fitted";color:var(--holo)}.viewer-tab-tier{letter-spacing:.12em;font-size:.68rem}.viewer-tab-name{font-size:.85rem}.offer-detail{border:1px solid var(--holo-dim);background:#00000040;flex-direction:column;gap:8px;padding:14px 16px;display:flex}.offer-detail .flavour,.offer-detail .bonus{margin:0}@keyframes viewer-in{0%{clip-path:inset(100% 0 0);opacity:.4}to{clip-path:inset(0);opacity:1}}@keyframes viewer-float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.offer-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.offer-tier{letter-spacing:.14em;color:var(--muted);font-size:.7rem}.offer-name{font-family:var(--font-mono);color:var(--holo);margin:2px 0 0;font-size:1.05rem;font-weight:400}.offer-cost{color:#ffc86e;flex:none;font-size:1rem}.offer-cost.is-short{color:var(--danger)}.offer-stats{flex-wrap:wrap;gap:6px;display:flex}.stat-change{border:1px solid;padding:1px 8px;font-size:.78rem}.stat-change.up{color:#7dffb0}.stat-change.down{color:var(--danger)}.stat-change.unlock{color:#ffc86e}.offer-foot{justify-content:flex-end;align-items:center;gap:10px;margin-top:auto;padding-top:6px;display:flex}.offer-foot .btn-small{margin-top:0}.gm-side{flex-direction:column;gap:24px;display:flex}.credit-quick{margin:8px 0 14px}.purchase-title{margin-top:18px}.purchase-log{margin:8px 0 0;padding:0;font-size:.85rem;list-style:none}.purchase-log li{border-bottom:1px dashed var(--holo-faint);justify-content:space-between;gap:10px;padding:4px 0;display:flex}.deck-layout{grid-template-columns:minmax(0,1fr) 340px;align-items:start;gap:24px;display:grid}.deck-stage{position:relative}.deck-side{flex-direction:column;gap:24px;display:flex}.deck-scroll{overflow-x:auto}.deck-svg{width:100%;min-width:680px;height:auto;font-family:var(--font-mono);display:block}.deck-grid-line{fill:none;stroke:rgba(var(--holo-rgb), .06);stroke-width:1px}.deck-hull path,.deck-hull rect{fill:rgba(var(--holo-rgb), .04);stroke:var(--holo);stroke-width:2px;filter:drop-shadow(0 0 4px rgba(var(--holo-rgb), .5))}.deck-hull .deck-fin,.deck-hull .deck-canopy,.deck-hull .deck-horn,.deck-hull .deck-frame,.deck-hull .deck-strut{fill:none;stroke:var(--holo-dim);stroke-width:1.5px;filter:none}.deck-hull .deck-fin{fill:rgba(var(--holo-rgb), .03)}.deck-hull .deck-horn{stroke:var(--holo);stroke-width:3px;stroke-linecap:round}.deck-hull .deck-floor{stroke:var(--holo-dim);stroke-width:2px;stroke-dasharray:8 6}.deck-door-group{pointer-events:none}.deck-hull .deck-door,.deck-hull .deck-ramp{fill:none;stroke:#ffc86e;stroke-width:1.5px;filter:none}.deck-hull .deck-ramp{fill:#ffc86e14}.deck-door-label{fill:#ffc86e;letter-spacing:.14em;text-anchor:middle;font-size:10px}.deck-describe{border-top:1px solid var(--holo-faint);min-height:5.5em;margin-top:.75rem;padding:.75rem 1rem}.deck-describe-name{letter-spacing:.12em;text-transform:uppercase;color:var(--holo);margin:0 0 .35rem;font-size:1rem}.deck-describe .flavour{margin:0}.deck-hatch rect{fill:var(--bg);stroke:#ffc86e;stroke-width:1.5px}.deck-room.is-sealed rect{stroke-dasharray:4 3}.deck-straps{stroke:var(--holo-dim);stroke-width:1.5px;pointer-events:none}.deck-room{cursor:pointer;outline:none}.deck-room rect{fill:rgba(var(--holo-rgb), .07);stroke:var(--holo-dim);stroke-width:1.5px;transition:fill .15s,stroke .15s}.deck-room.is-active rect,.deck-room:focus-visible rect{fill:rgba(var(--holo-rgb), .18);stroke:var(--holo)}.deck-room.is-selected rect{fill:rgba(var(--holo-rgb), .24);stroke:#fff;stroke-width:2px}.deck-room-name{fill:var(--text);letter-spacing:.06em;text-anchor:middle;dominant-baseline:middle;pointer-events:none;font-size:13px}.deck-room-crew{fill:#ffc86e;text-anchor:middle;dominant-baseline:middle;pointer-events:none;font-size:11px}.deck-room-badge{fill:#7dffb0}@media (width<=900px){.shop-layout,.deck-layout{grid-template-columns:1fr}.shop-main{order:-1}}@media (width>=901px){.shop-layout{--shop-h:max(560px, calc(100dvh - 175px));height:var(--shop-h);align-items:stretch}.shop-side{min-height:0}.shop-side>.panel:last-child{flex-direction:column;flex:1;min-height:0;display:flex}.shop-parts{scrollbar-width:thin;scrollbar-color:var(--holo-dim) transparent;flex:1;min-height:0;margin-right:-12px;padding-right:12px;overflow-y:auto}.shop-main{flex-direction:column;min-height:0;display:flex;overflow-y:auto}.shop-main .viewer-stage{flex:none;height:clamp(220px,40vh,400px)}}.event-horizon{fill:#000;stroke:currentColor;stroke-width:1.5px;filter:url(#body-glow)}.accretion{fill:none;stroke:currentColor;stroke-width:3px;opacity:.8;filter:url(#body-glow)}.nebula-cloud circle{fill:#ff9de20d;stroke:none;filter:blur(30px)}.main:has(>.galaxy-layout){max-width:1800px}.galaxy-layout{--galaxy-h:max(560px, calc(100dvh - 175px));height:var(--galaxy-h);grid-template-columns:minmax(0,1fr) 360px;gap:24px;display:grid}.galaxy-stage{flex-direction:column;min-height:0;padding:0;display:flex;position:relative;overflow:hidden}.galaxy-map{flex:1;min-height:0;position:relative}.galaxy-tip{z-index:2;border:1px solid var(--holo-dim);pointer-events:none;background:#000000d9;flex-direction:column;gap:2px;max-width:260px;padding:6px 10px;font-size:.8rem;display:flex;position:absolute}.galaxy-tip strong{color:var(--holo);text-transform:uppercase;letter-spacing:.06em;font-weight:400}.galaxy-svg{touch-action:none;cursor:grab;width:100%;height:100%;display:block}.galaxy-toolbar{border-top:1px solid var(--holo-faint);flex-wrap:wrap;align-items:center;gap:8px 12px;padding:10px 14px;display:flex}.galaxy-toolbar .btn-small{margin-top:0}.galaxy-modes{gap:6px;display:flex}.galaxy-spacer{flex:1}.galaxy-select{font:inherit;color:var(--text);border:1px solid var(--holo-dim);background:#0009;padding:4px 8px;font-size:.85rem}.galaxy-side{scrollbar-width:thin;scrollbar-color:var(--holo-dim) transparent;flex-direction:column;gap:16px;min-height:0;display:flex;overflow-y:auto}.galaxy-side .panel{padding:16px 18px}.galaxy-side .field{margin-bottom:12px}.seg-control{gap:6px;display:flex}.seg-control .chip:disabled{opacity:.35;cursor:not-allowed}.contest-list{text-transform:none;letter-spacing:0;flex-direction:column;gap:4px;max-height:160px;display:flex;overflow-y:auto}.swatch{border:1px solid var(--holo-faint);flex:none;width:12px;height:12px;display:inline-block}.swatch-hatch{background:repeating-linear-gradient(45deg,#9aa4ad 0 3px,#0000 3px 6px)}.faction-list{flex-direction:column;gap:6px;margin:0 0 12px;padding:0;list-style:none;display:flex}.faction-list li:hover{background:var(--holo-faint)}.faction-list li{grid-template-columns:28px 1fr auto;align-items:center;gap:8px;font-size:.85rem;display:grid}.faction-list input[type=color]{border:1px solid var(--holo-faint);cursor:pointer;background:0 0;width:26px;height:22px;padding:0}.faction-name,.faction-add input{font:inherit;color:var(--text);background:0 0;border:1px solid #0000;min-width:0;padding:2px 4px;font-size:.85rem}.faction-name:hover,.faction-name:focus,.faction-add input{border-color:var(--holo-faint);outline:none}.faction-add input{flex:1}.galaxy-bodies{margin-top:12px}@media (width<=900px){.galaxy-layout{grid-template-columns:1fr;height:auto}.galaxy-stage{height:70vh}}
