:root{--ink: #e8eef6;--ink-dim: rgba(232, 238, 246, .62);--ink-faint: rgba(232, 238, 246, .38);--glass: rgba(7, 11, 22, .66);--glass-border: rgba(190, 210, 240, .14);--amber: #ffb86b;--ice: #8fd8ff;--violet: #b98cff;--serif: "Fraunces", Georgia, serif;--sans: "Space Grotesk", system-ui, sans-serif}*{box-sizing:border-box;margin:0;padding:0}html,body{width:100%;height:100%;overflow:hidden;background:#020309;color:var(--ink);font-family:var(--sans)}#scene{position:fixed;top:0;right:0;bottom:0;left:0;display:block;cursor:grab}#scene:active{cursor:grabbing}#vignette{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:3;background:radial-gradient(120% 95% at 50% 42%,transparent 58%,rgba(1,2,8,.55) 100%)}#labels{position:fixed;top:0;right:0;bottom:0;left:0;z-index:4;pointer-events:none;overflow:hidden}.lbl{position:absolute;top:0;left:0;display:none;flex-direction:column;align-items:center;gap:1px;pointer-events:auto;cursor:pointer;white-space:nowrap;-webkit-user-select:none;user-select:none;text-shadow:0 1px 8px rgba(0,0,0,.9);will-change:transform,opacity;transition:none}.lbl-name{letter-spacing:.04em}.lbl-sub{font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-faint)}.lbl-sun .lbl-name{font-family:var(--serif);font-weight:420;font-size:21px;letter-spacing:.02em}.lbl-planet .lbl-name{font-size:12.5px;font-weight:500;color:var(--ink)}.lbl-moon .lbl-name{font-size:10.5px;font-weight:400;color:var(--ink-dim)}.lbl-idea .lbl-name{font-size:11px;font-weight:400;color:#d6c6ff;font-style:italic}.lbl-comet .lbl-name{font-size:11px;font-weight:500;color:#cfeeff;letter-spacing:.08em}.lbl.is-cold .lbl-name{color:var(--amber)}.lbl.is-frozen .lbl-name{color:var(--ice)}.lbl.is-blocked .lbl-name{color:#aab4c4}.lbl:hover .lbl-name{text-decoration:underline;text-underline-offset:3px}#ui{position:fixed;top:0;right:0;bottom:0;left:0;z-index:5;pointer-events:none}#ui>*{pointer-events:auto}.topbar{position:absolute;top:0;left:0;right:0;display:flex;justify-content:space-between;align-items:flex-start;padding:22px 26px;background:linear-gradient(rgba(2,3,9,.7),transparent);pointer-events:none}.topbar .brand,.topbar nav{pointer-events:auto}.eyebrow{display:block;font-size:10px;letter-spacing:.34em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:6px}.brand h1{font-family:var(--serif);font-weight:300;font-size:34px;letter-spacing:.01em;line-height:1}.topnav{display:flex;gap:8px}.btn{font-family:var(--sans);font-size:12px;font-weight:500;color:var(--ink);letter-spacing:.04em;background:var(--glass);border:1px solid var(--glass-border);border-radius:999px;padding:9px 16px;cursor:pointer;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);transition:border-color .2s,background .2s}.btn:hover{border-color:#bed2f05c}.btn.active{background:#8caae62e;border-color:#bed2f066}.btn-ghost{background:transparent}.btn kbd,.help-card kbd,.hud-keys kbd{font-family:var(--sans);font-size:10px;border:1px solid rgba(190,210,240,.28);border-radius:4px;padding:1px 5px;margin-left:4px;color:var(--ink-dim)}.almanac{position:absolute;top:96px;right:26px;width:308px;background:var(--glass);border:1px solid var(--glass-border);border-radius:14px;padding:20px 22px;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);animation:rise .35s ease both}@keyframes rise{0%{opacity:0;transform:translateY(8px)}}.almanac h2{font-family:var(--serif);font-weight:420;font-size:24px;margin:2px 0 4px}.almanac .kind{font-size:11.5px;color:var(--ink-dim);margin-bottom:10px}.almanac .chip{display:inline-block;font-size:10.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--chip);border:1px solid color-mix(in srgb,var(--chip) 55%,transparent);background:color-mix(in srgb,var(--chip) 12%,transparent);border-radius:999px;padding:4px 10px;margin:2px 0 14px}.meter-row{display:grid;grid-template-columns:76px 1fr 36px;align-items:center;gap:8px;font-size:11px;color:var(--ink-dim);margin-bottom:10px}.meter-row b{font-size:11px;text-align:right;color:var(--ink)}.meter{height:4px;border-radius:99px;background:#bed2f01f;overflow:hidden}.meter i{display:block;height:100%;border-radius:99px}.almanac .touch{font-size:12.5px;color:var(--ink-dim);margin:4px 0 10px}.almanac .touch b{color:var(--ink);font-weight:500}.almanac .blocked{font-size:12px;color:#b8c2d2;background:#96a5be1a;border:1px solid rgba(150,165,190,.22);border-radius:8px;padding:8px 10px;margin:4px 0 10px}.almanac .next{font-size:12.5px;line-height:1.5;color:var(--ink);margin:4px 0 10px}.almanac .next span{display:block;font-size:9.5px;letter-spacing:.26em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:3px}.almanac .moons-title{font-size:9.5px;letter-spacing:.26em;text-transform:uppercase;color:var(--ink-faint);margin:12px 0 6px}.almanac .moons{display:flex;flex-wrap:wrap;gap:6px}.moon-chip{font-family:var(--sans);font-size:11px;color:var(--ink-dim);background:#bed2f012;border:1px solid var(--glass-border);border-radius:999px;padding:4px 10px;cursor:pointer}.moon-chip:hover{color:var(--ink);border-color:#bed2f05c}.almanac .hint{font-size:10px;color:var(--ink-faint);margin-top:14px}.triage{position:absolute;left:26px;bottom:54px;width:230px;background:var(--glass);border:1px solid var(--glass-border);border-radius:14px;padding:14px 16px;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.triage h2{font-size:10px;font-weight:600;letter-spacing:.3em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:10px}.triage ul{list-style:none}.triage li{display:grid;grid-template-columns:8px 1fr auto;align-items:center;gap:9px;padding:6px 4px;border-radius:8px;cursor:pointer;font-size:12.5px}.triage li:hover{background:#bed2f012}.triage li i{width:7px;height:7px;border-radius:50%}.triage li b{font-size:11px;font-weight:500;color:var(--ink-dim)}.legend{position:absolute;right:26px;bottom:54px;display:flex;flex-direction:column;gap:5px;font-size:10.5px;color:var(--ink-dim);letter-spacing:.03em;text-align:right}.legend span{display:inline-flex;align-items:center;justify-content:flex-end;gap:7px}.legend i{width:7px;height:7px;border-radius:50%;display:inline-block}.datanote{position:absolute;left:0;right:0;bottom:16px;text-align:center;font-size:10px;letter-spacing:.12em;color:var(--ink-faint);pointer-events:none}.hud{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.crosshair{position:absolute;top:50%;left:50%;width:26px;height:26px;transform:translate(-50%,-50%);border:1px solid rgba(190,220,255,.5);border-radius:50%}.crosshair:after{content:"";position:absolute;top:50%;left:50%;width:3px;height:3px;border-radius:50%;transform:translate(-50%,-50%);background:#bedcffcc}.hud-readout{position:absolute;bottom:92px;left:50%;transform:translate(-50%);font-size:13px;color:var(--ink-dim);letter-spacing:.1em}.hud-readout b{font-size:22px;font-weight:500;color:var(--ink);margin-right:4px}.hud-turbo{margin-left:10px;font-size:10px;font-weight:700;letter-spacing:.3em;color:var(--amber);animation:blink .8s steps(2) infinite}@keyframes blink{50%{opacity:.35}}.hud-keys{position:absolute;bottom:62px;left:50%;transform:translate(-50%);font-size:10.5px;color:var(--ink-faint);letter-spacing:.06em;white-space:nowrap}body.flight .triage,body.flight .legend,body.flight .datanote{opacity:.25}body.flight #scene{cursor:crosshair}.help-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#02030999;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.help-overlay[hidden]{display:none}.help-card{width:min(560px,calc(100vw - 48px));background:var(--glass);border:1px solid var(--glass-border);border-radius:16px;padding:28px 30px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.help-card h2{font-family:var(--serif);font-weight:420;font-size:24px;margin-bottom:16px}.help-card h3{font-size:10px;letter-spacing:.3em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:10px}.help-cols{display:grid;grid-template-columns:1fr 1fr;gap:22px}.help-cols p{font-size:12.5px;color:var(--ink-dim);margin-bottom:8px}.help-lore{margin:18px 0;padding:14px 16px;border-left:2px solid var(--violet);background:#b98cff0f;border-radius:0 10px 10px 0}.help-lore p{font-size:12.5px;line-height:1.6;color:var(--ink-dim);font-style:italic}
