.ec-stage{touch-action:none;background:#03040a;width:100%;height:100%;position:relative}.ec-stage[data-drag]{cursor:grab}.ec-stage[data-drag]:active{cursor:grabbing}.ec-overlay{pointer-events:none;position:absolute;inset:0;overflow:hidden}.ec-moonring{pointer-events:none;width:0;height:0;position:absolute;top:0;left:0}.ec-moonring span{left:calc(var(--r) * -1);top:calc(var(--r) * -1);width:calc(var(--r) * 2);height:calc(var(--r) * 2);border:1px dashed #fff6;border-radius:50%;position:absolute}.ec-moonring[data-hint] span{animation:ec-ping 2.2s var(--ease-out) infinite}.ec-moonring em{left:0;top:calc(var(--r) + 12px);white-space:nowrap;font:500 .68rem/1 var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:#fff;text-shadow:0 1px 8px #0009;font-style:normal;position:absolute;transform:translate(-50%)}@keyframes ec-ping{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.25)}}.ec-band{fill:color-mix(in oklab, var(--accent) 22%, transparent);stroke:color-mix(in oklab, var(--accent) 55%, transparent);stroke-width:.75px}.ec-track{fill:none;stroke:#ffffff59;stroke-width:1px;stroke-dasharray:3 4}.ec-track--past{stroke:var(--accent);stroke-dasharray:none;stroke-width:1.5px}.ec-place circle{fill:#fff;stroke:#03040a;stroke-width:1.5px}.ec-place text{font-family:var(--font-mono);fill:#eee9ddd9;letter-spacing:.04em;paint-order:stroke;stroke:#03040abf;stroke-width:3px}.ec-place--hot circle,.ec-place--hot text{fill:var(--accent)}.ec-umbra circle{fill:none;stroke:#fff;stroke-width:1px;stroke-dasharray:2 3;opacity:.7}.ec-ecliptic{stroke:#ffffff38;stroke-dasharray:2 5}.ec-moonorbit{stroke:#ffffff73;stroke-width:1px}.ec-earth{fill:#2c5a9a;stroke:#a0c8ff99}.ec-moon{fill:#c9c4b8}.ec-pen{fill:#00000073;stroke:#ffffff1f}.ec-pen--hit{stroke:color-mix(in oklab, var(--accent) 60%, transparent)}.ec-umb{fill:#000000d9}.ec-label{font-family:var(--font-mono);fill:#eee9ddcc;letter-spacing:.06em;text-transform:uppercase}.ec-label--hot{fill:var(--accent)}.ec-note{font-family:var(--font-mono);fill:#eee9dd80;letter-spacing:.08em;text-transform:uppercase}.ec-inset__bg{fill:#090b1499;stroke:#ffffff1a}.ec-inset__up{fill:none;stroke:#fff9}.ec-inset__down{fill:none;stroke:#ffffff4d;stroke-dasharray:2 3}.ec-inset__nodes{stroke:var(--accent);stroke-opacity:.6;stroke-dasharray:1 3}.ec-inset__sun{stroke:#ffd27a;stroke-opacity:.6}.ec-free{gap:.6rem;display:grid}.ec-places{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.ec-place-btn{appearance:none;color:var(--starlight);font:500 .82rem/1.1 var(--font-body,inherit);text-align:left;cursor:pointer;background:#ffffff08;border:1px solid #ffffff24;border-radius:10px;min-height:44px;padding:.45rem .4rem}.ec-place-btn span{font:.6rem/1.2 var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--haze);margin-top:2px;display:block}.ec-place-btn[aria-pressed=true]{border-color:var(--accent);background:color-mix(in oklab, var(--accent) 14%, transparent)}.ec-place-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.ec-neartrack{fill:none;stroke:var(--accent);stroke-width:2.5px;stroke-linecap:round;filter:drop-shadow(0 0 4px #0009)}.ec-you circle{fill:#fff;stroke:#03040a;stroke-width:1.5px}.ec-you .ec-you__ring{fill:none;stroke:#fff;stroke-width:1.5px;stroke-dasharray:3 3}.ec-you text{font-family:var(--font-mono);fill:#fff;letter-spacing:.08em;text-transform:uppercase;paint-order:stroke;stroke:#03040abf;stroke-width:3px}.ec-near{gap:.6rem;display:grid}.ec-near__pick{align-items:center;gap:.75rem;display:flex}.ec-near__pick span,.ec-near__note{font:.68rem/1.3 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--haze);margin:0}.ec-near__list{gap:.45rem;margin:0;display:grid}.ec-near__list dt{font:.62rem/1.2 var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--haze)}.ec-near__list dd{color:var(--starlight);margin:2px 0 0;font-size:.92rem;line-height:1.3}.ec-near__list em{color:var(--haze);font-size:.8rem}.ec-near__paths{flex-wrap:wrap;align-items:stretch;gap:6px;display:flex}.ec-near__paths .label{font:.62rem/1.2 var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--haze);flex-basis:100%}.ec-near__paths .ec-place-btn{flex:0 auto;min-width:7.5rem}
