@layer base,components,view;@layer base{:root{--font-sans:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--font-mono:monospace;--color-text:#eef4ff;--color-space:#02050b;--color-deep-space:#010308;--color-accent:#70bff3;--color-focus:#65bdf3;--color-status:#6cd6a2;--motion-quick:.16s;--motion-fast:.18s;--motion-panel:.22s;--motion-fade:.7s;--buncss-light: ;--buncss-dark:initial;color-scheme:dark;font-family:var(--font-sans);font-synthesis:none;color:var(--color-text);background:var(--page-background,var(--color-space))}*{box-sizing:border-box}body{background:var(--page-background,var(--color-space));margin:0}a{color:inherit}:focus-visible{outline:1px solid var(--color-focus);outline-offset:3px}.visually-hidden{position:absolute;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0;block-size:1px;inline-size:1px;margin:-1px;padding:0}@media (prefers-reduced-motion:reduce){:root{--motion-quick:0s;--motion-fast:0s;--motion-panel:0s;--motion-fade:0s}}}@layer components{html,body,#app{overflow:hidden;block-size:100%;inline-size:100%}#app:after{content:"";position:absolute;z-index:1;background:var(--scene-vignette);pointer-events:none;inset:0}.scene-canvas{position:absolute;z-index:0;display:block;block-size:100%;inline-size:100%;inset:0}.loading{position:absolute;z-index:10;display:flex;background:var(--page-background,var(--color-space));color:#7f96b2;font:400 9px/1 var(--font-mono);letter-spacing:.12em;text-transform:uppercase;transition:opacity var(--motion-fade)ease,visibility var(--motion-fade);justify-content:center;align-items: center;gap:14px;inset:0}.loading.hidden{opacity:0;visibility:hidden}.loader-orbit{inline-size:var(--loader-size,23px);aspect-ratio:1;border:1px solid color-mix(in srgb,var(--loader-color,var(--color-accent))20%,transparent);border-block-start-color:var(--loader-color,var(--color-accent));animation:1s linear infinite loader-spin;border-radius:50%}@keyframes loader-spin{to{rotate:1turn}}@media (prefers-reduced-motion:reduce){.loader-orbit{animation:none}}}@layer components{.range-input{display:block;block-size:var(--range-height);margin:var(--range-margin,0);appearance:none;cursor:ew-resize;background:0 0;inline-size:100%}.range-input::-webkit-slider-runnable-track{block-size:var(--range-track-height);background:var(--range-track)}.range-input::-moz-range-track{block-size:var(--range-track-height);background:var(--range-track)}.range-input::-webkit-slider-thumb{box-sizing:border-box;inline-size:var(--range-thumb-size);block-size:var(--range-thumb-size);appearance:none;border:var(--range-thumb-border);background:var(--range-thumb-color);box-shadow:var(--range-thumb-shadow);border-radius:50%;margin-block-start:calc((var(--range-track-height) - var(--range-thumb-size))/2)}.range-input::-moz-range-thumb{box-sizing:border-box;inline-size:var(--range-thumb-size);block-size:var(--range-thumb-size);border:var(--range-thumb-border);background:var(--range-thumb-color);box-shadow:var(--range-thumb-shadow);border-radius:50%}.range-input:disabled{opacity:.3;cursor:default}}@layer view{:root{--page-background:var(--color-deep-space);--scene-vignette:radial-gradient(circle at 50% 48%,transparent 36%,#01030838 70%,#010308b8 100%);--loader-color:var(--color-solar);--loader-size:25px;--color-solar:#dca65d;--color-solar-focus:#e3ad62;--color-time:#ffc367;--color-timeline-cursor:#f3bd70;--panel-divider:#91b0d622;--panel-width:clamp(310px,24vw,360px);--panel-gap:24px;--page-gutter:28px}#orbit-canvas{touch-action:none}#orbit-canvas.earth-hover{cursor:grab}#orbit-canvas.grabbing-earth{cursor:grabbing}#orbit-canvas.inspect-earth{cursor:grab}#orbit-canvas.inspect-earth.grabbing-earth{cursor:grabbing}#orbit-canvas.sun-hover{cursor:pointer}.intro-flight{position:absolute;z-index:7;pointer-events:none;inset:0}.intro-flight[hidden]{display:none}.scale-disclaimer{position:absolute;color:#a9bdcc;text-align:center;text-wrap:balance;text-shadow:0 1px 6px var(--color-deep-space),0 2px 18px var(--color-deep-space);pointer-events:none;width:min(480px,100vw - 48px);margin:0;font:400 11px/1.6 Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;bottom:calc(100% + 44px);left:50%;translate:-50%}.scale-disclaimer[hidden]{display:none}.intro-flight-status{position:absolute;color:#e5f0f9d6;font:500 9px/1.4 var(--font-mono);letter-spacing:.15em;text-transform:uppercase;text-shadow:0 2px 18px #000;white-space:nowrap;margin:0;bottom:clamp(42px,6vh,72px);left:50%;translate:-50%}.intro-flight-status span{color:var(--color-solar)}.intro-flight button{color:#a9c2d3;font:500 7px/1 var(--font-mono);letter-spacing:.12em;text-transform:uppercase;cursor:pointer;pointer-events:auto;backdrop-filter:blur(10px);background:#03080fad;border:1px solid #99bed852;border-radius:4px;padding:10px 12px}.intro-flight button:hover{border-color:color-mix(in srgb,var(--color-solar)65%,transparent);color:#efc17e}.intro-flight button:focus-visible{outline:1px solid var(--color-solar-focus);outline-offset:3px}.intro-flight-skip{position:absolute;top:28px;right:32px}.intro-flight-start{position:absolute;overflow-y:auto;text-align:center;pointer-events:auto;backdrop-filter:blur(22px);background:radial-gradient(at 100% 0,#b9752821,#0000 55%),#040a12e6;border:1px solid #9fbbd138;border-radius:12px;width:min(390px,100% - 40px);max-height:calc(100dvh - 40px);margin:0;padding:28px;top:50%;left:50%;translate:-50% -50%;box-shadow:0 26px 90px #0009}.intro-flight-start .intro-flight-eyebrow{color:var(--color-solar);font:500 8px/1 var(--font-mono);letter-spacing:.18em;text-transform:uppercase;margin:0}.intro-flight-start h2{color:#edf4fc;letter-spacing:-.035em;margin:13px 0 0;font-size:28px;font-weight:300}.intro-flight-start .intro-flight-copy{color:#8fa5b8;max-width:280px;margin:11px auto 0;font-size:11px;line-height:1.65}.intro-flight-start::backdrop{background:#00020747}.intro-music-option{display:flex;color:#8fa5b8;text-align:left;cursor:pointer;border-top:1px solid #9fbbd129;justify-content:center;align-items: center;gap:9px;margin-top:18px;padding-top:18px;font-size:11px;line-height:1.5}.intro-music-option input{accent-color:var(--color-solar);flex-shrink:0;width:16px;height:16px;margin:0}.intro-music-option input:focus-visible{outline:1px solid var(--color-solar-focus);outline-offset:3px}.intro-flight-start [hidden]{display:none}.intro-location-step{display:grid;gap:10px;margin-top:22px}.intro-location-step button{min-height:42px;font-size:9px}.intro-location-help,#intro-location-status{color:#8fa5b8;margin:0;font-size:11px;line-height:1.6}#intro-location-status:empty{display:none}.intro-location-step .intro-location-skip{color:#8fa5b8;text-transform:none;letter-spacing:0;background:0 0;border-color:#0000;font-size:11px}.intro-flight button:disabled{opacity:.6;cursor:wait}.intro-flight-start .intro-flight-primary{border-color:color-mix(in srgb,var(--color-solar)62%,transparent);color:#efbd77;background:#342311b8}.page-header,.intro,.key,.sun-info-panel,.axis-overlay{transition:opacity var(--motion-fade)ease,visibility var(--motion-fade)ease}#app.intro-flight-active .page-header,#app.intro-flight-active>.intro,#app.intro-flight-active>.key,#app.intro-flight-active>.year-control,#app.intro-flight-active>.sun-info-panel,#app.intro-flight-active>.axis-overlay{opacity:0;visibility:hidden;pointer-events:none;transition-duration:0s}#app.intro-flight-active #orbit-canvas{pointer-events:none}.axis-overlay{position:absolute;z-index:2;display:block;overflow:visible;pointer-events:none;width:100%;height:100%;inset:0}.axis-overlay[hidden]{display:none}#earth-axis-overlay{stroke:#9de2ff;stroke-width:1.35;opacity:.96;filter:drop-shadow(0 0 4px #63c4efa8);vector-effect:non-scaling-stroke}#axis-arrowhead path{fill:#9de2ff}.axis-facing-ring{fill:#040c15b8;stroke:#86d8ff;stroke-width:1;opacity:0;vector-effect:non-scaling-stroke}.axis-facing-dot{fill:#86d8ff;opacity:0}.axis-facing-ring.active{stroke:#9de2ff;filter:drop-shadow(0 0 4px #63c4ef94)}.axis-facing-dot.active{fill:#b6ebff;filter:drop-shadow(0 0 3px #63c4efb8)}.page-header{position:absolute;z-index:4;display:flex;pointer-events:none;top:24px;right:var(--page-gutter);left:var(--page-gutter);justify-content:space-between;align-items: center}.home-link{color:#8bbbd6;font:600 10px/1 var(--font-mono);letter-spacing:.18em;text-decoration:none;text-transform:uppercase;pointer-events:auto;white-space:nowrap;flex-shrink:0}.home-link:before{content:"←";margin-right:9px}.home-link:focus-visible{outline-offset:5px}.header-actions{display:flex;pointer-events:auto;align-items:stretch;gap:8px}:where(.header-actions)>button{text-transform:uppercase;cursor:pointer;backdrop-filter:blur(12px);background:#050b1499;border:1px solid #7aa8c733;border-radius:4px;min-height:40px;padding:8px 10px}.soundtrack-toggle,.intro-flight-replay{display:flex;color:#718ca2;font:500 9px/1 var(--font-mono);letter-spacing:.06em;align-items: center}.intro-flight-replay{gap:6px}.intro-flight-replay:hover{color:#a9c8da;border-color:#7abee180}.intro-flight-replay:focus-visible{outline:1px solid var(--color-solar-focus);outline-offset:3px}.intro-flight-replay>span:first-child{font-size:16px}.soundtrack-toggle{transition:border-color var(--motion-fast)ease,color var(--motion-fast)ease,background var(--motion-fast)ease;gap:8px;min-width:96px}.soundtrack-toggle:hover{color:#a9c8da;background:#0d1926c7;border-color:#7abee180}.soundtrack-toggle[aria-pressed=true]{border-color:color-mix(in srgb,var(--color-solar)48%,transparent);color:#efbd77;background:#2d1f119e}.soundtrack-toggle:focus-visible{outline:1px solid var(--color-solar-focus);outline-offset:3px}.soundtrack-wave{display:flex;justify-content:center;align-items: center;gap:2px;width:13px;height:13px}.soundtrack-wave i{transform-origin:center;background:currentColor;width:1px;height:4px}.soundtrack-toggle[aria-pressed=true] .soundtrack-wave i{animation:.9s ease-in-out infinite alternate soundtrack-pulse}.soundtrack-toggle[aria-pressed=true] .soundtrack-wave i:nth-child(2){animation-delay:-450ms}.soundtrack-toggle[aria-pressed=true] .soundtrack-wave i:nth-child(3){animation-delay:-250ms}@keyframes soundtrack-pulse{to{height:12px}}.location-trigger{display:grid;grid-template-columns:auto auto;color:#c7dce9;font:500 10px/1.2 var(--font-mono);letter-spacing:.07em;text-align:left;gap:4px 12px;min-width:210px}.location-trigger-label{grid-column:1;color:#627c91;letter-spacing:.13em;font-size:8px}.location-trigger>span:nth-child(2){grid-column:1}.location-trigger>span:last-child{grid-column:2;grid-row:1/3;color:var(--color-solar);align-self: center;font-size:8px}.location-trigger:hover{background:#0d1926c7;border-color:#7abee180}.intro{position:absolute;z-index:2;pointer-events:none;text-shadow:0 3px 24px #000000e6;top:118px;left:var(--page-gutter);width:350px}.eyebrow{color:var(--color-solar);font:500 9px/1 var(--font-mono);text-transform:uppercase;letter-spacing:.12em;margin:0 0 18px}h1{letter-spacing:-.055em;margin:0;font-size:clamp(44px,4.4vw,66px);font-weight:300;line-height:1.02}h1 em{color:#9aacc2;font-style:normal;font-weight:300}.intro>p:not(.eyebrow){color:#9aaabd;max-width:260px;margin:20px 0 0;font-size:13px;font-weight:300;line-height:1.65}.guide-trigger{border:1px solid color-mix(in srgb,var(--color-solar)36%,transparent);color:#e3b873;font:500 9px/1 var(--font-mono);text-transform:uppercase;cursor:pointer;pointer-events:auto;transition:border-color var(--motion-quick)ease,background var(--motion-quick)ease;letter-spacing:.06em;background:#0a0f17b8;border-radius:4px;min-height:36px;margin-top:20px;padding:10px 12px}.guide-trigger span{margin-left:12px}.guide-trigger:hover{border-color:color-mix(in srgb,var(--color-solar)72%,transparent);background:#261c11b8}.guide-trigger:focus-visible{outline:1px solid var(--color-solar-focus);outline-offset:3px}.key{position:absolute;z-index:3;display:flex;font:500 8px/1 var(--font-mono);text-transform:uppercase;top:78px;right:var(--page-gutter);width:var(--panel-width);border:1px solid var(--panel-divider);color:#9aafc0;backdrop-filter:blur(12px);letter-spacing:.04em;background:#060d17ed;border-radius:6px;justify-content:space-between;gap:12px;padding:9px 12px}.key span{display:flex;align-items: center;gap:7px}.key i{display:block;width:18px;height:1px}.axis-swatch{background:#86d8ff;box-shadow:0 0 5px #86d8ff}.latitude-swatch{background:#5fd2ff;box-shadow:0 0 4px #5fd2ffb3}.orbit-swatch{background:#456078}.sky-inset{grid-column:1;grid-row:2;display:flex;flex-direction:column;order:2;gap:10px;min-width:0}.sun-info-panel{position:relative;background:linear-gradient(145deg,#0b1420ed,#070d16f5);border:1px solid #9fbbd133;border-radius:12px;padding:22px;box-shadow:0 20px 70px #0005}.sun-info-panel[hidden]{display:none}.no-observer-location .key span:has(.latitude-swatch){display:none}.sun-panel-heading{display:flex;justify-content:space-between;align-items: center;gap:12px;min-height:16px}.sky-inset-eyebrow{color:#9ab4c9;font:500 10px/1.5 var(--font-mono);text-transform:uppercase;letter-spacing:.04em}.sun-panel-tag{color:#bd9969;font:500 8px/1.5 var(--font-mono);letter-spacing:.06em;text-transform:uppercase;flex-shrink:0}.sun-height-summary{margin-top:20px}.sun-height-value{display:flex;align-items:baseline;gap:12px}.sun-info-panel .sun-height-value output{color:#ffd08a;text-transform:none;letter-spacing:-.045em;font-variant-numeric:tabular-nums;font:300 42px/1.1 ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif}.sun-height-value output.below-horizon{color:#a6cce5}#sun-horizon-label{color:#90a6b8;max-width:80px;font-size:11px;line-height:1.45}.sun-info-panel h2{color:#edf4fc;letter-spacing:-.025em;margin:10px 0 0;font-size:20px;font-weight:400;line-height:1.3}#sun-event-story{color:#a4b5c5;min-height:16px;margin:6px 0 0;font-size:12px;line-height:1.5}.sun-chart{margin:24px 0 0}.sun-chart figcaption{display:flex;color:#9aafc0;font:400 10px/1.5 var(--font-mono);justify-content:space-between;gap:6px}#sun-chart-time{color:#efbd7b}.sun-info-panel svg{display:block;overflow:visible;width:100%;height:auto;margin-top:9px}.sun-info-panel svg text{fill:#70899e;font:400 8px var(--font-mono)}.sun-info-panel svg .horizon-caption{fill:#9bb0c1;letter-spacing:.1em;font-size:6px}.sun-chart-grid{fill:none;stroke:#8aa7c11c;stroke-dasharray:2 5}.sky-inset-horizon{fill:none;stroke:#718b9e;stroke-width:.7}.sun-day-path{fill:none;stroke:#6c9abc;stroke-width:1.5}.sun-daylight-path{fill:none;stroke:#edb86d;stroke-width:2}.sun-day-area{fill:url(#sun-chart-fill)}.sun-time-marker{stroke:#d8e8f570;stroke-width:.75;stroke-dasharray:2 3}.inset-sun-halo{fill:#ffbe6024}.sun-position-dot{fill:#ffcf89;stroke:#fff0d1;stroke-width:1;filter:drop-shadow(0 0 4px #ffc46c)}.is-night .sun-position-dot{fill:#b9ddf4;stroke:#e6f4ff;filter:drop-shadow(0 0 4px #81b7e3)}.is-night .inset-sun-halo{fill:#9acbf024}.sun-events{display:grid;border-top:1px solid var(--panel-divider);grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:16px;padding-top:16px}.sun-events>span{display:grid;grid-template-rows:12px 24px 14px;align-content: start;gap:5px;min-width:0}.sun-events>span+span{border-left:1px solid #91b0d61a;padding-left:10px}.sun-events small{color:#94aabc;font:400 10px/1.2 var(--font-mono);white-space:nowrap}.sun-events i{color:#e8b775;font-style:normal}.sun-events output{color:#e4edf6;font:400 20px/1.2 var(--font-mono);letter-spacing:-.04em;font-variant-numeric:tabular-nums}.sun-events>span>span{color:#748da2;font-size:10px;line-height:1.4}.daylight-summary{margin-top:20px}.sun-info-panel .day-length{display:flex;font:400 10px/1.3 var(--font-mono);justify-content:space-between;gap:8px;margin:0 0 8px}#daylight-output{color:#e6ba7d}#night-output{color:#90adc7}.daylight-bar{overflow:hidden;background:#35516a;border-radius:4px;height:3px}.daylight-bar span{display:block;border-radius:inherit;background:#dfb172;height:100%}.orbit-position-summary{display:grid;border-top:1px solid var(--panel-divider);gap:8px;margin-top:22px;padding-top:18px}.orbit-position-summary .control-label{color:#7c97ad;font:400 9px/1.2 var(--font-mono);letter-spacing:.13em}.orbit-position-summary .tilt-relation{display:block;color:#e8c28b;letter-spacing:0;text-transform:none;border:0;padding:0;font:400 15px/1.3 ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif}#orbit-season-story{color:#a3b3c3;margin:0;font-size:12px;line-height:1.6}#sun-height-relation{color:#7998af;font:400 10px/1.5 var(--font-mono)}.current-hour-field{display:grid;text-align:right;gap:4px}.current-hour-field small{color:#758da2}.sun-time-control .current-hour-field output{color:var(--color-time);text-shadow:none;font-size:20px;line-height:1}.sun-time-control>div{margin-top:2px}.location-dialog{color:#dceaf5;backdrop-filter:blur(24px);background:#050b14f7;border:1px solid #84b5d347;border-radius:10px;width:min(480px,100vw - 32px);padding:0;box-shadow:0 24px 90px #000000b8}.location-dialog::backdrop{backdrop-filter:blur(4px);background:#000207b8}.location-dialog form{padding:22px}.location-dialog header{display:flex;justify-content:space-between;align-items: flex-start;margin-bottom:22px}.location-dialog header p{color:var(--color-solar);font:500 7px/1 var(--font-mono);letter-spacing:.15em;text-transform:uppercase;margin:0 0 7px}.location-dialog h2{color:var(--color-text);letter-spacing:-.03em;margin:0;font-size:24px;font-weight:350}.dialog-close{color:#71869a;cursor:pointer;background:0 0;border:0;width:28px;height:28px;padding:0;font-size:20px}.location-dialog label,.location-dialog legend{color:#7892a8;font:500 7px/1 var(--font-mono);letter-spacing:.11em;text-transform:uppercase}.location-dialog select,.location-dialog input{color:#e2edf5;font:400 12px/1.2 var(--font-mono);background:#0b1622;border:1px solid #84b5d340;border-radius:4px;width:100%;margin-top:8px}.location-dialog select{height:42px;padding:0 12px}.device-location-row{display:flex;align-items: center;gap:12px;min-height:31px;margin-top:10px}#use-device-location{color:#8ed9f5;font:500 7px/1 var(--font-mono);letter-spacing:.09em;text-transform:uppercase;cursor:pointer;background:#1535465c;border:1px solid #5fd2ff4d;border-radius:4px;flex:none;padding:7px 9px}#use-device-location:hover{color:#c5efff;border-color:#5fd2ff9e}#use-device-location:disabled{color:#526d7b;cursor:wait}#location-status{color:#668195;font:500 7px/1.35 var(--font-mono);margin:0}.location-dialog fieldset{display:grid;grid-template-columns:1fr 1fr;border:0;gap:14px;margin:20px 0 0;padding:0}.location-dialog legend{grid-column:1/-1;margin-bottom:11px}.location-dialog fieldset label span{display:flex;color:#60798e;align-items: center;gap:6px;font-size:11px}.location-dialog input{height:42px;padding:0 10px}.location-dialog :-webkit-any(select,input):focus{border-color:var(--color-focus);outline:1px solid var(--color-focus);outline-offset:1px}.location-dialog :-moz-any(select,input):focus{border-color:var(--color-focus);outline:1px solid var(--color-focus);outline-offset:1px}.location-dialog :is(select,input):focus{border-color:var(--color-focus);outline:1px solid var(--color-focus);outline-offset:1px}.coordinate-help{color:#465d72;font:500 7px/1.4 var(--font-mono);letter-spacing:.06em;margin:10px 0 0}.location-dialog footer{display:flex;border-top:1px solid #84b5d324;justify-content:flex-end;gap:8px;margin-top:24px;padding-top:16px}.location-dialog footer button{color:#9cb1c3;font:500 7px/1 var(--font-mono);letter-spacing:.1em;text-transform:uppercase;cursor:pointer;background:0 0;border:1px solid #84b5d333;border-radius:4px;padding:9px 12px}.location-dialog footer .location-save{border-color:color-mix(in srgb,var(--color-solar)45%,transparent);color:#e3b873;background:#2b1d0f7a}.location-dialog button:focus-visible{outline:1px solid var(--color-solar-focus);outline-offset:3px}#app.earth-closeup .orbit-camera-control,.view-control>#level-view[hidden]{display:none}.view-control{grid-column:2;grid-row:1/3;position:relative;display:flex;border-left:1px solid #91b0d629;flex-direction:column;order:3;min-width:0;padding-left:20px}.view-control header,.view-control>div:not(.display-settings){display:flex;color:#566a80;font:500 clamp(7px,.48vw,9px)/1 var(--font-mono);letter-spacing:.1em;text-transform:uppercase;justify-content:space-between;align-items: center}.view-control header{color:#7495ab;align-items: flex-start;margin-bottom:7px}.view-control .view-azimuth-header{border-top:1px solid #91b0d61a;margin-top:12px;padding-top:10px}.view-control-eyebrow{display:block;color:#7190aa;font:500 6px/1 var(--font-mono);letter-spacing:.11em;text-transform:uppercase;margin-bottom:5px}.view-control h2{color:#dceaf5;letter-spacing:-.02em;text-transform:none;margin:0;font-size:clamp(13px,.85vw,17px);font-weight:350}.view-control output{color:#c9dfeb;font-size:clamp(10px,.62vw,12px)}.camera-range{--range-height:14px;--range-margin:8px 0 0;--range-track-height:1px;--range-track:linear-gradient(90deg,#3d5365,#85c9e9);--range-thumb-size:9px;--range-thumb-border:1px solid #daf3ff;--range-thumb-color:#5faed2;--range-thumb-shadow:0 0 8px #5faed2a6}.inspect-earth-toggle{color:#9fc5d9;font:500 9px/1 var(--font-mono);text-transform:uppercase;cursor:pointer;letter-spacing:.06em;background:#0c1f2d73;border:1px solid #64b8e14d;border-radius:5px;min-height:36px;margin-top:0;padding:9px 10px}.inspect-earth-toggle:hover{color:#e3f5ff;border-color:#64b8e1a6}#app.earth-closeup #inspect-earth{border-color:color-mix(in srgb,var(--color-solar)58%,transparent);color:#f0c17d;background:#34231180}.season-guide{position:absolute;z-index:5;border:1px solid color-mix(in srgb,var(--color-solar)28%,transparent);backdrop-filter:blur(22px);top:400px;left:var(--page-gutter);background:#050a12e8;border-radius:9px;width:min(330px,100vw - 48px);padding:14px 16px 13px;box-shadow:0 20px 70px #00000061}.season-guide[hidden]{display:none}.season-guide>header,.season-guide footer{display:flex;justify-content:space-between;align-items: center}.season-guide>header{color:#8d714b;font:500 7px/1 var(--font-mono);letter-spacing:.13em;text-transform:uppercase}.season-guide button{color:#9fb3c5;font:500 7px/1 var(--font-mono);letter-spacing:.09em;text-transform:uppercase;cursor:pointer;background:0 0;border:0}.season-guide button:hover{color:#edf6ff}.season-guide button:focus-visible{outline:1px solid var(--color-solar-focus);outline-offset:3px}#guide-close{color:#6f8395;width:24px;height:24px;padding:0;font-size:17px}.guide-card{touch-action:pan-y;cursor:grab;min-height:128px;padding:9px 0 8px}.guide-card.swiping{cursor:grabbing}.guide-date{color:var(--color-solar);font:500 7px/1 var(--font-mono);letter-spacing:.12em;text-transform:uppercase;margin:0 0 9px}.guide-card h2{color:var(--color-text);letter-spacing:-.035em;margin:0;font-size:24px;font-weight:350}.guide-card>p:last-child{color:#92a3b5;margin:11px 0 0;font-size:12px;font-weight:300;line-height:1.62}.season-guide footer{border-top:1px solid #7e9db824;min-height:24px;padding-top:10px}.guide-progress{display:flex;gap:5px}.guide-progress i{transition:background var(--motion-quick)ease,box-shadow var(--motion-quick)ease;background:#34485b;border-radius:50%;width:4px;height:4px}.guide-progress i.active{background:var(--color-solar);box-shadow:0 0 7px color-mix(in srgb,var(--color-solar)75%,transparent)}.guide-hint{color:#405267;font:500 6px/1 var(--font-mono);letter-spacing:.1em;text-align:center;text-transform:uppercase;margin:9px 0 0}.year-control{position:absolute;z-index:3;width:calc(100% - var(--page-gutter)*2);backdrop-filter:blur(16px)saturate(115%);transition:width var(--motion-panel)ease,padding var(--motion-panel)ease,background var(--motion-panel)ease;left:50%;bottom:var(--page-gutter);background:#060d17d9;border:1px solid #91b0d633;border-radius:12px;padding:16px;transform:translate(-50%);box-shadow:0 24px 80px #00000038,inset 0 1px #ffffff06}.year-control-density{position:absolute;color:#7898ad;font:500 9px/1 var(--font-mono);letter-spacing:.09em;text-transform:uppercase;cursor:pointer;backdrop-filter:blur(12px);background:#050c15ad;border:1px solid #64b8e140;border-radius:5px;min-height:30px;padding:7px 9px;bottom:calc(100% + 7px);right:0}.year-control-density span{display:inline-block;color:var(--color-solar);width:9px;font-size:11px}.year-control-density:hover{color:#c4dbe8;border-color:#64b8e18c}.year-control.compact{backdrop-filter:blur(10px)saturate(110%);background:#050c157a;width:auto;padding:11px 13px}.year-control.compact .year-control-body{display:flex;align-items: center;gap:8px}.year-control.compact .year-timeline,.year-control.compact .control-hint,.year-control.compact .sky-inset,.year-control.compact .sun-info-mobile-slot{display:none}.year-control.compact #compact-time-output{display:inline-block}.year-control.compact .view-control{display:flex;border:0;flex-wrap:wrap;gap:6px;padding:0}.year-control.compact .view-control>*{display:none}.year-control.compact .view-control>.inspect-earth-toggle{display:block;min-height:38px;margin:0}.control-label,.tilt-relation,.year-control output,.timeline-event,.control-hint{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.1em}.control-label{color:var(--color-solar);font-size:clamp(8px,.55vw,11px)}.tilt-relation{color:#6cbde9;border-left:1px solid #91b0d62e;padding-left:14px;font-size:clamp(8px,.5vw,10px)}.year-control-body{display:grid;grid-template-columns:minmax(0,1fr)180px;grid-template-rows:auto auto;align-items:stretch;gap:12px 20px}.timeline-column{grid-column:1;grid-row:1;display:flex;flex-direction:column;order:1;min-width:0}.sun-info-mobile-slot{order:4}.sun-info-mobile-slot:empty{display:none}.timeline-header{display:flex;align-items: center;gap:13px;min-height:20px}.timeline-command-bar{justify-content:space-between;gap:20px}.timeline-column .year-timeline{width:100%;margin:12px 0 0}.date-actions{display:flex;justify-content:flex-end;align-items: center;gap:8px;width:100%}.date-actions #date-output{letter-spacing:.02em;margin-left:auto;font-size:clamp(16px,1.4vw,21px)}.date-actions output{color:var(--color-time);font:400 clamp(18px,1.15vw,23px)/1 var(--font-mono);letter-spacing:.04em;text-align:right;text-shadow:0 0 16px #efb45e38;white-space:nowrap}#compact-time-output{display:none;color:#9edcf5;border-left:1px solid #91b0d62e;padding-left:12px}.date-action-buttons{display:flex;gap:5px}.date-picker-control{position:relative;align-self: center;width:36px;height:36px}.date-picker-control:before{content:"";position:absolute;pointer-events:none;border:1px solid #75b9d8;border-radius:2px;width:16px;height:15px;top:9px;left:10px}.date-picker-control:after{content:"";position:absolute;pointer-events:none;border-top:1px solid #75b9d8;width:16px;top:14px;left:10px}.date-picker-control input{display:block;color:#0000;cursor:pointer;--buncss-light: ;--buncss-dark:initial;color-scheme:dark;background:#11283775;border:1px solid #64b8e152;border-radius:5px;width:100%;height:100%;padding:0}.date-picker-control input::-webkit-datetime-edit{display:none}.date-picker-control input::-webkit-calendar-picker-indicator{opacity:0;cursor:pointer;width:100%;height:100%;margin:0;padding:0}.date-picker-control input:hover{background:#17374ba3;border-color:#64b8e1ad}#go-to-today,#play-year{border:1px solid color-mix(in srgb,var(--color-solar)32%,transparent);color:#d9aa67;font:500 9px/1 var(--font-mono);letter-spacing:.1em;text-transform:uppercase;cursor:pointer;white-space:nowrap;background:#21180e73;border-radius:5px;min-height:36px;padding:7px 10px}#go-to-today:hover,#play-year:hover,#play-year[aria-pressed=true]{border-color:color-mix(in srgb,var(--color-solar)68%,transparent);color:#f0c17d;background:#3423119e}#go-to-today:focus-visible{outline:1px solid var(--color-solar-focus);outline-offset:3px}#play-year:focus-visible{outline:1px solid var(--color-solar-focus);outline-offset:3px}#play-year span{display:inline-block;width:7px}#go-to-today:disabled{color:#4b5d70;cursor:default;background:0 0;border-color:#91b0d61f}.year-timeline{--timeline-fade:linear-gradient(90deg,transparent,#000 2%,#000 98%,transparent);position:relative;overflow:hidden;cursor:grab;touch-action:none;border-top:1px solid #749bb838;border-bottom:1px solid #749bb824;height:48px}.year-timeline.dragging{cursor:grabbing}.year-timeline:focus-visible{outline:1px solid var(--color-solar-focus);outline-offset:3px}.year-timeline:before,.timeline-track{mask-image:var(--timeline-fade)}.year-timeline:before{content:"";position:absolute;z-index:0;background:#719cba70;height:1px;top:15px;left:0;right:0}.timeline-track{position:absolute;pointer-events:none;inset:0}.timeline-event{position:absolute;color:#50667d;white-space:nowrap;font-size:8px;top:28px;translate:-50%}.timeline-event:before{content:"";position:absolute;background:#617f98;width:1px;height:7px;top:-17px;left:50%}.timeline-event.year{color:#91a9bc}.timeline-event.year:before{background:#b8cfdf;height:10px}.timeline-event.season{color:#9c7443;font-size:7px;top:4px}.timeline-event.season:before{background:var(--color-solar);box-shadow:0 0 7px color-mix(in srgb,var(--color-solar)58%,transparent);border-radius:50%;width:5px;height:5px;margin-left:-2px;top:11px}.timeline-now{position:absolute;z-index:2;background:var(--color-timeline-cursor);pointer-events:none;width:1px;top:5px;bottom:4px;left:50%;box-shadow:0 0 10px #eca84dd9}.timeline-now:after{content:"";position:absolute;background:#d79c4e;border:2px solid #fff1d9;border-radius:50%;width:9px;height:9px;top:5px;left:-5px}.control-hint{display:flex;color:#43566d;justify-content:center;gap:22px;margin:9px 0 0;font-size:6px}.control-hint span+span:before{content:"·";color:#6a8095;margin-right:22px}.display-settings-toggle{display:grid;grid-template-columns:1fr auto auto;color:#a7bdcd;font:500 9px/1 var(--font-mono);text-align:left;text-transform:uppercase;cursor:pointer;letter-spacing:.04em;background:0 0;border:0;border-top:1px solid #91b0d621;align-items: center;gap:8px;width:100%;min-height:38px;margin-top:14px;padding:0 2px 0 0}.display-settings-toggle i{display:inline-block;border-top:1px solid #72b8d9;border-bottom:1px solid #72b8d9;width:12px;height:8px;margin-right:7px}.display-settings-toggle i:after{content:"";display:block;border-top:1px solid #72b8d9;width:8px;margin:3px 0 0 2px}.display-settings-summary{display:none}.display-settings-toggle b{color:var(--color-solar);transition:rotate var(--motion-fast)ease;font-size:15px;font-weight:300}.display-settings-toggle[aria-expanded=true] b{rotate:45deg}.display-settings-toggle:hover{color:#e2edf5}.display-settings{position:absolute;backdrop-filter:blur(24px);background:#050b14f0;border:1px solid #84b5d33d;border-radius:10px;width:min(340px,30vw);padding:18px;bottom:calc(100% + 22px);right:-1px;box-shadow:0 24px 70px #0000008c}.display-settings[hidden]{display:none}.display-settings-heading{display:grid;color:var(--color-solar);font:500 10px/1 var(--font-mono);letter-spacing:.11em;text-transform:uppercase;border-bottom:1px solid #91b0d621;gap:5px;padding-bottom:12px}.display-settings-heading small{color:#536b80;text-transform:none;letter-spacing:0;font-size:10px;line-height:1.6}.earth-size-toggle{display:flex;color:#7790a6;cursor:pointer;border-top:1px solid #91b0d621;justify-content:space-between;align-items: center;gap:10px;min-height:38px;margin-top:12px;padding-top:10px}.earth-size-toggle>span{display:grid;gap:3px}.earth-size-toggle strong,.earth-size-toggle small{font:500 6px/1 var(--font-mono);letter-spacing:.09em;text-transform:uppercase}.earth-size-toggle strong{color:#a7bdcd;font-size:10px}.earth-size-toggle small{color:#50677b;letter-spacing:.02em;text-transform:none;font-size:9px;line-height:1.5}.earth-size-toggle input{position:absolute;opacity:0;width:1px;height:1px}.earth-size-toggle i{position:relative;transition:border-color var(--motion-fast)ease,background var(--motion-fast)ease;background:#122331b8;border:1px solid #7aa8c759;border-radius:10px;flex:none;width:28px;height:15px}.earth-size-toggle i:after{content:"";position:absolute;transition:translate var(--motion-panel)ease,background var(--motion-fast)ease,box-shadow var(--motion-fast)ease;background:#7794aa;border-radius:50%;width:7px;height:7px;top:3px;left:3px}.earth-size-toggle input:checked+i{border-color:color-mix(in srgb,var(--color-solar)62%,transparent);background:#432b12ad}.earth-size-toggle input:checked+i:after{box-shadow:0 0 7px color-mix(in srgb,var(--color-solar)62%,transparent);background:#efb967;translate:13px}.earth-size-toggle input:focus-visible+i{outline:1px solid var(--color-solar-focus);outline-offset:3px}.moon-toggle{margin-top:7px;padding-top:7px}#moon-phase-output{color:#8297aa;transition:color var(--motion-fast)ease}.moon-toggle:hover #moon-phase-output{color:#b5c8d7}.helper-lines-toggle{margin-top:7px;padding-top:7px}.sun-time-control{border-top:1px solid var(--panel-divider);order:-1;margin:5px 0 0;padding-top:12px}.time-control header{display:flex;justify-content:space-between;align-items: start;margin:0 0 2px}.time-control header>span{display:grid;gap:3px}.time-control strong,.time-control small{font:500 6px/1 var(--font-mono);letter-spacing:.09em;text-transform:uppercase}.time-control strong{color:#a7bdcd;letter-spacing:.08em;font-size:9px}.time-control small{color:#50677b}.time-control output{color:#d9aa67;letter-spacing:.03em;text-transform:none;font-size:7px}#time-offset{--timeline-fade:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent);position:relative;display:block;overflow:hidden;cursor:grab;touch-action:none;width:100%;height:49px;margin-top:6px}#time-offset.dragging{cursor:grabbing}#time-offset:focus-visible{outline:1px solid var(--color-solar-focus);outline-offset:3px}#time-offset:before,.time-timeline-track{mask-image:var(--timeline-fade)}#time-offset:before{content:"";position:absolute;background:linear-gradient(90deg,#344c63,#a78a5e 50%,#344c63);height:1px;top:21px;left:0;right:0}.time-timeline-track{position:absolute;pointer-events:none;inset:0}.time-tick{position:absolute;color:#829aaf;font:500 8px/1 var(--font-mono);letter-spacing:.04em;white-space:nowrap;top:33px;translate:-50%}.time-tick:before{content:"";position:absolute;background:#3c5368;width:1px;height:4px;top:-14px;left:50%}.time-tick.major:before{background:#71899c;height:8px;top:-16px}.time-tick.midnight{color:#c5d6e3}.time-tick.midnight:before{background:#9ab5cc}.time-tick b{position:absolute;color:#a2bdd0;font:500 6px/1 var(--font-mono);text-transform:uppercase;letter-spacing:.08em;bottom:25px;left:50%;translate:-50%}#time-offset .timeline-now{top:11px;bottom:15px}#time-offset .timeline-now:after{top:5px}.sun-time-control header>span:first-child{gap:5px}.sun-time-control small{color:#70899e}#level-view{margin-top:8px}.time-wheel{display:none}.year-control.compact .time-wheel{display:grid;grid-template-columns:auto minmax(0,1fr);border-top:1px solid #91b0d629;align-items: center;gap:8px;width:100%;margin-top:9px;padding-top:8px}.year-control.compact .timeline-column{min-width:300px}.time-wheel-toolbar{display:flex;justify-content:space-between;align-items: center;gap:12px}.time-wheel-modes{display:flex;gap:2px}.time-wheel-modes button{color:#8ca6ba;font:500 10px/1 var(--font-mono);cursor:pointer;background:0 0;border:0;border-radius:5px;min-width:54px;min-height:44px;padding:0 8px}.time-wheel-modes button[aria-pressed=true]{color:#ffd194;background:color-mix(in srgb,var(--color-solar)10%,transparent)}.time-wheel-hint{display:none}.time-wheel-slider{position:relative;overflow:hidden;cursor:grab;touch-action:none;user-select:none;background:#0c1d2b8c;border-radius:5px;height:44px}.time-wheel-slider.dragging{cursor:grabbing}.time-wheel-track{position:absolute;pointer-events:none;mask-image:linear-gradient(90deg,#0000,#000 8% 92%,#0000);inset:0}.time-wheel-tick{position:absolute;color:#92b3c9;font:400 9px/1 var(--font-mono);white-space:nowrap;top:24px;transform:translate(-50%)}.time-wheel-tick:before{content:"";position:absolute;border-left:1px solid #536f84;height:7px;top:-16px;left:50%}.time-wheel-tick.major:before{border-color:#9ab9ce;height:11px}.time-wheel-cursor{position:absolute;border-left:1px solid var(--color-timeline-cursor);pointer-events:none;top:0;bottom:0;left:50%}.time-wheel-cursor:before{content:"";position:absolute;border:4px solid #0000;border-top-color:var(--color-timeline-cursor);top:0;left:-4px}.time-wheel-modes button:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.time-wheel-slider:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}@media (min-width:760.001px){.sun-info-panel{position:fixed;z-index:3;inset:118px var(--page-gutter)auto auto;overflow-y:auto}}@media (min-width:1000px){.sun-info-panel{bottom:var(--page-gutter);width:var(--panel-width);max-height:calc(100dvh - 118px - var(--page-gutter));scrollbar-width:thin;backdrop-filter:blur(22px)saturate(120%);box-shadow:0 22px 70px #00000057,inset 0 1px #ffffff06}.year-control:not(.compact){left:var(--page-gutter);width:calc(100% - var(--panel-width) - var(--panel-gap) - var(--page-gutter)*2);transform:none}.no-observer-location .year-control:not(.compact){width:calc(100% - var(--page-gutter)*2)}}@media (min-width:760.001px) and (max-width:1000px){.intro{width:300px}.view-control{border-color:var(--panel-divider)}.sun-info-panel{backdrop-filter:blur(22px);width:310px;max-height:calc(100dvh - 398px)}}@media (min-width:1000px) and (max-height:850px){.sun-info-panel{padding:18px}.sun-height-summary{margin-top:14px}.sun-info-panel .sun-height-value output{font-size:36px}.sun-chart{margin-top:16px}.orbit-position-summary{margin-top:16px;padding-top:14px}}@media (max-width:760px){:root{--page-gutter:16px}.intro-flight-skip{top:20px;right:20px}.intro-flight-start{padding:24px 20px}.replay-label{display:none}#soundtrack-label{position:absolute;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;width:1px;height:1px}.location-trigger-label,.location-trigger>span:last-child,.intro>p:not(.eyebrow),.key{display:none}.year-control-body{position:relative;display:flex;flex-direction:column;padding-top:0}.timeline-command-bar{align-items: flex-start}.sky-inset{justify-content:space-between}.sky-inset header,.sun-info-panel header{align-items: center;width:100%}.sun-height-summary{margin-top:12px}.sun-chart{margin-top:14px}.orbit-position-summary{margin-top:14px;padding-top:12px}.year-control:not(.compact){display:flex;flex-direction:column;max-height:72dvh}.year-control:not(.compact) .year-control-body{overflow-y:auto;overscroll-behavior:contain;min-height:0}.year-control-body :-webkit-any(.year-timeline,#time-offset):focus-visible{outline-offset:-2px}.year-control-body :-moz-any(.year-timeline,#time-offset):focus-visible{outline-offset:-2px}.year-control-body :is(.year-timeline,#time-offset):focus-visible{outline-offset:-2px}.year-control:not(.compact) .scale-disclaimer{position:static;width:auto;margin-bottom:10px;translate:none}.sun-info-mobile-slot{order:3}.sky-inset output{font-size:17px}.sun-events{margin-top:10px}.guide-card{min-height:116px}.tilt-relation{display:none}.year-timeline{height:46px}.control-hint{gap:10px}.control-hint span+span:before{margin-right:10px}.control-hint span:last-child{display:none}.location-dialog form{padding:18px}.location-dialog fieldset{grid-template-columns:1fr}.page-header{top:16px}.home-link{display:flex;letter-spacing:.12em;align-items: center;min-height:44px;font-size:9px}.header-actions{gap:6px;min-width:0;margin-left:12px}.header-actions>button{min-height:44px}.soundtrack-toggle,.intro-flight-replay{flex:0 0 44px;justify-content:center;min-width:0;padding:0}.location-trigger{grid-template-columns:minmax(0,1fr);align-items: center;min-width:0;max-width:150px;padding:0 8px}#location-output{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:8px}.intro{width:calc(100% - var(--page-gutter)*2);top:88px}.eyebrow{margin-bottom:12px;font-size:8px}h1{font-size:clamp(36px,9vw,48px)}.guide-trigger{margin-top:14px;font-size:8px}.guide-trigger,.year-control-density,.inspect-earth-toggle,.display-settings-toggle{min-height:44px}.scale-disclaimer{bottom:calc(100% + 60px)}.year-control,.year-control.compact{bottom:max(14px,env(safe-area-inset-bottom));width:calc(100% - var(--page-gutter)*2);padding:12px}.year-control.compact .year-control-body{flex-wrap:wrap;gap:10px}.year-control.compact .timeline-column{width:100%}.year-control.compact .view-control{flex-direction:row;width:100%}.year-control.compact .view-control>.inspect-earth-toggle{flex:1;min-height:44px}.year-control.compact #level-view{margin:0}.year-control.compact #compact-time-output{letter-spacing:.02em;padding-left:5px;font-size:14px}.date-actions{gap:6px}.date-actions #date-output{font-size:15px}#go-to-today,#play-year{min-width:44px;min-height:44px;padding-inline-start:7px;padding-inline-end:7px;font-size:8px}.year-control.compact #play-year{min-width:68px}.date-picker-control{width:44px;height:44px}.date-picker-control:before{top:13px;left:14px}.date-picker-control:after{top:18px;left:14px}.year-control.compact .date-picker-control{display:none}.sun-info-panel{padding:16px}.sun-info-panel .sun-height-value output{font-size:36px}.view-control{border-top:1px solid var(--panel-divider);border-left:0;order:4;margin-top:8px;padding:12px 0 0}.season-guide{inset:auto var(--page-gutter)180px;width:auto}.display-settings{position:static;width:100%;margin-top:8px}.year-control.compact .timeline-column{min-width:0}.year-control.compact .date-actions{justify-content:space-between;gap:5px}}@media (max-width:370px){.home-link{font-size:8px}.header-actions{gap:4px}#location-output{font-size:7px}.year-control.compact #compact-time-output{font-size:12px}.date-actions #date-output{font-size:13px}}@media (prefers-reduced-motion:reduce){.soundtrack-toggle[aria-pressed=true] .soundtrack-wave i{animation:none}.soundtrack-toggle[aria-pressed=true] .soundtrack-wave i:nth-child(2){height:10px}}}
