@import"https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500&family=Space+Grotesk:wght@400;500;600;700&display=swap";:root{--app-height: 100dvh;--bg-primary: #000;--bg-card: rgba(9, 14, 24, .78);--bg-card-strong: rgba(6, 9, 15, .88);--border-color: rgba(255, 255, 255, .12);--text-primary: #eef2ff;--text-secondary: #c2cada;--text-muted: #8d97ab;--accent-sky: #78d7ff;--accent-gold: #ffd76a;--accent-success: #74e39d;--accent-error: #ff9090;--shadow: 0 22px 80px rgba(0, 0, 0, .45)}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:var(--app-height);width:100%;overflow:hidden}body{font-family:Space Grotesk,system-ui,sans-serif;background:radial-gradient(circle at top left,rgba(120,215,255,.1),transparent 28%),radial-gradient(circle at right 15%,rgba(255,215,106,.08),transparent 24%),#000;color:var(--text-primary);line-height:1.5}button,input{font:inherit}button{border:none;cursor:pointer}.ephemeris-page,.solar-system-container,.scene-stage,.scene-shell{height:100%;width:100%}.ephemeris-page{height:var(--app-height)}.solar-system-container{display:grid;grid-template-columns:minmax(460px,580px) minmax(0,1fr);grid-template-rows:minmax(0,1fr);overflow:hidden;position:relative}.solar-system-container--resizing,.solar-system-container--resizing *{cursor:col-resize!important;-webkit-user-select:none;user-select:none}.app-sidebar-shell{height:100%;min-height:0;min-width:0;position:relative}.scene-stage{min-width:0;position:relative}.app-sidebar{background:linear-gradient(180deg,#070c14f2,#03060cfa);border-right:1px solid var(--border-color);height:100%;min-height:0;position:relative}.app-sidebar__inner{display:flex;flex-direction:column;height:100%;min-height:0;padding:0}.app-sidebar__content{flex:1 1 auto;min-height:0;overflow:auto}.mobile-bottom-bar{display:none}.sidebar-resize-handle{align-items:center;background:transparent;bottom:0;display:flex;justify-content:center;padding:0;position:absolute;right:-9.5px;top:0;width:20px;z-index:40}.sidebar-resize-handle:focus-visible{outline:none}.sidebar-resize-handle__grip{background:#78d7ff38;border:1px solid rgba(120,215,255,.34);border-radius:999px;box-shadow:0 10px 22px #00000047;height:88px;transition:background .18s ease,border-color .18s ease,transform .18s ease;width:8px}.sidebar-resize-handle:hover .sidebar-resize-handle__grip,.sidebar-resize-handle:focus-visible .sidebar-resize-handle__grip{background:#78d7ff5c;border-color:#78d7ff94;transform:scaleX(1.08)}.app-sidebar__topbar{background:linear-gradient(180deg,#0d142075,#070b142e);border-bottom:1px solid var(--border-color);padding:.88rem .95rem .95rem}.hud-label{color:var(--text-muted);display:block;font-family:JetBrains Mono,monospace;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase}.tab-panel{max-width:none;overflow:visible;transition:border-radius .24s cubic-bezier(.22,1,.36,1),padding .24s cubic-bezier(.22,1,.36,1);width:100%}.tab-panel__header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:.3rem;transition:margin-bottom .24s cubic-bezier(.22,1,.36,1)}.tab-panel__heading h2{font-size:1.08rem;margin-top:0}.tab-panel__content{min-height:0}.tab-panel__collapse,.timeline-toolbar-collapse{transform-origin:top center}.tab-panel__toggle{display:none}.tab-panel__message{align-items:center;color:var(--text-secondary);display:flex;flex-direction:column;gap:.8rem;justify-content:center;min-height:160px;text-align:center}.tab-panel__message--error{color:var(--accent-error)}.tab-panel__loader{border-width:2px;height:28px;width:28px}.moon-distance-chart-shell{display:flex;flex-direction:column;gap:.72rem}.moon-distance-chart{cursor:crosshair;display:block;height:auto;touch-action:none;-webkit-user-select:none;user-select:none;width:100%}.moon-distance-chart-frame{position:relative}.moon-distance-chart__backdrop{fill:#ffffff08;stroke:#ffffff14}.moon-distance-chart__grid{stroke:#ffffff14;stroke-width:1}.moon-distance-chart__grid--vertical{stroke-dasharray:4 8}.moon-distance-chart__axis-label{fill:var(--text-muted);font-family:JetBrains Mono,monospace;font-size:13px;letter-spacing:.02em}.moon-distance-chart__current-line{stroke:#ffd76af0;stroke-dasharray:7 7;stroke-linecap:round;stroke-width:2.1}.moon-distance-chart__hover-line{stroke:#ffffff7a;stroke-dasharray:3 6;stroke-width:1.25}.moon-distance-chart__line{fill:none;stroke:var(--accent-sky);stroke-linecap:round;stroke-linejoin:round;stroke-width:3}.moon-distance-chart__phase-icon{pointer-events:none}.moon-distance-chart__phase-icon--supermoon{filter:drop-shadow(0 0 10px rgba(255,215,106,.35))}.moon-distance-chart__phase-halo{fill:#ffd76a29;stroke:#ffd76ab8;stroke-width:1.4}.moon-distance-chart__phase-disc--dark{fill:#080c14f5}.moon-distance-chart__phase-disc--light{fill:#f8fbff}.moon-distance-chart__phase-outline{fill:none;stroke:#ffffff8c;stroke-width:1.2}.moon-distance-chart__phase-hit-area{fill:transparent;pointer-events:all}.moon-distance-chart__hover-marker{fill:#fff;stroke:#07101cf5;stroke-width:2.5}.moon-distance-tooltip{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#050a12eb;border:1px solid rgba(255,255,255,.12);border-radius:14px;box-shadow:0 18px 42px #00000061;left:0;max-width:220px;min-width:170px;padding:.7rem .8rem;pointer-events:none;position:absolute;top:0;z-index:2}.moon-distance-tooltip--above{transform:translate(-50%,calc(-100% - 14px))}.moon-distance-tooltip--below{transform:translate(-50%,14px)}.moon-distance-tooltip__eyebrow{color:var(--accent-gold);display:block;font-family:JetBrains Mono,monospace;font-size:.78rem;letter-spacing:.08em;margin-bottom:.3rem;text-transform:uppercase}.moon-distance-tooltip strong{display:block;font-size:1.08rem}.moon-distance-tooltip span{color:var(--accent-sky);display:block;font-family:JetBrains Mono,monospace;font-size:.92rem;margin-top:.25rem}.moon-distance-tooltip small{color:var(--text-secondary);display:block;font-size:.88rem;margin-top:.18rem}.loading-overlay,.error-overlay{align-items:center;display:flex;flex-direction:column;gap:1rem;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);z-index:30}.loading-overlay{color:var(--text-secondary);text-align:center}.error-overlay{background:#440912bf;border:1px solid rgba(255,144,144,.35);border-radius:16px;color:var(--accent-error);padding:1rem 1.25rem;text-align:center}.loader{animation:spin 1s linear infinite;border:3px solid rgba(255,255,255,.14);border-radius:999px;border-top-color:var(--accent-sky);height:42px;width:42px}.timeline-view-indicator{color:var(--text-primary);display:block;font-family:JetBrains Mono,monospace;font-size:.76rem;letter-spacing:.12em;margin-bottom:.22rem;text-transform:uppercase}.timeline-panel{width:100%}.timeline-button{align-items:center;background:linear-gradient(135deg,#78d7fff2,#3574ffeb);border-radius:15px;color:#07101c;display:inline-flex;font-weight:700;gap:.4rem;justify-content:center;padding:.62rem .92rem;transition:transform .18s ease,opacity .18s ease,box-shadow .18s ease}.timeline-button__icon{align-items:center;display:inline-flex;font-size:.94rem;justify-content:center;line-height:1}.timeline-button__glyph{fill:none;height:.96rem;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.9;width:.96rem}.timeline-button__label{white-space:nowrap}.timeline-button:hover:not(:disabled){box-shadow:0 12px 32px #2e6fff59;transform:translateY(-1px)}.timeline-button:disabled{cursor:not-allowed;opacity:.5}.timeline-button--secondary{background:#ffffff14;color:var(--text-primary)}.timeline-button--icon-only{aspect-ratio:1 / 1;flex:0 0 auto;gap:0;min-width:2.35rem;padding:0}.timeline-card-toggle{align-items:center;background:#ffffff14;border:1px solid rgba(255,255,255,.14);border-radius:999px;color:var(--text-primary);display:none;flex:0 0 auto;height:2rem;justify-content:center;padding:0;width:2rem}.timeline-card-toggle__icon{fill:none;height:.72rem;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.7;transform:rotate(180deg);transition:transform .18s ease;width:.72rem}.timeline-card-toggle__icon--collapsed{transform:rotate(0)}.timeline-header,.timeline-controls,.timeline-scale{align-items:center;display:flex;justify-content:space-between}.timeline-header__details{display:flex;flex-direction:column;gap:.18rem;min-width:0}.timeline-header{gap:.8rem;margin-bottom:.65rem}.timeline-date-row{display:block;font-size:.96rem;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.timeline-toolbar{align-items:center;display:flex;gap:.62rem;justify-content:space-between;margin-bottom:.72rem}.timeline-offset{color:var(--text-muted);margin-left:.45rem}.timeline-controls{gap:.6rem;justify-content:flex-start}.timeline-controls--primary{flex:0 0 auto;min-width:fit-content}.timeline-controls--icon-actions,.timeline-controls--primary .timeline-button{flex:0 0 auto}.timeline-slider-grid{align-items:center;column-gap:.45rem;display:grid;grid-template-columns:auto minmax(0,1fr) auto;row-gap:.16rem}.timeline-slider{accent-color:var(--accent-sky);cursor:pointer;grid-column:2;grid-row:1;width:100%}.timeline-button--slider-step{min-width:2rem}.timeline-scale--slider{grid-column:2;grid-row:2}.timeline-scale{color:var(--text-muted);font-family:JetBrains Mono,monospace;font-size:.68rem}.app-navigation-bar--sidebar{background:linear-gradient(180deg,#080c143d,#04070dc7);border-top:1px solid var(--border-color);margin-top:auto;padding:.82rem .95rem .95rem}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:720px){.solar-system-container{display:block}.app-sidebar-shell{height:auto;min-height:0;position:static}.sidebar-resize-handle{display:none}.scene-stage{min-height:0}.mobile-bottom-bar{bottom:0;display:block;left:0;pointer-events:none;position:fixed;right:0;z-index:45}.app-sidebar{background:none;border:none;box-shadow:none;height:auto;inset:0 0 auto;min-height:auto;pointer-events:none;position:fixed;z-index:45}.app-sidebar__inner{gap:0;height:auto;padding:0}.app-sidebar__topbar{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:linear-gradient(180deg,#070c14f0,#04080fc7);border:none;border-bottom:1px solid rgba(255,255,255,.12);border-radius:0;box-shadow:none;padding:calc(.5rem + env(safe-area-inset-top)) .75rem .62rem}.tab-panel--collapsible{pointer-events:auto}.tab-panel--collapsed{padding-bottom:.56rem}.tab-panel__header{align-items:center;margin-bottom:.32rem}.tab-panel--collapsed .tab-panel__header{margin-bottom:0}.tab-panel__toggle{align-items:center;background:#ffffff14;border:1px solid rgba(255,255,255,.14);border-radius:999px;color:var(--text-primary);display:inline-flex;flex-shrink:0;height:2rem;justify-content:center;padding:0;width:2rem}.tab-panel__toggle-icon{fill:none;height:.72rem;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.7;transform:rotate(180deg);transition:transform .18s ease;width:.72rem}.tab-panel__toggle-icon--collapsed{transform:rotate(0)}.tab-panel__content{max-height:none;overflow:visible;padding-right:0}.app-sidebar__content{overflow:visible;padding-right:0}.app-navigation-bar--sidebar{display:none}.app-navigation-bar--mobile{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:linear-gradient(180deg,#090e18c2,#04080ff5);border:none;border-radius:0;border-top:1px solid rgba(255,255,255,.12);box-shadow:none;margin-top:0;padding:.62rem .75rem calc(.62rem + env(safe-area-inset-bottom));pointer-events:auto;width:100%}.timeline-toolbar{gap:.45rem}.timeline-controls{gap:.4rem}.timeline-button{border-radius:13px;min-height:2.55rem;padding:.52rem .74rem}.timeline-button--icon-only{min-width:2.1rem;padding:0}.timeline-slider-grid{column-gap:.35rem;row-gap:.14rem}.timeline-button--slider-step{min-height:1.9rem;min-width:1.9rem}.timeline-button--slider-step .timeline-button__icon{font-size:.78rem}.timeline-card-toggle{display:inline-flex}.timeline-view-indicator{font-size:.7rem}.timeline-header strong,.timeline-button__icon{font-size:.88rem}.timeline-scale{font-size:.64rem}}@media(max-width:380px){.app-navigation-bar--mobile .timeline-controls--primary .timeline-button{aspect-ratio:1 / 1;min-width:2.4rem;padding:0}.app-navigation-bar--mobile .timeline-controls--primary .timeline-button__label{display:none}}
