:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0e1116;--panel:#171b22;--panel-2:#1f2530;--border:#303846;--text:#e6e9ee;--muted:#a3acb9;--accent:#8ab4f8;--ok:#7bd88f;--warn:#f2c94c;--bad:#ff8a80;--scn-a:#e69f00;--scn-b:#0072b2;--scn-c:#009e73;--scn-ghost:#8a8f98;--sun:#f0e442;--earth:#56b4e9;--lit:#e6e9ee;--dark:#262c36;--terrain-lo:#3a3f47;--terrain-hi:#d9dce1;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--radius:6px;--font:system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-num:ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;--fs-sm:.8125rem;--fs-md:.9375rem;--fs-lg:1.125rem;--fs-xl:1.5rem}*,:before,:after{box-sizing:border-box}html,body{background:var(--bg);color:var(--text);font-family:var(--font);font-size:var(--fs-md);margin:0;line-height:1.4}h1,h2,h3,p{margin:0}h2{font-size:var(--fs-lg)}a{color:var(--accent)}.card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-4)}.btn{font:inherit;color:var(--text);background:var(--panel-2);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-1) var(--space-3);cursor:pointer}.btn:disabled{color:var(--muted);cursor:not-allowed}.btn-primary{color:var(--bg);background:var(--accent);border-color:var(--accent)}.field{font:inherit;color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-1) var(--space-2)}.table{border-collapse:collapse;width:100%;font-family:var(--font-num);font-variant-numeric:tabular-nums}.table th,.table td{text-align:left;padding:var(--space-1) var(--space-2);border-bottom:1px solid var(--border)}.badge{font-size:var(--fs-sm);color:var(--muted);border:1px solid var(--border);border-radius:var(--radius);padding:0 var(--space-2);display:inline-block}.muted{color:var(--muted)}#app{gap:var(--space-3);padding:var(--space-3);grid-template-columns:minmax(0,1fr) 22rem;grid-template-areas:"about about""status status""scene side""compare side""bottom bottom";align-content:start;min-height:100vh;display:grid}#about{align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-4);background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);grid-area:about;display:flex}#status{padding:var(--space-2) var(--space-4);color:var(--warn);border:1px solid var(--border);border-radius:var(--radius);grid-area:status}#status:empty{display:none}#scene{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);grid-area:scene;min-height:26rem;position:relative;overflow:hidden}#side{gap:var(--space-3);flex-direction:column;grid-area:side;min-width:0;display:flex}#compare{grid-area:compare;min-width:0}#bottom{gap:var(--space-3);grid-area:bottom;grid-template-columns:minmax(0,1fr) minmax(0,1fr);display:grid}#timeline,#sky{min-width:0}@media (width<=800px){#app{grid-template-columns:minmax(0,1fr);grid-template-areas:"about""status""scene""side""compare""bottom"}#scene{min-height:18rem}#bottom{grid-template-columns:minmax(0,1fr)}}.scene-toolbar{align-items:center;gap:var(--space-3);padding:var(--space-3);flex-wrap:wrap;display:flex}.scene-toolbar h2{margin-inline-end:auto}.scene-modes{gap:var(--space-1);display:flex}.scene-stretch{align-items:center;gap:var(--space-2);display:flex}.scene-stretch input{width:calc(var(--space-5) * 4);accent-color:var(--accent)}.scene-stretch output{min-width:var(--space-5);font-family:var(--font-num)}.scene-viewport{width:100%;height:clamp(calc(var(--space-5) * 12), 48vh, calc(var(--space-5) * 24));background:var(--bg);position:relative}.scene-canvas{touch-action:none;width:100%;height:100%;display:block}.scene-canvas:focus-visible{outline:solid var(--accent);outline-offset:calc(var(--space-1) * -1)}.scene-message{inset:var(--space-3);pointer-events:none;position:absolute}.scene-help,.scene-caption{padding:var(--space-2) var(--space-3);font-size:var(--fs-sm)}.scene-caption{padding-top:0}@media (width<=800px){.scene-toolbar{gap:var(--space-2)}.scene-toolbar h2,.scene-stretch{flex-basis:100%}}#compare{gap:var(--space-3);flex-direction:column;display:flex}.cmp-table-wrap{min-width:0;position:relative;overflow-x:auto}.cmp-table th,.cmp-table td{vertical-align:top}.cmp-col{border-top:var(--space-1) solid var(--scn-color)}.cmp-col>.cmp-where,.cmp-col>.cmp-when{display:block}.cmp-dot{width:var(--space-3);height:var(--space-3);margin-right:var(--space-1);background:var(--scn-color);border-radius:50%;display:inline-block}.cmp-label{font-family:var(--font);font-weight:600}.cmp-where{font-family:var(--font);font-weight:400}.cmp-when{font-size:var(--fs-sm);font-weight:400}.cmp-row{font-family:var(--font);color:var(--muted);white-space:nowrap;font-weight:400}.cmp-best{color:var(--ok);font-weight:600}.cmp-sub{font-size:var(--fs-md)}.cmp-strips{width:100%;min-width:0}.cmp-note{font-size:var(--fs-sm)}.cmp-hidden{width:var(--space-1);height:var(--space-1);clip-path:inset(50%);white-space:nowrap;position:absolute;overflow:hidden}#compare [hidden]{display:none}#readout{gap:var(--space-2);flex-direction:column;display:flex}.ro-whose{align-items:center;gap:var(--space-2);font-weight:600;display:flex}.ro-dot{width:var(--space-3);height:var(--space-3);background:var(--scn-color);border-radius:50%}.ro-where{font-size:var(--fs-sm);font-family:var(--font-num)}.ro-note{color:var(--warn);align-self:flex-start}.ro-note:empty{display:none}.ro-content{gap:var(--space-3);flex-direction:column;display:flex}.ro-head{font-size:var(--fs-md);align-items:center;gap:var(--space-2);display:flex}.ro-head:before{content:"";width:var(--space-2);height:var(--space-2);border-radius:50%}.ro-sun .ro-head:before{background:var(--sun)}.ro-earth .ro-head:before{background:var(--earth)}.ro-table th{font-family:var(--font);color:var(--muted);font-weight:400}.ro-table td{text-align:right}.ro-countdown{margin-top:var(--space-1);font-weight:600}.ro-error{color:var(--bad)}#scenarios{gap:var(--space-3);flex-direction:column;display:flex}.scn-editor{gap:var(--space-2);flex-direction:column;display:flex}.scn-coords{gap:var(--space-2);grid-template-columns:1fr 1fr;display:grid}.scn-field{gap:var(--space-1);flex-direction:column;min-width:0;display:flex}.scn-field .field{width:100%;min-width:0}.scn-label{font-size:var(--fs-sm);color:var(--muted)}.scn-num{font-family:var(--font-num);font-variant-numeric:tabular-nums}.scn-time-row{gap:var(--space-1);display:flex;position:relative}.scn-time-row .field{flex:1}.scn-picker{opacity:0;pointer-events:none;border:0;width:0;height:0;padding:0;position:absolute;bottom:0;right:0}.scn-error{font-size:var(--fs-sm);color:var(--bad)}.scn-error:empty{display:none}.scn-field [aria-invalid=true]{border-color:var(--bad)}.scn-list{gap:var(--space-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.scn-card{align-items:stretch;gap:var(--space-1);background:var(--panel-2);border:thin solid var(--border);border-left:var(--space-1) solid var(--scn-color);border-radius:var(--radius);display:flex}.scn-card.scn-selected{border-color:var(--accent);border-left-color:var(--scn-color)}.scn-pick{align-items:center;column-gap:var(--space-2);min-width:0;padding:var(--space-2);font:inherit;color:var(--text);text-align:left;cursor:pointer;background:0 0;border:none;flex:1;grid-template-columns:auto auto 1fr;grid-template-areas:"dot name where"".when when";display:grid}.scn-dot{width:var(--space-3);height:var(--space-3);background:var(--scn-color);border-radius:50%;grid-area:dot}.scn-name{grid-area:name;font-weight:600}.scn-where{text-overflow:ellipsis;white-space:nowrap;grid-area:where;overflow:hidden}.scn-when{font-family:var(--font-num);font-size:var(--fs-sm);grid-area:when}.scn-remove{margin-right:var(--space-2);align-self:center}.scn-actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.scn-note{font-size:var(--fs-sm)}.scn-note:empty{display:none}.scn-link{width:100%;font-family:var(--font-num);font-size:var(--fs-sm)}#sky h2{margin:0 0 var(--space-1);font-size:var(--fs-lg)}#sky .sky-note{margin:0 0 var(--space-2);font-size:var(--fs-sm)}#sky .sky-chart{width:100%;height:calc(var(--space-5) * 12)}@media (width<=800px){#sky .sky-chart{height:calc(var(--space-5) * 10)}}
