@import "https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Manrope:wght@400;500;600;700&display=swap";:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:var(--text-primary);background:var(--bg-canvas);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--bg-canvas:#080b0f;--bg-canvas-glow:#352713;--bg-panel:#0c1015;--bg-panel-raised:#14191f;--bg-control:#11171e;--bg-control-deep:#090d12;--bg-tooltip:#070a0ef0;--bg-overlay:#030508c7;--bg-selection:#18160f;--bg-solar-soft:#2a2418;--bg-live-soft:#13241d;--bg-below-soft:#18202a;--text-primary:#e9edf2;--text-secondary:#aeb6c0;--text-muted:#7f8995;--text-technical:#89939e;--text-subdued:#687480;--text-on-solar:#17130a;--text-on-danger:#ffd8d0;--border-default:#2b3139;--border-strong:#3b444f;--border-control:#343b45;--border-accent:#66552c;--solar-primary:#ffcf62;--solar-secondary:#ffda7a;--solar-emphasis:#fff0b0;--solar-soft:#ffb84d;--positive:#7ed9aa;--negative:#ff8c74;--warning:#ff9b87;--danger-bg:#57271f;--danger-border:#874337;--graph-grid-major:#303944;--graph-grid-minor:#252c34;--graph-axis:#697480;--graph-horizon:#5a626d;--graph-label:#b6c0ca;--selection:#f5f7f9;--focus-ring:#ffcf62;--tooltip-text:#e2e7ec;--tooltip-border:#46515d;--series-solar:#ffcf62;--series-summer:#7ed9aa;--series-winter:#91b9e8;--series-coral:#ff8c74;--series-sunrise:#ffb45e;--series-noon:#fff0a5;--series-sunset:#ff7b54;--series-maximum:#ffe27a;--shadow-panel:0 18px 50px #0000002e;--shadow-overlay:0 20px 60px #0000008c;--shadow-dock:0 14px 42px #0000008c;font-family:Manrope,system-ui,sans-serif}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg-canvas:#f4f2ed;--bg-canvas-glow:#ede0c9;--bg-panel:#faf9f5;--bg-panel-raised:#fffefa;--bg-control:#fcfaf5;--bg-control-deep:#f2efe8;--bg-tooltip:#232629f5;--bg-overlay:#25211b7a;--bg-selection:#fff3d2;--bg-solar-soft:#fff0c6;--bg-live-soft:#e8f5ed;--bg-below-soft:#e8eef3;--text-primary:#20262c;--text-secondary:#46515a;--text-muted:#56616a;--text-technical:#4f5b64;--text-subdued:#68727b;--text-on-solar:#fffefa;--text-on-danger:#fff7f4;--border-default:#c8c2b8;--border-strong:#a39b90;--border-control:#b4ada3;--border-accent:#9d711f;--solar-primary:#ad5800;--solar-secondary:#955000;--solar-emphasis:#784600;--solar-soft:#cf6900;--positive:#187448;--negative:#b63e2f;--warning:#a83224;--danger-bg:#a83224;--danger-border:#7d241a;--graph-grid-major:#b9b0a3;--graph-grid-minor:#ddd5c9;--graph-axis:#606b74;--graph-horizon:#7f776d;--graph-label:#38434c;--selection:#27313a;--focus-ring:#8b5c00;--tooltip-text:#f8f4ec;--tooltip-border:#5f666b;--series-solar:#a96300;--series-summer:#167348;--series-winter:#286aa5;--series-coral:#b63e2f;--series-sunrise:#ad5700;--series-noon:#806000;--series-sunset:#bb3f29;--series-maximum:#9a6700;--shadow-panel:0 14px 34px #392e1d17;--shadow-overlay:0 20px 55px #392e1d38;--shadow-dock:0 12px 34px #392e1d33}*{box-sizing:border-box}body{background:radial-gradient(circle at 75% -10%, var(--bg-canvas-glow) 0, transparent 30rem), var(--bg-canvas);min-width:320px;min-height:100vh;margin:0}button,input,select{font:inherit}::selection{color:var(--text-on-solar);background:var(--solar-primary)}#root{min-height:100vh}.dashboard{--app-canvas-max:1760px;--app-outer-gutter:clamp(18px, 4vw, 64px);width:min(var(--app-canvas-max), 100%);padding:38px var(--app-outer-gutter) 28px;margin:0 auto}.masthead{border-bottom:1px solid #2b3037;justify-content:space-between;align-items:flex-end;gap:24px;padding-bottom:28px;display:flex}.eyebrow,.section-kicker,.date-control span,.local-clock span,footer{color:#7f8995;letter-spacing:.14em;text-transform:uppercase;font-family:DM Mono,monospace;font-size:.68rem}.sun-pulse{background:#ffcf62;border-radius:50%;width:7px;height:7px;margin-right:8px;display:inline-block;box-shadow:0 0 18px #ffb33f}h1{letter-spacing:-.07em;margin:8px 0 0;font-size:clamp(2.5rem,6vw,5.8rem);font-weight:600;line-height:.92}h2{letter-spacing:-.02em;margin:5px 0 0;font-size:1.1rem}.date-control{gap:8px;display:grid}.date-control input{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:#f4f1e8;background:#11161c;border:1px solid #343b45;border-radius:3px;padding:11px 13px;font-family:DM Mono,monospace}.location-bar{justify-content:space-between;gap:28px;padding:22px 0;display:flex}.location-bar>div{flex-wrap:wrap;align-items:baseline;gap:10px 18px;display:flex}.location-bar strong{font-size:1rem}.location-bar>div>span:last-child{color:#838d98;font-size:.8rem}.local-clock{text-align:right;justify-content:flex-end}.local-clock strong{color:#ffda7a;font-family:DM Mono,monospace;font-size:1.15rem}.station-details,.location-selector{position:relative}.location-trigger{color:#f0eee6;cursor:pointer;background:#10151b;border:1px solid #343b45;border-radius:3px;align-items:center;gap:9px;min-height:40px;padding:7px 10px;display:flex}.location-trigger span{font-weight:600}.location-trigger i{color:#ffcf62;font-size:.7rem;font-style:normal}.location-menu{z-index:20;background:#0b0f14fa;border:1px solid #3a424c;border-radius:4px;width:min(390px,100vw - 36px);padding:14px;position:absolute;top:calc(100% + 7px);left:0;box-shadow:0 20px 60px #0000008c}.saved-locations{gap:5px;margin:10px 0;display:grid}.saved-location{border:1px solid #282f37;border-radius:3px;grid-template-columns:minmax(0,1fr) auto auto;align-items:stretch;display:grid;overflow:hidden}.saved-location.active{background:#18160f;border-color:#66552c}.saved-location>button{color:#aeb6c0;cursor:pointer;background:0 0;border:0;min-height:48px}.saved-location>button:first-child{text-align:left;align-items:center;gap:10px;min-width:0;padding:8px 10px;display:flex}.saved-location>button:first-child>i{border:1px solid #68737e;border-radius:50%;flex:none;width:7px;height:7px}.saved-location>button span{gap:3px;min-width:0;display:grid}.saved-location>button strong{text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;overflow:hidden}.saved-location>button small{color:#727d89;text-overflow:ellipsis;white-space:nowrap;font:.64rem DM Mono,monospace;overflow:hidden}.saved-location .manage-location{border-left:1px solid #282f37;padding:0 8px;font:.63rem DM Mono,monospace}.saved-location .manage-location.delete:hover,.saved-location .manage-location.delete:focus-visible{color:#ff9b87}.add-location{color:#ffda7a;cursor:pointer;background:#17150e;border:1px solid #554725;border-radius:3px;width:100%;min-height:43px;font:.67rem DM Mono,monospace}.location-dialog{color:#e9edf2;background:linear-gradient(145deg,#151a20,#0c1015);border:1px solid #3b444f;border-radius:5px;width:min(590px,100vw - 28px);max-height:calc(100dvh - 28px);padding:0;overflow:auto;box-shadow:0 30px 100px #000000b8}.location-dialog::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#030508c7}.location-dialog form,.confirm-dialog{padding:clamp(20px,4vw,30px)}.dialog-heading{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:24px;display:flex}.dialog-close{color:#9aa4af;cursor:pointer;background:0 0;border:1px solid #343c46;border-radius:3px;width:42px;height:42px;font-size:1.4rem}.location-form-grid{grid-template-columns:1fr 1fr;gap:17px 14px;display:grid}.location-field{align-content:start;gap:7px;display:grid}.location-field:first-child,.location-field:nth-child(4){grid-column:1/-1}.location-field>span{color:#909aa5;letter-spacing:.08em;text-transform:uppercase;font:.65rem DM Mono,monospace}.location-field input{color:#edf0f3;background:#090d12;border:1px solid #343c46;border-radius:3px;width:100%;min-height:44px;padding:10px 11px;font:.76rem DM Mono,monospace}.location-field input:focus{border-color:#867039;outline:1px solid #867039}.location-field small{color:#ff9b87;font:.65rem/1.35 DM Mono,monospace}.location-field em{color:#687480;font:.63rem/1.4 DM Mono,monospace}.dialog-actions{background:linear-gradient(#0000,#0d1218 30%);justify-content:flex-end;gap:8px;margin:26px -4px -4px;padding:10px 4px 4px;display:flex;position:sticky;bottom:0}.dialog-actions button{color:#abb4be;cursor:pointer;background:#11171e;border:1px solid #343c46;border-radius:3px;min-height:43px;padding:9px 15px;font:.66rem DM Mono,monospace}.dialog-actions .primary-action{color:#17130a;background:#ffcf62;border-color:#ffcf62;font-weight:700}.confirm-dialog p{color:#9aa4af;font-size:.82rem;line-height:1.6}.panel{background:linear-gradient(145deg,#14191ff7,#0c1015f7);border:1px solid #2b3139;border-radius:5px;box-shadow:0 18px 50px #0000002e}.current-grid{grid-template-columns:minmax(0,2fr) minmax(280px,1fr);gap:14px;display:grid}.current-sun,.statistics,.events-panel,.tempo-panel{padding:clamp(20px,3vw,32px)}.panel-heading{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:28px;display:flex}.status{color:#ffda7a;letter-spacing:.08em;text-transform:uppercase;background:#2a2418;border:1px solid #4c4330;border-radius:100px;padding:6px 9px;font:500 .66rem DM Mono,monospace}.hero-reading{border-bottom:1px solid #2b3139;grid-template-columns:1fr 1fr;gap:30px;padding-bottom:26px;display:grid}.hero-reading>div{display:grid;position:relative}.hero-reading span,.rate-grid span{color:#818b96;text-transform:uppercase;letter-spacing:.1em;font-size:.72rem}.hero-reading strong{letter-spacing:-.08em;margin-top:4px;font:500 clamp(2.5rem,6vw,5.2rem)/1 DM Mono,monospace}.hero-reading small{color:#ffcf62;font:500 .85rem DM Mono,monospace;position:absolute;bottom:8px;right:4px}.rate-grid{grid-template-columns:repeat(4,1fr);gap:12px;padding-top:22px;display:grid}.rate-grid>div{gap:7px;display:grid}.rate-grid strong{font:500 .87rem DM Mono,monospace}.statistics dl{margin:0;display:grid}.statistics dl>div{border-bottom:1px solid #2a3037;justify-content:space-between;align-items:baseline;gap:20px;padding:16px 0;display:flex}.statistics dl>div:last-child{border:0}dt{color:#87919c;font-size:.76rem}dd{margin:0;font:500 1rem DM Mono,monospace}.chart-panel{margin-top:14px;padding:clamp(20px,3vw,32px) clamp(10px,2vw,24px) 16px}.chart-panel .panel-heading{margin-bottom:5px;padding:0 8px}.date-caption,.tempo-unit{color:#7e8893;font:.72rem DM Mono,monospace}.chart-scroll{min-width:0}.altitude-chart{touch-action:pan-y;width:100%;display:block}.grid-line{stroke:#252c34;stroke-width:1px}.grid-line.vertical{stroke-dasharray:2 7}.horizon-line{stroke:#5a626d;stroke-width:1.5px}.axis-label,.marker-label,.now-label{fill:#697480;font:11px DM Mono,monospace}.altitude-line-glow{fill:none;stroke:#ffb84d;opacity:.18;stroke-width:10px}.altitude-line{fill:none;stroke:url(#sun-line);stroke-width:2.5px;vector-effect:non-scaling-stroke}.event-marker{stroke-width:1px;stroke-dasharray:4 5;opacity:.75}.marker-label{text-transform:uppercase;font-size:10px}.now-marker{stroke:#f5f7f9;stroke-width:1px;opacity:.7}.now-dot{fill:#fff;stroke:#ffb64e;stroke-width:3px}.lower-grid{grid-template-columns:minmax(270px,.75fr) minmax(0,1.75fr);gap:14px;margin-top:14px;display:grid}.events-list{display:grid}.events-list>div{border-bottom:1px solid #282e35;justify-content:space-between;align-items:baseline;gap:12px;padding:10px 0;display:flex}.events-list>div:last-child{border:0}.events-list span{color:#87919c;font-size:.76rem}.events-list strong{font:500 .82rem DM Mono,monospace}.data-target{min-height:42px;color:var(--text-primary);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:3px;margin:-8px;padding:8px;font:500 .82rem DM Mono,monospace}.data-target:hover,.data-target:focus-visible{color:var(--solar-secondary);background:var(--bg-solar-soft);border-color:var(--border-accent)}.data-target.selected{color:var(--solar-emphasis);background:var(--bg-selection);border-color:var(--border-accent)}.events-list .solar-noon-row{color:#ffda7a}.table-wrap{overflow-x:auto}table{border-collapse:collapse;white-space:nowrap;width:100%;font:.76rem DM Mono,monospace}th{color:#77828e;text-align:right;text-transform:uppercase;letter-spacing:.08em;padding:0 10px 12px;font-size:.63rem;font-weight:400}th:first-child,td:first-child{text-align:left}td{text-align:right;border-top:1px solid #282e35;padding:10px}footer{text-align:center;padding-top:26px;font-size:.62rem}@media (width<=900px){.current-grid,.lower-grid{grid-template-columns:1fr}.rate-grid{grid-template-columns:1fr 1fr}}@media (width<=620px){.dashboard{padding-top:22px}.masthead,.location-bar{flex-direction:column;align-items:stretch}.date-control input{width:100%}.local-clock{text-align:left;justify-content:flex-start}.hero-reading{gap:16px}.hero-reading strong{font-size:clamp(2.15rem,11vw,3.5rem)}.hero-reading small{margin-top:7px;position:static}.current-sun,.statistics,.events-panel,.tempo-panel{padding:20px}.station-details{align-items:flex-start!important}.location-selector{width:100%}.location-trigger{justify-content:space-between;width:100%}.location-form-grid{grid-template-columns:1fr}.location-field:first-child,.location-field:nth-child(4){grid-column:auto}.saved-location{grid-template-columns:minmax(0,1fr) auto}.saved-location .manage-location.delete{border-top:1px solid #282f37;grid-column:2}}.mode-nav{border-bottom:1px solid #2b3037;gap:4px;padding:14px 0 0;display:flex}.mode-nav button{appearance:none;color:#7f8995;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;padding:11px 18px;font:500 .7rem DM Mono,monospace}.mode-view{animation:.25s ease-out view-in}@keyframes view-in{0%{opacity:.5;transform:translateY(5px)}}.seasonal-readout{background:#2b3139;border:1px solid #2b3139;grid-template-columns:repeat(7,minmax(130px,1fr));gap:1px;margin:14px 0;display:grid;overflow-x:auto}.seasonal-readout>div{background:#0f141a;gap:6px;min-width:135px;padding:16px;display:grid}.seasonal-readout span,.summary-days span,.season-grid span{color:#7f8995;letter-spacing:.06em;text-transform:uppercase;font-size:.67rem}.seasonal-readout strong{font:500 .9rem DM Mono,monospace}.seasonal-readout small{color:#66717d;font:.68rem DM Mono,monospace}.today-seasonal{grid-template-columns:repeat(6,minmax(150px,1fr))}.milestones-panel{padding:clamp(20px,3vw,32px)}.milestone-live{border-block:1px solid #2a3037;justify-content:space-between;gap:20px;margin:-10px 0 18px;padding:12px 0;display:flex}.milestone-live span{color:#7f8995;font-size:.73rem}.milestone-live strong{color:#ffda7a;font:.76rem DM Mono,monospace}.hourly-panel{margin-top:14px;padding:clamp(20px,3vw,32px)}.year-hero{justify-content:space-between;align-items:end;gap:30px;padding:22px 0;display:flex}.year-hero h2{color:#ffda7a;font:500 clamp(2.4rem,5vw,4.8rem)/1 DM Mono,monospace}.year-tempo-copy{text-align:right;gap:7px;max-width:600px;display:grid}.year-tempo-copy strong{font-size:clamp(1rem,2vw,1.35rem)}.year-tempo-copy span{color:#89939e;font-size:.85rem}.annual-summary{grid-template-columns:.9fr 1.4fr;gap:36px;padding:clamp(20px,3vw,32px);display:grid}.summary-days,.season-grid{background:#282e35;gap:1px;display:grid}.summary-days>div,.season-grid>div{background:#10151b;justify-content:space-between;align-items:baseline;gap:20px;padding:13px;display:flex}.summary-days strong,.season-grid strong{font:500 .8rem DM Mono,monospace}.season-grid{grid-template-columns:1fr 1fr}.season-grid .data-target{white-space:nowrap}.annual-panel{min-width:0;margin-top:14px;padding:clamp(18px,2vw,28px) clamp(8px,1.5vw,20px) 12px}.annual-panel .panel-heading{margin-bottom:2px;padding:0 8px}.annual-pair{grid-template-columns:1fr;gap:14px;display:grid}.annual-chart-wrap{min-width:0;position:relative}.annual-chart{touch-action:pan-y;width:100%;display:block}.annual-chart:focus-visible{outline-offset:-3px;outline:2px solid #ffcf62}.annual-line{fill:none;stroke-width:2.25px;vector-effect:non-scaling-stroke}.annual-zero-line{stroke:#727c87;stroke-width:1.4px}.season-marker{stroke-width:1px;stroke-dasharray:3 5;opacity:.65}.season-label{font:10px DM Mono,monospace}.selected-date-marker{stroke:#fff;stroke-width:1px;opacity:.55}.dst-connector{stroke-width:1.5px;stroke-dasharray:3 3}.annual-tooltip text{fill:#d9dee5;font:10px DM Mono,monospace}.chart-legend{color:#89939e;flex-wrap:wrap;gap:18px;padding:4px 12px 8px;font:.68rem DM Mono,monospace;display:flex}.chart-legend span{align-items:center;gap:7px;display:flex}.chart-legend i,.series-dot{border-radius:50%;width:8px;height:8px;display:inline-block}.chart-note{color:#7e8893;font:.68rem DM Mono,monospace}.method-note{color:#707b86;margin:12px 4px 0;font:.68rem/1.55 DM Mono,monospace}.year-explorer{gap:16px;margin-bottom:14px;padding:20px clamp(20px,3vw,32px);display:grid}.year-explorer-readout,.year-explorer-context{justify-content:space-between;align-items:center;gap:18px;display:flex}.year-explorer-readout>strong{color:#fff0b0;font:500 clamp(1.2rem,2.5vw,1.8rem) DM Mono,monospace}.year-explorer input[type=range],.dock-slider input[type=range]{accent-color:#ffcf62;cursor:ew-resize;width:100%;min-height:28px;margin:0}.year-explorer input[type=range]:focus-visible,.dock-slider input[type=range]:focus-visible{outline-offset:3px;border-radius:3px;outline:2px solid #ffcf62}.year-explorer-context{color:#89939e;font:.68rem DM Mono,monospace}.inspect-day-action{color:#17130a;letter-spacing:.05em;cursor:pointer;background:#ffcf62;border:1px solid #ffcf62;border-radius:3px;min-height:42px;padding:8px 14px;font:700 .66rem DM Mono,monospace}.compare-controls{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:20px 0 6px;display:grid}.compare-date{background:#10151b;border:1px solid;border-radius:4px;grid-template-columns:1fr auto;gap:8px;padding:13px;display:grid}.compare-date span{color:#89939e;letter-spacing:.08em;text-transform:uppercase;grid-column:1/-1;font:.68rem DM Mono,monospace}.compare-date input,.compare-date select{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:#e9edf2;background:#0b0f14;border:1px solid #343b45;border-radius:3px;min-width:0;padding:8px;font:.7rem DM Mono,monospace}.compare-date select{grid-column:1/-1}.compare-date button,.add-date{color:#9ca6b1;cursor:pointer;background:0 0;border:1px solid #343b45;border-radius:3px;font:.68rem DM Mono,monospace}.compare-date button{min-height:38px}.compare-date .inspect-compare{color:#ffda7a;border-color:#66552c}.add-date{min-height:96px}.compare-panel{margin-top:8px}.compare-chart{width:100%;display:block}.compare-line{fill:none;stroke-width:2.2px;vector-effect:non-scaling-stroke;opacity:.92}.comparison-table{margin-top:14px;padding:clamp(20px,3vw,32px)}.comparison-table .series-dot{margin-right:8px}@media (width<=1100px){.seasonal-readout{grid-template-columns:repeat(7,160px)}.today-seasonal{grid-template-columns:repeat(6,170px)}}@media (width<=900px){.annual-summary{grid-template-columns:1fr}}@media (width<=620px){.mode-nav button{flex:1;padding-inline:8px}.year-hero{flex-direction:column;align-items:start}.year-tempo-copy{text-align:left}.season-grid{grid-template-columns:1fr}.milestone-live{flex-direction:column;align-items:flex-start}}.time-explorer{margin-bottom:14px;padding:clamp(20px,3vw,32px);overflow:hidden}.time-explorer .panel-heading{margin-bottom:12px}.mode-badge{color:#a8b5c4;letter-spacing:.1em;border:1px solid #405064;border-radius:100px;align-items:center;gap:7px;padding:6px 10px;font:600 .68rem DM Mono,monospace;display:flex}.mode-badge span{background:currentColor;border-radius:50%;width:6px;height:6px}.mode-badge.live{color:#7ed9aa;background:#13241d;border-color:#315b48}.mode-badge.live span{box-shadow:0 0 10px}.mode-badge.inspect{color:#ffcf62;background:#292116;border-color:#5d4e2b}.explorer-time{flex-wrap:wrap;justify-content:center;align-items:baseline;gap:8px 14px;margin-bottom:40px;display:flex}.explorer-time strong{color:#fff0b0;letter-spacing:-.05em;font:500 clamp(1.7rem,4vw,3.2rem)/1 DM Mono,monospace}.explorer-time span,.inspection-datetime{color:#7e8995;font:.68rem DM Mono,monospace}.timeline-shell{padding-top:28px;position:relative}.timeline-shell input[type=range]{accent-color:#ffcf62;cursor:ew-resize;width:100%;height:28px;margin:0}.timeline-shell input[type=range]:focus-visible{outline-offset:4px;border-radius:4px;outline:2px solid #ffcf62}.timeline-markers{height:36px;position:absolute;inset:0 10px auto}.timeline-event{background:#67717d;width:1px;height:24px;position:absolute;top:8px}.timeline-event i{background:#ffb958;border-radius:50%;width:5px;height:5px;margin-left:-2px;display:block}.timeline-event em{color:#7e8995;white-space:nowrap;font:.61rem DM Mono,monospace;position:absolute;bottom:22px;left:4px;transform:translate(-50%)}.timeline-event:first-child em{transform:none}.timeline-event:last-child em{transform:translate(-100%)}.timeline-endpoints{color:#687480;justify-content:space-between;font:.65rem DM Mono,monospace;display:flex}.time-step-controls{grid-template-columns:repeat(5,minmax(88px,1fr));gap:7px;margin-top:20px;display:grid}.time-step-controls button{color:#aab3bd;cursor:pointer;background:#11171e;border:1px solid #343c46;border-radius:3px;min-height:42px;padding:8px;font:.67rem DM Mono,monospace}.time-step-controls .now-control{color:#17130a;letter-spacing:.1em;background:#ffcf62;border-color:#ffcf62;font-weight:700}.inspection-datetime{margin-top:7px;display:block}.explorer-dock{z-index:15;top:calc(8px + env(safe-area-inset-top,0px));width:min(calc(var(--app-canvas-max) - var(--app-outer-gutter) - var(--app-outer-gutter)), calc(100vw - var(--app-outer-gutter) - var(--app-outer-gutter)));color:#dce1e6;background:linear-gradient(100deg,#0d1218fa,#191710fa);border:1px solid #51462d;border-top-color:#79683b;border-radius:4px;grid-template-columns:minmax(190px,auto) minmax(240px,1fr) auto;align-items:center;gap:18px;min-height:68px;padding:10px 14px;animation:.16s ease-out dock-in;display:grid;position:fixed;left:50%;transform:translate(-50%);box-shadow:0 14px 42px #0000008c}@keyframes dock-in{0%{opacity:0;transform:translate(-50%,-8px)}}.today-observatory-dock{min-height:0;padding:0;display:block;overflow:hidden}.compact-dock-row{padding:10px 14px}.compact-time-explorer{grid-template-columns:minmax(190px,auto) minmax(240px,1fr) auto;align-items:center;gap:18px;min-height:66px;display:grid}.compact-dock-row+.compact-dock-row{border-top:1px solid var(--border-accent)}.dock-readout{grid-template-columns:auto auto;align-items:baseline;gap:3px 10px;min-width:0;display:grid}.dock-readout strong{color:#fff0b0;white-space:nowrap;font:500 1rem DM Mono,monospace}.dock-readout>span:last-child{color:#7f8995;text-overflow:ellipsis;white-space:nowrap;grid-column:1/-1;font:.64rem DM Mono,monospace;overflow:hidden}.dock-mode{color:#ffcf62;letter-spacing:.1em;font:700 .63rem DM Mono,monospace}.dock-slider{gap:1px;min-width:0;display:grid}.dock-slider>span{color:#687480;text-align:right;font:.6rem DM Mono,monospace}.dock-actions{gap:5px;display:flex}.dock-actions button{color:#aab3bd;cursor:pointer;background:#11171e;border:1px solid #343c46;border-radius:3px;min-width:48px;min-height:42px;padding:7px;font:.65rem DM Mono,monospace}.dock-actions .dock-now{color:#17130a;background:#ffcf62;border-color:#ffcf62;font-weight:700}.compact-today-year-position{grid-template-columns:minmax(210px,auto) minmax(240px,1fr);align-items:center;gap:18px;min-height:56px;display:grid}.compact-today-year-position>strong{color:var(--solar-emphasis);white-space:nowrap;font:600 .72rem DM Mono,monospace}.compact-year-track{min-width:0;display:grid}.compact-year-track input{width:100%;min-height:34px;accent-color:var(--solar-primary);cursor:ew-resize;touch-action:pan-y;margin:0}.compact-year-track>div{color:var(--text-subdued);justify-content:space-between;font:.56rem DM Mono,monospace;display:flex}.compact-year-explorer>.inspect-day-action{white-space:nowrap}.sun-path-panel{margin-top:14px;padding:clamp(20px,3vw,32px)}.sun-path-panel .panel-heading{margin-bottom:4px}.path-layout{grid-template-columns:minmax(340px,1.4fr) minmax(220px,.6fr);align-items:center;gap:clamp(16px,4vw,48px);display:grid}.sun-path{touch-action:pan-y;width:min(100%,500px);margin:0 auto;display:block;overflow:visible}.sky-ring{fill:none;stroke:#303944;stroke-width:1px}.sky-ring:first-of-type{stroke:#6f7b87;stroke-width:1.6px}.sky-ring-label{fill:#697580;font:10px DM Mono,monospace}.zenith-dot{fill:#687480}.compass-label{fill:#b6c0ca;font:600 11px DM Mono,monospace}.sky-path{fill:none;vector-effect:non-scaling-stroke;cursor:crosshair}.sky-path.selected{stroke:#ffcf62;stroke-width:3px;filter:drop-shadow(0 0 5px #ffbe4647)}.sky-path.reference{stroke-width:1.5px;stroke-dasharray:5 5;opacity:.55;pointer-events:none}.sky-path-hit{fill:none;stroke:#0000;stroke-width:28px;cursor:ew-resize;touch-action:pan-y}.sky-path:focus-visible{stroke-width:5px;outline:none}.path-event{fill:#10151b;stroke:#fff0a5;stroke-width:2px;pointer-events:none}.sun-path-marker{fill:#fff;stroke:#ffb84d;stroke-width:4px;filter:drop-shadow(0 0 7px #ffb84d);cursor:grab;touch-action:pan-y}.below-marker circle{fill:#111820;stroke:#91a4bb;stroke-width:2px;stroke-dasharray:2 2}.below-marker path{stroke:#91a4bb;stroke-width:2px}.path-tooltip{pointer-events:none}.path-tooltip text{fill:#e2e7ec;font:10px DM Mono,monospace}.path-controls{gap:10px;display:grid}.path-controls label{color:#a4aeb9;cursor:pointer;grid-template-columns:auto auto 1fr;align-items:center;gap:8px;min-height:36px;font:.67rem DM Mono,monospace;display:grid}.path-controls input{accent-color:#ffcf62;width:17px;height:17px}.path-controls i{border-radius:50%;width:8px;height:8px}.path-controls p{color:#85919e;border-top:1px solid #2b3139;margin:9px 0 0;padding-top:14px;font:.68rem/1.5 DM Mono,monospace}.altitude-chart{cursor:crosshair}.chart-drag-tooltip rect{fill:var(--bg-tooltip);stroke:var(--tooltip-border)}.chart-drag-tooltip text{fill:var(--tooltip-text);font:10px DM Mono,monospace}.today-year-scrubber{gap:14px;margin-bottom:14px;padding:18px clamp(20px,3vw,32px);display:grid}.year-scrubber-heading{grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:16px;display:grid}.year-scrubber-heading strong{color:var(--solar-emphasis);font:500 1rem DM Mono,monospace}.current-date-action{min-height:38px;color:var(--solar-secondary);background:var(--bg-solar-soft);border:1px solid var(--border-accent);letter-spacing:.05em;cursor:pointer;border-radius:3px;padding:7px 11px;font:700 .62rem DM Mono,monospace}.year-scrubber-track{padding-top:29px;position:relative}.year-scrubber-track>input{width:100%;min-height:28px;accent-color:var(--solar-primary);cursor:ew-resize;touch-action:pan-y;margin:0}.year-scrubber-markers{height:30px;position:absolute;inset:0 9px auto}.year-scrubber-markers button{min-width:42px;min-height:38px;color:var(--text-muted);cursor:pointer;background:0 0;border:0;align-content:center;justify-items:center;gap:2px;padding:0;font:.58rem DM Mono,monospace;display:grid;position:absolute;transform:translate(-50%)}.year-scrubber-markers button:hover,.year-scrubber-markers button:focus-visible{color:var(--solar-secondary)}.year-scrubber-markers i{background:currentColor;border-radius:50%;width:5px;height:5px}.year-scrubber-months{color:var(--text-subdued);justify-content:space-between;font:.61rem DM Mono,monospace;display:flex}.masthead,.mode-nav{border-color:var(--border-default)}.eyebrow,.section-kicker,.date-control span,.local-clock span,footer{color:var(--text-muted)}.sun-pulse{background:var(--solar-primary);box-shadow:0 0 18px var(--solar-soft)}.masthead-controls{justify-content:flex-end;align-items:end;gap:10px;display:flex}.theme-control,.date-control{gap:8px;display:grid}.theme-control>span{color:var(--text-muted);letter-spacing:.14em;text-transform:uppercase;font:.68rem DM Mono,monospace}.theme-control select,.date-control input{min-height:42px;color:var(--text-primary);color-scheme:inherit;background:var(--bg-control);border:1px solid var(--border-control);border-radius:3px;padding:10px 12px;font:.7rem DM Mono,monospace}.theme-control select{cursor:pointer;min-width:104px}.location-bar>div>span:last-child{color:var(--text-technical)}.local-clock strong,.events-list .solar-noon-row,.milestone-live strong,.year-hero h2,.compare-date .inspect-compare{color:var(--solar-secondary)}.compare-date .inspect-compare{border-color:var(--border-accent)}.location-trigger{color:var(--text-primary);background:var(--bg-control);border-color:var(--border-control)}.location-trigger i{color:var(--solar-primary)}.location-trigger:hover,.location-trigger:focus-visible{border-color:var(--border-accent)}.location-menu{background:color-mix(in srgb, var(--bg-panel) 98%, transparent);border-color:var(--border-strong);box-shadow:var(--shadow-overlay)}.saved-location{border-color:var(--border-default)}.saved-location.active{border-color:var(--border-accent);background:var(--bg-selection)}.saved-location>button{color:var(--text-secondary)}.saved-location>button:first-child>i{border-color:var(--text-subdued)}.saved-location.active>button:first-child>i{background:var(--solar-primary);border-color:var(--solar-primary);box-shadow:0 0 9px color-mix(in srgb, var(--solar-primary) 50%, transparent)}.saved-location>button small{color:var(--text-subdued);font-size:.64rem}.saved-location .manage-location{border-color:var(--border-default);font-size:.63rem}.saved-location .manage-location:hover,.saved-location .manage-location:focus-visible{color:var(--text-primary);background:var(--bg-panel-raised)}.saved-location .manage-location.delete:hover,.saved-location .manage-location.delete:focus-visible,.location-field small{color:var(--warning)}.add-location{color:var(--solar-secondary);background:var(--bg-solar-soft);border-color:var(--border-accent)}.location-dialog{color:var(--text-primary);background:linear-gradient(145deg, var(--bg-panel-raised), var(--bg-panel));border-color:var(--border-strong);box-shadow:var(--shadow-overlay)}.location-dialog::backdrop{background:var(--bg-overlay)}.dialog-close{color:var(--text-secondary);border-color:var(--border-control)}.location-field>span{color:var(--text-technical)}.location-field input{color:var(--text-primary);background:var(--bg-control-deep);border-color:var(--border-control)}.location-field input:focus{border-color:var(--focus-ring);outline-color:var(--focus-ring)}.location-field input[aria-invalid=true]{border-color:var(--warning)}.location-field em{color:var(--text-subdued);font-size:.63rem}.dialog-actions{background:linear-gradient(transparent, var(--bg-panel) 30%)}.dialog-actions button,.time-step-controls button,.dock-actions button{color:var(--text-secondary);background:var(--bg-control);border-color:var(--border-control)}.dialog-actions .primary-action,.inspect-day-action,.time-step-controls .now-control,.dock-actions .dock-now{color:var(--text-on-solar);background:var(--solar-primary);border-color:var(--solar-primary)}.dialog-actions .danger-action{color:var(--text-on-danger);background:var(--danger-bg);border-color:var(--danger-border)}.confirm-dialog p{color:var(--text-secondary)}.panel{background:linear-gradient(145deg, var(--bg-panel-raised), var(--bg-panel));border-color:var(--border-default);box-shadow:var(--shadow-panel)}.status{color:var(--solar-secondary);background:var(--bg-solar-soft);border-color:var(--border-accent)}.status-below-horizon{color:var(--text-secondary);background:var(--bg-below-soft);border-color:var(--border-control)}.hero-reading,.statistics dl>div,.events-list>div,td,.milestone-live,.path-controls p{border-color:var(--border-default)}.hero-reading span,.rate-grid span,dt,.events-list span,.milestone-live span{color:var(--text-muted)}.hero-reading small{color:var(--solar-primary)}.positive{color:var(--positive)!important}.negative{color:var(--negative)!important}.date-caption,.tempo-unit,.chart-note{color:var(--text-muted)}.grid-line{stroke:var(--graph-grid-minor)}.horizon-line{stroke:var(--graph-horizon)}.axis-label,.marker-label{fill:var(--graph-axis)}.altitude-line-glow{stroke:var(--solar-soft)}.now-marker,.selected-date-marker{stroke:var(--selection)}.now-dot{fill:var(--bg-panel-raised);stroke:var(--solar-soft)}.now-label{fill:var(--selection)}th{color:var(--text-muted);font-size:.66rem}.current-hour td{background:color-mix(in srgb, var(--solar-primary) 9%, transparent);border-color:var(--border-accent)}.current-hour td:first-child{color:var(--solar-secondary)}footer{font-size:.62rem}.mode-nav button{color:var(--text-muted)}.mode-nav button:hover{color:var(--text-primary)}.mode-nav button.active{color:var(--solar-secondary);border-color:var(--solar-primary)}.seasonal-readout{border-color:var(--border-default);background:var(--border-default)}.seasonal-readout>div{background:var(--bg-panel-raised)}.seasonal-readout span,.summary-days span,.season-grid span{color:var(--text-muted)}.seasonal-readout small{color:var(--text-subdued);font-size:.68rem}.year-tempo-copy span,.year-explorer-context,.chart-legend{color:var(--text-technical)}.summary-days,.season-grid{background:var(--border-default)}.summary-days>div,.season-grid>div,.compare-date{background:var(--bg-control)}.annual-chart:focus-visible,.year-explorer input[type=range]:focus-visible,.dock-slider input[type=range]:focus-visible,.timeline-shell input[type=range]:focus-visible{outline-color:var(--focus-ring)}.annual-zero-line{stroke:var(--graph-horizon)}.season-label{font-size:10px}.annual-tooltip rect{fill:var(--bg-tooltip);stroke:var(--tooltip-border)}.annual-tooltip text{fill:var(--tooltip-text)}.chart-note,.method-note{color:var(--text-muted)}.year-explorer-readout>strong,.explorer-time strong,.dock-readout strong{color:var(--solar-emphasis)}.year-explorer input[type=range],.dock-slider input[type=range],.timeline-shell input[type=range],.path-controls input{accent-color:var(--solar-primary)}.compare-date span{color:var(--text-technical)}.compare-date input,.compare-date select{color:var(--text-primary);color-scheme:inherit;background:var(--bg-control-deep);border-color:var(--border-control)}.compare-date button,.add-date{color:var(--text-secondary);border-color:var(--border-control)}.mode-badge{color:var(--text-secondary);border-color:var(--border-strong)}.mode-badge.live{color:var(--positive);border-color:color-mix(in srgb, var(--positive) 55%, var(--border-default));background:var(--bg-live-soft)}.mode-badge.inspect{color:var(--solar-primary);border-color:var(--border-accent);background:var(--bg-solar-soft)}.explorer-time span,.inspection-datetime,.timeline-event em{color:var(--text-muted)}.timeline-event{background:var(--text-subdued)}.timeline-event i{background:var(--solar-soft)}.timeline-event em{font-size:.61rem}.timeline-endpoints{color:var(--text-subdued);font-size:.65rem}.time-step-controls button:hover,.time-step-controls button:focus-visible{color:var(--text-primary);border-color:var(--border-strong)}.explorer-dock{color:var(--text-primary);background:linear-gradient(100deg, color-mix(in srgb, var(--bg-panel) 98%, transparent), color-mix(in srgb, var(--bg-solar-soft) 98%, transparent));border-color:var(--border-accent);box-shadow:var(--shadow-dock)}.dock-readout>span:last-child{color:var(--text-muted);font-size:.64rem}.dock-mode{color:var(--solar-primary);font-size:.63rem}.dock-mode.live{color:var(--positive)}.dock-slider>span{color:var(--text-subdued);font-size:.6rem}.sky-ring{stroke:var(--graph-grid-major)}.sky-ring:first-of-type{stroke:var(--graph-horizon)}.sky-ring-label,.zenith-dot{fill:var(--graph-axis)}.compass-label{fill:var(--graph-label)}.sky-path.selected{stroke:var(--series-solar);filter:drop-shadow(0 0 5px color-mix(in srgb, var(--solar-soft) 28%, transparent))}.path-event{fill:var(--bg-panel-raised);stroke:var(--series-noon)}.path-event.sunrise{stroke:var(--series-sunrise)}.path-event.sunset{stroke:var(--series-sunset)}.sun-path-marker{fill:var(--bg-panel-raised);stroke:var(--solar-soft);filter:drop-shadow(0 0 7px var(--solar-soft))}.below-marker circle{fill:var(--bg-below-soft);stroke:var(--text-secondary)}.below-marker path{stroke:var(--text-secondary)}.path-tooltip rect{fill:var(--bg-tooltip);stroke:var(--tooltip-border)}.path-tooltip text{fill:var(--tooltip-text);font-size:10px}.path-controls label{color:var(--text-secondary)}.path-controls p{color:var(--text-muted)}:where(button,input,select,[role=button]):focus-visible{outline:2px solid var(--focus-ring);outline-offset:3px}@media (width>=1600px){.wide-observatory{grid-template-columns:minmax(0,44fr) minmax(0,56fr);align-items:start;gap:14px;display:grid}.observatory-telemetry,.wide-observatory>.sun-path-panel,.current-grid>*,.annual-pair>*,.compare-controls>*{min-width:0}.observatory-telemetry .current-grid{grid-template-columns:1fr}.observatory-telemetry .statistics dl{grid-template-columns:1fr 1fr;column-gap:24px}.observatory-telemetry .today-seasonal{grid-template-columns:repeat(3,minmax(0,1fr));overflow:visible}.wide-observatory>.sun-path-panel{margin-top:0}.wide-observatory .path-layout{grid-template-columns:minmax(500px,1fr) minmax(180px,.32fr);gap:clamp(18px,1.5vw,30px)}.wide-observatory .sun-path{width:min(100%,620px)}.annual-pair{grid-template-columns:repeat(2,minmax(0,1fr))}.compare-controls{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}}@media (width<=760px){.compare-controls,.compare-date{grid-template-columns:1fr}.compare-date input,.compare-date select{grid-column:auto;width:100%}.add-date{min-height:48px}.time-step-controls{grid-template-columns:1fr 1fr}.time-step-controls .now-control{grid-area:1/1/auto/-1}.timeline-event em{display:none}.path-layout{grid-template-columns:1fr}.path-controls{grid-template-columns:1fr 1fr}.path-controls .section-kicker,.path-controls p{grid-column:1/-1}.explorer-dock{grid-template-columns:minmax(110px,auto) minmax(0,1fr);gap:6px 12px;width:calc(100vw - 12px);padding:8px 10px}.today-observatory-dock{padding:0;display:block}.compact-time-explorer{grid-template-columns:minmax(110px,auto) minmax(0,1fr);gap:6px 12px;width:auto;padding:8px 10px}.compact-today-year-position{grid-template-columns:minmax(124px,auto) minmax(0,1fr);gap:10px;min-height:52px;padding:7px 10px}.compact-today-year-position>strong{white-space:normal;font-size:.63rem}.dock-actions{grid-column:1/-1;justify-content:stretch}.dock-actions button{flex:1;min-height:38px}.compact-year-explorer>.inspect-day-action{grid-column:1/-1;min-height:38px}.year-explorer-readout,.year-explorer-context{flex-direction:column;align-items:flex-start}.year-explorer-context .inspect-day-action{width:100%}.year-scrubber-heading{grid-template-columns:1fr auto;gap:10px}.year-scrubber-heading>div{grid-column:1/-1}.current-date-action{min-height:42px}}@media (width<=430px){.path-controls{grid-template-columns:1fr}.path-controls .section-kicker,.path-controls p{grid-column:auto}.sun-path{width:calc(100% + 10px);margin-left:-5px}.explorer-time{justify-content:flex-start}.dock-readout>span:last-child,.dock-slider>span{font-size:.58rem}}@media (width<=620px){.masthead-controls{justify-content:stretch;width:100%}.date-control{flex:1;min-width:150px}.theme-control{flex:0 0 104px}.theme-control select{width:100%}.saved-location .manage-location.delete{border-color:var(--border-default)}}@media (prefers-reduced-motion:reduce){.mode-view,.explorer-dock{animation:none}}
