:root{--bg:#060a12;--panel:#08101ad9;--border:#46d2e6;--text:#c8f0f5;--dim:#6ea0aa;--accent:#ffd25a;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body,#app{height:100%;margin:0}body{background:var(--bg);color:var(--text);font-family:OCR A Extended,Consolas,Courier New,monospace}#app{grid-template-rows:44px minmax(0,1fr) 28px;grid-template-columns:minmax(0,1fr);display:grid}#crumbs{background:var(--panel);border-bottom:1px solid var(--border);align-items:center;padding:0 16px;font-size:18px;font-weight:700;display:flex}main{grid-template-columns:minmax(0,1fr) 320px;min-height:0;display:grid}#stage{min-width:0;position:relative;overflow:hidden}#stage canvas{display:block;position:absolute;inset:0}#panel{background:var(--panel);border-left:1px solid var(--border);padding:16px;overflow-y:auto}#panel h2{margin:0 0 4px;font-size:22px}#panel .kind{color:var(--accent);margin:0 0 12px;font-size:13px}#panel .hint{color:var(--dim)}#panel .lore{color:var(--dim);line-height:1.4}#panel button{width:100%;color:var(--text);border:1px solid var(--border);font:inherit;cursor:pointer;background:#143c46;margin-top:12px;padding:8px}#panel button:hover{background:#1c5562}#hint{color:var(--dim);border-top:1px solid var(--border);background:var(--panel);align-items:center;padding:0 16px;font-size:12px;display:flex}#crumbs button{background:var(--accent);color:#1e1400;font:inherit;cursor:pointer;border:0;border-radius:4px;margin-right:12px;padding:4px 12px;font-size:13px;font-weight:700}#crumbs button[hidden]{display:none}#panel dl{grid-template-columns:8.5em 1fr;gap:6px 8px;margin:12px 0 0;font-size:14px;display:grid}#panel dt{color:var(--dim)}#panel dd{margin:0}#panel button.secondary{border-color:var(--accent);background:#3a2418}#panel button.secondary:hover{background:#55341f}#panel button.mark{color:#ff9628;background:0 0;border-color:#ff9628;margin-top:14px}#panel button.mark.on{color:#1e1400;background:#ff9628;font-weight:700}#panel button.link{text-align:left;margin-top:6px}#panel textarea.note{width:100%;color:var(--text);font:inherit;resize:vertical;background:#0a141e;border:1px solid #2c5560;margin-top:10px;padding:8px;font-size:13px}#panel textarea.note:focus{outline:1px solid var(--accent)}#crumbs #wells{color:var(--dim);background:0 0;border:1px solid #2c5560;margin-left:auto;font-weight:400}#crumbs #wells:hover{color:var(--text);border-color:#6eb4e6}#crumbs #wells.on{color:#8ad4f5;background:#17303b;border-color:#6eb4e6}#crumbs #wells[hidden]{display:none}#crumbs #marked{color:#ff9628;background:0 0;border:1px solid #ff9628;margin-left:auto;font-weight:400}#crumbs #edit{color:var(--dim);border:1px solid #2c5560;border-radius:3px;margin-left:10px;padding:3px 10px;font-size:13px;text-decoration:none}#crumbs #edit:hover{color:var(--text);border-color:var(--accent)}#crumbs #edit[hidden]{display:none}#crumbs #saves{color:var(--dim);background:0 0;border:1px solid #2c5560;margin-left:8px;font-weight:400}#crumbs #saves:before{content:"● "}#crumbs #saves[data-state=synced]:before{color:#6be08f}#crumbs #saves[data-state=syncing]:before{color:var(--accent)}#crumbs #saves[data-state=offline]:before{color:#ff9628}#crumbs #saves[data-state=local]:before{color:var(--dim)}dialog.saves{color:var(--text);border:1px solid var(--border);background:#0b141f;border-radius:6px;width:min(560px,92vw);padding:18px 22px;font-family:inherit}dialog.saves::backdrop{background:#0009}dialog.saves h3{margin:0 0 8px}dialog.saves h4{color:var(--accent);margin:16px 0 6px}dialog.saves .status{color:var(--dim);margin:0}dialog.saves .status.offline{color:#ff9628}dialog.saves .help{color:var(--dim);margin:6px 0 0;font-size:12px}dialog.saves .row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}dialog.saves input{min-width:0;color:var(--text);font:inherit;background:#08111a;border:1px solid #23404d;flex:1;padding:6px 8px}dialog.saves input[type=file]{flex:0 auto}dialog.saves button{color:var(--text);border:1px solid var(--border);cursor:pointer;font:inherit;background:#143c46;padding:6px 12px}dialog.saves button.primary{background:var(--accent);color:#06222a;border-color:var(--accent)}dialog.saves .buttons{justify-content:flex-end;margin-top:16px;display:flex}#crumbs #search{margin-left:12px;font-weight:400;position:relative}#crumbs #search input{box-sizing:border-box;width:190px;color:var(--text);font:inherit;background:#08111a;border:1px solid #2c5560;border-radius:4px;padding:5px 10px;font-size:13px}#crumbs #search input:focus{border-color:var(--accent);outline:none}#crumbs #search input::placeholder{color:var(--dim)}#crumbs #search ul{border:1px solid var(--border);z-index:20;background:#0b141f;border-radius:4px;min-width:340px;margin:0;padding:4px 0;font-size:14px;list-style:none;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 8px 24px #0009}#crumbs #search ul[hidden]{display:none}#crumbs #search li{cursor:pointer;color:var(--text);align-items:center;gap:10px;padding:7px 12px;display:flex}#crumbs #search li.active,#crumbs #search li:hover{background:#143c46}#crumbs #search li.none{color:var(--dim);cursor:default}#crumbs #search li.none:hover{background:0 0}#crumbs #search .dot{background:var(--c);width:10px;height:10px;box-shadow:0 0 6px var(--c);border-radius:50%;flex:none}#crumbs #search .dot.planet{border:2px solid var(--c);box-sizing:border-box;box-shadow:none;background:0 0}#crumbs #search .tag{color:var(--accent);letter-spacing:.06em;text-transform:uppercase;border:1px solid #2c5560;border-radius:3px;flex:none;padding:1px 6px;font-size:10px}#crumbs #search .tag.planet{color:#8fd0ff;border-color:#2c5568}#crumbs #search .meta{color:var(--dim);white-space:nowrap;margin-left:auto;font-size:12px}@media (width<=720px){#crumbs #search input{width:120px}#crumbs #search ul{min-width:280px}}#crumbs #crumb-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;margin-right:12px;overflow:hidden}#crumbs button,#crumbs #edit{white-space:nowrap;flex:none}#crumbs #search{flex:none}#panel ul.planets{margin:12px 0 0;padding:0;font-size:13px;list-style:none}#panel ul.planets li{border-top:1px solid #16323c;grid-template-columns:9px 1fr auto;align-items:center;column-gap:8px;padding:6px 0;display:grid}#panel ul.planets .dot{border-radius:50%;grid-row:1/span 2;align-self:start;width:9px;height:9px;margin-top:4px}#panel ul.planets .pname{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}#panel ul.planets .pbiome{color:var(--dim);text-transform:uppercase;letter-spacing:.05em;font-size:11px}#panel ul.planets .ppop{color:var(--accent);grid-column:2/span 2;font-size:12px}#panel ul.planets .ppop:before{content:"Pop. ";color:var(--dim)}#panel ul.planets li.moon{padding-left:calc(var(--depth,1) * 14px)}#panel ul.planets li.moon .pname{color:#a9d7e0}#panel .moons{color:#6eb4e6;margin:0 0 12px;font-size:13px}#panel .stars{color:#ffd9a0;margin:0 0 8px;font-size:13px}#panel .cue{margin:0 0 8px;font-size:13px}#panel .cue.station{color:#8af0ff}#panel .cue.empty{color:var(--dim)}.detail{background:#060a12;flex-direction:column;gap:20px;padding:24px;display:flex;position:absolute;inset:0;overflow-y:auto}.detail .dcard{background:#08101a99;border:1px solid #1c4450;border-radius:6px;grid-template-columns:220px minmax(0,1fr);gap:24px;padding:18px;display:grid}.detail .dcard.station{border-color:#2f7f92}.detail .dpic img,.detail .dpic canvas{object-fit:cover;border:1px solid #1c4450;border-radius:4px;width:220px;height:220px;display:block}.detail h2{margin:0 0 4px;font-size:26px}.detail h3{color:var(--accent);letter-spacing:.06em;text-transform:uppercase;margin:18px 0 4px;font-size:15px}.detail .kind{color:var(--accent);margin:0 0 12px;font-size:13px}.detail .dnote{color:#6eb4e6;margin:0 0 12px;font-size:13px}.detail .lore,.detail .dtext{color:var(--text);white-space:pre-wrap;margin:0 0 8px;line-height:1.5}.detail .hint{color:var(--dim)}.detail dl.dstats{grid-template-columns:12em minmax(0,1fr);gap:6px 12px;margin:14px 0 0;font-size:14px;display:grid}.detail dl.dstats dt{color:var(--dim)}.detail dl.dstats dd{margin:0}@media (width<=800px){.detail .dcard{grid-template-columns:1fr}}#crumb-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}#crumbs>*{flex-shrink:0}#crumbs>#crumb-label{flex-shrink:1}#crumbs{min-width:0}body{overflow-x:hidden}
