:root{--space:#050608;--glass:#10111494;--glass-strong:#0e0f12db;--hair:#ffffff16;--hair-strong:#ffffff2b;--hover:#ffffff0e;--text:#e7e4dd;--text-dim:#8f8c86;--regolith:linear-gradient(100deg, #ebe7de 0%, #d6d1c7 55%, #a9a59d 100%);--regolith-flat:#d9d4ca;--on-lit:#16171a;--radius:16px;--font:"Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--mono:"JetBrains Mono", ui-monospace, "SF Mono", SFMono-Regular, Menlo, monospace;--grain:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .55 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body,#root{overscroll-behavior:none;height:100%;margin:0;overflow:hidden}body{background:var(--space);color:var(--text);font:13px/1.45 var(--font);letter-spacing:.005em;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}.moon-canvas{inset:0;position:fixed!important}.moon-canvas canvas{cursor:grab}.moon-canvas canvas:active{cursor:grabbing}.mono{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;font-size:10.5px}.dim{color:var(--text-dim)}.small{font-size:11.5px}.label{color:var(--text-dim);margin:12px 0 7px}.loader{font-family:var(--mono);color:var(--text-dim);letter-spacing:.2em;text-transform:uppercase;pointer-events:none;font-size:11px;animation:1.6s ease-in-out infinite pulse;position:fixed;bottom:120px;left:50%;transform:translate(-50%)}@keyframes pulse{50%{opacity:.4}}button{font:inherit;color:inherit}button:focus-visible,input:focus-visible,a:focus-visible{outline:1.5px solid var(--regolith-flat);outline-offset:2px}.glass{background:var(--glass);border:1px solid var(--hair);border-radius:var(--radius);-webkit-backdrop-filter:blur(18px)saturate(115%);position:relative;box-shadow:inset 0 1px #ffffff0d}.glass:before{content:"";border-radius:inherit;pointer-events:none;background:var(--grain);opacity:.05;mix-blend-mode:overlay;position:absolute;inset:0}.controls{z-index:20;left:50%;bottom:calc(14px + env(safe-area-inset-bottom));pointer-events:none;flex-direction:column;gap:10px;width:min(920px,100vw - 28px);display:flex;position:fixed;transform:translate(-50%)}.controls>*{pointer-events:auto}.dock{align-items:center;gap:14px;min-height:58px;padding:8px 10px;display:flex}.dock-base{border-right:1px solid var(--line,#ffffff14);flex:none;align-items:center;padding-right:12px;display:flex}.dock-base .base-btn{border-radius:12px;width:44px;min-height:44px}.dock-time{flex:auto;align-items:center;gap:8px;min-width:0;display:flex}.dock-tools{flex:none;align-items:center;gap:6px;display:flex}.when{flex:none;align-items:center;gap:9px;padding:0 4px;display:flex}.when-date{font-variant-numeric:tabular-nums;white-space:nowrap;font-size:13px}.when-sub{color:var(--text-dim);white-space:nowrap;margin-top:1px;font-size:9.5px}.ph-dark{fill:#1d1f24;stroke:var(--hair-strong);stroke-width:.8px}.ph-lit{fill:#e3dfd6}.sep{background:var(--hair);flex:none;width:1px;height:24px;margin:0 4px}.panel{max-height:min(64dvh,100dvh - 120px);padding:6px 14px 10px;animation:.2s ease-out rise;overflow-y:auto}@keyframes rise{0%{opacity:0;transform:translateY(10px)}}.panel-grid{grid-template-columns:1fr 1fr;gap:0 26px;display:grid}.sec{border-bottom:1px solid var(--hair)}.panel-col .sec:last-child{border-bottom:0}.sec-head{cursor:pointer;text-align:left;background:0 0;border:0;align-items:center;gap:10px;width:100%;min-height:44px;padding:10px 2px;display:flex}.sec-title{color:var(--text);font-size:11px}.sec-icon{border:1px solid var(--hair-strong);width:26px;height:26px;color:var(--text);border-radius:50%;place-items:center;display:grid}.sec.open .sec-icon{background:var(--regolith);color:var(--on-lit);border-color:#0000}.chev{color:var(--text-dim);margin-left:auto;transition:transform .2s;transform:rotate(-90deg)}.sec.open .chev{transform:none}.sec-body{padding:0 2px 14px}.btn{border:1px solid var(--hair-strong);cursor:pointer;background:0 0;border-radius:12px;justify-content:center;align-items:center;gap:6px;min-height:38px;padding:0 13px;font-size:12.5px;transition:background .15s,color .15s,border-color .15s;display:inline-flex}.btn.icon{border-color:#0000;border-radius:50%;width:38px;padding:0}.btn:hover{background:var(--hover)}.btn.on,.btn[aria-pressed=true]{background:var(--regolith);color:var(--on-lit);border-color:#0000}.btn:disabled{opacity:.4;cursor:default}.chips{flex-wrap:wrap;gap:7px;display:flex}.chip{border:1px solid var(--hair-strong);cursor:pointer;min-height:34px;color:var(--text);background:0 0;border-radius:999px;align-items:center;gap:7px;padding:0 12px 0 10px;font-size:12.5px;transition:background .15s,color .15s;display:inline-flex}.chip svg{color:var(--text-dim);flex:none}.chip:hover{background:var(--hover)}.chip.on{background:var(--regolith);color:var(--on-lit);border-color:#0000}.chip.on svg{color:var(--on-lit)}.seg{border:1px solid var(--hair);border-radius:999px;align-items:center;gap:2px;padding:3px;display:inline-flex}.seg-icon{color:var(--text-dim);margin:0 4px 0 7px}.seg button{cursor:pointer;min-width:38px;min-height:30px;color:var(--text-dim);font-family:var(--mono);background:0 0;border:0;border-radius:999px;font-size:11px}.seg button:hover{color:var(--text)}.seg button.on{background:var(--regolith);color:var(--on-lit)}.row2{flex-wrap:wrap;gap:7px;display:flex}.time-row{justify-content:space-between;align-items:center;gap:10px;display:flex}.big{font-variant-numeric:tabular-nums;font-size:15px}.btns{gap:4px;display:flex}.scrub{width:100%}.scrub.compact{flex:140px;min-width:100px;padding:0 6px}.range{appearance:none;cursor:pointer;background:0 0;width:100%;height:22px;margin:14px 0 6px}.scrub.compact .range{margin:0}.range::-webkit-slider-runnable-track{background:linear-gradient(90deg, transparent calc(50% - .5px), var(--text-dim) calc(50% - .5px), var(--text-dim) calc(50% + .5px), transparent calc(50% + .5px)) center / 100% 10px no-repeat, var(--hair-strong);border-radius:2px;height:2px}.range::-moz-range-track{background:var(--hair-strong);border-radius:2px;height:2px}.range::-webkit-slider-thumb{-webkit-appearance:none;background:var(--regolith-flat);width:14px;height:14px;box-shadow:0 0 0 1px var(--hair-strong);border:3px solid #121316;border-radius:50%;margin-top:-6px}.range::-moz-range-thumb{background:var(--regolith-flat);border:3px solid #121316;border-radius:50%;width:12px;height:12px}.scale{color:var(--text-dim);justify-content:space-between;font-size:9.5px;display:flex}.facts-grid{grid-template-columns:auto minmax(0,1fr);gap:4px 14px;margin:12px 0 0;font-size:12.5px;display:grid}.facts-grid dt{color:var(--text-dim)}.facts-grid dd{font-variant-numeric:tabular-nums;overflow-wrap:anywhere;margin:0}.toggle{cursor:pointer;align-items:center;gap:10px;min-height:36px;display:flex}.toggle input{opacity:0;width:1px;height:1px;position:absolute}.track{border:1px solid var(--hair-strong);border-radius:22px;flex:none;width:38px;height:22px;transition:background .2s;position:relative}.knob{background:var(--text-dim);border-radius:50%;width:14px;height:14px;transition:transform .2s,background .2s;position:absolute;top:3px;left:3px}.toggle input:checked+.track{background:var(--regolith);border-color:#0000}.toggle input:checked+.track .knob{background:var(--on-lit);transform:translate(16px)}.toggle input:focus-visible+.track{outline:1.5px solid var(--regolith-flat);outline-offset:2px}.site-group ul{margin:0;padding:0;list-style:none}.site-link{cursor:pointer;text-align:left;background:0 0;border:0;border-radius:8px;align-items:center;gap:8px;width:100%;min-height:34px;padding:7px 4px;font-size:12.5px;display:flex}.site-link svg{color:var(--text-dim);flex:none}.site-link:hover{background:var(--hover)}.site-link .coord{color:var(--text-dim);margin-left:auto;font-size:9.5px}.about p{margin:0 0 8px}.credits{color:var(--text-dim);margin:0 0 10px;padding-left:16px;font-size:12px}.credits li{margin-bottom:3px}.about a{color:var(--text);border-bottom:1px solid var(--hair-strong);text-decoration:none}.legend{z-index:10;width:min(300px,100vw - 32px);padding:12px 14px;position:fixed;top:16px;left:16px}.legend-title{align-items:center;gap:8px;margin-bottom:9px;display:flex}.ramp{border-radius:4px;height:8px}.ramp-labels{font-variant-numeric:tabular-nums;justify-content:space-between;margin-top:4px;font-size:11px;display:flex}.legend-blurb{color:var(--text);margin:9px 0 4px;font-size:12px}.legend-src{font-size:10.5px}.readout{z-index:15;pointer-events:none;background:var(--glass-strong);border:1px solid var(--hair-strong);font-variant-numeric:tabular-nums;white-space:nowrap;border-radius:10px;padding:7px 10px;font-size:11.5px;line-height:1.35;position:fixed;top:0;left:0}.ro-value{color:#fff;font-size:13px}.ro-sub{font-size:11.5px}.seg.tgroup .btn.icon{width:34px;min-width:34px;min-height:30px}.seg.tgroup .btn.icon:hover{background:var(--hover);color:var(--text)}.moon-canvas canvas.measuring{cursor:crosshair}.ruler-layer{pointer-events:none;z-index:6;width:100vw;height:100dvh;position:fixed;inset:0;overflow:visible}.ruler-path{fill:none;stroke:#ebe7de;stroke-width:1.6px;stroke-linecap:round;filter:drop-shadow(0 0 2px #000)}.ruler-path.pending{stroke-dasharray:5 5;opacity:.8}.ruler-dot{fill:#ebe7de;stroke:#121316;stroke-width:2px}.ruler-label{z-index:7;pointer-events:none;white-space:nowrap;border:1px solid var(--hair);color:#fff;font-variant-numeric:tabular-nums;background:#050608b8;border-radius:6px;padding:3px 8px;font-size:12.5px;position:fixed;top:0;left:0}.ruler-hint{z-index:8;letter-spacing:.06em;text-transform:uppercase;color:var(--text-dim);border-radius:999px;align-items:center;gap:6px;padding:4px 4px 4px 14px;font-size:11px;display:flex;position:fixed;top:14px;left:50%;transform:translate(-50%)}.ruler-hint .btn.icon{width:30px;min-height:30px}.pins{pointer-events:none;z-index:5;position:fixed;inset:0}.pin{pointer-events:auto;cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;margin:-6px 0 0 -6px;padding:0;display:flex;position:absolute;top:0;left:0}.pin .dot{background:var(--regolith-flat);border:2px solid #121316;border-radius:50%;width:12px;height:12px;box-shadow:0 0 0 1px #ffffff59}.pin-candidate .dot{background:#9fd6a0;width:9px;height:9px}.pin-historic .dot{background:#3d7bea;width:9px;height:9px}.pin-flag .dot{position:relative}.pin-flag .dot:before,.pin-flag .dot:after{content:"";pointer-events:none;position:absolute}.pin-flag .dot:before{background:#e8e4dc;width:1.5px;height:14px;bottom:calc(50% + 1px);left:calc(50% - .75px);box-shadow:0 0 0 .5px #0009}.pin-flag .dot:after{background:#013ba6 url(/flag-of-earth.svg) 50%/cover no-repeat;border-radius:1px;width:11px;height:7.5px;bottom:calc(50% + 8px);left:calc(50% + .75px);box-shadow:0 0 0 1px #0000008c}.pin.hovering.pin-flag .dot:before,.pin.hovering.pin-flag .dot:after{opacity:.5}.pin-label-historic{color:#a9c6f5}.pin-speculative .dot{background:0 0;border:1.5px dashed #e8e4dcd9;box-shadow:0 0 0 1px #0000008c,inset 0 0 0 1px #00000073}.pin-label-speculative{font-style:italic}.pin-label{pointer-events:auto;cursor:pointer;height:18px;font:inherit;color:var(--text);text-shadow:0 1px 3px #000,0 0 8px #000;white-space:nowrap;opacity:.85;background:#0506088c;border:0;border-radius:4px;padding:0 5px;font-size:11px;line-height:18px;position:absolute;top:0;left:0}.pin-label:hover,.pin-label.sel{opacity:1}.pin-label.sel{color:#fff}.pin-leaders{pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.pin-leaders path{fill:none;stroke:#e8e4dc8c;stroke-width:1px;stroke-linejoin:round;filter:drop-shadow(0 0 2px #000)}.base-ring{fill:none;stroke:#e8e4dcbf;stroke-width:1.25px;stroke-dasharray:3 4;filter:drop-shadow(0 0 2px #000)}.base-ring.far{stroke-dasharray:none;stroke-width:1.5px}.pin.hovering .dot{box-shadow:none;background:0 0;border-color:#ebe7de80}.pin.sel .dot{box-shadow:0 0 0 3px #e8e4dc73}.card{z-index:12;background:var(--glass-strong);width:min(360px,100vw - 32px);max-height:calc(100dvh - 120px);padding:16px 16px 14px;position:fixed;top:16px;right:16px;overflow-y:auto}.card h2{letter-spacing:.01em;margin:2px 0;font-size:17px;font-weight:500}.card .close{position:absolute;top:10px;right:10px}.card .fact{margin:10px 0 0;font-size:12.5px}.card .src{color:var(--text-dim);margin-top:2px;font-size:10.5px;display:block}.card .base-preview{margin:14px 0 0}.card .base-preview-view{cursor:grab;touch-action:none;background:radial-gradient(at 50% 60%,#5fa9a014,#00000047 70%);border:1px solid #e8e4dc1a;border-radius:10px;height:240px;position:relative;overflow:hidden}.card .base-preview-view:active{cursor:grabbing}.card .base-preview figcaption{margin-top:6px}.base-tag{pointer-events:none;white-space:nowrap;opacity:0;color:#ece6da;background:#050608bf;border:1px solid #ece6da2e;border-radius:4px;padding:1px 5px;font-size:9.5px;line-height:13px;transition:opacity .2s;position:absolute;top:0;left:0}.base-tag:after{content:"";left:var(--stem-x,50%);background:#ece6da73;width:1px;height:8px;position:absolute;top:100%}.base-tag.below:after{top:auto;bottom:100%}.card .status{color:#e5c49b;border:1px solid #e5c49b59;border-radius:10px;margin:10px 0 0;padding:8px 10px;font-size:12px}.measured{border-top:1px solid var(--hair);margin-top:12px;padding-top:4px}.measured .facts-grid{margin-top:4px}.measured-grid{grid-template-columns:auto minmax(0,1fr) 56px;align-items:center}.measured-grid dt{align-items:center;gap:6px;display:flex}.measured-grid dt svg{opacity:.75;flex:none}.measured-grid .chart{display:flex}.mini{width:56px;height:14px;overflow:visible}.mini-track{fill:#e8e4dc1f}.mini-bar{fill:#e8e4dccc}.mini-base{stroke:#e8e4dc40;stroke-width:1px}.mini-line{stroke:#e8e4dcd9;stroke-width:1.25px;stroke-linecap:round}.mini-fill{fill:#e8e4dc1a}.mini-range{display:block;position:relative}.mini-range:before{content:"";opacity:.8;border-radius:2px;height:3px;position:absolute;top:5.5px;left:0;right:0}.mini-height:before{background:linear-gradient(90deg,#2a2b2e,#8a877f 55%,#ece6da)}.mini-temp:before{background:linear-gradient(90deg,#6f8fd6,#8a877f 55%,#e5a35f)}.mini-mark{background:#fff;border-radius:1px;width:2px;height:12px;margin-left:-1px;position:absolute;top:1px;box-shadow:0 0 0 1px #0009}.measured>.small:last-child{margin-top:8px}.thin-scroll{scrollbar-width:thin;scrollbar-color:#e7e4dd33 transparent}.thin-scroll::-webkit-scrollbar{width:8px}.thin-scroll::-webkit-scrollbar-track{background:0 0;margin:12px 0}.thin-scroll::-webkit-scrollbar-thumb{background:#e7e4dd26 padding-box padding-box;border:2px solid #0000;border-radius:8px}.thin-scroll::-webkit-scrollbar-thumb:hover{background:#e7e4dd4d padding-box padding-box}.maker{z-index:4;right:18px;bottom:calc(16px + env(safe-area-inset-bottom));font:500 10.5px/1 var(--mono);letter-spacing:.08em;color:var(--text-dim);opacity:.55;text-decoration:none;transition:opacity .2s,color .2s;position:fixed}.maker b{color:var(--text);font-weight:600}.maker:hover,.maker:focus-visible{opacity:1;color:var(--text)}@media (max-width:1010px){.maker{display:none}}@media (max-width:820px){.dock{flex-wrap:wrap;gap:6px 8px}.dock-time{flex:calc(100% - 72px)}.dock-base{padding-right:8px}.dock-tools{flex:100%;justify-content:space-between}.dock-tools .sep{display:none}.panel-grid{grid-template-columns:1fr}}@media (max-width:640px){.controls{width:calc(100vw - 16px);bottom:calc(8px + env(safe-area-inset-bottom))}.when-date{font-size:12px}.scrub.compact{min-width:80px}.dock-tools{gap:2px;min-width:0}.dock-tools .btn.icon{width:36px;min-height:36px}.seg button{min-width:32px}.seg-icon{margin:0 2px 0 5px}.panel{max-height:52dvh}.legend{width:calc(100vw - 16px);padding:10px 12px;top:8px;left:8px}.legend-blurb,.legend-src{display:none}.card{z-index:21;width:auto;max-height:46dvh;top:8px;left:8px;right:8px}.ruler-hint{top:auto;bottom:calc(132px + env(safe-area-inset-bottom))}}@media (prefers-reduced-motion:reduce){.panel,.knob,.chev,.loader{transition:none;animation:none}}.planet-tags{pointer-events:none;z-index:1;position:absolute;inset:0;overflow:hidden}.planet-tag{opacity:0;white-space:nowrap;letter-spacing:.14em;text-transform:uppercase;color:#e8e4dcd9;text-shadow:0 0 4px #000;font:600 9.5px/1 JetBrains Mono,ui-monospace,monospace;transition:opacity .4s;position:absolute;top:-5px;left:9px}
