.uplot,.uplot *,.uplot :before,.uplot :after{box-sizing:border-box}.uplot{width:min-content;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;line-height:1.5}.u-title{text-align:center;font-size:18px;font-weight:700}.u-wrap{-webkit-user-select:none;user-select:none;position:relative}.u-over,.u-under{position:absolute}.u-under{overflow:hidden}.uplot canvas{width:100%;height:100%;display:block;position:relative}.u-axis{position:absolute}.u-legend{text-align:center;margin:auto;font-size:14px}.u-inline{display:block}.u-inline *{display:inline-block}.u-inline tr{margin-right:16px}.u-legend th{font-weight:600}.u-legend th>*{vertical-align:middle;display:inline-block}.u-legend .u-marker{width:1em;height:1em;margin-right:4px;background-clip:padding-box!important}.u-inline.u-live th:after{content:":";vertical-align:middle}.u-inline:not(.u-live) .u-value{display:none}.u-series>*{padding:4px}.u-series th{cursor:pointer}.u-legend .u-off>*{opacity:.3}.u-select{pointer-events:none;background:#00000012;position:absolute}.u-cursor-x,.u-cursor-y{pointer-events:none;will-change:transform;position:absolute;top:0;left:0}.u-hz .u-cursor-x,.u-vt .u-cursor-y{border-right:1px dashed #607d8b;height:100%}.u-hz .u-cursor-y,.u-vt .u-cursor-x{border-bottom:1px dashed #607d8b;width:100%}.u-cursor-pt{pointer-events:none;will-change:transform;border:0 solid;border-radius:50%;position:absolute;top:0;left:0;background-clip:padding-box!important}.u-axis.u-off,.u-select.u-off,.u-cursor-x.u-off,.u-cursor-y.u-off,.u-cursor-pt.u-off{display:none}*{box-sizing:border-box;margin:0;padding:0}:root{--bg:#07060f;--bg-1:#0b0a18;--card:#1614288c;--card-solid:#14122a;--card-2:#201c3899;--line:#968adc24;--line-strong:#968adc42;--fg:#e9e9f6;--muted:#8c8aa8;--faint:#6a6986;--accent:#a78bfa;--accent-2:#22d3ee;--accent-3:#f472b6;--accent-ink:#0a0716;--online:#34d399;--warn:#fbbf24;--error:#fb7185;--gold:#e8b64c;--accent-grad:linear-gradient(135deg, var(--accent), var(--accent-2));--card-hi:#ffffff0f;--r-sm:8px;--r-md:12px;--r-lg:16px;--glow:0 8px 30px #7c3aed38;--shadow-1:0 2px 10px #00000059;--shadow-2:0 10px 30px #00000073, 0 4px 14px #7c3aed2e;--rail-w:clamp(196px, 15vw, 264px);--topbar-h:clamp(54px, 7vh, 64px);--screen-gutter:clamp(16px, 2.4vw, 30px)}html,body{height:100%}body{background:var(--bg);color:var(--fg);background-image:radial-gradient(900px 600px at 82% -8%,#7c3aed42,#0000 60%),radial-gradient(800px 600px at -6% 110%,#22d3ee24,#0000 60%),radial-gradient(680px 520px at 18% 8%,#f472b614,#0000 65%),radial-gradient(700px 500px,#381e781f,#0000 70%),linear-gradient(#0a0818,#07060f 60%);background-attachment:scroll;font:14px/1.55 system-ui,-apple-system,Segoe UI,sans-serif}#root{grid-template-columns:var(--rail-w) 1fr;grid-template-rows:var(--topbar-h) 1fr;grid-template-areas:"topbar topbar""sidebar stage";height:100%;display:grid}#topbar{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);z-index:30;background:#0c0a1ab3;grid-area:topbar;align-items:center;gap:14px;padding:0 20px 0 0;display:flex;position:relative}.brand{width:var(--rail-w);height:100%;color:var(--fg);flex:none;align-items:center;gap:10px;padding-left:20px;text-decoration:none;display:flex}.brand-mark{border:1px solid var(--line-strong);background:#a78bfa1f;border-radius:10px;place-items:center;width:34px;height:34px;display:grid;box-shadow:inset 0 0 12px #a78bfa2e,0 0 16px #7c3aed4d}.brand-word{letter-spacing:3px;background:linear-gradient(90deg,#c4b5fd,#67e8f9);color:#0000;-webkit-background-clip:text;background-clip:text;font-size:18px;font-weight:700}#topbar.disconnected{border-bottom-color:#fb718580}#topbar.disconnected .who-avatar{background:var(--error);box-shadow:0 0 10px var(--error)}#topbar.disconnected #who{color:var(--error);font-weight:600}#topbar.online .who-avatar{background:var(--online);animation:2.4s ease-in-out infinite pulse-online;box-shadow:0 0 10px #34d399b3}@keyframes pulse-online{0%,to{box-shadow:0 0 6px #34d39980}50%{box-shadow:0 0 14px #34d399e6}}.player-info{flex:none;align-items:center;gap:8px;margin-left:auto;display:inline-flex}.player-info[hidden]{display:none}.player-stat{background:var(--card);border:1px solid var(--line);color:var(--muted);white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:6px 12px;font-size:12.5px;transition:transform .12s,border-color .15s;display:inline-flex}.player-stat:hover{border-color:var(--line-strong)}.player-stat--money{cursor:pointer}.player-stat--money:hover{border-color:var(--accent)}.stat-ic{background-color:currentColor;flex:0 0 15px;width:15px;height:15px;display:inline-block;-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.stat-ic-credits{color:var(--online);filter:drop-shadow(0 0 5px #34d3998c);-webkit-mask-image:url(/icons/chrome/coins.svg);mask-image:url(/icons/chrome/coins.svg)}.stat-ic-standing{color:var(--accent-2);filter:drop-shadow(0 0 5px #22d3ee80);-webkit-mask-image:url(/icons/chrome/standing.svg);mask-image:url(/icons/chrome/standing.svg)}.stat-ic-size{color:var(--accent);filter:drop-shadow(0 0 5px #a78bfa80);-webkit-mask-image:url(/icons/chrome/empire-size.svg);mask-image:url(/icons/chrome/empire-size.svg)}.player-stat-label{text-transform:uppercase;letter-spacing:.6px;color:var(--faint);font-size:9.5px;font-weight:600}.player-stat-value{color:var(--muted)}#player-credits{color:var(--online);font-variant-numeric:tabular-nums}.player-size{color:var(--fg);font-weight:600}.tip-bubble{border-radius:var(--r-sm);background:var(--card-solid);border:1px solid var(--line-strong);width:max-content;max-width:240px;box-shadow:var(--glow), 0 6px 20px #00000073;color:var(--fg);letter-spacing:normal;text-align:left;white-space:pre-line;text-transform:none;opacity:0;pointer-events:none;z-index:1000;padding:9px 11px;font:400 11.5px/1.4 system-ui,sans-serif;transition:opacity .12s,transform .12s;position:fixed;top:-9999px;left:-9999px;transform:translateY(4px)}.tip-bubble.tip-visible{opacity:1;transform:translateY(0)}.tip-arrow{background:var(--card-solid);border-left:1px solid var(--line-strong);border-top:1px solid var(--line-strong);opacity:0;pointer-events:none;z-index:1000;width:10px;height:10px;transition:opacity .12s;position:fixed;top:-9999px;left:-9999px;transform:rotate(45deg)}.tip-arrow.tip-arrow-above{border-top:none;border-left:none;border-right:1px solid var(--line-strong);border-bottom:1px solid var(--line-strong)}.tip-arrow.tip-visible{opacity:1}.map-node-tip-header{color:var(--fg);margin-bottom:6px;font-weight:700}.map-node-tip-row{justify-content:space-between;align-items:center;gap:10px;padding:2px 0;display:flex}.map-node-tip-label{color:var(--muted)}.map-node-tip-value{color:var(--fg)}.who-chip{background:var(--card);border:1px solid var(--line);border-radius:999px;align-items:center;gap:9px;padding:6px 12px 6px 8px;display:inline-flex}.player-info:not([hidden])+.who-chip{margin-left:0}.player-info[hidden]+.who-chip{margin-left:auto}.who-avatar{background:var(--faint);background-image:linear-gradient(135deg,#a78bfa,#22d3ee);border-radius:50%;width:22px;height:22px;box-shadow:inset 0 0 0 1px #ffffff26}#who{color:var(--fg);font-size:13px}.admin-menu{margin-left:10px;position:relative}.admin-menu[hidden]{display:none}.admin-menu-btn{width:34px;height:34px;box-shadow:none;background:var(--card);border:1px solid var(--line);color:var(--gold);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;padding:0;transition:border-color .15s,background .15s;display:inline-flex}.admin-menu-btn:hover{border-color:var(--gold);background:#e8b64c24}.admin-menu-btn.is-alarmed{animation:1.6s ease-in-out infinite pulse-gold;box-shadow:0 0 10px #e8b64c99}@keyframes pulse-gold{0%,to{box-shadow:0 0 6px #e8b64c73}50%{box-shadow:0 0 16px #e8b64cf2}}.admin-menu-dropdown{z-index:50;background:var(--card-solid);border:1px solid var(--line-strong);border-radius:var(--r-md);flex-direction:column;gap:2px;min-width:200px;margin:0;padding:5px;display:flex;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 12px 36px #0000008c}.admin-menu-dropdown[hidden]{display:none}.admin-menu-item{box-shadow:none;border-radius:var(--r-sm);color:var(--fg);text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;gap:9px;padding:8px 10px;font:13px system-ui,sans-serif;display:flex}.admin-menu-item:hover{background:#a78bfa1f}.admin-menu-item.is-alarmed{color:var(--gold)}.admin-menu-item.is-alarmed .admin-menu-item-label:after{content:"";background:var(--gold);vertical-align:middle;border-radius:50%;width:6px;height:6px;margin-left:8px;animation:1.6s ease-in-out infinite pulse-gold-dot;display:inline-block;box-shadow:0 0 6px #e8b64ccc}@keyframes pulse-gold-dot{0%,to{opacity:.5}50%{opacity:1}}#sidebar{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-right:1px solid var(--line);background:#0b09188c;grid-area:sidebar;min-height:0;overflow-y:auto}#nav{flex-direction:column;height:100%;padding:16px 12px;display:flex}#nav[hidden]{display:none}.nav-links{flex-direction:column;gap:4px;display:flex}.nav-actions{border-top:1px solid var(--line);flex-direction:column;gap:8px;margin-top:auto;padding-top:12px;display:flex}.nav-footer{color:var(--faint);flex-direction:column;gap:4px;margin-top:4px;padding:0 12px;font-size:11px;display:flex}.nav-footer-link{color:var(--faint);text-decoration:none;transition:color .15s}.nav-footer-link:hover{color:var(--muted)}.nav-footer-attrib{margin-top:4px;line-height:1.4}.nav-footer-attrib a{color:var(--muted);text-decoration:none}.nav-footer-attrib a:hover{text-decoration:underline}.nav-btn{width:100%;color:var(--muted);cursor:pointer;border-radius:var(--r-md);white-space:nowrap;background:0 0;border:1px solid #0000;align-items:center;gap:12px;padding:10px 12px;font:500 13.5px system-ui,sans-serif;text-decoration:none;transition:color .15s,background .15s,border-color .15s,transform .12s;display:flex;position:relative}.nav-btn:hover{color:var(--fg);background:#968adc14;transform:translate(2px)}.nav-btn.active{color:#f3f0ff;background:linear-gradient(90deg,#a78bfa38,#a78bfa0f);border-color:#a78bfa59;box-shadow:inset 0 0 0 1px #a78bfa14,0 4px 16px #7c3aed26}.nav-btn.active:before{content:"";background:var(--accent-grad);border-radius:0 3px 3px 0;width:3px;height:18px;position:absolute;top:50%;left:-1px;transform:translateY(-50%);box-shadow:0 0 8px #a78bfa99}.nav-ic{background-color:currentColor;flex:0 0 19px;width:19px;height:19px;display:inline-block;-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.nav-btn[data-screen=overview] .nav-ic{-webkit-mask-image:url(/icons/nav/overview.svg);mask-image:url(/icons/nav/overview.svg)}.nav-btn[data-screen=universe] .nav-ic{-webkit-mask-image:url(/icons/nav/universe.svg);mask-image:url(/icons/nav/universe.svg)}.nav-btn[data-screen=ships] .nav-ic{-webkit-mask-image:url(/icons/nav/ships.svg);mask-image:url(/icons/nav/ships.svg)}.nav-btn[data-screen=stations] .nav-ic{-webkit-mask-image:url(/icons/nav/stations.svg);mask-image:url(/icons/nav/stations.svg)}.nav-btn[data-screen=inventory] .nav-ic{-webkit-mask-image:url(/icons/nav/inventory.svg);mask-image:url(/icons/nav/inventory.svg)}.nav-btn[data-screen=factions] .nav-ic{-webkit-mask-image:url(/icons/nav/factions.svg);mask-image:url(/icons/nav/factions.svg)}.nav-btn[data-screen=contracts] .nav-ic{-webkit-mask-image:url(/icons/nav/contracts.svg);mask-image:url(/icons/nav/contracts.svg)}.nav-btn[data-screen=messages] .nav-ic{-webkit-mask-image:url(/icons/nav/messages.svg);mask-image:url(/icons/nav/messages.svg)}.nav-btn[data-screen=codex] .nav-ic{-webkit-mask-image:url(/icons/nav/codex.svg);mask-image:url(/icons/nav/codex.svg)}#nav-settings .nav-ic{-webkit-mask-image:url(/icons/nav/settings.svg);mask-image:url(/icons/nav/settings.svg)}#nav-logout .nav-ic{-webkit-mask-image:url(/icons/nav/logout.svg);mask-image:url(/icons/nav/logout.svg)}.nav-btn.active .nav-ic{color:var(--accent)}.nav-label{flex:1}.nav-kbd{border:1px solid var(--line);min-width:18px;color:var(--muted);text-align:center;background:#968adc0f;border-radius:4px;flex:none;padding:1px 6px;font:600 10.5px ui-monospace,monospace}.nav-btn.active .nav-kbd{color:var(--fg);border-color:#a78bfa59}.nav-logout{color:var(--muted)}.nav-logout:hover{color:var(--error);background:#fb71851a}.nav-badge{background:var(--error);color:#2a0a12;text-align:center;border-radius:9px;min-width:18px;padding:0 6px;font-size:10px;font-weight:700;line-height:18px;display:inline-block;box-shadow:0 0 10px #fb718580}.nav-badge[hidden]{display:none}.search-bar{flex:auto;justify-content:center;align-items:center;min-width:0;display:flex;position:relative}.search-bar[hidden]{display:none}.search-bar-input{border:1px solid var(--line);width:min(460px,100%);color:var(--fg);background:#080712b3;border-radius:999px;outline:none;padding:9px 14px 9px 34px;font:13px system-ui,sans-serif;transition:border-color .15s,box-shadow .15s}.search-bar:before{content:"";background-color:var(--faint);pointer-events:none;width:15px;height:15px;position:absolute;top:50%;left:calc(50% - min(460px,100%)/2 + 13px);transform:translateY(-50%);-webkit-mask:url(/icons/chrome/search.svg) 50%/contain no-repeat;mask:url(/icons/chrome/search.svg) 50%/contain no-repeat}.search-bar-input::placeholder{color:var(--faint)}.search-bar-input:focus{border-color:#a78bfa99;box-shadow:0 0 0 3px #a78bfa24}.search-bar-results{z-index:50;background:var(--card-solid);border:1px solid var(--line-strong);border-radius:var(--r-md);width:min(520px,92vw);max-height:60vh;margin:0;padding:5px;list-style:none;position:absolute;top:calc(100% + 8px);left:50%;overflow-y:auto;transform:translate(-50%);box-shadow:0 12px 36px #0000008c}.search-bar-results[hidden]{display:none}.search-bar-result{border-radius:var(--r-sm);cursor:pointer;align-items:baseline;gap:8px;padding:7px 9px;display:flex}.search-bar-result:hover,.search-bar-result.is-active{background:#a78bfa1f}.search-bar-kind{text-transform:uppercase;letter-spacing:.04em;color:var(--accent);flex-shrink:0;min-width:52px;font-size:10px;font-weight:700}.search-bar-name{color:var(--fg);font-size:13px}.search-bar-sub{color:var(--muted);white-space:nowrap;margin-left:auto;font-size:11px}#stage{flex-direction:column;grid-area:stage;min-width:0;min-height:0;display:flex}#viewport{padding:var(--screen-gutter) calc(var(--screen-gutter) + 4px);flex:1;min-height:0;position:relative;overflow:auto}.screen h2{letter-spacing:.2px;margin-bottom:14px;font-size:21px;font-weight:650}#viewport:has(.screen--map){padding:0;overflow:hidden}.screen p{color:var(--muted)}#viewport table{font-variant-numeric:tabular-nums}#viewport tbody td{border-bottom:1px solid var(--line)}#viewport tbody tr:last-child td{border-bottom:none}#viewport tbody tr{transition:background .12s}#viewport tbody tr:hover td{background:#a78bfa14}#viewport tbody tr.row-clickable{cursor:pointer}#viewport thead th{border-bottom:1px solid var(--line-strong);background:linear-gradient(#a78bfa0f,#ffffff04)}#viewport a[href]:hover,#viewport .screen button[style]:hover{filter:brightness(1.12)}.screen:not(.screen--map)>div{max-width:min(1100px,100%)}.screen:not(.screen--map)>.faction-screen{max-width:none}.screen:not(.screen--map)>div:has(table){max-width:none}.screen:not(.screen--map)>div:has(.detail-grid){max-width:none}.detail-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));align-items:start;gap:16px;margin-top:6px;display:grid}.detail-card{background:linear-gradient(180deg, var(--card-2), var(--card));border:1px solid var(--line);min-width:0;box-shadow:inset 0 1px 0 var(--card-hi), var(--shadow-1);border-radius:14px;padding:12px 18px 14px;transition:transform .15s,box-shadow .15s,border-color .15s}.detail-card:hover{border-color:var(--line-strong);box-shadow:inset 0 1px 0 var(--card-hi), var(--shadow-2)}.detail-card--full{grid-column:1/-1}.screen:has(>.dashboard){flex-direction:column;height:100%;min-height:0;display:flex}.screen:not(.screen--map)>.dashboard{max-width:none;min-height:calc(100vh - var(--topbar-h) - 120px);flex:auto}.dashboard>.dashboard-col{min-height:0;overflow:auto}.dashboard>.dashboard-map{flex-direction:column;min-height:0;display:flex}.dashboard-map>.dashboard-map-host{flex:auto;min-height:0}.body-hero{margin:2px 0 20px}.body-hero-banner{aspect-ratio:1536/640;object-fit:cover;border:1px solid var(--line-strong);border-radius:10px;width:100%;max-width:100%;margin-bottom:14px;display:block}.body-hero-row{flex-wrap:wrap;align-items:center;gap:18px;display:flex}.body-portrait{width:84px;height:84px;color:var(--body-color,var(--accent));background:radial-gradient(circle at 38% 32%, color-mix(in srgb, var(--body-color,var(--accent)) 45%, transparent), transparent 70%), var(--card-solid);border:1px solid var(--line-strong);box-shadow:inset 0 0 18px #00000073, 0 0 22px color-mix(in srgb, var(--body-color,var(--accent)) 28%, transparent);border-radius:50%;flex:none;place-items:center;font-size:38px;line-height:1;display:grid;overflow:hidden}.body-portrait-art{object-fit:cover;border-radius:50%;width:100%;height:100%}.body-chips{flex-wrap:wrap;gap:8px;min-width:0;display:flex}.genai-pending{position:relative;overflow:hidden}.genai-pending:after{content:"";pointer-events:none;background:linear-gradient(115deg,#0000 35%,#67e8f959 50%,#0000 65%) 0 0/220% 100%;animation:2.6s ease-in-out infinite genai-scan;position:absolute;inset:0}@keyframes genai-scan{0%{background-position:130% 0}to{background-position:-130% 0}}.genai-pending-badge{text-transform:uppercase;letter-spacing:.06em;color:var(--accent-2);opacity:.9;align-items:center;gap:5px;margin:2px 0 8px;font-size:.72em;font-weight:600;display:inline-flex}.breadcrumb{text-transform:uppercase;letter-spacing:.05em;flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:8px;font:12px system-ui,sans-serif;display:flex}.breadcrumb-link{color:var(--accent);text-decoration:none}.breadcrumb-link:hover{text-decoration:underline}.breadcrumb-sep{color:var(--faint)}.breadcrumb-current{color:var(--muted)}.screen--map .breadcrumb{z-index:2;pointer-events:auto;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--line);border-radius:var(--r-md);background:#0c0a1ac7;margin:0;padding:6px 12px;position:absolute;top:12px;left:16px}.screen--map{position:absolute;inset:0}.screen--map>h2{z-index:1;pointer-events:none;color:#e9e9f666;letter-spacing:.5px;margin:0;font-size:13px;position:absolute;top:50px;left:18px}.map-viewport{cursor:default;-webkit-user-select:none;user-select:none;width:100%;height:100%;display:block;position:relative}.map-viewport canvas{display:block}.system-screen{width:100%;height:100%;display:flex}.system-sidebar{box-sizing:border-box;border-left:1px solid var(--line);width:100%;height:100%;color:var(--fg);background:#0d0b1cf0;padding:16px 18px 28px;font:13px system-ui,sans-serif;overflow-y:auto}.system-sidebar h3{font-size:.95em}.system-summary{border-bottom:1px solid var(--line);margin-bottom:6px;padding-bottom:10px}.system-summary-name{color:var(--accent)}.system-sidebar-blurb{color:var(--muted);margin:0;font:italic 12px/1.5 system-ui,sans-serif}.system-detail-col{flex:0 0 320px;height:100%;min-height:0;display:flex}.system-detail-col.is-expanded{flex:0 0 50%;min-width:0}.system-detail-panel{box-sizing:border-box;border-left:1px solid var(--line);min-width:0;height:100%;color:var(--fg);background:#0d0b1cf0;flex:1 1 0;padding:14px 18px 28px;font:13px system-ui,sans-serif;overflow-y:auto}.system-detail-header{align-items:center;gap:10px;margin-bottom:8px;display:flex}.system-detail-back{border:1px solid var(--line);color:var(--muted);cursor:pointer;background:0 0;border-radius:4px;align-items:center;gap:5px;padding:3px 8px;font-size:.82em;display:inline-flex}.system-detail-back:hover{color:var(--fg);border-color:var(--accent)}.system-detail-secondary-back a,.system-detail-secondary-back button{padding-bottom:0!important}.system-detail-title{margin:0 0 10px;font-size:1.15em}.body-card-toggle{border:1px solid var(--line);min-width:26px;height:20px;color:var(--muted);cursor:pointer;-webkit-user-select:none;user-select:none;background:#968adc14;border-radius:4px;align-items:center;gap:3px;padding:0 6px;font-size:.78em;line-height:1;display:inline-flex}.body-card-toggle:hover{color:var(--fg);border-color:var(--accent);background:#968adc2e}.icon-btn{border:1px solid var(--line);width:22px;height:20px;color:var(--muted);cursor:pointer;background:#968adc14;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.icon-btn:hover{color:var(--fg);border-color:var(--accent);background:#968adc2e}.body-card-presence{align-items:center;gap:3px;display:inline-flex}.body-card-presence-dot{border-radius:50%;flex-shrink:0;width:7px;height:7px}.body-card-presence-dot.is-combat{animation:1.2s ease-in-out infinite pulse-combat}@keyframes pulse-combat{0%,to{box-shadow:0 0 2px #f8514999}50%{box-shadow:0 0 6px #f85149}}.trait-pill-row{flex-wrap:wrap;gap:6px;margin-top:6px;display:flex}.trait-pill{border:1px solid var(--line-strong);background:var(--card);color:var(--fg);white-space:nowrap;border-radius:999px;align-items:center;gap:5px;padding:3px 10px;font-size:.78em;line-height:normal;display:inline-flex}.trait-pill--muted{color:var(--faint);border-color:var(--line);background:0 0;font-style:italic}.trait-pill--mechanical{border-color:var(--warn)}.trait-filter-bar{flex-direction:column;gap:6px;margin-bottom:10px;display:flex}.trait-filter-search-row{border:1px solid var(--line);border-radius:var(--r-sm);color:var(--muted);background:#080712b3;align-items:center;gap:6px;padding:6px 10px;display:flex}.trait-filter-input{min-width:0;color:var(--fg);background:0 0;border:none;outline:none;flex:1;font:13px system-ui,sans-serif}.trait-filter-options{border:1px solid var(--line);border-radius:var(--r-sm);background:var(--bg-1);flex-direction:column;gap:2px;max-height:180px;padding:4px;display:flex;overflow-y:auto}.trait-filter-option{text-align:left;color:var(--fg);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:5px 8px;font:12px system-ui,sans-serif}.trait-filter-option:hover{color:var(--accent);background:#968adc29}.trait-filter-chips{flex-wrap:wrap;gap:6px;display:flex}.trait-filter-chip{border:1px solid var(--accent);background:color-mix(in srgb, var(--accent) 14%, transparent);color:var(--fg);white-space:nowrap;border-radius:999px;align-items:center;gap:5px;padding:3px 6px 3px 10px;font-size:.78em;display:inline-flex}.trait-filter-chip-remove{width:16px;height:16px;color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:0;display:inline-flex}.trait-filter-chip-remove:hover{color:var(--fg);background:#968adc3d}.trait-filter-sort{border:1px solid var(--line);color:var(--fg);border-radius:var(--r-sm);background:#080712b3;outline:none;padding:6px 10px;font:12px system-ui,sans-serif}.context-menu{border:1px solid var(--line);background:#121024fa;border-radius:6px;flex-direction:column;min-width:160px;padding:4px;font:13px system-ui,sans-serif;display:flex;box-shadow:0 8px 24px #00000080}.context-menu-item{color:var(--fg);text-align:left;cursor:pointer;font:inherit;background:0 0;border:none;border-radius:4px;padding:6px 10px}.context-menu-item:hover:not(:disabled){background:var(--line)}.context-menu-item:disabled{color:var(--faint);cursor:default}.map-toolbar{z-index:2;gap:8px;display:flex;position:absolute;top:12px;right:18px}.map-btn{border:1px solid var(--line);color:var(--accent);border-radius:var(--r-md);cursor:pointer;background:#0e0c1eeb;padding:7px 14px;font:13px system-ui,sans-serif;transition:background .15s,border-color .15s}.map-btn:hover{border-color:var(--line-strong);background:#a78bfa29}.map-search{align-items:center;gap:4px;display:flex}.map-search-input{border:1px solid var(--line);color:var(--fg);border-radius:var(--r-md);background:#0e0c1eeb;outline:none;width:170px;padding:7px 12px;font:13px system-ui,sans-serif}.map-search-input::placeholder{color:var(--faint)}.map-search-input:focus{border-color:#a78bfa99}.map-filters{z-index:2;border:1px solid var(--line);border-radius:var(--r-md);color:var(--fg);-webkit-user-select:none;user-select:none;background:#0e0c1eed;width:172px;font:12px system-ui,sans-serif;position:absolute;bottom:18px;left:16px;overflow:hidden}.map-filters-header{text-align:left;border:none;border-bottom:1px solid var(--line);width:100%;color:var(--accent);text-transform:uppercase;letter-spacing:.05em;cursor:pointer;background:0 0;padding:8px 12px;font:600 11px system-ui,sans-serif;display:block}.map-filters-header:before{content:"";vertical-align:1px;background-color:currentColor;width:8px;height:8px;margin-right:5px;display:inline-block;transform:rotate(90deg);-webkit-mask:url(/icons/chrome/angle-right.svg) 50%/contain no-repeat;mask:url(/icons/chrome/angle-right.svg) 50%/contain no-repeat}.map-filters.collapsed .map-filters-header{border-bottom:none}.map-filters.collapsed .map-filters-header:before{transform:rotate(0)}.map-filters.collapsed .map-filters-list{display:none}.map-filters-list{flex-direction:column;gap:2px;padding:8px;display:flex}.map-with-sidebar{width:100%;min-width:0;height:100%;display:flex}.map-detail-sidebar{box-sizing:border-box;border-left:1px solid var(--line);min-width:0;height:100%;color:var(--fg);background:#0d0b1cf0;flex:1 1 0;font:13px system-ui,sans-serif;overflow-y:auto}.market-panel{flex-direction:column;display:flex}.market-panel-header{border-bottom:1px solid var(--line);color:var(--fg);background:#968adc1a;padding:10px 12px;font-weight:600}.market-panel-body{padding:6px 12px 16px;overflow-y:auto}.market-ware-thumb{border:1px solid var(--line);object-fit:cover;border-radius:4px;flex:none;width:20px;height:20px}.sidebar-tabs{flex-direction:column;flex:1 1 0;min-width:0;height:100%;display:flex}.sidebar-tab-row{border-bottom:1px solid var(--line);flex:none;display:flex}.sidebar-tab{color:var(--muted);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;flex:1 1 0;padding:9px 10px;font:600 13px system-ui,sans-serif}.sidebar-tab:hover{color:var(--fg)}.sidebar-tab.is-active{color:var(--fg);border-bottom-color:var(--accent)}.sidebar-tab-panes{flex:1 1 0;min-height:0;overflow-y:auto}.sidebar-tab-panes>[hidden]{display:none}.map-filter-row{cursor:pointer;border-radius:var(--r-sm);align-items:center;gap:8px;padding:3px 5px;line-height:1;display:flex}.map-filter-row:hover{background:#968adc14}.map-filter-row.off .map-filter-label{color:var(--faint)}.map-filter-row input{cursor:pointer;width:13px;height:13px;accent-color:var(--accent);contain:paint;flex:0 0 13px;margin:0}.map-filter-label{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.map-filter-swatch{flex:0 0 14px;width:14px;height:14px;display:inline-block;position:relative}.swatch-dot:after,.swatch-ring:after,.swatch-disc:after{content:"";border-radius:50%;position:absolute;inset:1px}.swatch-dot:after{background:var(--swatch-color);inset:3px}.swatch-ring:after{border:1.5px solid var(--swatch-color)}.swatch-disc:after{background:radial-gradient(circle, transparent 30%, var(--swatch-color) 100%);opacity:.7}.swatch-line:after,.swatch-dashed:after{content:"";border-top:2px solid var(--swatch-color);position:absolute;top:50%;left:0;right:0;transform:translateY(-50%)}.swatch-dashed:after{border-top-style:dashed}.swatch-grid{background-image:linear-gradient(var(--swatch-color) 1px, transparent 1px), linear-gradient(90deg, var(--swatch-color) 1px, transparent 1px);opacity:.6;background-size:5px 5px}.swatch-text{color:var(--swatch-color);text-align:center;font:600 10px/14px system-ui,sans-serif}.map-mode-chip{z-index:2;padding:6px 12px;font-size:12px;position:absolute;top:12px;left:16px}.map-coord-chip{z-index:3;pointer-events:none;border:1px solid var(--line);border-radius:var(--r-md);color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap;background:#0e0c1eeb;padding:5px 12px;font:12px system-ui,sans-serif;position:absolute;top:50px;left:16px}.map-coord-chip.empty{visibility:hidden}.map-coord-chip.hidden,.map-zoom-chip.hidden{display:none}.map-zoom-chip{z-index:2;align-items:center;gap:6px;display:flex;position:absolute;bottom:18px;right:46px}.map-zoom-btn{padding:5px 9px;line-height:1}.map-zoom-readout{color:var(--fg);font-variant-numeric:tabular-nums;text-align:center;min-width:42px;font:12px system-ui,sans-serif}.resource-overlay-panel{width:224px;left:auto;right:16px}.resource-overlay-header{align-items:center;gap:6px;display:flex}.resource-overlay-body{gap:10px}.resource-overlay-row{justify-content:space-between;align-items:center;gap:8px;display:flex}.resource-overlay-label{color:var(--muted);font-size:.92em}.resource-overlay-pick{flex-direction:column;align-items:stretch;gap:2px}.resource-overlay-pick .resource-overlay-label{text-transform:uppercase;letter-spacing:.06em;font-size:.78em}.resource-overlay-pick .resource-overlay-select{width:100%}.resource-overlay-select{border:1px solid var(--line);border-radius:var(--r-sm);min-width:0;color:var(--fg);background:#080712b3;flex:auto;padding:3px 6px;font:12px system-ui,sans-serif}.resource-overlay-legend{flex-direction:column;gap:4px;margin-top:2px;display:flex}.resource-overlay-ramp{border:1px solid var(--line-strong);border-radius:5px;height:10px}.resource-overlay-ticks,.resource-overlay-bands{height:14px;position:relative}.resource-overlay-tick{color:var(--faint);white-space:nowrap;font-size:.7em;position:absolute;transform:translate(-50%)}.resource-overlay-tick-start{text-align:left;left:0;transform:none}.resource-overlay-tick-end{text-align:right;left:auto;right:0;transform:none}.resource-overlay-tick-neutral{color:var(--fg);font-weight:700}.resource-overlay-ticks-diverging{grid-template-columns:1fr 1fr;grid-template-areas:"lowend highend""midrow midrow";gap:1px 8px;height:auto;display:grid}.resource-overlay-ticks-diverging .resource-overlay-tick{position:static;transform:none}.resource-overlay-ticks-diverging .resource-overlay-tick-start{grid-area:lowend;justify-self:start}.resource-overlay-ticks-diverging .resource-overlay-tick-end{grid-area:highend;justify-self:end}.resource-overlay-ticks-diverging .resource-overlay-tick-center{text-align:center;white-space:normal;grid-area:midrow;justify-self:center}.resource-overlay-band{text-align:center;color:var(--muted);white-space:nowrap;font-size:.7em;position:absolute}.resource-overlay-nodata{justify-content:flex-start;gap:8px}.resource-overlay-swatch-nodata{background-color:#3c3a52e6;background-image:repeating-linear-gradient(45deg,#a09bbeb3 0 1.5px,#0000 1.5px 5px);border-radius:3px;flex:0 0 16px;width:16px;height:16px;display:inline-block}.resource-overlay-swatch{border-radius:3px;flex:0 0 16px;width:16px;height:16px;display:inline-block}.map-hint{color:var(--faint);letter-spacing:.03em;white-space:nowrap;pointer-events:none;z-index:3;font-size:.72em;position:absolute;bottom:10px;left:50%;transform:translate(-50%)}.map-toast{border:1px solid var(--line-strong);color:var(--fg);border-radius:var(--r-md);z-index:3;pointer-events:none;white-space:nowrap;background:#0e0c1ef2;padding:7px 16px;font:13px system-ui,sans-serif;position:absolute;bottom:50px;left:50%;transform:translate(-50%)}.map-toast.hidden{display:none}.map-spinner{z-index:2;border:2px solid var(--line-strong);border-top-color:var(--accent);pointer-events:none;border-radius:50%;width:18px;height:18px;animation:.75s linear infinite map-spin;position:absolute;bottom:18px;right:18px}.map-spinner.hidden{display:none}@keyframes map-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}button:hover,button:active,.nav-picker-confirm-btn:hover,.nav-picker-confirm-btn:active,.detail-card:hover,.nav-btn:hover,.player-stat:hover{transform:none}}html.reduce-motion *,html.reduce-motion :before,html.reduce-motion :after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}html.reduce-motion button:hover,html.reduce-motion button:active,html.reduce-motion .nav-picker-confirm-btn:hover,html.reduce-motion .nav-picker-confirm-btn:active,html.reduce-motion .detail-card:hover,html.reduce-motion .nav-btn:hover,html.reduce-motion .player-stat:hover{transform:none}.nav-picker-overlay{z-index:50;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#05040cb8;justify-content:center;align-items:flex-start;padding-top:8vh;display:flex;position:fixed;inset:0}.nav-picker{background:var(--card-solid);border:1px solid var(--line-strong);border-radius:var(--r-lg);flex-direction:column;width:min(1100px,94vw);height:86vh;display:flex;overflow:hidden;box-shadow:0 24px 64px #0009}.nav-picker-head{border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:12px 16px;display:flex}.nav-picker-title{letter-spacing:.5px;font:14px ui-monospace,monospace}.nav-picker-up{border:1px solid var(--line);color:var(--fg);cursor:pointer;border-radius:var(--r-sm);background:#968adc1a;align-items:center;gap:5px;padding:4px 10px;font:12px ui-monospace,monospace;display:inline-flex}.nav-picker-up:hover{border-color:var(--accent)}.nav-picker-up[hidden]{display:none}.nav-picker-crumb{color:var(--accent);text-overflow:ellipsis;white-space:nowrap;font:12px ui-monospace,monospace;overflow:hidden}.nav-picker-close{color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:2px 8px;display:inline-flex}.nav-picker-close:hover{color:var(--error)}.nav-picker-search{border:1px solid var(--line);border-radius:var(--r-md);color:var(--fg);background:#080712b3;outline:none;flex:none;margin:14px 16px 0;padding:9px 13px;font:13px ui-monospace,monospace}.nav-picker-search:focus{border-color:var(--accent)}.nav-picker-results{border:1px solid var(--line);border-radius:var(--r-md);flex:1;min-height:200px;margin:12px 16px;overflow-y:auto}.nav-picker-map{border:1px solid var(--line);border-radius:var(--r-md);flex:1;min-height:320px;margin:12px 16px;position:relative;overflow:hidden}.nav-picker-map[hidden]{display:none}.nav-picker-map .map-viewport{width:100%;height:100%}.nav-picker-assets{border:1px solid var(--line);border-radius:var(--r-md);max-height:180px;margin:0 16px 12px;overflow-y:auto}.nav-picker-assets[hidden]{display:none}.ship-detail-modal-body{min-height:0;color:var(--fg);flex:1 1 0;padding:14px 18px 28px;font:13px system-ui,sans-serif;overflow-y:auto}.nav-picker-assets-head{color:var(--accent);border-bottom:1px solid var(--line);padding:7px 11px;font:600 12px ui-monospace,monospace}.nav-picker-row{cursor:pointer;align-items:center;gap:6px;padding:5px 11px;font:13px ui-monospace,monospace;display:flex}.nav-picker-row:hover{background:#a78bfa1a}.nav-picker-row.active{background:#a78bfa2e}.nav-picker-row-name{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.asset-row-meta{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.nav-picker-row-sub{color:var(--muted);white-space:nowrap;font-size:11px}.nav-dot{font-size:9px}.nav-dot-ship{color:var(--online)}.nav-dot-hostile{color:var(--error)}.nav-picker-msg{color:var(--muted);padding:10px;font-size:12px}.nav-picker-confirm{border-top:1px solid var(--line);background:#a78bfa12;align-items:center;gap:12px;padding:12px 16px;display:flex}.nav-picker-confirm[hidden]{display:none}.nav-picker-confirm-label{color:var(--fg);text-overflow:ellipsis;white-space:nowrap;flex:1;font:13px ui-monospace,monospace;overflow:hidden}.nav-picker-confirm-btn{background:linear-gradient(180deg, var(--accent), #7c5cf0);color:var(--accent-ink);cursor:pointer;border-radius:var(--r-md);box-shadow:inset 0 1px 0 #ffffff40, var(--glow);border:none;padding:7px 18px;font:600 13px ui-monospace,monospace;transition:filter .15s,transform .12s,box-shadow .15s}.nav-picker-confirm-btn:hover{filter:brightness(1.08);box-shadow:inset 0 1px 0 #ffffff4d, var(--shadow-2)}.nav-picker-foot{border-top:1px solid var(--line);color:var(--muted);padding:9px 16px;font-size:11px}#console{border-top:1px solid var(--line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#0a0816a8;flex-direction:column;flex:none;gap:8px;padding:12px 18px;display:flex}form{gap:8px;display:flex}input{border-radius:var(--r-md);border:1px solid var(--line);color:var(--fg);font:inherit;background:#080712b3;outline:none;flex:1;padding:10px 13px;transition:border-color .15s,box-shadow .15s}input::placeholder{color:var(--faint)}input:focus{border-color:#a78bfa99;box-shadow:0 0 0 3px #a78bfa24}button{border-radius:var(--r-md);background:linear-gradient(180deg, var(--accent), #7c5cf0);color:var(--accent-ink);cursor:pointer;box-shadow:inset 0 1px 0 #ffffff40, var(--glow);border:none;padding:10px 18px;font-weight:600;transition:filter .15s,transform .12s,box-shadow .15s}button:hover{filter:brightness(1.08);box-shadow:inset 0 1px 0 #ffffff4d, var(--shadow-2)}button:active{filter:brightness(.98)}.badge{text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;color:var(--badge-fg);border:1px solid color-mix(in srgb, var(--badge-fg) 55%, transparent);background:linear-gradient(color-mix(in srgb, var(--badge-fg) 16%, transparent), color-mix(in srgb, var(--badge-fg) 6%, transparent));box-shadow:0 0 6px color-mix(in srgb, var(--badge-fg) 30%, transparent);border-radius:999px;align-items:center;padding:2px 10px;font-size:.74em;font-weight:700;line-height:normal;display:inline-flex}.badge-hero{letter-spacing:.06em;border:1.5px solid color-mix(in srgb, var(--badge-fg) 60%, transparent);background:linear-gradient(color-mix(in srgb, var(--badge-fg) 26%, transparent), color-mix(in srgb, var(--badge-fg) 7%, transparent));box-shadow:0 0 10px color-mix(in srgb, var(--badge-fg) 60%, transparent), 0 0 30px color-mix(in srgb, var(--badge-fg) 30%, transparent);text-shadow:0 0 6px color-mix(in srgb, var(--badge-fg) 70%, transparent);border-radius:999px;gap:7px;padding:6px 16px;font-size:.82em;font-weight:800}.badge-icon{background:var(--badge-fg);width:19px;height:19px;box-shadow:0 0 8px color-mix(in srgb, var(--badge-fg) 85%, transparent);border-radius:50%;flex:none;place-items:center;display:grid}.badge-good{--badge-fg:#a3e635}.badge-bad{--badge-fg:#ff4d4d}.badge-warn{--badge-fg:#ffd400}.badge-orange{--badge-fg:#ff8c1a}.badge-info{--badge-fg:#38bdf8}.badge-purple{--badge-fg:#c084fc}.badge-neutral{--badge-fg:#9aa5b1}.muted{color:var(--muted)}pre{border:1px solid var(--line);border-radius:var(--r-md);height:130px;color:var(--muted);white-space:pre-wrap;background:#08071299;padding:12px;font:12px/1.55 ui-monospace,monospace;overflow:auto}*{scrollbar-width:thin;scrollbar-color:#a78bfa4d transparent}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:#a78bfa40 padding-box content-box;border:2px solid #0000;border-radius:6px}::-webkit-scrollbar-thumb:hover{background:#a78bfa73 padding-box content-box}.settings-overlay{z-index:50;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#05040cb8;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.settings-overlay[hidden]{display:none}.settings-dialog{border:1px solid var(--line);border-radius:var(--r-md);background:#0e0c1ef5;width:min(440px,92vw);max-height:86vh;padding:18px 20px 20px;overflow-y:auto;box-shadow:0 24px 60px #00000080}.settings-title{color:var(--fg);justify-content:space-between;align-items:center;margin-bottom:14px;font-size:1.15em;display:flex}.settings-close{color:var(--muted);cursor:pointer;border-radius:var(--r-sm);background:0 0;border:none;padding:4px 6px;font-size:1.1em;line-height:1}.settings-close:hover{color:var(--fg);background:#968adc1f}.settings-section+.settings-section{border-top:1px solid var(--line);margin-top:18px;padding-top:16px}.settings-section-title{color:var(--fg);margin-bottom:4px;font-size:.95em}.settings-section-desc{color:var(--faint);margin-bottom:8px;font-size:.8em}.settings-section .map-filters-list{padding:0}.bp-browser{align-items:flex-start;gap:18px;display:flex}.bp-category-nav{flex-direction:column;flex:0 0 180px;gap:4px;display:flex;position:sticky;top:0}.bp-category-group{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin:10px 0 2px;font-size:.72em;font-weight:700}.bp-category-group:first-child{margin-top:0}.bp-category-btn{border:1px solid var(--line);border-radius:var(--r-md);color:var(--muted);font:inherit;cursor:pointer;text-align:left;background:#0807128c;justify-content:space-between;align-items:center;gap:8px;padding:8px 12px;font-size:.85em;display:flex}.bp-category-btn:hover{color:var(--fg);border-color:var(--accent)}.bp-category-btn--active{color:var(--fg);border-color:var(--accent);background:#7c5cff2e}.bp-category-count{color:var(--faint);font-size:.85em;font-weight:600}.bp-category-btn--active .bp-category-count{color:var(--accent-2)}.bp-browser-list{flex-direction:column;flex:1 1 0;gap:10px;min-width:0;display:flex}.bp-list-divider{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;align-items:center;gap:10px;margin:10px 0 -2px;font-size:.72em;font-weight:700;display:flex}.bp-list-divider:first-child{margin-top:0}.bp-list-divider:before,.bp-list-divider:after{content:"";background:var(--line);flex:auto;height:1px}.bp-filter{z-index:3;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 14px;display:flex;position:relative}.bp-filter-input-wrap{border:1px solid var(--line);border-radius:var(--r-md);background:#080712b3;flex:0 320px;align-items:center;gap:6px;padding:6px 10px;display:flex}.bp-filter-input-wrap:focus-within{border-color:var(--accent)}.bp-filter-glyph{color:var(--faint);flex:none}.bp-filter-input{min-width:0;color:var(--fg);font:inherit;background:0 0;border:0;outline:none;flex:auto;font-size:.85em}.bp-filter-input::placeholder{color:var(--faint)}.bp-filter-suggest{z-index:5;background:var(--card-solid);border:1px solid var(--line-strong);border-radius:var(--r-md);width:min(320px,100%);margin-top:4px;padding:4px;display:none;position:absolute;top:100%;left:0;box-shadow:0 8px 24px #00000073}.bp-filter-suggest--open{display:block}.bp-filter-suggest-btn{border-radius:var(--r-sm);width:100%;color:var(--muted);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:6px 8px;font-size:.85em;display:block}.bp-filter-suggest-btn:hover{color:var(--fg);background:#7c5cff2e}.bp-filter-chips{flex-wrap:wrap;gap:6px;display:flex}.bp-filter-chip{border:1px solid var(--accent);color:var(--fg);background:#7c5cff2e;border-radius:999px;align-items:center;gap:6px;padding:3px 8px;font-size:.78em;display:inline-flex}.bp-filter-chip-x{color:var(--muted);cursor:pointer;background:0 0;border:0;align-items:center;padding:0;display:inline-flex}.bp-filter-chip-x:hover{color:var(--fg)}.bp-filter-clear{color:var(--faint);font:inherit;cursor:pointer;background:0 0;border:0;padding:0 2px;font-size:.78em;text-decoration:underline}.bp-filter-clear:hover{color:var(--fg)}.bp-filter-clear--hidden{display:none}.bp-sort{align-items:center;gap:8px;display:flex}.bp-sort-select{border:1px solid var(--line);border-radius:var(--r-md);color:var(--fg);font:inherit;background:#080712b3;padding:6px 10px;font-size:.85em}.bp-sort-select:focus-visible{border-color:var(--accent)}.bp-sort-direction{border:1px solid var(--line);border-radius:var(--r-md);color:var(--muted);font:inherit;cursor:pointer;background:#080712b3;padding:6px 10px;font-size:.85em}.bp-sort-direction:hover{color:var(--fg);border-color:var(--accent)}.bp-archive-toggle{border:1px solid var(--line);border-radius:var(--r-md);color:var(--muted);font:inherit;cursor:pointer;white-space:nowrap;background:#080712b3;align-items:center;gap:8px;padding:6px 12px;font-size:.85em;display:flex}.bp-archive-toggle:hover{color:var(--fg);border-color:var(--accent)}.bp-archive-toggle--active{color:var(--fg);border-color:var(--accent);background:#7c5cff2e}.bp-archive-toggle--active .bp-archive-toggle-icon{background-color:var(--accent-2)}.bp-toolbar{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.bp-toolbar .bp-filter{flex:320px;margin:0}.bp-toolbar .bp-sort,.bp-toolbar .bp-archive-toggle{flex:none}.bp-pill--archived{opacity:.6;filter:grayscale(.35)}@media (width<=720px){.bp-browser{flex-direction:column}.bp-category-nav{flex-flow:wrap;flex:none;width:100%;position:static}}.shop-list{flex-direction:column;gap:12px;margin-top:6px;display:flex}.shop-item{background:linear-gradient(180deg, var(--card-2), var(--card));border:1px solid var(--line);box-shadow:inset 0 1px 0 var(--card-hi), var(--shadow-1);border-radius:14px;align-items:center;gap:16px;padding:14px 18px;transition:transform .15s,box-shadow .15s,border-color .15s;display:flex}.shop-item:hover{border-color:var(--line-strong);box-shadow:inset 0 1px 0 var(--card-hi), var(--shadow-2)}.shop-item-tile{border-radius:var(--r-md);background:radial-gradient(120% 120% at 30% 22%, #a78bfa38, transparent 70%), var(--card-solid);border:1px solid var(--line);width:72px;height:72px;box-shadow:inset 0 1px 0 var(--card-hi);flex:none;place-items:center;display:grid}.shop-item-img{width:56px;height:56px;display:block}.shop-item-body{flex-direction:column;flex:auto;gap:5px;min-width:0;display:flex}.shop-item-name{color:var(--fg);font-size:1.02em;font-weight:600}.shop-item-desc{color:var(--muted);max-width:70ch;margin:0;font-size:.86em;line-height:1.4}.shop-item-actions{flex-direction:column;flex:none;align-items:flex-end;gap:8px;display:flex}.shop-item-buttons{gap:8px;display:flex}.shop-item-owned{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;border:1px solid var(--line);white-space:nowrap;background:#08071266;border-radius:999px;padding:2px 8px;font-size:.72em;font-weight:600}.shop-item-owned--hidden{visibility:hidden}.shop-btn{border-radius:var(--r-md);cursor:pointer;align-items:baseline;gap:7px;padding:8px 14px;font:600 13px system-ui,sans-serif;transition:filter .15s,transform .12s,box-shadow .15s;display:inline-flex}.shop-btn--primary{background:linear-gradient(180deg, var(--accent), #7c5cf0);color:var(--accent-ink);box-shadow:inset 0 1px 0 #ffffff40, var(--glow);border:none}.shop-btn--ghost{background:var(--card);border:1px solid var(--line-strong);color:var(--fg)}.shop-btn:not(:disabled):hover{filter:brightness(1.08)}.shop-btn:disabled{opacity:.45;cursor:not-allowed;filter:saturate(.6)}.shop-btn:disabled:hover{filter:saturate(.6);box-shadow:none;transform:none}.shop-btn-price{opacity:.85;font-size:.85em;font-weight:600}.shop-btn--ghost .shop-btn-price{color:var(--accent-2)}.shop-empty{color:var(--faint);padding:18px 4px}.shop-own-note{color:var(--accent-2);background:color-mix(in srgb, var(--accent) 10%, transparent);border:1px solid color-mix(in srgb, var(--accent) 35%, transparent);border-radius:var(--r-sm);margin:6px 0 2px;padding:8px 12px;font-size:.85em}.shop-own-note[hidden]{display:none}.bp-tag{border:1px solid var(--line);color:var(--accent-2);text-transform:uppercase;letter-spacing:.04em;vertical-align:middle;border-radius:999px;margin-left:8px;padding:1px 7px;font-size:.72em}.bp-pill{gap:12px;padding:10px 14px}.bp-pill>.shop-item-tile{width:56px;height:56px}.bp-pill>.shop-item-tile .shop-item-img{width:44px;height:44px}.bp-pill>.shop-item-body{gap:3px}.bp-pill-name-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.bp-pill-desc{color:var(--muted);max-width:62ch;margin:0;font-size:.8em;line-height:1.35}.bp-pill-bars{flex-wrap:wrap;gap:2px 16px;margin-top:2px;display:flex}.bp-pill-bars .bp-pill-bar{flex:168px;margin-top:0}.bp-pill-bars .bp-pill-stat{align-self:center}.bp-pill-bar{align-items:center;gap:8px;min-width:0;display:flex}.bp-pill-bar-label{white-space:nowrap;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;flex:none;font-size:.72em;font-weight:600}.bp-pill-bar-track{border:1px solid var(--line);background:#080712b3;border-radius:999px;flex:auto;min-width:36px;height:6px;position:relative;overflow:hidden}.bp-pill-bar-fill{border-radius:999px;height:100%;position:absolute;top:0;left:0}.bp-pill-bar-fill--combat{background:linear-gradient(90deg,#d8622a,#f59e0b)}.bp-pill-bar-fill--defense{background:linear-gradient(90deg,#7a5aa8,#a884e0)}.bp-pill-bar-fill--shield{background:linear-gradient(90deg,#2f8fb8,#38bdf8)}.bp-pill-bar-fill--hull{background:linear-gradient(90deg,#4a8f5a,#6fce86)}.bp-pill-bar-fill--cargo{background:linear-gradient(90deg,#2f6fb8,#4a9eed)}.bp-pill-bar-fill--speed{background:linear-gradient(90deg,#b8940a,#f2c94c)}.bp-pill-bar-fill--storage{background:linear-gradient(90deg,#8a5a34,#c08552)}.bp-pill-recipe{flex-wrap:wrap;align-items:center;gap:4px 10px;margin-top:4px;display:flex}.bp-pill-recipe .bp-pill-section-label{margin-top:0;display:inline}.bp-pill-recipe-chips{flex-wrap:wrap;align-items:center;gap:5px 8px;display:flex}.bp-pill-recipe-chip{white-space:nowrap;border:1px solid #0000;border-radius:999px;align-items:center;padding:2px 8px;font-size:.78em;font-weight:600;display:inline-flex}.bp-pill-recipe-chip--in{color:var(--muted);border-color:var(--line);background:#94a3b814}.bp-pill-recipe-chip--out{color:#6fce86;background:#6fce861a;border-color:#6fce8659}.bp-pill-recipe-source{color:var(--muted);white-space:nowrap;font-size:.78em;font-weight:600}.bp-pill-recipe-arrow{opacity:.8;align-items:center;display:inline-flex}.bp-pill-section-label{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;margin-top:4px;font-size:.72em;font-weight:600;display:block}.bp-pill-slots{margin-top:5px}.bp-pill-slots--empty{flex-wrap:wrap;align-items:center;gap:4px 12px;display:flex}.bp-pill-slots--empty .bp-pill-section-label{margin-top:0;display:inline}.bp-pill-slot-chips{flex-wrap:wrap;gap:4px 6px;display:flex}.bp-pill-resources{flex-wrap:wrap;align-items:center;gap:4px 12px;margin-top:4px;display:flex}.bp-pill-resources .bp-pill-section-label{margin-top:0;display:inline}.bp-pill-resources .bp-pill-stats{margin-top:0}.bp-pill-not-buildable{color:var(--faint);letter-spacing:.03em;align-items:center;font-size:.78em;font-weight:600;display:inline-flex}.bp-pill-stats{flex-wrap:wrap;gap:4px 14px;margin-top:3px;display:flex}.bp-pill-stat{color:var(--fg);align-items:center;gap:5px;font-size:.85em;font-weight:600;display:inline-flex}.build-dialog-overlay{align-items:center}.build-dialog{background:var(--card-solid);border:1px solid var(--line-strong);border-radius:var(--r-lg);flex-direction:column;width:min(1280px,96vw);height:min(820px,92vh);display:flex;overflow:hidden;box-shadow:0 24px 64px #0009}.build-dialog-head{justify-content:space-between;align-items:flex-start;padding:18px 22px 14px;display:flex}.build-dialog-title{color:var(--fg);text-transform:uppercase;letter-spacing:.14em;font:700 20px system-ui,sans-serif}.build-dialog-subtitle{color:var(--muted);margin-top:3px;font-size:13px}.build-dialog-close{color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:2px 8px;font-size:16px}.build-dialog-close:hover{color:var(--error)}.build-dialog-main{border-top:1px solid var(--line);border-bottom:1px solid var(--line);flex:1;min-height:0;display:flex;position:relative}.build-side{border-right:1px solid var(--line);flex-direction:column;flex-shrink:0;width:250px;padding:10px 0;display:flex}.build-side-item{width:100%;color:var(--fg);cursor:pointer;text-transform:uppercase;letter-spacing:.08em;text-align:left;background:0 0;border:none;border-left:2px solid #0000;border-radius:0;align-items:center;gap:12px;padding:14px 18px;font:600 13px system-ui,sans-serif;display:flex}.build-side-item,.build-side-item:hover{box-shadow:none;filter:none;transform:none}.build-side-item:hover{background:#968adc0f}.build-side-item-active{border-left-color:var(--accent-2);background:#22d3ee12}.build-side-item .build-glyph{width:22px;height:22px;color:var(--accent-2);flex-shrink:0}.build-side-label{flex:1}.build-side-count{color:var(--accent-2);font-variant-numeric:tabular-nums}.build-pane-wrap{flex-direction:column;flex:1;min-width:0;display:flex}.build-pane-head{color:var(--muted);text-transform:uppercase;letter-spacing:.12em;border-bottom:1px solid var(--line);justify-content:space-between;padding:12px 22px 10px;font:600 11px system-ui,sans-serif;display:flex}.build-pane-head-right{color:var(--accent-2);margin-right:96px}.build-pane{flex:1;padding:6px 22px 16px;overflow-y:auto}.build-section{margin-top:12px}.build-section-head{color:var(--accent-2);text-transform:uppercase;letter-spacing:.12em;border-bottom:1px solid var(--line);margin-bottom:8px;padding-bottom:8px;font:600 12px system-ui,sans-serif}.build-defense-loadouts{flex-direction:column;gap:10px;display:flex}.build-defense-loadouts .bp-pill{width:100%}.build-row{border:1px solid var(--line);background:#08071259;border-radius:8px;align-items:center;gap:14px;margin-bottom:8px;padding:9px 10px;display:flex}.build-row-thumb{border:1px solid var(--line);background:radial-gradient(120% 120% at 30% 22%, #a78bfa38, transparent 70%), var(--card-solid);width:54px;height:46px;box-shadow:inset 0 1px 0 var(--card-hi);border-radius:6px;flex-shrink:0;place-items:center;display:grid}.build-row-thumb .shop-item-img{width:34px;height:34px}.build-row-text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.build-row-name{color:var(--fg);text-transform:uppercase;letter-spacing:.05em;font-size:13px;font-weight:600}.build-row-desc{color:var(--muted);font-size:12px}.build-row-count{text-align:right;min-width:2em;color:var(--accent-2);font-variant-numeric:tabular-nums;margin-right:6px;font:600 15px system-ui,sans-serif}.build-row-count-zero{color:var(--muted)}.build-stepper-btn{box-shadow:none;border:1px solid var(--line-strong);color:var(--muted);cursor:pointer;background:#08071280;border-radius:6px;flex-shrink:0;place-items:center;width:44px;height:38px;font:400 18px/1 system-ui,sans-serif;transition:border-color .15s,color .15s,background .15s;display:grid}.build-stepper-btn:hover:not(:disabled){border-color:var(--line-strong);color:var(--fg);filter:none;box-shadow:none;background:#968adc1a}.build-stepper-btn-inc{color:var(--accent-2);border-color:#22d3ee73}.build-stepper-btn-inc:hover:not(:disabled){border-color:var(--accent-2);color:var(--accent-2);background:#22d3ee1f}.build-stepper-btn:disabled{opacity:.3;cursor:not-allowed}.build-dialog-foot{background:#a78bfa0d;flex-direction:column;gap:8px;padding:14px 22px;display:flex}.build-dialog-foot-top{align-items:center;gap:18px;display:flex}.build-bom{flex:1;align-items:center;gap:18px;min-width:0;display:flex}.build-foot-glyph{width:30px;height:30px;color:var(--accent-2);flex-shrink:0}.build-foot-stat{flex-direction:column;flex-shrink:1;gap:3px;min-width:0;display:flex}.build-foot-stat+.build-foot-stat{border-left:1px solid var(--line);padding-left:18px}.build-foot-label{color:var(--muted);text-transform:uppercase;letter-spacing:.12em;white-space:nowrap;font:600 10px system-ui,sans-serif}.build-foot-stat[data-testid=build-materials]{flex:auto}.build-foot-stat[data-testid=build-materials] .build-foot-value,.build-foot-stat[data-testid=build-storage] .build-foot-value{white-space:normal;-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box}.build-foot-stat[data-testid=build-overview],.build-foot-stat[data-testid=build-time]{flex-shrink:0}.build-foot-value{color:var(--fg);font-variant-numeric:tabular-nums;white-space:nowrap;text-overflow:ellipsis;font-size:13px;overflow:hidden}.build-foot-warn{color:var(--error)}.build-foot-actions{flex-shrink:0;align-items:center;gap:10px;display:flex}.build-btn-secondary{box-shadow:none;border:1px solid var(--line-strong);color:var(--fg);cursor:pointer;text-transform:uppercase;letter-spacing:.08em;background:0 0;border-radius:8px;padding:10px 18px;font:600 12px system-ui,sans-serif}.build-btn-secondary:hover:not(:disabled){border-color:var(--accent-2)}.build-btn-primary{background:var(--accent-grad);color:var(--accent-ink);cursor:pointer;text-transform:uppercase;letter-spacing:.08em;border:none;border-radius:8px;padding:10px 22px;font:700 12px system-ui,sans-serif}.build-btn-secondary:disabled,.build-btn-primary:disabled{opacity:.45;cursor:not-allowed}.synth-card{flex-direction:column;gap:8px;display:flex}.synth-card-head{align-items:center;gap:10px;display:flex}.synth-card-title{color:var(--fg);font-weight:600}.synth-open-btn{background:var(--accent-grad);color:var(--accent-ink);cursor:pointer;border-radius:var(--r-sm);text-transform:uppercase;letter-spacing:.06em;border:none;align-self:flex-start;margin-top:4px;padding:8px 18px;font:700 12px system-ui,sans-serif;box-shadow:0 4px 16px #7c3aed47}.synth-open-btn:hover{filter:brightness(1.08)}.synth-overlay{align-items:center}.synth-dialog{background:var(--card-solid);border:1px solid var(--line-strong);border-radius:var(--r-lg);flex-direction:column;width:min(1120px,96vw);height:min(860px,92vh);display:flex;overflow:hidden;box-shadow:0 24px 64px #0009}.synth-head{border-bottom:1px solid var(--line);align-items:center;gap:14px;padding:18px 22px 14px;display:flex}.synth-head-icon{flex-shrink:0;width:30px;height:30px}.synth-head-titles{flex:1;min-width:0}.synth-title{color:var(--fg);text-transform:uppercase;letter-spacing:.1em;font:700 18px system-ui,sans-serif}.synth-subtitle{color:var(--muted);margin-top:3px;font-size:13px}.synth-close{color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:2px 8px}.synth-close:hover{color:var(--error)}.synth-body{flex:1;min-height:0;padding:20px 26px 26px;overflow-y:auto}.synth-slots{flex-direction:column;gap:12px;display:flex}.synth-slot{flex-direction:column;gap:8px;width:100%;display:flex}.synth-slot-label{color:var(--accent-2);text-transform:uppercase;letter-spacing:.1em;font:600 11px system-ui,sans-serif}.synth-slot--empty{border:2px dashed var(--line-strong);border-radius:var(--r-md);background:#968adc08;flex-direction:row;align-items:center;gap:10px;padding:14px 18px}.synth-slot-sep{color:var(--faint)}.synth-slot-hint{color:var(--faint);font-size:13px}.synth-slot--unresolved{border:1px solid var(--line);border-radius:var(--r-md);color:var(--muted);padding:14px 18px}.synth-slot-clear{border:1px solid var(--line);color:var(--muted);cursor:pointer;border-radius:var(--r-sm);background:0 0;align-self:flex-end;padding:3px 10px;font-size:11px}.synth-slot-clear:hover{color:var(--error);border-color:var(--error)}.synth-divider{align-items:center;gap:12px;margin:2px 0;display:flex}.synth-divider-line{background:var(--line-strong);flex:1;height:1px}.synth-divider-icon{color:var(--accent-2);flex-shrink:0;width:20px;height:20px}.synth-outcome{border:1px solid var(--line-strong);border-radius:var(--r-md);background:#22d3ee0d;flex-direction:column;gap:8px;margin-top:18px;padding:16px 20px;display:flex}.synth-outcome-title{color:var(--accent-2);text-transform:uppercase;letter-spacing:.1em;font:700 12px system-ui,sans-serif}.synth-meta-row{flex-wrap:wrap;align-items:center;gap:8px 18px;display:flex}.synth-meta-chip{color:var(--muted);align-items:center;gap:7px;font-size:13px;display:inline-flex}.synth-picks{margin-top:22px}.synth-kind-tabs{flex-wrap:wrap;gap:8px;margin-bottom:16px;display:flex}.synth-kind-tab{border:1px solid var(--line);color:var(--muted);cursor:pointer;border-radius:var(--r-md);text-transform:uppercase;letter-spacing:.06em;background:#968adc14;padding:8px 18px;font:700 12px system-ui,sans-serif;transition:border-color .15s,color .15s,background .15s,box-shadow .15s}.synth-kind-tab:hover{color:var(--fg);border-color:var(--line-strong)}.synth-kind-tab--active{border-color:var(--accent);color:var(--fg);box-shadow:var(--glow);background:linear-gradient(135deg,#a78bfa38,#22d3ee24)}.synth-pick--incompatible{opacity:.35;cursor:not-allowed}.synth-pick--incompatible:hover{box-shadow:none;border-color:#0000;transform:none}.synth-product-line{color:var(--fg);font-size:13px;font-weight:600}.synth-directions{flex-direction:column;gap:6px;display:flex}.synth-directions-caption{color:var(--muted);font-size:12px}.synth-direction-row{border:1px solid var(--line);border-radius:var(--r-sm);background:#08071280;align-items:baseline;gap:10px;padding:7px 12px;font-size:13px;display:flex}.synth-direction-label{color:var(--accent-2);white-space:nowrap;font-weight:600}.synth-direction-text{color:var(--fg)}.synth-picks-title{color:var(--muted);text-transform:uppercase;letter-spacing:.1em;margin-bottom:10px;font:600 12px system-ui,sans-serif}.synth-filter-row{flex-direction:column;gap:10px;margin-bottom:14px;display:flex}.synth-filter-input{border:1px solid var(--line);color:var(--fg);border-radius:var(--r-md);background:#080712b3;outline:none;width:100%;padding:8px 12px;font:13px system-ui,sans-serif}.synth-filter-input:focus{border-color:var(--accent)}.synth-filter-input::placeholder{color:var(--faint)}.synth-filter-chips{flex-wrap:wrap;gap:8px;display:flex}.synth-filter-chip{border:1px solid var(--line);color:var(--muted);cursor:pointer;text-transform:uppercase;letter-spacing:.05em;background:#968adc14;border-radius:999px;padding:5px 14px;font:700 11px system-ui,sans-serif;transition:border-color .15s,color .15s,background .15s}.synth-filter-chip:hover{color:var(--fg);border-color:var(--line-strong)}.synth-filter-chip--active{border-color:var(--accent-2);color:var(--accent-2);background:#22d3ee24}.synth-pick-grid{flex-direction:column;gap:10px;display:flex}.synth-pick{cursor:pointer;border-radius:var(--r-md);border:2px solid #0000;transition:border-color .15s,box-shadow .15s,transform .15s;position:relative}.synth-pick:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:0 6px 20px #7c3aed38}.synth-pick--selected{border-color:var(--accent-2);box-shadow:0 0 0 1px var(--accent-2), 0 0 18px #22d3ee59}.synth-pick--selected:hover{transform:none}.synth-pick-badge{background:var(--accent-grad);min-width:28px;height:28px;color:var(--accent-ink);border-radius:999px;justify-content:center;align-items:center;padding:0 9px;font:700 13px system-ui,sans-serif;display:flex;position:absolute;top:10px;right:14px;box-shadow:0 2px 10px #7c3aed66}.synth-pick-hint{color:var(--accent-2);text-transform:uppercase;letter-spacing:.08em;opacity:0;pointer-events:none;background:#968adc24;border-radius:999px;padding:3px 10px;font:700 10px system-ui,sans-serif;transition:opacity .15s;position:absolute;top:10px;right:14px}.synth-pick:hover .synth-pick-hint{opacity:1}.synth-empty{color:var(--faint);max-width:60ch;padding:24px 4px}.synth-running{flex-direction:column;gap:18px;display:flex}.synth-progress{flex-direction:column;align-items:center;gap:6px;width:100%;display:flex}.synth-progress-track{border:1px solid var(--line);background:#080712b3;border-radius:999px;width:100%;height:10px;overflow:hidden}.synth-progress-fill{background:var(--accent-grad);border-radius:999px;height:100%;transition:width 1s linear}.standing-bar{align-items:center;gap:6px;display:inline-flex}.standing-bar-track{border:1px solid var(--line);background:#080712b3;border-radius:999px;flex-shrink:0;width:72px;height:8px;position:relative;overflow:hidden}.standing-bar-mid{background:var(--line-strong);width:1px;height:100%;position:absolute;top:0;left:50%}.standing-bar-fill{border-radius:999px;height:100%;position:absolute;top:0}.standing-bar-value{text-align:right;min-width:22px;font-size:11px;font-weight:600}.galaxy-chip{border:1px solid color-mix(in srgb, var(--accent) 35%, transparent);background:color-mix(in srgb, var(--accent) 10%, transparent);color:var(--accent);white-space:nowrap;cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:3px 10px;font-size:.85em;font-weight:600;line-height:normal;text-decoration:none;transition:background .12s,border-color .12s;display:inline-flex}.galaxy-chip:before{content:"";opacity:.8;background:currentColor;border-radius:50%;flex-shrink:0;width:6px;height:6px}.galaxy-chip:hover{background:color-mix(in srgb, var(--accent) 20%, transparent);border-color:color-mix(in srgb, var(--accent) 60%, transparent)}.faction-hero{flex-direction:column;gap:10px;margin-bottom:4px;display:flex}.faction-hero-head{align-items:center;gap:14px;min-width:0;display:flex}.faction-hero-text{flex-direction:column;gap:8px;min-width:0;display:flex}.faction-hero-pills{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.faction-commander{align-items:center;gap:16px;display:flex}.faction-commander-portrait{width:72px;height:72px;color:hsl(var(--emblem-hue) 80% 78%);background:radial-gradient(circle at 38% 32%, hsl(var(--emblem-hue) 65% 42% / .55), transparent 70%), var(--card-solid);border:1px solid var(--line-strong);box-shadow:inset 0 0 18px #00000073, 0 0 20px hsl(var(--emblem-hue) 60% 45% / .25);border-radius:50%;flex:none;place-items:center;display:grid;overflow:hidden}.faction-commander-portrait-art{object-fit:cover;width:100%;height:100%}.faction-commander-caption{color:var(--muted);font-size:.9em}.faction-standing{flex-wrap:wrap;align-items:center;gap:10px;display:inline-flex}.faction-standing-score{font-variant-numeric:tabular-nums;font-size:12px;font-weight:600}.synth-countdown{color:var(--muted);font-variant-numeric:tabular-nums;font-size:13px}.synth-running-note{color:var(--faint);text-align:center;align-self:center;max-width:60ch;font-size:13px}.synth-foot{border-top:1px solid var(--line);background:#a78bfa0d;align-items:center;gap:16px;padding:14px 22px;display:flex}.synth-foot[hidden]{display:none}.synth-error{color:#fecaca;background:#dc262624;border-top:1px solid #f8717180;padding:12px 22px;font-size:13px;font-weight:600}.synth-error[hidden]{display:none}.synth-fee{color:var(--fg);flex:1;font-weight:600}.synth-foot-note{color:var(--muted);font-size:12px}.synth-start-btn{background:var(--accent-grad);color:var(--accent-ink);cursor:pointer;border-radius:var(--r-sm);text-transform:uppercase;letter-spacing:.08em;border:none;padding:10px 24px;font:700 12px system-ui,sans-serif;box-shadow:0 4px 16px #7c3aed47}.synth-start-btn:hover:not(:disabled){filter:brightness(1.08)}.synth-start-btn:disabled{opacity:.4;cursor:not-allowed;box-shadow:none}.mission-board{align-items:flex-start;gap:20px;display:flex}.mission-sidebar{flex-direction:column;flex:0 0 220px;gap:14px;display:flex;position:sticky;top:0}.mission-main{flex:1 1 0;min-width:0}.mission-grid{margin-top:0}.mission-category-list,.faction-cat-list{flex-direction:column;gap:2px;display:flex}.mission-category,.faction-cat{text-align:left;border-radius:var(--r-sm);width:100%;color:var(--muted);cursor:pointer;background:0 0;border:1px solid #0000;align-items:center;gap:8px;padding:7px 10px;font:13px system-ui,sans-serif;display:flex}.mission-category:hover,.faction-cat:hover{color:var(--fg);background:#968adc14}.mission-category.is-active,.faction-cat.is-active{border-color:var(--line-strong);color:var(--fg);background:#968adc24}.mission-category-label,.faction-cat-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.mission-category-count,.faction-cat-count{color:var(--faint);font-variant-numeric:tabular-nums;margin-left:auto;font-size:.85em}.mission-category.is-active .mission-category-count,.faction-cat.is-active .faction-cat-count{color:var(--muted)}.mission-sidebar-controls{border-top:1px solid var(--line);flex-direction:column;gap:10px;padding-top:14px;display:flex}.mission-sidebar-field,.faction-rail-field{color:var(--muted);flex-direction:column;gap:4px;font-size:.8em;display:flex}.mission-sidebar-field input,.faction-rail-field input,.faction-rail-field select{border:1px solid var(--line);color:var(--fg);border-radius:var(--r-sm);background:#080712b3;outline:none;padding:6px 10px;font:13px system-ui,sans-serif}.mission-sort-toggle{background:var(--card);border:1px solid var(--line-strong);color:var(--fg);cursor:pointer;border-radius:var(--r-sm);text-align:left;padding:7px 10px;font:12px system-ui,sans-serif}.mission-sort-toggle:hover{border-color:var(--accent)}.mission-card{flex-direction:column;gap:8px;display:flex}.mission-kind-row{color:var(--accent-2);text-transform:uppercase;letter-spacing:.06em;align-items:center;gap:6px;font-size:.78em;font-weight:600;display:flex}.mission-personal{color:var(--warn);letter-spacing:normal;text-transform:none;margin-left:auto;font-size:.95em}.mission-headline{color:var(--fg);font-size:1.02em;font-weight:600;line-height:1.3}.mission-description{color:var(--muted);font-size:.88em;font-style:italic;line-height:1.4}.mission-reward{align-items:baseline;gap:5px;margin:2px 0;display:flex}.mission-reward-amount{color:var(--online);font-variant-numeric:tabular-nums;text-shadow:0 0 12px #34d39959;font-size:1.55em;font-weight:800}.mission-reward-unit{color:var(--muted);text-transform:uppercase;font-size:.8em;font-weight:600}.mission-meta-row{color:var(--muted);flex-wrap:wrap;align-items:center;gap:6px 14px;font-size:.82em;display:flex}.mission-progress-label{color:var(--muted);margin-top:-4px;font-size:.8em}.mission-card-btn{width:100%;margin-top:4px}.mission-empty{color:var(--faint);grid-column:1/-1;padding:14px 2px}@media (width<=760px){.mission-board{flex-direction:column}.mission-sidebar{flex:none;width:100%;position:static}.mission-category-list,.faction-cat-list{flex-flow:wrap}.mission-category,.faction-cat{width:auto}}.faction-screen{flex-direction:column;gap:.5rem;display:flex}.faction-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.faction-header-text{flex-direction:column;gap:2px;min-width:0;display:flex}.faction-title{color:var(--fg);font-size:1.4em;font-weight:700}.faction-subtitle{color:var(--muted);font-size:.85em}.faction-search{border:1px solid var(--line);min-width:0;color:var(--faint);background:#080712b3;border-radius:999px;flex:0 280px;align-items:center;gap:8px;padding:8px 14px;transition:border-color .15s,box-shadow .15s;display:flex}.faction-search:focus-within{border-color:#a78bfa99;box-shadow:0 0 0 3px #a78bfa24}.faction-search>span{flex-shrink:0}.faction-search input{min-width:0;color:var(--fg);background:0 0;border:none;outline:none;flex:auto;padding:0;font:13px system-ui,sans-serif}.faction-search input::placeholder{color:var(--faint)}.faction-board{align-items:flex-start;gap:20px;display:flex}.faction-rail{flex-direction:column;flex:0 0 244px;gap:14px;display:flex;position:sticky;top:0}.faction-main{flex:1 1 0;min-width:0}.faction-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;display:flex}.faction-count{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:.78em;font-weight:700}.faction-toolbar-right{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.faction-sort{color:var(--muted);align-items:center;gap:6px;font-size:.85em;display:flex}.faction-sort select{border:1px solid var(--line);border-radius:var(--r-md);color:var(--fg);font:inherit;background:#080712b3;padding:6px 10px;font-size:.85em}.faction-sort select:focus-visible{border-color:var(--accent)}.faction-viewtoggle{border:1px solid var(--line);border-radius:var(--r-md);display:flex;overflow:hidden}.faction-viewtoggle button{color:var(--muted);box-shadow:none;cursor:pointer;background:#080712b3;border:none;border-radius:0;place-items:center;padding:6px 11px;display:grid}.faction-viewtoggle button+button{border-left:1px solid var(--line)}.faction-viewtoggle button:hover{color:var(--fg);background:#968adc1f}.faction-viewtoggle button.is-active{color:var(--accent-ink);background:var(--accent-grad)}.faction-rail-head{border-bottom:1px solid var(--line);color:var(--fg);text-transform:uppercase;letter-spacing:.08em;justify-content:space-between;align-items:center;padding-bottom:10px;font-size:.78em;font-weight:700;display:flex}.faction-rail-reset{color:var(--faint);font:inherit;letter-spacing:.04em;box-shadow:none;cursor:pointer;background:0 0;border:none;align-items:center;gap:4px;padding:0;font-size:.85em;font-weight:700;transition:color .12s;display:flex}.faction-rail-reset:hover{color:var(--accent)}.faction-rail-group{flex-direction:column;gap:6px;display:flex}.faction-rail-group-title{color:var(--faint);text-transform:uppercase;letter-spacing:.08em;font-size:.72em;font-weight:700}.faction-chip-grid{grid-template-columns:repeat(2,1fr);gap:6px;display:grid}.faction-chip{border:1px solid color-mix(in srgb, var(--chip-fg,var(--accent)) 32%, var(--line));border-radius:var(--r-sm);background:color-mix(in srgb, var(--chip-fg,var(--accent)) 10%, transparent);min-height:40px;color:color-mix(in srgb, var(--chip-fg,var(--accent)) 70%, var(--muted));box-shadow:none;cursor:pointer;align-items:center;gap:8px;padding:6px 10px;font:12px system-ui,sans-serif;transition:background .15s,border-color .15s,box-shadow .15s,color .15s;display:flex}.faction-chip:hover{border-color:color-mix(in srgb, var(--chip-fg,var(--accent)) 55%, var(--line));background:color-mix(in srgb, var(--chip-fg,var(--accent)) 16%, transparent);color:var(--fg)}.faction-chip.is-active{border-color:var(--chip-fg,var(--accent));background:color-mix(in srgb, var(--chip-fg,var(--accent)) 26%, transparent);color:var(--fg);box-shadow:0 0 0 1px color-mix(in srgb, var(--chip-fg,var(--accent)) 45%, transparent), 0 0 14px color-mix(in srgb, var(--chip-fg,var(--accent)) 40%, transparent)}.faction-chip:focus-visible{box-shadow:0 0 0 2px var(--bg-1), 0 0 0 4px color-mix(in srgb, var(--chip-fg,var(--accent)) 60%, transparent);outline:none}.faction-chip-label{text-overflow:ellipsis;white-space:nowrap;text-transform:uppercase;min-width:0;font-size:.75em;font-weight:600;overflow:hidden}.faction-rail-disclosure{border:1px solid var(--line);border-radius:var(--r-sm);width:100%;color:var(--muted);box-shadow:none;cursor:pointer;background:#080712b3;justify-content:space-between;align-items:center;padding:7px 10px;font:13px system-ui,sans-serif;transition:color .12s,border-color .12s;display:flex}.faction-rail-disclosure:hover{color:var(--fg);border-color:var(--accent)}.faction-rows{flex-direction:column;gap:10px;display:flex}.faction-row{background:linear-gradient(180deg, var(--card-2), var(--card));border:1px solid var(--line);box-shadow:inset 0 1px 0 var(--card-hi), var(--shadow-1);border-radius:14px;grid-template-columns:1.7fr .8fr 1.2fr .95fr;padding:14px 18px;transition:border-color .15s,box-shadow .15s;display:grid}.faction-row:hover{border-color:var(--line-strong);box-shadow:inset 0 1px 0 var(--card-hi), var(--shadow-2)}.faction-row-cell{flex-direction:column;justify-content:center;min-width:0;padding:0 16px;display:flex}.faction-row-cell:first-child{padding-left:0}.faction-row-cell:last-child{padding-right:0}.faction-row-cell:not(:first-child){border-left:1px solid var(--line)}.faction-row-identity{align-items:center;gap:12px;min-width:0;display:flex}.faction-row-names{flex-direction:column;gap:2px;min-width:0;display:flex}.faction-row-name{color:var(--fg);text-overflow:ellipsis;white-space:nowrap;font-size:1.05em;font-weight:600;overflow:hidden}.faction-row-archetype{color:var(--accent-2);font-size:.85em}.faction-row-home{color:var(--muted);align-items:center;gap:5px;font-size:.82em;display:flex}.faction-row-home-sep{color:var(--faint)}.faction-row-home .galaxy-chip{font-size:1em}.faction-row-traits{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.faction-trait-icon{border:1px solid hsl(var(--trait-hue,260) 55% 55% / .5);background:hsl(var(--trait-hue,260) 55% 30% / .35);width:22px;height:22px;color:hsl(var(--trait-hue,260) 70% 80%);border-radius:30%;flex-shrink:0;place-items:center;display:grid}.faction-trait-more{border:1px solid var(--line);color:var(--faint);border-radius:999px;align-items:center;padding:2px 8px;font-size:.72em;font-weight:600;display:inline-flex}.faction-row-stats{grid-template-columns:repeat(2,1fr);gap:4px 14px;display:grid}.faction-stat{flex-direction:column;gap:1px;display:flex}.faction-stat-label{color:var(--faint);text-transform:uppercase;letter-spacing:.05em;font-size:.68em;font-weight:700}.faction-stat-value{color:var(--fg);font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:600}.faction-cell-label{color:var(--faint);letter-spacing:.08em;text-transform:uppercase;margin-bottom:6px;font-size:.68em;font-weight:600;display:block}@media (width<=920px){.faction-cell-label{display:none}}.faction-row-relation{flex-direction:column;align-items:flex-start;gap:8px;display:flex}.faction-row-action{width:100%;margin-top:2px}.faction-card{flex-direction:column;gap:8px;display:flex}.faction-card-head{align-items:center;gap:12px;min-width:0;display:flex}.faction-emblem{width:var(--emblem-size,56px);height:var(--emblem-size,56px);border:2px solid hsl(var(--emblem-hue) 70% 60% / .55);background:radial-gradient(circle at 38% 32%, hsl(var(--emblem-hue) 65% 42% / .55), hsl(var(--emblem-hue) 60% 12% / .8));color:hsl(var(--emblem-hue) 80% 78%);border-radius:30%;flex-shrink:0;place-items:center;display:grid;overflow:hidden;box-shadow:inset 0 0 14px #00000073}.faction-emblem-art{object-fit:cover;width:100%;height:100%}.faction-emblem--player{box-shadow:inset 0 0 14px #00000073, 0 0 0 3px color-mix(in srgb, var(--accent) 55%, transparent), 0 0 18px color-mix(in srgb, var(--accent) 45%, transparent)}.faction-emblem--pirates{filter:saturate(1.15)contrast(1.08)}.faction-emblem--trader-guild{background:linear-gradient(135deg, color-mix(in srgb, var(--gold) 16%, transparent), transparent 60%), radial-gradient(circle at 38% 32%, hsl(var(--emblem-hue) 65% 42% / .55), hsl(var(--emblem-hue) 60% 12% / .8))}.faction-emblem--government{border-radius:22%}@media (width<=920px){.faction-row{grid-template-columns:1.6fr 1fr;row-gap:10px}.faction-row-cell:nth-child(3){border-left:none}}@media (width<=600px){.faction-row{grid-template-columns:1fr;row-gap:10px}.faction-row-cell{padding:0}.faction-row-cell:not(:first-child){border-left:none;border-top:1px solid var(--line);padding-top:10px}}@media (width<=760px){.faction-board{flex-direction:column}.faction-rail{flex:none;width:100%;position:static}}.yard-dialog{width:min(1180px,96vw);height:auto;max-height:94vh}.yard-dialog .build-dialog-title{align-items:center;gap:10px;display:flex}.yard-dialog .build-dialog-subtitle{align-items:center;gap:8px;display:flex}.yard-body{border-top:1px solid var(--line);border-bottom:1px solid var(--line);flex-direction:column;flex:0 auto;gap:18px;min-height:320px;padding:6px 22px 18px;display:flex;position:relative;overflow-y:auto}.yard-section{flex-direction:column;gap:10px;display:flex}.yard-section-head{border-bottom:1px solid var(--line);align-items:baseline;gap:10px;padding-top:14px;padding-bottom:6px;display:flex}.yard-section-head h3{text-transform:uppercase;letter-spacing:.12em;color:var(--accent-2);margin:0;font:700 12px system-ui,sans-serif}.yard-section-head span{color:var(--muted);font-size:12px}.yard-offer-list{flex-direction:column;gap:10px;display:flex}.yard-offer-list>*{width:100%}.yard-offer-buy{white-space:nowrap}.yard-offer-bare{justify-content:space-between;align-items:center;gap:12px;display:flex}.yard-add-tile{border:1px dashed var(--line-strong);border-radius:var(--r-lg);width:100%;color:var(--accent-2);cursor:pointer;background:#a78bfa0a;flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:34px 18px;transition:border-color .15s,background .15s;display:flex}.yard-add-tile:hover{border-color:var(--accent-2);background:#a78bfa17}.yard-add-label{text-transform:uppercase;letter-spacing:.1em;font:700 13px system-ui,sans-serif}.yard-add-hint{color:var(--muted);letter-spacing:0;text-transform:none;font-size:12px}.yard-change-hull{white-space:nowrap;padding:6px 12px;font-size:11px}.yard-fleet-list{flex-direction:column;gap:8px;display:flex}.yard-fleet-row{background:linear-gradient(180deg, var(--card-2), var(--card));border:1px solid var(--line);border-radius:var(--r-md);width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;transition:border-color .15s;display:flex}.yard-fleet-row:hover{border-color:var(--accent-2)}.yard-fleet-name{color:var(--fg);font-weight:600}.yard-fleet-meta{color:var(--muted);white-space:nowrap;font-size:.85em}.yard-loadout-label{color:var(--muted);text-transform:uppercase;letter-spacing:.12em;margin-top:6px;font:600 10px system-ui,sans-serif}.yard-sheet{z-index:2;background:var(--card-solid);border-radius:var(--r-md);flex-direction:column;display:flex;position:absolute;inset:0;overflow:hidden;box-shadow:0 -8px 40px #00000080}.yard-sheet-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;padding:14px 18px 10px;display:flex}.yard-sheet-title{text-transform:uppercase;letter-spacing:.12em;color:var(--fg);font:700 14px system-ui,sans-serif}.yard-sheet-list{flex-direction:column;flex:1;gap:8px;min-height:0;padding:12px 18px 18px;display:flex;overflow-y:auto}.yard-sheet-row{cursor:pointer;border-radius:var(--r-md)}.yard-sheet-row:hover .bp-pill{border-color:var(--accent-2)}.yard-bom{flex-wrap:wrap;flex:1;align-items:center;gap:8px;min-width:0;display:flex}.yard-bom-head{align-items:center;gap:6px;width:100%;display:flex}.yard-bom-chip{border:1px solid var(--line-strong);background:var(--card-2);font-variant-numeric:tabular-nums;border-radius:999px;align-items:baseline;gap:4px;padding:5px 10px;font-size:12px;display:inline-flex}.yard-bom-chip--short{border-color:var(--error);color:var(--error)}.yard-bom-stock{color:var(--muted);font-size:11px}.yard-bom-chip--short .yard-bom-stock{color:var(--error)}.yard-qty{align-items:center;gap:6px;display:flex}.yard-qty-value{text-align:center;font-variant-numeric:tabular-nums;min-width:26px;font:700 14px system-ui,sans-serif}.yard-error{color:var(--error);padding:2px 0 6px;font-size:12px}.yard-blocked{color:var(--muted);padding:6px 0 0;font-size:12px}.yard-dialog .build-btn-primary:disabled{filter:grayscale(.8)}.yard-open-btn{background:var(--accent-grad);color:var(--accent-ink);cursor:pointer;text-transform:uppercase;letter-spacing:.08em;border:none;border-radius:8px;margin-left:8px;padding:6px 14px;font:700 11px system-ui,sans-serif}.yard-open-btn--compact{border:1px solid var(--accent-2);color:var(--accent-2);background:0 0;padding:3px 9px;font-size:10px}.yard-open-btn--compact:hover{background:#a78bfa24}.bp-slot-editable{position:relative}.bp-slot-editable .bp-pill:hover{border-color:var(--accent-2)}.bp-slot-clear{z-index:1;background:var(--card-solid);border:1px solid var(--line-strong);cursor:pointer;border-radius:6px;padding:1px 6px;font-size:11px;line-height:1.4;position:absolute;top:4px;right:4px}.bp-slot-clear:hover{border-color:var(--error);color:var(--error)!important}.yard-offer-action{flex-direction:column;align-items:stretch;gap:4px;display:flex}.yard-offer-short{color:var(--error);text-align:center;font-size:11px}.yard-sheet-cancel{padding:6px 14px;font-size:11px}.messages-screen{grid-template-columns:minmax(280px,380px) 1fr;align-items:start;gap:16px;padding:2px 0;display:grid}.messages-left{flex-direction:column;min-width:0;display:flex}.inbox-toolbar{align-items:center;gap:10px;margin-bottom:10px;display:flex}.inbox-heading{color:var(--accent-2);text-transform:uppercase;letter-spacing:.08em;margin:0;font-size:12px;font-weight:600}.inbox-unread-pill{color:var(--accent);background:#a78bfa29;border:1px solid #a78bfa59;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:600}.inbox-toolbar button.is-open{border-color:var(--accent);color:var(--accent)}.inbox-tabs{gap:6px;margin-bottom:8px;display:flex}.inbox-tab{border:1px solid var(--line);color:var(--muted);cursor:pointer;background:0 0;border-radius:999px;align-items:center;gap:6px;padding:5px 12px;font:12px system-ui,sans-serif;display:inline-flex}.inbox-tab:hover{border-color:var(--line-strong);color:var(--fg)}.inbox-tab.is-active{color:var(--fg);background:#a78bfa1f;border-color:#a78bfa80}.inbox-tab-count{color:var(--faint);font-variant-numeric:tabular-nums}.inbox-tab.is-active .inbox-tab-count{color:var(--accent)}.inbox-list{flex-direction:column;gap:6px;max-height:calc(100vh - 220px);padding-right:2px;display:flex;overflow-y:auto}.inbox-row{background:var(--card);border:1px solid var(--line);cursor:pointer;text-align:left;border-radius:12px;gap:10px;padding:10px 12px;display:flex}.inbox-row:hover{border-color:var(--line-strong)}.inbox-row:focus-visible{outline:1px solid var(--accent);outline-offset:1px}.inbox-row.is-selected{background:#a78bfa1f;border-color:#a78bfa8c}.inbox-row-marker{color:var(--faint);flex-shrink:0;padding-top:2px}.inbox-row.is-unread .inbox-row-marker{color:var(--accent)}.inbox-row-body{flex:1;min-width:0}.inbox-row-top{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.inbox-row-from{color:var(--fg);font-size:12px}.inbox-row.is-unread .inbox-row-from{font-weight:700}.inbox-row-time{color:var(--faint);flex-shrink:0;font-size:11px}.inbox-row-subject{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:12px;overflow:hidden}.inbox-row.is-unread .inbox-row-subject{color:var(--fg);font-weight:600}.inbox-row-kind{margin-top:6px}.reader-col{background:var(--card);border:1px solid var(--line);min-height:320px;box-shadow:inset 0 1px 0 var(--card-hi);border-radius:14px;padding:18px 20px 22px}.reader-empty{min-height:280px;color:var(--faint);flex-direction:column;justify-content:center;align-items:center;gap:10px;display:flex}.reader-head{border-bottom:1px solid var(--line);margin-bottom:12px;padding-bottom:10px}.reader-subject{color:var(--fg);margin:0 0 4px;font-size:1.1em}.reader-meta{color:var(--muted);gap:10px;font-size:12px;display:flex}.reader-from{color:var(--accent)}.reader-badges{align-items:center;gap:6px;margin-top:8px;display:flex}.reader-system-stamp{color:var(--accent-2);background:#22d3ee1a;border:1px solid #22d3ee59;border-radius:999px;align-items:center;gap:5px;padding:2px 8px;font-size:11px;font-weight:600;display:inline-flex}.reader-body{color:var(--fg);line-height:1.55}.reader-body--plain{white-space:pre-wrap}.reader-body>:first-child{margin-top:0}.reader-combat{border-top:1px solid var(--line);gap:24px;margin-top:12px;padding-top:10px;display:flex}.reader-combat-head{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:3px;font-size:11px}@media (width<=900px){.messages-screen{grid-template-columns:1fr}.inbox-list{max-height:320px}}.system-view-screen{background:#0d0b1cf0;grid-template:"sv-centre sv-rail"1fr/1fr minmax(280px,360px);width:100%;height:100%;display:grid}.system-view-center{grid-area:sv-centre;min-width:0;min-height:0;position:relative}.system-view-center canvas{cursor:default;width:100%;height:100%;display:block}.system-view-star-card h3{color:var(--accent);margin:0 0 2px;font-size:1.05em}.system-view-rail{box-sizing:border-box;border-left:1px solid var(--line);height:100%;min-height:0;color:var(--fg);grid-area:sv-rail;grid-template-rows:auto minmax(0,auto) auto;align-content:start;font:13px system-ui,sans-serif;display:grid}.system-view-rail.has-selection{grid-template-rows:auto minmax(88px,.4fr) minmax(200px,1fr)}.system-view-rail-head{box-sizing:border-box;border-bottom:1px solid var(--line);min-height:0;max-height:clamp(150px,30vh,300px);padding:16px 18px 12px;overflow-y:auto}.sv-head-name{color:var(--fg);margin:0 0 2px;font-size:1.15em;font-weight:650}.sv-head-kind{color:var(--accent-2);text-transform:uppercase;letter-spacing:.07em;font-size:11px}.sv-head-stats{color:var(--muted);flex-wrap:wrap;gap:4px 12px;margin-top:10px;font-size:12px;display:flex}.sv-head-stat b{color:var(--fg);font-variant-numeric:tabular-nums;font-weight:600}.sv-head-blurb{-webkit-line-clamp:4;line-clamp:4;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.system-view-rail-list{min-height:0;padding:8px 10px;overflow-y:auto;-webkit-mask-image:linear-gradient(#000 calc(100% - 22px),#0000);mask-image:linear-gradient(#000 calc(100% - 22px),#0000)}.system-view-rail-list-empty{color:var(--faint);padding:6px 4px;font-size:12px}.system-view-rail-row{border-radius:var(--r-sm);width:100%;color:var(--fg);text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;align-items:center;gap:9px;padding:5px 8px;font:12px system-ui,sans-serif;transition:border-color .15s,background .15s;display:flex}.system-view-rail-row:hover{border-color:var(--line-strong);background:#ffffff08}.system-view-rail-row.is-selected{border-color:var(--accent-2);background:#22d3ee1f}.system-view-rail-row .sv-portrait{width:26px;height:26px}.system-view-rail-row-dot{color:#080712bf;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;font-size:11px;display:inline-flex}.system-view-rail-row-text{flex:1;align-items:baseline;gap:8px;min-width:0;display:flex}.system-view-rail-row-label{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.system-view-rail-row-kind{color:var(--muted);flex-shrink:0;font-size:10px}.system-view-rail-detail{box-sizing:border-box;border-top:1px solid var(--line);min-height:0;padding:14px 18px 18px;overflow-y:auto}@media (width<=1100px){.system-view-screen{grid-template-columns:1fr minmax(250px,300px)}}@media (width<=820px){.system-view-screen{grid-template:"sv-centre"minmax(200px,1fr)"sv-rail"minmax(260px,48vh)/1fr}.system-view-rail{border-left:none;border-top:1px solid var(--line)}.system-view-rail.has-selection{grid-template-rows:auto minmax(70px,.3fr) minmax(140px,1fr)}.system-view-rail-head{max-height:clamp(80px,18vh,150px);padding:12px 14px 10px}.system-view-rail-head .sv-head-blurb{display:none}}.sv-card{background:var(--card);border:1px solid var(--line);border-radius:var(--r-md);margin-bottom:12px;padding:12px 14px 14px}.sv-card-title{color:var(--accent-2);text-transform:uppercase;letter-spacing:.08em;margin:0 0 10px;font-size:11px;font-weight:600}.sv-row{border-bottom:1px solid #ffffff0a;justify-content:space-between;gap:10px;padding:4px 0;font-size:12px;display:flex}.sv-row:last-of-type{border-bottom:none}.sv-row-label{color:var(--muted)}.sv-row-value{color:var(--fg);font-variant-numeric:tabular-nums}.sv-blurb{color:var(--muted);margin:10px 0 0;font:italic 12px/1.55 system-ui,sans-serif}.sv-detail-head{margin-bottom:14px}.sv-detail-name{color:var(--fg);margin:0 0 2px;font-size:1.05em}.sv-detail-kind{color:var(--accent-2);margin-bottom:12px;font-size:12px}.sv-portrait-row{justify-content:center;margin:4px 0 6px;display:flex}.sv-portrait{background:radial-gradient(circle at 34% 30%, var(--body-color), #06050ef2 78%);border:1px solid var(--line);border-radius:50%;flex-shrink:0;place-items:center;display:grid;position:relative;overflow:hidden;box-shadow:inset 0 0 12px #0000008c,0 0 14px #00000059}.sv-portrait-glyph{color:#ffffff8c;font-size:1.1em;line-height:1}.sv-portrait-art{object-fit:cover;opacity:0;width:100%;height:100%;transition:opacity .25s;position:absolute;inset:0}.sv-portrait.has-art .sv-portrait-art{opacity:1}.sv-portrait.has-art .sv-portrait-glyph{opacity:0}.sv-view-details{text-align:center;border:1px solid var(--line-strong);border-radius:var(--r-md);color:var(--accent-2);text-transform:uppercase;letter-spacing:.06em;margin-top:14px;padding:8px 0;font-size:12px;text-decoration:none;display:block}.sv-view-details:hover{border-color:var(--accent-2);background:#22d3ee14}.sv-back-btn{z-index:2;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--line);border-radius:var(--r-sm);color:var(--fg);cursor:pointer;background:#0c0a1ac7;align-items:center;gap:5px;padding:6px 12px 6px 10px;font:12px system-ui,sans-serif;display:inline-flex;position:absolute;top:78px;left:14px}.sv-back-btn:hover{border-color:var(--accent-2);color:var(--accent-2)}.sv-back-btn[hidden]{display:none}.codex-section+.codex-section{margin-top:4px}.codex-cards{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));align-items:stretch;gap:12px;display:grid}.codex-card{background:linear-gradient(180deg, var(--card-2), var(--card));border:1px solid var(--line);border-radius:var(--r-md);box-shadow:inset 0 1px 0 var(--card-hi);color:var(--fg);align-items:flex-start;gap:12px;padding:12px 14px;text-decoration:none;transition:transform .15s,box-shadow .15s,border-color .15s;display:flex}.codex-card:hover{border-color:var(--line-strong);box-shadow:inset 0 1px 0 var(--card-hi), var(--shadow-2);transform:translateY(-1px)}.codex-card-ic{width:34px;height:34px;color:var(--accent);background:#a78bfa1f;border:1px solid #a78bfa38;border-radius:10px;flex:none;justify-content:center;align-items:center;display:inline-flex}.codex-card:hover .codex-card-ic{color:var(--accent-2)}.codex-card-body{flex-direction:column;gap:3px;min-width:0;display:flex}.codex-card-title{color:var(--fg);font-weight:600}.codex-card-summary{color:var(--muted);font-size:.86em;line-height:1.45}.codex-back{margin:0 0 12px}.codex-back-link{color:var(--muted);font-size:.88em;text-decoration:none}.codex-back-link:hover{color:var(--accent-2)}.codex-article-head{border-bottom:1px solid var(--line);align-items:flex-start;gap:14px;padding-bottom:14px;display:flex}.codex-article-ic{width:48px;height:48px;color:var(--accent);background:#a78bfa1f;border:1px solid #a78bfa38;border-radius:14px;flex:none;justify-content:center;align-items:center;display:inline-flex}.codex-article-headtext{min-width:0}.codex-article-section{color:var(--accent-2);text-transform:uppercase;letter-spacing:.08em;font-size:11px;font-weight:600}.codex-article-title{color:var(--fg);margin:4px 0 0;font-size:1.35em}.codex-article-lead{color:var(--muted);margin:6px 0 0;line-height:1.5}.codex-article-body{line-height:1.65;overflow-x:auto}.codex-article-body>:first-child{margin-top:12px}.codex-article-body li{margin:3px 0}.codex-article-body a{color:var(--accent)}.codex-related-links{flex-wrap:wrap;gap:8px;display:flex}.codex-related-link{border:1px solid var(--line);background:var(--card);color:var(--accent);border-radius:999px;padding:6px 12px;font-size:.88em;text-decoration:none}.codex-related-link:hover{border-color:var(--accent);color:var(--accent-2)}.codex-missing{padding:6px 0}.codex-entry-art{border:1px solid var(--line);background:var(--card);border-radius:10px;max-width:320px;margin:14px 0 0;overflow:hidden}.codex-entry-art img{width:100%;height:auto;display:block}.codex-entry-facts{border:1px solid var(--line);background:var(--card);border-radius:10px;grid-template-columns:minmax(120px,max-content) 1fr;gap:4px 16px;margin:14px 0 0;padding:12px 14px;display:grid}.codex-entry-facts dt{color:var(--muted);font-size:.88em}.codex-entry-facts dd{color:var(--fg);margin:0;font-size:.92em}@media (width<=620px){.codex-entry-facts{grid-template-columns:1fr;gap:2px}.codex-entry-facts dd{margin-bottom:6px}}.codex-entry-provenance{font-style:italic}.codex-open-link{color:var(--muted)}.codex-open-link:hover{color:var(--accent-2)}
