:root{--ink:#e8f1ff;--ink-dim:#e8f1ff9e;--ink-faint:#e8f1ff61;--line:#ffffff1a;--accent:#7dd3fc;--glass-top:#0000002e;--glass-bottom:#7dd3fc1a;--gutter:16px;--side-w:300px;--side-t:.4s cubic-bezier(.2, .8, .2, 1);--display:"Orbitron", ui-sans-serif, system-ui, sans-serif;--text:"Lexend", ui-sans-serif, system-ui, sans-serif;--mono:"SF Mono", ui-monospace, Menlo, Consolas, monospace;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{height:100%;color:var(--ink);font-family:var(--text);background:#000;margin:0;overflow:hidden}html{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;touch-action:none;-webkit-tap-highlight-color:transparent}.sidebar{touch-action:pan-y}p{margin:0}button{font:inherit;color:inherit}#scene{touch-action:none;outline:none;width:100%;height:100%;display:block;position:fixed;inset:0}#scene.pointer{cursor:pointer}.hud{pointer-events:none;position:fixed;inset:0}.hud>*{pointer-events:auto}.glass{background:linear-gradient(180deg, var(--glass-top), var(--glass-bottom));border:1px solid var(--line);-webkit-backdrop-filter:blur(14px)saturate(1.2)}.lite .glass{-webkit-backdrop-filter:none;background:linear-gradient(#04080ed1,#0e1e2cc7)}svg{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;width:18px;height:18px}.hud{--main-right:calc(var(--side-w) + 2 * var(--gutter))}.hud[data-sidebar=closed]{--main-right:0px}.topbar{top:var(--gutter);right:calc(var(--main-right) + var(--gutter));height:40px;transition:right var(--side-t);align-items:center;gap:8px;display:flex;position:absolute}.brand{top:var(--gutter);left:var(--gutter);pointer-events:none;height:40px;font-family:var(--display);letter-spacing:.4em;white-space:nowrap;text-shadow:0 0 10px #0009;align-items:center;gap:10px;font-size:14px;display:flex;position:absolute}.brand svg{width:18px;height:18px}.brand b{color:var(--accent);font-weight:400}.brand i{letter-spacing:.2em;border:1px solid var(--line);color:var(--ink-dim);border-radius:4px;padding:2px 4px 2px 6px;font-size:9px;font-style:normal}.round{cursor:pointer;width:40px;height:40px;color:var(--ink-dim);border-radius:50%;flex:none;place-items:center;display:grid}.round:hover,.round:focus-visible{color:var(--ink);outline:none}#sidebar-toggle[aria-expanded=true]{color:var(--accent)}.observe{top:var(--gutter);left:calc((100% - var(--main-right)) / 2);cursor:pointer;letter-spacing:.06em;height:40px;color:var(--accent);white-space:nowrap;transition:left var(--side-t), opacity .3s, visibility 0s, color .2s, border-color .2s;border-color:#7dd3fc59;border-radius:999px;align-items:center;gap:10px;padding:0 16px 0 14px;font-size:12.5px;display:flex;position:absolute;transform:translate(-50%);box-shadow:0 4px 18px #00000059}.observe svg{width:16px;height:16px}.observe kbd{margin-left:2px}.observe:hover,.observe:focus-visible{color:var(--ink);border-color:#7dd3fcb3;outline:none}.hud:not([data-focus]) .observe{opacity:0;visibility:hidden;transition:left var(--side-t), opacity .3s, visibility 0s .3s}@media (pointer:coarse){.observe kbd{display:none}}.sidebar{top:var(--gutter);right:var(--gutter);bottom:var(--gutter);width:var(--side-w);overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#ffffff26 transparent;transition:transform var(--side-t), visibility 0s;border-radius:20px;flex-direction:column;padding:4px 18px;display:flex;position:absolute;overflow-y:auto}.hud[data-sidebar=closed] .sidebar{transform:translateX(calc(100% + var(--gutter) + 2px));visibility:hidden;transition:transform var(--side-t), visibility 0s .4s}.sidebar>*{flex-shrink:0}.sec{padding:16px 0}.sec+.sec{border-top:1px solid var(--line)}.sec[hidden]{display:none}.sec[hidden]+.sec{border-top:0}.drawer{grid-template-rows:0fr;transition:grid-template-rows .5s cubic-bezier(.16,1,.3,1);display:grid}.drawer[data-open=true]{grid-template-rows:1fr}.drawer-clip{min-height:0;overflow:hidden}.drawer .info{opacity:0;transition:opacity .25s ease-out,transform .5s cubic-bezier(.16,1,.3,1);transform:translateY(-16px)}.drawer[data-open=true] .info{opacity:1;transition-delay:80ms;transform:none}.drawer+.sec{border-top:1px solid #0000;transition:border-color .3s}.drawer[data-open=true]+.sec{border-top-color:var(--line)}.sec-title{font-family:var(--display);letter-spacing:.3em;color:var(--ink-faint);text-transform:uppercase;margin-bottom:10px;font-size:9px}.bodies{flex-direction:column;display:flex}.body-row{align-items:center;gap:4px;display:flex}.body-row+.body-row,.moons+.body-row{border-top:1px solid #ffffff0f}.bodies-sub{font-family:var(--display);letter-spacing:.3em;color:var(--ink-faint);text-transform:uppercase;margin:14px 0 4px;font-size:8px}.body-row .opt{flex:1;min-width:0}.eye{cursor:pointer;width:26px;height:26px;color:var(--ink-faint);background:0 0;border:0;border-radius:6px;flex:none;place-items:center;margin-right:-6px;padding:0;transition:color .2s,background .2s;display:grid}.eye svg{width:14px;height:14px}.eye .slash{opacity:0;transition:opacity .2s}.eye:hover,.eye:focus-visible{color:var(--ink);background:#ffffff0f;outline:none}.eye[aria-pressed=false] .slash{opacity:1}.body-row:has(.eye[aria-pressed=false]) .opt{color:var(--ink-faint)}.body-row:has(.eye[aria-pressed=false]) .opt i{box-shadow:inset 0 0 0 1px var(--c);opacity:.6;background:0 0}.bodies .opt{font-family:var(--display);letter-spacing:.24em;text-transform:uppercase;text-align:left;color:var(--ink-dim);font-size:10px}.bodies .opt span{align-items:center;gap:14px;display:flex}.bodies .opt i{background:var(--c);width:7px;height:7px;box-shadow:0 0 8px var(--c);opacity:.75;border-radius:50%;flex:none;transition:transform .2s,opacity .2s}.bodies .opt:hover,.bodies .opt:focus-visible{color:var(--ink);outline:none}.bodies .opt:hover i,.bodies .opt:focus-visible i{opacity:1}.bodies .opt[aria-current=true]{color:var(--accent)}.bodies .opt[aria-current=true] i{opacity:1;transform:scale(1.35)}.fold{cursor:pointer;width:22px;height:26px;color:var(--ink-faint);background:0 0;border:0;border-radius:6px;flex:none;place-items:center;padding:0;transition:color .2s,background .2s;display:grid}.fold svg{width:12px;height:12px;transition:transform .35s cubic-bezier(.16,1,.3,1)}.fold[aria-expanded=true] svg{transform:rotate(90deg)}.fold:hover,.fold:focus-visible{color:var(--ink);background:#ffffff0f;outline:none}.moons{grid-template-rows:0fr;transition:grid-template-rows .45s cubic-bezier(.16,1,.3,1);display:grid}.moons[data-open=true]{grid-template-rows:1fr}.moons-clip{min-height:0;overflow:hidden}.moons .body-row{border-left:1px solid #ffffff14;margin-left:3px;padding-left:15px}.moons .body-row+.body-row{border-top:0}.moons .opt{padding:7px 0;font-size:9px}.moons .opt span{gap:11px}.moons .opt i{width:5px;height:5px}.moons .opt[aria-current=true] i{transform:scale(1.4)}.menu{flex-direction:column;margin-top:auto;font-size:12.5px;font-weight:300;display:flex}.menu .sec-title{margin:14px 0 2px}.menu .sec-title:first-child{margin-top:0}.menu .fine{margin:4px 0 6px}.opt{cursor:pointer;color:var(--ink-dim);background:0 0;border:0;justify-content:space-between;align-items:center;gap:12px;margin:0;padding:10px 0;text-decoration:none;transition:color .2s;display:flex;position:relative}.opt+.opt{border-top:1px solid #ffffff0f}.opt:hover{color:var(--ink)}.opt:has(input:checked){color:var(--ink)}.opt:has(input:focus-visible){outline:1px solid var(--accent);outline-offset:2px;border-radius:4px}.opt input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.opt .dot{background:#ffffff1f;border-radius:50%;flex:none;width:7px;height:7px;transition:background .2s,box-shadow .2s}.opt input:checked~.dot{background:var(--accent);box-shadow:0 0 10px 3px #ffffff80,0 0 3px 1px #fffc}.opt-link{color:var(--accent);margin-top:6px}.opt-link:hover{color:var(--ink)}.opt-link svg{width:14px;height:14px}kbd{font:500 10px/1 var(--text);letter-spacing:.04em;color:var(--ink-faint);text-transform:uppercase}.bodies kbd{font:400 9px/1 var(--display)}.opt span kbd{margin-left:8px}.fine kbd{color:var(--ink-dim)}.fine{color:var(--ink-faint);font-size:11px;line-height:1.5}.link{color:var(--accent);margin-top:4px;text-decoration:none}.link:hover{text-decoration:underline}button.link{cursor:pointer;text-align:left;background:0 0;border:0;padding:0}.link[hidden]{display:none}.race-exit,.tracks button,.timebar #now{cursor:pointer;font:inherit;background:linear-gradient(#0000001a,#7dd3fc1a);border:1px solid #ffffff1a;border-radius:8px;transition:border-color .2s,color .2s;box-shadow:0 1px 3px #0000004d}.race-exit{width:100%;color:var(--accent);justify-content:space-between;align-items:center;margin-top:14px;padding:9px 14px;font-size:12.5px;display:flex}.race-exit[hidden]{display:none}.timebar #now{width:28px;height:28px;color:var(--accent);border-radius:50%;padding:0}.timebar #now svg{width:15px;height:15px}.timebar #now svg path{fill:none;stroke:currentColor}.timebar #now:hover,.timebar #now:focus-visible{color:var(--ink);background:linear-gradient(#0000001a,#7dd3fc2e);border-color:#ffffff38;outline:none}.race-exit:hover,.race-exit:focus-visible{color:var(--ink);border-color:#ffffff38;outline:none}.timebar{bottom:calc(24px + env(safe-area-inset-bottom));left:var(--gutter);right:calc(var(--main-right) + var(--gutter));width:min(760px, calc(100vw - var(--main-right) - 2 * var(--gutter)));transition:right var(--side-t), width var(--side-t);border-radius:999px;flex-wrap:wrap;align-items:center;gap:4px 12px;margin:0 auto;padding:6px 18px;display:flex;position:absolute;container-type:inline-size}.when,.speed{white-space:nowrap;font-variant-numeric:tabular-nums;flex:none;align-items:baseline;gap:8px;display:flex}.when{justify-content:flex-end;align-items:center;gap:10px;width:272px}.when p{align-items:baseline;gap:8px;display:flex}.when .v,.when .s{font-family:var(--mono);letter-spacing:0}.when .v{font-size:13px}.when .s{text-transform:none;font-size:11px}.speed{width:150px}.timebar .v{font-family:var(--display);font-size:13px}.timebar .s{letter-spacing:.12em;color:var(--ink-faint);text-transform:uppercase;font-size:10px}.controls{flex:1;align-items:center;gap:6px;min-width:0;display:flex}.timebar button{cursor:pointer;width:34px;height:34px;color:var(--ink-dim);background:0 0;border:0;border-radius:50%;flex:none;place-items:center;transition:color .2s,background .2s;display:grid}.timebar button:hover,.timebar button:focus-visible{color:var(--ink);background:#ffffff12;outline:none}.timebar button[aria-pressed=true]{color:var(--accent)}.timebar svg path{fill:currentColor;stroke:none}#play .i-play{display:none}#play[data-paused=true] .i-play{display:block}#play[data-paused=true] .i-pause{display:none}#rate{min-width:60px;accent-color:var(--accent);cursor:pointer;flex:1;height:4px}@container (width<=600px){.when,.speed{flex:1;width:auto;padding-top:6px}.when{flex:none}.controls{flex-basis:100%;order:3}}.info{position:relative}.info .k{font-family:var(--display);letter-spacing:.3em;color:var(--ink-faint);text-transform:uppercase;font-size:9px}.info h2{font-family:var(--display);letter-spacing:.2em;text-transform:uppercase;margin:0 0 6px;padding-right:36px;font-size:20px;font-weight:500}.info .kind{color:var(--ink-faint);margin:0 0 18px;font-size:12px}.info dl{grid-template-columns:auto 1fr;gap:7px 14px;margin:0;font-size:12px;display:grid}.info dt{color:var(--ink-faint)}.info dd{text-align:right;font-variant-numeric:tabular-nums;margin:0}.info .live{border-bottom:1px solid var(--line);margin-bottom:12px;padding-bottom:12px}.info .live dd{color:var(--ink);font-weight:500}.info .close{cursor:pointer;width:32px;height:32px;color:var(--ink-faint);background:0 0;border:0;border-radius:50%;place-items:center;transition:color .2s,background .2s;display:grid;position:absolute;top:10px;right:-8px}.info .close:hover,.info .close:focus-visible{color:var(--ink);background:#ffffff12;outline:none}.race-move{border-top:1px solid var(--line);margin-top:16px;padding-top:14px}.race-move[hidden]{display:none}.tracks{grid-template-columns:repeat(4,1fr);gap:6px;margin:10px 0;display:grid}.tracks button{color:var(--ink-dim);padding:7px 0;font-size:11px}.tracks button:hover,.tracks button:focus-visible{color:var(--ink);border-color:#ffffff38;outline:none}.tracks button[aria-pressed=true]{color:var(--accent);border-color:#7dd3fc99}#labels{pointer-events:none;position:fixed;inset:0;overflow:hidden}.label{white-space:nowrap;font-family:var(--display);letter-spacing:.26em;text-transform:uppercase;color:var(--ink-dim);pointer-events:auto;cursor:pointer;will-change:transform;text-shadow:0 0 6px #000;align-items:center;gap:8px;font-size:9px;transition:opacity .25s,color .2s;display:flex;position:absolute;top:0;left:0}.label:before{content:"";border:1px solid var(--c);width:9px;height:9px;opacity:var(--dot,0);border-radius:50%;flex:none}.label:hover{color:var(--ink)}.label.hidden,#labels.off .label{opacity:0;pointer-events:none}.hint{top:50%;left:calc((100% - var(--main-right)) / 2);width:min(300px, calc(100% - 2 * var(--gutter)));text-align:center;max-height:calc(100% - 2 * var(--gutter));overscroll-behavior:contain;scrollbar-width:none;transition:opacity .35s, left var(--side-t);border-radius:20px;padding:20px 22px 18px;animation:.5s 1.2s both hint-in;position:absolute;overflow-y:auto;transform:translate(-50%,-50%);box-shadow:0 10px 40px #00000073;background:linear-gradient(#04080ee0,#0e1e2cd6)!important}.hint[hidden]{display:none}.booting .hint{opacity:0;animation:none}.hint.gone{opacity:0;pointer-events:none}@keyframes hint-in{0%{opacity:0}}.hint-title{font-family:var(--display);letter-spacing:.32em;text-transform:uppercase;color:var(--ink-dim);font-size:11px}.hint ul{text-align:left;margin:16px 0 18px;padding:0;list-style:none;display:grid}.hint li{color:var(--ink);align-items:center;gap:12px;padding:10px 0;font-size:13px;display:flex}.hint li+li{border-top:1px solid var(--line)}.hint li svg{width:30px;height:30px;color:var(--accent);background:#7dd3fc14;border:1px solid #7dd3fc2e;border-radius:9px;flex:none;padding:6px}.hint li span{flex:1}.hint li kbd{font:500 9.5px/1 var(--text);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-dim);border:1px solid var(--line);background:#ffffff0d;border-bottom-width:2px;border-radius:6px;flex:none;padding:4px 7px}@media (pointer:coarse){.hint li.key{display:none}}.hint.again{animation-delay:0s}.hint button{cursor:pointer;letter-spacing:.08em;width:100%;color:var(--accent);background:linear-gradient(#0000001a,#7dd3fc24);border:1px solid #7dd3fc4d;border-radius:8px;padding:9px 0;font-size:12.5px;transition:border-color .2s,color .2s;box-shadow:0 1px 3px #0000004d}.hint button:hover,.hint button:focus-visible{color:var(--ink);border-color:#7dd3fc99;outline:none}.side-foot{border-top:1px solid var(--line);padding:12px 0 14px}.side-foot .byline{letter-spacing:.02em;color:var(--ink-dim);margin-bottom:12px;font-size:11px}.side-foot .byline:empty{display:none}.side-foot .byline:has(details[open]){border-bottom:1px solid var(--line);margin-bottom:20px;padding-bottom:16px}.credits{color:#e8f1ff52;font-size:9px;line-height:1.6}.credits a{color:inherit}.loader{z-index:10;background:#000;place-content:center;justify-items:center;gap:22px;transition:opacity .8s,visibility 0s .8s;display:grid;position:fixed;inset:0}html:not(.booting) .loader{opacity:0;visibility:hidden;pointer-events:none}.loader-brand{font-family:var(--display);letter-spacing:.4em;white-space:nowrap;align-items:center;gap:12px;font-size:18px;display:flex}.loader-brand svg{width:22px;height:22px;color:var(--accent);animation:3s linear infinite loader-spin}.loader-brand b{color:var(--accent);font-weight:400}.loader-brand i{letter-spacing:.2em;border:1px solid var(--line);color:var(--ink-dim);border-radius:4px;padding:2px 4px 2px 6px;font-size:10px;font-style:normal}.loader-bar{width:min(260px, calc(100vw - 4 * var(--gutter)));background:#ffffff14;border-radius:1px;height:2px;overflow:hidden}.loader-bar span{transform-origin:0;background:linear-gradient(90deg, #7dd3fc4d, var(--accent));width:100%;height:100%;transition:transform .4s ease-out;display:block;transform:scaleX(0)}.loader-text{letter-spacing:.14em;color:var(--ink-faint);font-size:11px}.loader-text span{text-align:right;min-width:4ch;color:var(--ink-dim);font-variant-numeric:tabular-nums;display:inline-block}@keyframes loader-spin{to{transform:rotate(360deg)}}.booting .hud,.booting #labels{opacity:0;pointer-events:none}.hud,#labels{transition:opacity .8s .3s}.observe-ui{pointer-events:none;opacity:0;visibility:hidden;transition:opacity .4s,visibility 0s .4s;position:fixed;inset:0}.observe-ui>*{pointer-events:auto}.observing .observe-ui{opacity:1;visibility:visible;transition:opacity .5s .2s,visibility}.observing .hud,.observing #labels{opacity:0;visibility:hidden;transition:opacity .35s,visibility 0s .35s}.observe-name{top:var(--gutter);left:var(--gutter);pointer-events:none;height:40px;font-family:var(--display);letter-spacing:.4em;text-transform:uppercase;text-shadow:0 0 10px #0009;align-items:center;font-size:14px;font-weight:500;display:flex;position:absolute}.observe-exit{top:var(--gutter);right:var(--gutter);cursor:pointer;letter-spacing:.04em;height:40px;color:var(--ink-dim);border-radius:999px;align-items:center;gap:8px;padding:0 14px 0 12px;font-size:12.5px;transition:color .2s,border-color .2s;display:flex;position:absolute}.observe-exit svg{width:15px;height:15px}.observe-exit kbd{margin-left:2px}.observe-exit:hover,.observe-exit:focus-visible{color:var(--ink);border-color:#ffffff38;outline:none}@media (pointer:coarse){.observe-exit kbd{display:none}}.observe-hint{left:50%;bottom:calc(28px + env(safe-area-inset-bottom));pointer-events:none;white-space:nowrap;letter-spacing:.14em;color:var(--ink-faint);text-shadow:0 0 6px #000;opacity:0;font-size:11px;position:absolute;transform:translate(-50%)}.observing .observe-hint{animation:4.5s .6s both observe-hint}@keyframes observe-hint{0%{opacity:0}12%,70%{opacity:1}to{opacity:0}}.fallback{text-align:center;padding:var(--gutter);place-content:center;gap:12px;display:grid;position:fixed;inset:0}.fallback[hidden]{display:none}.fallback a{color:var(--accent)}@media (width<=640px){.hud,.hud[data-sidebar=closed]{--main-right:0px}.hud{--side-w:min(320px, calc(100vw - 2 * var(--gutter)))}.brand{letter-spacing:.32em;gap:8px;font-size:11px}.brand svg{display:none}.observe{top:calc(var(--gutter) + 52px)}.sidebar{top:calc(var(--gutter) + 52px);bottom:calc(108px + env(safe-area-inset-bottom))}.timebar{border-radius:22px;padding:4px 12px}}@media (prefers-reduced-motion:reduce){.observing .observe-hint{opacity:1}.sidebar,.hud[data-sidebar=closed] .sidebar,.timebar,.topbar,.observe,.drawer,.drawer .info,.hint,.loader,.observe-ui,.observing .hud,.observing #labels,.observe-hint,.loader-brand svg,.hud,#labels{transition:none;animation:none}}
