:root{color-scheme:dark;--poi-starport: #ff4d47;--poi-city: #4fd1c5;--poi-comment: #d7dde6;--bg: #14161a;--panel: #1c1f25;--line: #2e333c;--text: #dfe3ea;--muted: #8b93a1;--accent: #e0b341;--select: var(--accent)}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:13px/1.5 Segoe UI,system-ui,sans-serif}.layout{display:grid;grid-template-columns:280px minmax(0,1fr) minmax(0,34vw);grid-template-rows:minmax(0,100vh);height:100vh;overflow:hidden}.panel{overflow:auto;padding:12px 14px}.panel-left{background:var(--panel);border-right:1px solid var(--line)}.layout.left-collapsed{grid-template-columns:34px minmax(0,1fr) minmax(0,34vw)}.left-collapsed .panel-left{padding:10px 0;overflow:hidden}.left-collapsed .panel-body,.left-collapsed .panel-head h1,.left-collapsed .panel-head .home,.left-collapsed .panel-head .help-open,.left-collapsed .panel-head .dirty,.left-collapsed .crumbs-row{display:none}.left-collapsed .panel-head{justify-content:center}.collapse{flex:none;width:22px;height:22px;padding:0;line-height:1;font-size:13px;color:var(--muted);background:transparent;border:1px solid var(--line);border-radius:3px;cursor:pointer}.collapse:hover{color:var(--text);border-color:var(--muted)}.collapse:before{content:"‹"}.left-collapsed .collapse:before{content:"›"}.panel-centre{display:grid;grid-template-rows:minmax(0,1fr) minmax(0,30%);min-width:0;min-height:0;overflow:hidden}.panel-map{display:flex;padding:8px;min-height:0}.panel-summary{background:var(--panel);border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px 22px;padding:10px 14px;overflow:auto;min-height:0}.panel-summary .props{align-content:start}.panel-summary .description{margin:0;align-self:start}.panel-right{display:grid;grid-template-rows:minmax(0,1fr) minmax(0,44%);border-left:1px solid var(--line);min-width:0;min-height:0;height:100%;overflow:hidden}.panel-globe{background:#0a0c10;padding:0;overflow:hidden}.panel-local{background:var(--panel);border-top:1px solid var(--line);display:flex;flex-direction:column;padding:8px 10px 10px;overflow:hidden}.panel-local h2{margin:0 0 6px;display:flex;align-items:center;gap:10px}.heading-toggle{font-size:inherit;letter-spacing:inherit;color:var(--muted)}.heading-toggle:hover{color:var(--text)}.heading-toggle input{transform:scale(.85)}.heading-toggle:has(input:disabled){opacity:.4}.heading-toggle:has(input:disabled):hover{color:var(--muted)}.localview-wrap{position:relative;flex:1;min-height:0;display:flex}.hex-overlay{position:absolute;top:0;left:0;z-index:2;min-width:132px;padding:6px 9px;font-size:11px;background:#121419d6;border:1px solid var(--line);border-radius:3px;pointer-events:none}.hex-overlay[hidden]{display:none}.hex-overlay div{gap:16px;padding:1px 0}.localview-stack{position:relative;flex:1;min-height:0}.localview-stack>*{position:absolute;top:0;right:0;bottom:0;left:0}.relief{z-index:0}.relief[hidden]{display:none}.relief canvas{display:block;width:100%;height:100%}.localview{width:100%;height:100%;z-index:1}.localview polygon{stroke:#0d0f12;stroke-width:.04}.localview .localview-hex{fill:none;stroke:var(--select);stroke-width:.5;pointer-events:none}.localview .contours path{fill:none;stroke-width:.13;stroke-linejoin:round}.localview .contour-land{stroke:#0c1016cc}.localview .contour-sea{stroke:#96c2ec9e}.localview .city-limits path{fill:none;stroke-linejoin:round}.localview .city-edge{stroke:var(--poi-city);stroke-width:.16;opacity:.8}.localview .city-core{stroke:var(--poi-city);stroke-width:.1;opacity:.55}.localview.contoured polygon:not([class]){stroke:none}.localview .localview-empty{fill:var(--muted);font-size:7px;text-anchor:middle}.scalebar path{fill:none;stroke:var(--text);stroke-width:.5;vector-effect:non-scaling-stroke}.scalebar text{fill:var(--text);paint-order:stroke;stroke:#0a0c10cc;stroke-width:2px;stroke-linejoin:round;vector-effect:non-scaling-stroke}.scalebar .scalebar-hex{fill:#b6becd}.globe{width:100%;height:100%}.globe canvas{display:block;cursor:grab}.globe canvas:active{cursor:grabbing}.panel-head{display:flex;align-items:baseline;gap:8px}h1{font-size:15px;margin:0 0 10px;letter-spacing:.06em}h2{font-size:11px;margin:18px 0 8px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.section{border-top:1px solid var(--line)}.section>summary{font-size:11px;margin:0;padding:10px 0 9px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;cursor:pointer;list-style:none;display:flex;align-items:center;gap:2px}.section>summary::-webkit-details-marker{display:none}.section>summary:hover{color:var(--text)}.section>summary:before{content:"";width:0;height:0;margin-right:7px;border-left:4px solid currentColor;border-top:3.5px solid transparent;border-bottom:3.5px solid transparent;transition:transform .12s ease}.section[open]>summary:before{transform:rotate(90deg)}.section-body{padding-bottom:6px}#section-narrative textarea{margin-top:0}label.spaced{margin-top:12px}.dirty{color:var(--accent);font-size:11px}.actions{display:flex;gap:6px}button{background:#262b33;color:var(--text);border:1px solid var(--line);border-radius:3px;padding:5px 10px;font:inherit;cursor:pointer}button:hover{background:#303742}.status{color:var(--muted);min-height:1.5em;margin:8px 0 0}.status.error{color:#e08a7a}label{display:block;margin-bottom:8px;color:var(--muted)}.row{display:flex;gap:6px;align-items:center}input,textarea{width:100%;margin-top:3px;background:#12151a;color:var(--text);border:1px solid var(--line);border-radius:3px;padding:5px 7px;font:inherit}textarea{resize:vertical}.hint{color:var(--muted);white-space:nowrap;font-size:11px}.hint.error{color:#e08a7a}.hint.under{margin:-6px 0 8px}.linky{background:none;border:0;padding:0 0 0 8px;cursor:pointer;color:var(--muted);font:inherit;text-transform:none;letter-spacing:0;text-decoration:underline;text-underline-offset:2px}.linky:hover{color:var(--text)}input.overridden{border-color:var(--accent, #e0b341)}input[readonly]{background:transparent;border-color:transparent;color:var(--muted);cursor:default}input[readonly]:focus{outline:none}.row.fields{align-items:flex-end;margin-bottom:8px}.row.fields label{margin-bottom:0}.row.fields .grow{flex:1 1 auto;min-width:0}.hexfield{flex:0 0 auto;width:8ch;font-variant-numeric:tabular-nums}.props{margin:0}.props div{display:flex;justify-content:space-between;gap:10px;padding:2px 0;min-width:0}.props div[hidden]{display:none}#h-poi{display:flex;flex-direction:column;align-items:flex-end}#h-poi .poi-line{color:var(--poi);overflow:hidden;text-overflow:ellipsis;max-width:100%}.props dt{color:var(--muted)}.props dd{margin:0;font-variant-numeric:tabular-nums;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.description{margin:10px 0 0;color:var(--muted);font-style:italic;line-height:1.45}.hexmap{width:100%;height:100%;cursor:default;touch-action:none}.hexmap.dragging{cursor:grabbing}.hexmap polygon{stroke:#0d0f12;stroke-width:var(--hex-stroke, .006)}.hexmap .face-outline{fill:none;stroke:#f2f4f8;stroke-width:.012;opacity:.45;pointer-events:none}.hexmap .selected-hex{fill:none;stroke:var(--select);stroke-width:var(--mark-stroke, .006);pointer-events:none}.placeholder{color:var(--muted)}input[type=range]{flex:1 1 auto;width:auto;min-width:90px;padding:0;border:none;background:none;accent-color:var(--accent);cursor:pointer}input[type=range]+.hint{white-space:nowrap}.poi-starport{--poi: var(--poi-starport)}.poi-city{--poi: var(--poi-city)}.poi-comment{--poi: var(--poi-comment)}.hexmap .poi-hex{fill:none;stroke:var(--poi);stroke-width:var(--mark-stroke, .006);pointer-events:none}.localview .poi-local{fill:none;stroke:var(--poi);stroke-width:.15;pointer-events:none}.localview .poi-label{fill:var(--poi);font-size:1.5px;text-anchor:middle;paint-order:stroke;stroke:#0a0c10d9;stroke-width:.6px;stroke-linejoin:round;pointer-events:none}.panel-map{position:relative}.poi-tip{position:absolute;z-index:2;max-width:240px;padding:6px 9px;background:#121419f0;border:1px solid var(--poi, var(--line));border-radius:3px;pointer-events:none}.poi-tip[hidden]{display:none}.poi-tip-entry+.poi-tip-entry{margin-top:6px;padding-top:6px;border-top:1px solid var(--line)}.poi-tip strong{color:var(--poi, var(--text))}.poi-tip-kind{color:var(--muted);font-size:11px;margin-left:6px}.poi-tip p{margin:4px 0 0;color:var(--text);white-space:pre-wrap}.poi-list{list-style:none;margin:0 0 8px;padding:0}.poi-list li{margin:0 0 3px}.poi-entry{display:block;width:100%;text-align:left;padding:3px 6px;background:transparent;border:1px solid transparent;border-left:3px solid var(--poi);border-radius:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.poi-entry:hover{background:#262b33;border-color:var(--line);border-left-color:var(--poi)}.poi-dialog{width:min(420px,90vw);padding:14px 16px 16px;background:var(--panel);color:var(--text);border:1px solid var(--line);border-radius:4px}.poi-dialog::backdrop{background:#06080c99}.poi-dialog h2{margin:0 0 2px}.poi-dialog .hint{white-space:normal}.poi-move{display:flex;gap:6px;align-items:flex-end;margin:10px 0 2px}.poi-move button{white-space:nowrap}.poi-move[hidden]{display:none}.poi-move label{margin:0}.poi-move .grow{flex:1 1 auto;min-width:0}select{width:100%;margin-top:3px;background:#12151a;color:var(--text);border:1px solid var(--line);border-radius:3px;padding:5px 7px;font:inherit}.poi-kinds{display:flex;gap:14px;margin:10px 0;padding:6px 10px 8px;border:1px solid var(--line);border-radius:3px}.poi-kinds legend{color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.08em}label.inline{display:flex;align-items:center;gap:5px;margin:0;color:var(--text)}label.inline input{width:auto;margin:0;accent-color:var(--accent)}.poi-actions{margin-top:12px}#poi-delete{margin-left:auto;color:#e08a7a}#poi-delete[hidden]{display:none}.save-dialog{width:min(560px,92vw);max-height:88vh;padding:14px 16px 16px;background:var(--panel);color:var(--text);border:1px solid var(--line);border-radius:4px;overflow:auto}.save-dialog::backdrop{background:#06080c99}.save-dialog h2{margin:0 0 2px}.save-dialog .hint{white-space:normal}.save-dialog fieldset{margin:12px 0 0;padding:6px 12px 10px;border:1px solid var(--line);border-radius:3px}.save-dialog legend{color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.08em}.save-dialog fieldset>.hint{margin:0 0 8px}.save-list{display:flex;flex-direction:column;gap:7px}.save-option{display:flex;align-items:flex-start;gap:8px;margin:0;cursor:pointer}.save-option input{width:auto;margin:2px 0 0;flex:none;accent-color:var(--accent)}.save-option>span{display:flex;flex-direction:column;gap:1px;min-width:0}.save-option-label{color:var(--text)}.save-option:hover .save-option-label{color:#fff}#save-summary{margin:12px 0 0}#save-all{margin-left:auto}body[data-view=landing] .layout,body[data-view=planet] .landing{display:none}.landing{position:relative;height:100vh;overflow:auto;display:flex;align-items:center;justify-content:center;padding:32px 24px;isolation:isolate}.sky{position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;overflow:hidden;background:radial-gradient(1100px 620px at 50% 118%,#1d2740,#14161a00 70%),radial-gradient(800px 500px at 82% -10%,#241f2e,#14161a00 68%),var(--bg)}.sky-stars{position:absolute;top:-20%;right:-20%;bottom:-20%;left:-20%;background-image:radial-gradient(1.4px 1.4px at 18% 22%,#ffffff 0%,transparent 100%),radial-gradient(1.1px 1.1px at 71% 9%,#dce6ff 0%,transparent 100%),radial-gradient(1.6px 1.6px at 43% 61%,#ffffff 0%,transparent 100%),radial-gradient(1px 1px at 88% 44%,#cdd8f5 0%,transparent 100%),radial-gradient(1.2px 1.2px at 7% 78%,#ffffff 0%,transparent 100%),radial-gradient(1px 1px at 59% 86%,#e7edff 0%,transparent 100%),radial-gradient(1.5px 1.5px at 31% 37%,#fff3d6 0%,transparent 100%),radial-gradient(1px 1px at 95% 71%,#ffffff 0%,transparent 100%);background-size:340px 320px;opacity:.55;animation:drift 260s linear infinite}.sky-limb{position:absolute;left:50%;bottom:-132vmin;width:190vmin;height:190vmin;transform:translate(-50%);border-radius:50%;background:radial-gradient(circle at 50% 4%,#e0b34133,#e0b34100 16%),radial-gradient(circle at 44% 7%,#22314a,#141922 16%,#0d1015 30%);box-shadow:inset 0 1px #e9d6a047,0 -30px 110px #7896dc1a}@keyframes drift{0%{transform:translateZ(0)}to{transform:translate3d(-340px,-320px,0)}}@media(prefers-reduced-motion:reduce){.sky-stars{animation:none}}.landing-card{width:100%;max-width:660px}.landing-head{text-align:center;margin:0 0 26px}.landing-logo{display:block;margin:0 auto 10px;border-radius:14px;box-shadow:0 0 0 1px #e0b3412e,0 8px 26px #00000073}.landing-card h1{font-size:clamp(34px,7vw,52px);line-height:1.2;padding-bottom:.08em;margin:-6px 0 0;font-weight:600;letter-spacing:.02em;background:linear-gradient(100deg,var(--text) 18%,var(--accent) 62%,#f4dfa6 100%);-webkit-background-clip:text;background-clip:text;color:transparent}.landing-lead{color:var(--muted);margin:12px auto 0;font-size:15px;max-width:34ch}.landing-what{color:var(--muted);margin:14px auto 0;max-width:56ch;line-height:1.6}.landing-links{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:6px 18px;margin-top:22px;color:var(--muted)}.landing-links a,.landing-links .linky{color:var(--muted);background:none;border:0;padding:0;font:inherit;text-decoration:none;border-bottom:1px solid transparent;cursor:pointer}.landing-links a:hover,.landing-links .linky:hover{color:var(--text);border-bottom-color:var(--accent)}.landing-version{color:#6a7280}.landing-foot{margin-top:22px;display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center}.landing-foot .landing-links{margin-top:0}.landing-foot .landing-links a,.landing-foot .landing-links .linky,.landing-legal a,.landing-legal .linky{border-bottom-color:#3a404b}.landing-legal{margin:4px 0 0;max-width:64ch;font-size:12px;line-height:1.55;color:#6a7280}.landing-legal a,.landing-legal .linky{color:var(--muted);background:none;border:0;border-bottom:1px solid #3a404b;padding:0;font:inherit;text-decoration:none;cursor:pointer}.landing-legal a:hover,.landing-legal .linky:hover{color:var(--text);border-bottom-color:var(--accent)}.help-links{display:flex;align-items:center;gap:16px;margin-right:auto;color:var(--muted)}.help-links a{color:var(--muted);text-decoration:none;border-bottom:1px solid transparent}.help-links a:hover{color:var(--text);border-bottom-color:var(--accent)}.levels{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.level{display:grid;grid-template-columns:52px minmax(0,1fr);grid-template-areas:"icon what" "act  act";align-items:start;gap:4px 14px;padding:18px;border:1px solid var(--line);border-radius:10px;background:linear-gradient(180deg,#282e3ab8,#181b21d1);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);transition:border-color .14s ease,transform .14s ease,box-shadow .14s ease}.level:hover,.level:focus-within{border-color:#e0b3418c;transform:translateY(-2px);box-shadow:0 10px 28px #00000059}.level-icon{grid-area:icon;width:52px;height:52px;overflow:visible}.ic-body{fill:#6f8cc0}.ic-edge{fill:none;stroke:#dfe3ea80;stroke-width:1.4}.ic-line{fill:none;stroke:#dfe3ea99;stroke-width:1.3}.ic-orbit{fill:none;stroke:#96aad28c;stroke-width:1.2}.ic-star{fill:var(--accent)}.ic-hex{fill:#28344a99;stroke:#96aad280;stroke-width:1.2}.ic-grid{fill:#28344a80;stroke:#96aad273;stroke-width:1.1}.level:hover .ic-body,.level:focus-within .ic-body{fill:#86a3d8}.level-what{grid-area:what;min-width:0}.level-what h2{font-size:19px;margin:0;color:var(--text);text-transform:none;letter-spacing:0}.level-what p{margin:4px 0 0;color:var(--muted)}.level .actions{grid-area:act;margin-top:14px;display:flex;gap:8px}.level .actions button{min-width:74px}.level-soon{opacity:.62}.level-soon:hover,.level-soon:focus-within{transform:none;border-color:var(--line);box-shadow:none}.level-soon-note{color:var(--muted);border:1px dashed var(--line);border-radius:999px;padding:3px 12px;font-size:12px}@media(max-width:620px){.levels{grid-template-columns:minmax(0,1fr)}}.home{flex:none;margin-left:auto;padding:2px 8px;font-size:11px;color:var(--muted);background:transparent;border:1px solid var(--line);border-radius:3px;cursor:pointer}.home:hover{color:var(--text);border-color:var(--muted);background:transparent}.home+.help-open{margin-left:6px}.travel{border-top:1px solid var(--line);margin-top:8px;padding-top:8px}.travel-rate{display:flex;align-items:center;gap:6px;font-size:.85rem;color:var(--muted)}.travel-rate input{width:5em}.travel-note{font-size:.78rem;color:var(--muted);margin:6px 0 0}#sys-travel-list dd{font-variant-numeric:tabular-nums}.map-shadow{fill:#788cbe21;stroke:#8ca5dc59;stroke-width:1;vector-effect:non-scaling-stroke}.map-shadow-star{fill:#96825a26;stroke:#d2b47866}.orbit-naval{fill:#e6ebf2}.orbit-scout{fill:#9fb0c4}.orbit-travel{fill:none;stroke:#e0b341;stroke-width:1.6;stroke-dasharray:3 3}.orbit-red{stroke:#e24b4a}.map-base{stroke:#0d0f13;stroke-width:1}.map-naval{fill:#e6ebf2}.map-scout{fill:#9fb0c4}.sub-edit{display:grid;gap:6px;border-top:1px solid var(--line);padding-top:8px}.sub-edit .sys-written{margin:0}#sub-fields{display:grid;gap:6px}#sub-fields[hidden]{display:none}.crumbs{display:flex;align-items:baseline;gap:2px;flex-wrap:wrap;min-width:0}.crumbs-row{padding:2px 8px 6px;border-bottom:1px solid var(--line)}.crumb{background:none;border:0;padding:1px 4px;border-radius:3px;font:inherit;font-size:.85em;color:var(--text);cursor:pointer;max-width:12em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.crumb:hover:not(:disabled){background:#232a34;text-decoration:underline}.crumb:disabled{cursor:default}.crumb-shut{color:var(--muted);opacity:.55}.crumb[aria-current=true]{font-weight:600;color:var(--select)}.crumb-tick{color:var(--muted);font-size:.85em}body[data-view=sector] .layout,body[data-view=sector] .landing,body[data-view=sector] .system,body[data-view=sector] .subsector,body[data-view=landing] .sector,body[data-view=planet] .sector,body[data-view=system] .sector,body[data-view=subsector] .sector{display:none}.sector{height:100vh;display:grid;grid-template-columns:var(--tree-width, 240px) 7px minmax(0,1fr) 330px;grid-template-rows:auto minmax(0,1fr) auto;grid-template-areas:"head  head head head" "tree  grip map  side" "strip strip strip strip";gap:10px;padding:10px 14px 12px;overflow:hidden}.sec-map{grid-area:map;min-height:0;min-width:0;background:#0a0c10;border:1px solid var(--line);border-radius:4px;overflow:hidden}.sectormap{width:100%;height:100%;display:block}.sec-cell{fill:none;stroke:#262c36;stroke-width:.6;vector-effect:non-scaling-stroke}.sec-wet{fill:#3f7fc4}.sec-dusty{fill:#b08b5e}.sec-airless{fill:#8d96a2}.sec-empty{fill:none;stroke:#6d7784;stroke-width:1.2}.sec-name{fill:#dfe3ea;font-size:15px;text-anchor:middle}.sec-at{fill:#59636f;font-size:11px;text-anchor:middle;font-variant-numeric:tabular-nums}.sec-port{fill:#dbe3ec;font-size:14px;text-anchor:middle;font-weight:600}.sec-close .sec-name{font-size:13px;fill:#f0f4f9}.sec-close .sec-cell{stroke:#39414d}.sec-close .sec-letter{opacity:0}.sectormap{cursor:grab}.sectormap:active{cursor:grabbing}.sec-route{stroke:#35608f;stroke-width:1.6;opacity:.5}.sec-xboat{stroke:#6aa6e8;stroke-width:3;opacity:.85}.sec-hex{cursor:pointer}.sec-hex:hover .sec-world{stroke:var(--accent);stroke-width:2.5}.sec-frame{cursor:pointer}.sec-box{fill:transparent;stroke:#454d5c;stroke-width:1.6;vector-effect:non-scaling-stroke}.sec-frame:hover .sec-box,.sec-frame:focus .sec-box{stroke:var(--accent);fill:#e0b3410d}.sec-frame:focus{outline:none}.sec-letter{fill:#dfe3ea29;font-size:150px;font-weight:700;text-anchor:middle;dominant-baseline:middle;pointer-events:none}.sec-chosen{fill:#e0b3410f;stroke:var(--accent);stroke-width:2.5;vector-effect:non-scaling-stroke}.sec-pick{fill:none;stroke:var(--select);stroke-width:3;vector-effect:non-scaling-stroke}body[data-view=subsector] .layout,body[data-view=subsector] .landing,body[data-view=subsector] .system,body[data-view=landing] .subsector,body[data-view=planet] .subsector,body[data-view=system] .subsector{display:none}.subsector{height:100vh;display:grid;grid-template-columns:var(--tree-width, 260px) 7px minmax(0,1fr) 330px;grid-template-rows:auto minmax(0,1fr) auto;grid-template-areas:"head  head head  head" "tree  grip model side" "strip strip strip strip";gap:10px;padding:10px 14px 12px;overflow:hidden}.sub-map{grid-area:model;min-height:0;min-width:0;background:#0d0f13;border:1px solid var(--line);border-radius:4px;overflow:hidden}.subsectormap{width:100%;height:100%;display:block;cursor:grab}.subsectormap:active{cursor:grabbing}.sub-map{background:#0a0c10}.subsector #sub-list{max-height:42vh;overflow:auto}.starmap-legend{flex:none;margin-top:10px}.starmap-legend summary{cursor:pointer;font-weight:600;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:6px}.starmap-key{flex:none;border-top:1px solid var(--line);padding-top:8px;margin:0;display:grid;gap:3px;font-size:.82rem;color:var(--muted)}.starmap-key li{display:flex;align-items:center;gap:7px}.starmap-key svg{width:16px;height:16px;flex:none;overflow:visible}.starmap-cell{fill:transparent;stroke:#39414d;stroke-width:1;vector-effect:non-scaling-stroke}.starmap-hex{cursor:pointer}.starmap-hex:hover .starmap-cell{fill:#191e26}.starmap-hex:focus{outline:none}.starmap-hex:focus .starmap-cell{fill:#1f252e}.starmap-at{fill:#59636f;font-size:11px;text-anchor:middle;font-variant-numeric:tabular-nums}.starmap-port{fill:#dbe3ec;font-size:14px;text-anchor:middle;font-weight:600}.starmap-name{fill:#f0f4f9;font-size:13px;text-anchor:middle}.starmap-loud{font-weight:700;letter-spacing:.03em}.starmap-wet{fill:#3f7fc4}.starmap-dusty{fill:#b08b5e}.starmap-airless{fill:#8d96a2}.starmap-empty{fill:none;stroke:#7b8694;stroke-width:1.6}.starmap-rock{fill:#9aa5b2}.starmap-globe{pointer-events:none}.starmap-naval{fill:#e6ebf2}.starmap-scout{fill:#9fb0c4}.starmap-giant{fill:#d7b273}.starmap-giant-ring{fill:none;stroke:#d7b273;stroke-width:1.4}.sub-settings{display:grid;gap:5px;margin:0 0 4px}.sub-settings label{display:flex;align-items:center;justify-content:space-between;gap:6px;margin:0;color:var(--muted);font-size:.85rem}.sub-settings select,.sub-settings input{width:7.5em;margin:0}.sub-choices{border-top:0;padding-top:0}.sub-choices label{display:flex;align-items:center;gap:6px;cursor:pointer}.starmap-around{opacity:.32;pointer-events:none}.starmap-faint{filter:saturate(.5)}.starmap-main>*{stroke:none}.starmap-main-0>*{fill:#5aa0dc29}.starmap-main-1>*{fill:#c8965a29}.starmap-main-2>*{fill:#8cc88c26}.starmap-main-3>*{fill:#be82c826}.starmap-main-4>*{fill:#dcc87824}.starmap-key .starmap-main-0>*{fill:#5aa0dc8c}.starmap-route{stroke:#3d6ea8;stroke-width:2;opacity:.75}.starmap-xboat{stroke:#6aa6e8;stroke-width:3.4;opacity:.9}.starmap-zone{fill:none;stroke:#e0b341;stroke-width:1.6;stroke-dasharray:5 5}.starmap-red{stroke:#e24b4a}.starmap-select{fill:none;stroke:var(--select);stroke-width:2.5;vector-effect:non-scaling-stroke}body[data-view=system] .layout,body[data-view=system] .landing,body[data-view=landing] .system,body[data-view=planet] .system{display:none}.system{height:100vh;display:grid;grid-template-columns:var(--tree-width, 260px) 7px minmax(0,1fr) 330px;grid-template-rows:auto minmax(0,1fr) auto;grid-template-areas:"head  head head  head" "tree  grip model side" "strip strip strip strip";gap:10px;padding:10px 14px 12px;overflow:hidden}.system-head{grid-area:head;display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;row-gap:6px}.system-head h1{margin:0}.system-head .brand,.panel-head .brand{align-self:center}.brand{display:inline-flex;align-items:center;gap:8px;flex:none;margin:0}.brand img{display:block;width:20px;height:20px;border-radius:5px}.brand-name{font-size:15px;font-weight:600;letter-spacing:.02em;background:linear-gradient(100deg,var(--text) 18%,var(--accent) 62%,#f4dfa6 100%);-webkit-background-clip:text;background-clip:text;color:transparent}.sys-stars{color:var(--accent)}.sys-counts{color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.system-actions{margin-left:auto;display:flex;gap:6px;align-items:center}.sys-name{width:190px;font-size:15px;letter-spacing:.04em;background:transparent;border:1px solid transparent;border-radius:3px;color:var(--text);padding:2px 6px;margin:0}.sys-name:hover{border-color:var(--line)}.sys-name:focus{border-color:var(--muted);background:var(--bg)}.sys-where{display:flex;align-items:center;gap:5px;margin:0;color:var(--muted)}.sys-where input{width:104px;margin:0}.sys-where .hexfield{width:58px}.sys-where .datefield{width:78px}.sys-tree-panel,.sys-side{min-height:0;overflow:auto;background:var(--panel);border:1px solid var(--line);border-radius:4px;padding:10px 12px}.sys-tree-panel{grid-area:tree}.sys-grip{grid-area:grip;position:relative;cursor:col-resize;border-radius:3px;background:transparent;transition:background .12s}.sys-grip:before{content:"";position:absolute;top:0;right:-5px;bottom:0;left:-5px}.sys-grip:after{content:"";position:absolute;top:50%;left:2px;width:3px;height:28px;margin-top:-14px;border-radius:2px;background:var(--line)}.sys-grip:hover:after,.sys-grip:focus-visible:after,.sys-grip.dragging:after{background:transparent}.sys-grip:hover,.sys-grip:focus-visible,.sys-grip.dragging{background:var(--select);outline:none}body.resizing{cursor:col-resize;-webkit-user-select:none;user-select:none}.sys-side{grid-area:side;display:flex;flex-direction:column;gap:10px}.sys-tree-panel h2{margin:0 0 6px}.sys-tree-panel h2+dl{margin-bottom:14px}.sys-only{display:flex;align-items:center;justify-content:flex-start;gap:6px;margin:0 0 8px;white-space:nowrap}.sys-only input{flex:none;width:auto;margin:0}.sys-tree{list-style:none;margin:0;padding:0}.sys-tree ul{list-style:none;margin:0;padding:0 0 0 14px;border-left:1px solid var(--line)}.sys-tree li{margin:0}.sys-tree button{display:flex;align-items:baseline;gap:8px;width:100%;text-align:left;padding:3px 6px;background:transparent;border:1px solid transparent;border-radius:3px}.sys-tree button:hover{background:#262b33}.sys-tree button[aria-current=true]{border-color:var(--select);color:var(--text)}.sys-tree button>span:first-child{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sys-tree .tree-what{color:var(--muted);font-size:11px;margin-left:auto;white-space:nowrap;flex:none}.sys-tree .tree-none{color:var(--muted);padding:4px 6px}.sys-tree .tree-uwp{color:var(--muted);font-size:11px;white-space:nowrap;flex:none}.sys-tree .tree-people{color:var(--accent)}.sys-model{grid-area:model;min-height:0;display:flex;align-items:center;justify-content:center;background:#0d0f13;border:1px solid var(--line);border-radius:4px;padding:6px}.orbitmap{width:100%;height:100%;display:block;cursor:grab;touch-action:none}.orbitmap:active{cursor:grabbing}.orbitmap:focus{outline:none}.map-path{fill:none;stroke:#2a313c;stroke-width:1.2;vector-effect:non-scaling-stroke}.map-au{fill:#59616e;font-size:26px;text-anchor:middle}.map-zone-label{fill:#5dcaa5;font-size:26px;text-anchor:middle;letter-spacing:.08em}.map-zone{fill:none;stroke:#5dcaa51a}.map-star{stroke:#0006;stroke-width:1}.map-hit{fill:transparent}.map-body{cursor:pointer}.map-body:hover .map-hit{fill:#ffffff0d}.map-body:focus{outline:none}.map-body:focus .map-hit{fill:#ffffff14}.map-world{fill:#9fb6cf}.map-giant{fill:#c8a06a}.map-rock{fill:#7d8796}.map-nothing{fill:#39414d}.map-edge{fill:none;stroke:#00000080;stroke-width:1;vector-effect:non-scaling-stroke}.map-edge-main{stroke:var(--accent);stroke-width:2.5}.map-ring{fill:none;stroke:#c8a06a;stroke-width:2;opacity:.65;vector-effect:non-scaling-stroke}.map-select{fill:none;stroke:var(--select);stroke-width:2;vector-effect:non-scaling-stroke}.sys-strip{grid-area:strip}.sys-diagram{border:1px solid var(--line);border-radius:4px;background:var(--panel);padding:4px;display:flex;align-items:center;overflow-x:auto}.orbits{width:100%;min-width:520px;height:auto;max-height:150px;display:block}.orbit-axis{stroke:var(--line);stroke-width:2}.orbit-tick{stroke:var(--line);stroke-width:1.5}.orbit-star{stroke:#00000059;stroke-width:1}.orbit-companion{opacity:.95}.orbit-zone{fill:#5dcaa517}.orbit-zone-label{fill:#5dcaa5;font-size:11px;text-anchor:middle;letter-spacing:.08em}.orbit-hit{fill:transparent}.orbit{cursor:pointer}.orbit:hover .orbit-hit{fill:#ffffff0a}.orbit:focus{outline:none}.orbit:focus .orbit-hit{fill:#ffffff12}.orbit-world{fill:#9fb6cf}.orbit-main{fill:var(--accent)}.orbit-giant{fill:#c8a06a}.orbit-ring{fill:none;stroke:#c8a06a;stroke-width:1.5;opacity:.7}.orbit-belt{fill:var(--muted)}.orbit-select{fill:none;stroke:var(--select);stroke-width:1.5}.orbit-globe{image-rendering:auto}.orbit-edge{fill:none;stroke:#00000080;stroke-width:1}.orbit-edge-main{stroke:var(--accent);stroke-width:2}.orbit-moon{fill:#7d8796;cursor:pointer}.orbit-moon:hover{fill:var(--text)}.orbit-moon-people{fill:var(--accent)}.orbit-moon-select{fill:none;stroke:var(--select);stroke-width:1.2}.orbit-moon-more{fill:var(--muted);font-size:9px;text-anchor:middle}.orbit-au{fill:var(--muted);font-size:11px;text-anchor:middle}.orbit-label{fill:var(--muted);font-size:10px;text-anchor:middle;opacity:.75}.sys-globe{width:100%;max-width:220px;align-self:center;aspect-ratio:1;border-radius:50%;overflow:hidden;background:#0b0d10;flex:none}.sys-globe img{display:block;width:100%;height:100%}.sys-globe canvas{display:block;cursor:grab}.sys-globe canvas:active{cursor:grabbing}.sys-title{display:flex;align-items:baseline;gap:10px;margin:0 0 8px}.sys-title h2{flex:1;min-width:0}.sys-title .sys-open{flex:none;margin:0;padding:3px 10px}.sys-detail h2{margin:0 0 8px;color:var(--text);text-transform:none;letter-spacing:0;font-size:14px}.sys-facts{display:grid;grid-template-columns:auto 1fr;gap:2px 12px;margin:0}.sys-facts dt{color:var(--muted)}.sys-facts dd{margin:0}.sys-note{color:var(--muted);margin:8px 0 0}.sys-written{display:block;margin:10px 0 0;color:var(--muted)}.sys-written textarea{margin-top:4px}.sys-moons{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:6px}.sys-moons:empty{margin:0}.sys-moons button{display:flex;gap:8px;align-items:baseline;padding:4px 9px;background:transparent;border:1px solid var(--line)}.sys-moons button:hover{background:#262b33;border-color:var(--muted)}.sys-moons .moon-uwp{color:var(--muted);font-size:12px}.sys-moons .moon-people{color:var(--accent);font-size:12px}.help-open{flex:none;margin-left:auto;width:22px;height:22px;padding:0;line-height:1;font-size:12px;color:var(--muted);background:transparent;border:1px solid var(--line);border-radius:50%;cursor:pointer}.help-open:hover{color:var(--text);border-color:var(--muted)}.help-dialog{width:min(680px,92vw);max-height:88vh;padding:0;background:var(--panel);color:var(--text);border:1px solid var(--line);border-radius:4px}.help-dialog::backdrop{background:#06080cb3}.help-head{position:sticky;top:0;display:flex;align-items:center;gap:8px;padding:12px 16px 10px;background:var(--panel);border-bottom:1px solid var(--line)}.help-head h2{margin:0;color:var(--text);font-size:14px;font-weight:600;text-transform:none;letter-spacing:.02em}.help-x{margin-left:auto;padding:0 6px;line-height:1;font-size:16px;color:var(--muted);background:transparent;border:0;cursor:pointer}.help-x:hover{color:var(--text)}.help-body{padding:4px 16px 0}.help-body p{margin:0 0 10px;max-width:62ch}.help-body h3{margin:16px 0 6px;font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.help-body b{color:#f0f3f8;font-weight:600}.help-body code{padding:1px 4px;background:#12151a;border:1px solid var(--line);border-radius:3px;font-family:ui-monospace,Consolas,monospace;font-size:12px}.help-list{margin:0 0 10px}.help-list dt{float:left;clear:left;width:13ch;color:var(--muted)}.help-list dd{margin:0 0 4px 14ch;max-width:52ch}.help-note{color:var(--muted)}.help-licence{margin:0 0 10px;padding:10px 12px;background:#12151a;border:1px solid var(--line);border-radius:3px;color:var(--muted);font-family:ui-monospace,Consolas,monospace;font-size:11px;line-height:1.45;white-space:pre-wrap}.help-actions{position:sticky;bottom:0;justify-content:flex-end;padding:10px 16px 12px;background:var(--panel);border-top:1px solid var(--line)}
