:root{color-scheme:dark;accent-color:#ffb75b;font-family:Inter,Helvetica Neue,Arial,sans-serif;color:#f7f7f4;background:#000;font-synthesis:none;text-rendering:geometricPrecision;--amber: #ffb75b;--white: #f7f7f4;--muted: rgba(255, 255, 255, .56);--line: rgba(255, 255, 255, .25)}*{box-sizing:border-box}html,body,#root{width:100%;height:100%;margin:0;overflow:hidden}button,input{font:inherit}button{color:inherit}button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible{outline:2px solid var(--amber);outline-offset:3px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.app-shell{position:relative;width:100%;height:100svh;min-height:540px;overflow:hidden;isolation:isolate;background:#000}.space-scene,.space-scene canvas,.map-view{position:absolute!important;inset:0;width:100%!important;height:100%!important}.space-scene{z-index:0;background:#000 url(/assets/starfield-2026.png) center / cover no-repeat}.space-scene:after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 48% 45%,transparent 35%,rgba(0,0,0,.18) 100%)}.space-scene canvas{cursor:grab}.space-scene canvas:active{cursor:grabbing}.orbit-lesson-caption{position:absolute;z-index:3;left:25px;bottom:126px;display:grid;gap:4px;padding-left:12px;border-left:1px solid rgba(255,183,80,.72);text-shadow:0 2px 12px #000;pointer-events:none}.orbit-lesson-caption strong{color:#ffffffd1;font-size:10px;font-weight:620;letter-spacing:.13em}.orbit-lesson-caption span{color:#ffbe639e;font-size:8px;letter-spacing:.1em}.orbit-body-label{display:block;padding:3px 5px;color:#ffffffc7;background:#0204068c;border:1px solid rgba(255,255,255,.13);border-radius:4px;font:650 7px/1 Inter,sans-serif;letter-spacing:.12em;text-shadow:0 1px 5px #000;white-space:nowrap;pointer-events:none}.orbit-body-label.moon{color:#dce6eeb3}.orbit-eclipse-label{opacity:0;padding:5px 7px;color:#ffd498;background:#140b03c7;border:1px solid rgba(255,177,72,.58);border-radius:5px;box-shadow:0 0 24px #ffa63773;font:700 8px/1 Inter,sans-serif;letter-spacing:.16em;white-space:nowrap;transition:opacity .16s ease,transform .16s ease;pointer-events:none}.map-view{z-index:2;background:#05090d;animation:map-in .65s cubic-bezier(.2,.75,.2,1) both}.map-eclipse-overlay{position:absolute;z-index:3;inset:0;width:100%;height:100%;pointer-events:none}@keyframes map-in{0%{opacity:0;transform:scale(1.055);filter:blur(8px)}to{opacity:1;transform:scale(1);filter:blur(0)}}.maplibregl-canvas{cursor:crosshair}.maplibregl-ctrl-bottom-right{bottom:122px!important;right:17px!important}.maplibregl-ctrl-group{display:flex;overflow:hidden;background:#06090bdb!important;border:1px solid rgba(255,255,255,.22);border-radius:12px;box-shadow:0 10px 34px #0006!important}.maplibregl-ctrl-group button{width:44px;height:39px;border:0!important}.maplibregl-ctrl-group button+button{border-left:1px solid rgba(255,255,255,.15)!important}.maplibregl-ctrl-icon{filter:invert(1);opacity:.88}.maplibregl-ctrl-attrib{display:none}.city-marker{display:flex;align-items:center;gap:7px;color:#ffffffeb;font-size:12px;font-weight:470;text-shadow:0 1px 5px #000,0 0 10px #000;white-space:nowrap}.city-marker i{width:5px;height:5px;flex:0 0 auto;border-radius:50%;background:#fff;box-shadow:0 0 5px #fff9}.map-selection{position:relative;width:26px;height:26px}.map-selection i{position:absolute;inset:0;border:2px solid #ffb04d;border-radius:50%;background:#ffad4d29;box-shadow:0 0 0 4px #0000005c,0 0 18px #ffae4d80}.map-selection i:after{content:"";position:absolute;inset:7px;border-radius:50%;background:#ffbd62}.map-selection span{position:absolute;top:50%;left:34px;width:max-content;transform:translateY(-50%);padding:8px 10px;color:#fffffff0;background:#050709db;border:1px solid rgba(255,255,255,.28);border-radius:6px;font-size:12px;white-space:nowrap;box-shadow:0 8px 28px #00000061;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.topbar{position:absolute;z-index:12;top:0;left:0;right:0;height:82px;display:flex;align-items:center;justify-content:space-between;padding:0 25px;pointer-events:none}.topbar-left{display:flex;align-items:center;gap:14px;min-width:0;pointer-events:auto}.language-select,.top-action{height:40px;flex:0 0 auto;color:#ffffffd1;background:#050709b8;border:1px solid rgba(255,255,255,.22);border-radius:11px;box-shadow:0 8px 28px #00000047;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.language-select{position:relative;display:inline-flex;align-items:center;width:92px}.language-select:after{content:"⌄";position:absolute;right:10px;top:9px;color:#ffbe63d9;font-size:13px;pointer-events:none}.language-select select{width:100%;height:100%;padding:0 25px 0 11px;appearance:none;color:#ffffffe0;background:transparent;border:0;border-radius:inherit;outline:0;font-size:10px;font-weight:650;letter-spacing:.07em;cursor:pointer}.language-select option{color:#111;background:#fff}.top-action{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:0 12px;font-size:9px;font-weight:650;letter-spacing:.09em;cursor:pointer;transition:color .2s ease,border-color .2s ease,background .2s ease}.top-action:hover,.top-action.active{color:#fff;border-color:#ffbb5c99;background:#1f160cd6}.share-action{color:#ffffff94}.privacy-action{padding:0 10px;color:#ffffff94}.privacy-panel{position:fixed;z-index:40;top:69px;left:25px;width:min(390px,calc(100vw - 50px));display:grid;gap:10px;padding:18px;color:#ffffffd1;background:#040709f5;border:1px solid rgba(255,255,255,.2);border-radius:14px;box-shadow:0 18px 60px #00000094;-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);pointer-events:auto}.privacy-panel>span{color:#ffbe63c7;font-size:8px;font-weight:700;letter-spacing:.14em}.privacy-panel strong{padding-right:28px;color:#fff;font-size:16px;font-weight:620}.privacy-panel p{margin:0;color:#ffffff9e;font-size:11px;line-height:1.55}.privacy-panel a{width:max-content;display:inline-flex;align-items:center;gap:5px;color:#ffc46fd1;font-size:10px;text-decoration:none}.privacy-panel a:hover{color:#ffd39a}.privacy-close{position:absolute;top:10px;right:10px;width:30px;height:30px;display:grid;place-items:center;color:#fff9;background:transparent;border:0;border-radius:8px;cursor:pointer}.privacy-actions{display:flex;justify-content:flex-end;gap:8px;padding-top:2px}.privacy-actions button{height:34px;padding:0 13px;color:#ffffffb8;background:#ffffff0a;border:1px solid rgba(255,255,255,.18);border-radius:9px;font-size:8px;font-weight:700;letter-spacing:.1em;cursor:pointer}.privacy-actions button.primary{color:#211307;background:#ffbd68;border-color:#ffd49a}.view-tabs{display:inline-flex;align-items:center;padding:3px;background:#050709b8;border:1px solid rgba(255,255,255,.24);border-radius:12px;box-shadow:0 8px 28px #00000047;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.view-tabs button{height:32px;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:0 11px;color:#ffffff80;background:transparent;border:0;border-radius:8px;cursor:pointer;transition:color .2s ease,background .2s ease,box-shadow .2s ease}.view-tabs button span{font-size:10px;font-weight:620;letter-spacing:.09em}.view-tabs button.active{color:#fff;background:#ffffff1a;box-shadow:inset 0 0 0 1px #ffbc6054}.view-switch{height:40px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 13px;color:#ffffffeb;background:#050709b8;border:1px solid rgba(255,255,255,.28);border-radius:12px;box-shadow:0 8px 28px #00000047;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);cursor:pointer;transition:border-color .2s ease,background .2s ease,transform .2s ease}.view-switch:hover{border-color:#ffbe6bb8;background:#110e0ae0;transform:translateY(-1px)}.view-switch span{font-size:12px;font-weight:580;letter-spacing:.08em}.date-mark{display:flex;align-items:center;gap:15px;color:#f4f4f1;font-size:14px;font-weight:490;letter-spacing:.13em;white-space:nowrap}.date-mark i{width:29px;height:29px;border:2px solid #ffc46e;border-radius:50%;box-shadow:0 0 8px #ffb152d1,inset 0 0 7px #ffb1526b}.scale-readout{position:absolute;z-index:11;top:91px;left:25px;display:flex;align-items:center;gap:9px;padding:8px 10px;color:#ffffff75;background:#0305076b;border:1px solid rgba(255,255,255,.11);border-radius:8px;font-size:9px;letter-spacing:.11em;white-space:nowrap;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);pointer-events:none}.scale-readout span{color:#ffbe63c7}.space-controls{position:absolute;z-index:12;right:17px;bottom:123px;display:flex;align-items:center;gap:8px;pointer-events:auto}.teaching-panel{position:absolute;z-index:15;top:92px;right:18px;bottom:123px;width:min(490px,calc(100vw - 36px));min-height:360px;display:grid;grid-template-rows:3px minmax(176px,42%) minmax(0,1fr) auto;overflow:hidden;color:#ffffffe6;background:linear-gradient(155deg,#0e1013f0,#030507f7);border:1px solid rgba(255,255,255,.18);border-radius:15px;box-shadow:0 28px 90px #000000a6,inset 0 1px #ffffff0a;-webkit-backdrop-filter:blur(26px);backdrop-filter:blur(26px);animation:lesson-in .52s cubic-bezier(.16,.82,.23,1) both}@keyframes lesson-in{0%{opacity:0;transform:translate(22px) scale(.985)}to{opacity:1;transform:translate(0) scale(1)}}.lesson-progress{grid-row:1;background:#ffffff14}.lesson-progress span{display:block;height:100%;background:linear-gradient(90deg,#bf7932,#ffc76e);transition:width .45s cubic-bezier(.2,.8,.2,1)}.lesson-close{position:absolute;z-index:2;top:14px;right:14px;width:32px;height:32px;display:grid;place-items:center;padding:0;color:#ffffffc7;background:#02040699;border:1px solid rgba(255,255,255,.28);border-radius:50%;cursor:pointer;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.lesson-media{position:relative;grid-row:2;min-height:0;margin:0;overflow:hidden;background:#050607;animation:lesson-copy-in .45s ease both}.lesson-media:after{content:"";position:absolute;inset:0;pointer-events:none;z-index:1;background:linear-gradient(180deg,rgba(0,0,0,.08) 22%,transparent 46%,rgba(3,5,7,.92) 100%)}.lesson-media-placeholder{position:absolute;inset:0;background:linear-gradient(110deg,#080b0e 20%,#111820,#080b0e 64%);background-size:220% 100%;animation:lesson-media-loading 1.35s ease-in-out infinite;transition:opacity .4s ease}@keyframes lesson-media-loading{0%{background-position:100% 0}to{background-position:-100% 0}}.lesson-media img{width:100%;height:100%;display:block;object-fit:cover;opacity:0;transform:scale(1.025);filter:saturate(.9) contrast(1.06);transition:opacity .55s ease,transform 1.1s cubic-bezier(.2,.75,.25,1)}.lesson-media.ready img{opacity:1;transform:scale(1)}.lesson-media.ready .lesson-media-placeholder{opacity:0}.lesson-stat{position:absolute;z-index:2;top:14px;left:16px;display:flex;align-items:baseline;gap:7px;padding:7px 9px;color:#ffffffb8;background:#03050791;border:1px solid rgba(255,255,255,.14);border-radius:8px;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.lesson-stat strong{color:#ffd397;font-size:14px;font-weight:520;letter-spacing:-.02em}.lesson-stat span{max-width:100px;font-size:7px;line-height:1.25;letter-spacing:.08em;text-transform:uppercase}.lesson-visual-cue{position:absolute;z-index:2;right:142px;bottom:11px;left:16px;color:#ffffffd1}.lesson-visual-cue span{display:block;margin-bottom:3px;color:#f5b55d;font-size:7px;font-weight:700;letter-spacing:.14em}.lesson-visual-cue p{margin:0;font-size:8px;line-height:1.36;text-wrap:balance}.lesson-media a{position:absolute;z-index:2;right:15px;bottom:12px;display:inline-flex;align-items:center;justify-content:flex-end;gap:5px;max-width:112px;color:#ffffff9e;font-size:7px;line-height:1.25;text-align:right;letter-spacing:.04em;text-decoration:none}.lesson-media a:hover{color:#fff}.lesson-copy{grid-row:3;min-height:0;overflow-y:auto;padding:19px 23px 14px;scrollbar-width:thin;scrollbar-color:rgba(255,190,99,.34) transparent;animation:lesson-copy-in .38s ease both}@keyframes lesson-copy-in{0%{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}.lesson-copy>span{color:#ffbc5bcc;font-size:8px;font-weight:690;letter-spacing:.14em}.lesson-copy h2{max-width:340px;margin:9px 0 12px;color:#f5f3ed;font-size:clamp(22px,2vw,30px);font-weight:480;letter-spacing:-.035em;line-height:1.04}.lesson-copy p{margin:0 0 9px;color:#ffffffa3;font-size:12px;line-height:1.55}.lesson-copy blockquote{margin:13px 0 0;padding:9px 0 9px 12px;color:#ffdba5cc;border-left:1px solid rgba(255,185,88,.7);font-size:10px;line-height:1.45}.lesson-navigation{grid-row:4;min-height:57px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;padding:10px 13px;border-top:1px solid rgba(255,255,255,.09);background:#0003}.lesson-navigation button{min-height:34px;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:0 10px;color:#fffc;background:#ffffff0b;border:1px solid rgba(255,255,255,.13);border-radius:8px;font-size:9px;cursor:pointer}.lesson-navigation button:last-child{justify-self:end;color:#ffd393;border-color:#ffbb574d}.lesson-navigation button:disabled{opacity:.25;cursor:default}.lesson-navigation>div{display:flex;gap:4px}.lesson-navigation i{width:4px;height:4px;border-radius:50%;background:#fff3;transition:transform .2s ease,background .2s ease}.lesson-navigation i.active{transform:scale(1.65);background:#ffb85d}.scale-toggle,.earth-center{background:#040608c2;border:1px solid rgba(255,255,255,.19);box-shadow:0 10px 30px #00000052;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.scale-toggle{display:flex;padding:3px;border-radius:10px}.scale-toggle button,.earth-center{height:33px;padding:0 11px;border-radius:7px;color:#ffffff75;font-size:9px;font-weight:620;letter-spacing:.08em;cursor:pointer}.scale-toggle button{background:transparent;border:0}.scale-toggle button.active{color:#fff;background:#ffb8561f;box-shadow:inset 0 0 0 1px #ffb85659}.earth-center{display:inline-flex;align-items:center;gap:7px;color:#fffc}.earth-center:hover,.scale-toggle button:hover{color:#fff}.sky-view,.sky-view canvas{position:absolute;inset:0;width:100%;height:100%}.sky-view{z-index:2;overflow:hidden;background:#03060b;cursor:grab;touch-action:none;animation:map-in .55s cubic-bezier(.2,.75,.2,1) both}.sky-view.dragging{cursor:grabbing}.sky-view canvas{display:block}.sky-atmosphere-canvas{z-index:2;pointer-events:none}.sky-view>.sky-terrain-map{position:absolute!important;z-index:1;inset:0;width:100%;height:100%;overflow:hidden;pointer-events:none;animation:terrain-reveal .8s cubic-bezier(.2,.75,.2,1) both}.sky-terrain-map,.sky-terrain-map .maplibregl-map,.sky-terrain-map .maplibregl-canvas-container,.sky-terrain-map .maplibregl-canvas{background:transparent!important}.sky-terrain-map .maplibregl-canvas-container{transform:translateY(28.7%);transform-origin:50% 50%}@keyframes terrain-reveal{0%{opacity:0;filter:blur(5px)}to{opacity:1;filter:blur(0)}}.sky-bearing{position:absolute;z-index:4;top:105px;left:25px;display:grid;gap:3px;padding-left:12px;border-left:1px solid rgba(255,187,93,.7);text-shadow:0 2px 12px rgba(0,0,0,.9);pointer-events:none}.sky-bearing span,.sky-bearing small{color:#ffffff80;font-size:8px;letter-spacing:.12em;text-transform:uppercase}.sky-bearing strong{font-size:14px;font-weight:520;letter-spacing:.05em}.sky-observer-metrics{display:grid;grid-template-columns:repeat(3,auto);gap:18px;margin-top:9px;padding-top:9px;border-top:1px solid rgba(255,255,255,.12)}.sky-observer-metrics>span{display:grid;gap:3px;min-width:62px}.sky-observer-metrics>span small{color:#ffffff61;font-size:7px;letter-spacing:.11em}.sky-observer-metrics>span b{color:#ffffffe0;font-size:11px;font-weight:540;font-variant-numeric:tabular-nums;letter-spacing:.02em}.sky-observer-metrics>span:last-child b{color:#ffbf62e6}.sky-terrain-status,.sky-center-sun{position:absolute;z-index:6;left:25px;display:inline-flex;align-items:center;min-height:29px;color:#ffffff8f;background:#03070a85;border:1px solid rgba(255,255,255,.13);border-radius:9px;box-shadow:0 8px 28px #00000040;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.sky-terrain-status{top:205px;gap:7px;padding:0 9px;font-size:7px;letter-spacing:.1em}.sky-terrain-status svg{color:var(--amber)}.sky-terrain-status.loading svg{animation:spin 1.6s linear infinite}.sky-terrain-status.error{color:#ffffff6b}.sky-terrain-status button{margin-left:3px;padding:4px 6px;color:#ffc168e6;background:transparent;border:0;font-size:7px;letter-spacing:.08em}.sky-center-sun{top:242px;gap:6px;padding:0 9px;font-size:7px;letter-spacing:.09em;cursor:pointer;transition:color .18s ease,border-color .18s ease,background .18s ease}.sky-center-sun:hover,.sky-center-sun.active{color:#ffce85f2;border-color:#ffbb5d5c;background:#4a2d0c33}.weather-panel{position:absolute;z-index:5;right:17px;bottom:123px;width:340px;padding:15px;color:#ffffffe6;background:linear-gradient(180deg,#06090cb3,#040608e6);border:1px solid rgba(255,255,255,.17);border-radius:12px;box-shadow:0 14px 42px #00000061;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.weather-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.weather-heading div{display:grid;gap:3px}.weather-heading strong{font-size:13px;font-weight:560}.weather-heading span{color:#ffffff7a;font-size:10px}.weather-heading svg{color:var(--amber)}.weather-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:14px}.weather-metrics span{min-width:0;display:grid;gap:3px;color:#ffffff78}.weather-metrics b{color:#ffffffe0;font-size:12px;font-weight:520}.weather-metrics small{overflow:hidden;font-size:8px;white-space:nowrap;text-overflow:ellipsis}.weather-panel footer{margin-top:13px;padding-top:10px;color:#ffffff4d;border-top:1px solid rgba(255,255,255,.08);font-size:7px;letter-spacing:.1em}.city-search{position:relative;width:min(308px,32vw);pointer-events:auto}.city-search.with-location-picker{align-self:flex-start;margin-top:19px}.search-field{height:43px;display:flex;align-items:center;gap:10px;padding:0 13px;color:#ffffffd1;background:#050709a8;border:1px solid rgba(255,255,255,.28);border-radius:12px;box-shadow:0 8px 28px #00000047;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);transition:border-color .2s ease,background .2s ease}.search-field:focus-within{border-color:#ffbe6bb3;background:#040608e6}.search-field input{min-width:0;flex:1;border:0;outline:0;color:#fff;background:transparent;font-size:13px}.search-field input::placeholder{color:#ffffffad}.search-field button{display:grid;place-items:center;padding:3px;color:inherit;border:0;background:none;cursor:pointer}.search-field .search-submit{margin-left:-3px;transition:color .2s ease,transform .2s ease}.search-field .search-submit:hover,.search-field .search-submit:focus-visible{color:var(--amber);transform:scale(1.06);outline:0}.search-spinner{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.search-results{position:absolute;z-index:5;top:49px;left:0;right:0;max-height:min(390px,calc(100svh - 165px));overflow-x:hidden;overflow-y:auto;padding:5px;background:#050709f5;border:1px solid rgba(255,255,255,.18);border-radius:10px;box-shadow:0 20px 60px #00000080;-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px)}.search-results button{width:100%;display:grid;grid-template-columns:1fr auto;gap:2px 10px;padding:10px;text-align:left;border:0;border-bottom:1px solid rgba(255,255,255,.07);background:transparent;cursor:pointer}.search-results button:hover{background:#ffffff0f}.search-results span{font-size:12px}.search-results small{grid-column:1;max-width:240px;overflow:hidden;color:#ffffff6e;font-size:9px;white-space:nowrap;text-overflow:ellipsis}.search-results svg{grid-column:2;grid-row:1 / span 2;align-self:center;color:var(--amber)}.search-status{margin:0;padding:13px 10px 11px;color:#ffffff7a;font-size:8px;letter-spacing:.13em}.search-status.error{color:#ffbd7b}.search-attribution{display:block;padding:7px 10px 5px;color:#ffffff47;font-size:7px;letter-spacing:.06em}.location-picker-map{position:relative;height:194px;margin-top:8px;overflow:hidden;background:#edf1f3;border:1px solid rgba(255,255,255,.28);border-radius:12px;box-shadow:0 16px 42px #0000006b;isolation:isolate;animation:location-map-in .36s cubic-bezier(.2,.75,.2,1) both}.location-picker-canvas,.location-picker-canvas .maplibregl-map,.location-picker-canvas .maplibregl-canvas-container,.location-picker-canvas .maplibregl-canvas{position:absolute;inset:0;width:100%;height:100%}.location-picker-canvas .maplibregl-canvas{cursor:grab}.location-picker-canvas .maplibregl-canvas:active{cursor:grabbing}.location-picker-frame{position:absolute;z-index:3;inset:0;border-radius:inherit;box-shadow:inset 0 0 0 1px #01060c2e,inset 0 0 34px #040a101f;pointer-events:none}.location-picker-loading{position:absolute;z-index:4;inset:0;background:linear-gradient(110deg,#e5ebef 20%,#f7f9fa,#e5ebef 64%);background-size:220% 100%;animation:lesson-media-loading 1.35s ease-in-out infinite;transition:opacity .35s ease;pointer-events:none}.location-picker-map.loaded .location-picker-loading{opacity:0}.location-picker-controls{position:absolute;z-index:6;top:9px;right:9px;display:grid;overflow:hidden;background:#fffffff0;border:1px solid rgba(8,18,28,.24);border-radius:9px;box-shadow:0 5px 17px #00000038}.location-picker-controls button{width:34px;height:32px;display:grid;place-items:center;padding:0;color:#121820;background:transparent;border:0;cursor:pointer}.location-picker-controls button+button{border-top:1px solid rgba(8,18,28,.16)}.location-picker-controls button:hover{color:#9a5700;background:#fff6e8}.location-picker-pin{position:relative;width:34px;height:43px;padding:0;background:transparent;border:0;cursor:grab;filter:drop-shadow(0 5px 5px rgba(0,0,0,.32))}.location-picker-pin.dragging{cursor:grabbing;transform:scale(1.08)}.location-picker-pin:before{content:"";position:absolute;z-index:2;top:2px;left:4px;width:26px;height:26px;background:var(--amber);border:3px solid #fff;border-radius:50%;box-shadow:0 0 0 1px #23150440}.location-picker-pin:after{content:"";position:absolute;top:23px;left:13px;width:9px;height:15px;background:var(--amber);clip-path:polygon(0 0,100% 0,50% 100%)}.location-picker-pin span{position:absolute;z-index:3;top:12px;left:14px;width:7px;height:7px;background:#fff9ed;border-radius:50%}@keyframes location-map-in{0%{opacity:0;transform:translateY(-5px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}.eclipse-preview{position:absolute;z-index:10;top:84px;right:28px;width:198px;height:198px;overflow:hidden;border:1.5px solid #e79d3d;border-radius:50%;background:radial-gradient(circle,#050505 0 54%,#071019 72%,#020508);box-shadow:0 14px 40px #0000006b;pointer-events:none}.preview-corona{position:absolute;top:50%;left:50%;width:63px;height:63px;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle,#fffdf2 0 28%,#ffe9bd 50%,#ffc46d 79%,#f49a38 94%,#ffa4461a);box-shadow:0 0 9px 2px #ffd084b8,0 0 28px #ffa44261}.preview-corona:after{content:"";position:absolute;inset:-38px;border-radius:50%;background:repeating-conic-gradient(from 8deg,rgba(255,224,170,.24) 0 1deg,transparent 1deg 5deg);-webkit-mask-image:radial-gradient(circle,transparent 0 28%,#000 39%,transparent 72%);mask-image:radial-gradient(circle,transparent 0 28%,#000 39%,transparent 72%)}.preview-moon{position:absolute;top:50%;left:50%;width:63px;height:63px;border-radius:50%;background:#010203;box-shadow:inset -6px 0 10px #080e14cc}.timeline{position:absolute;z-index:12;left:7px;right:7px;bottom:7px;height:104px;display:grid;grid-template-columns:267px 1fr;align-items:center;gap:24px;padding:15px 115px 13px 38px;background:linear-gradient(180deg,#07090bbd,#040608e8);border:1px solid rgba(255,255,255,.11);border-radius:10px;box-shadow:0 -8px 38px #0003,0 12px 45px #00000080;-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px)}.timeline-heading{display:grid;grid-template-columns:58px 1fr;align-items:center;gap:28px}.timeline-play{width:58px;height:58px;display:grid;place-items:center;padding:0 0 0 2px;color:#fff;background:#02040659;border:1px solid rgba(255,255,255,.42);border-radius:50%;cursor:pointer;transition:border-color .2s ease,transform .2s ease,background .2s ease}.timeline-play:hover{transform:scale(1.04);border-color:#ffbf69;background:#ffb75b14}.timeline-heading strong{font-size:17px;font-weight:450;letter-spacing:.015em;font-variant-numeric:tabular-nums;white-space:nowrap}.timeline-heading strong span{color:#fffc;font-size:.82em}.timeline-heading strong small{display:block;margin-top:4px;color:#ffbe67cc;font-size:9px;font-weight:560;letter-spacing:.08em;text-transform:uppercase}.timeline-track-wrap{position:relative;height:52px;padding-top:10px}.timeline-track-wrap input{position:relative;z-index:3;width:100%;height:24px;margin:0;appearance:none;outline:none;background:transparent;cursor:ew-resize}.timeline-track-wrap input::-webkit-slider-runnable-track{height:2px;background:linear-gradient(90deg,#c58d45 0 var(--timeline-progress),rgba(255,255,255,.25) var(--timeline-progress) 100%)}.timeline-track-wrap input::-webkit-slider-thumb{width:22px;height:22px;margin-top:-10px;appearance:none;border:4px solid #ffc266;border-radius:50%;background:#ffb85c;box-shadow:0 0 0 2px #ffbe6240,0 0 18px #ffb250bf}.timeline-track-wrap input::-moz-range-track{height:2px;background:#ffffff40}.timeline-track-wrap input::-moz-range-progress{height:2px;background:#c58d45}.timeline-track-wrap input::-moz-range-thumb{width:15px;height:15px;border:4px solid #ffc266;border-radius:50%;background:#ffb85c}.eclipse-window{position:absolute;z-index:2;top:17px;height:8px;min-width:7px;border-radius:50%;background:#ffb95b52;pointer-events:none}.timeline-peak{position:absolute;z-index:4;top:8px;width:1px;height:22px;transform:translate(-50%);background:linear-gradient(180deg,#ffc66ef2,#ffb4522e);pointer-events:none}.timeline-peak:after{content:"";position:absolute;top:-3px;left:50%;width:7px;height:7px;transform:translate(-50%) rotate(45deg);background:#ffc56f;border:1px solid rgba(255,237,203,.88);box-shadow:0 0 12px #ffb24bb8}.timeline-peak>span{position:absolute;bottom:27px;left:50%;width:max-content;transform:translate(-50%);padding:4px 6px;color:#ffffffd9;background:#050709d6;border:1px solid rgba(255,190,99,.3);border-radius:5px;font-size:8px;font-variant-numeric:tabular-nums;letter-spacing:.045em;line-height:1.25;white-space:nowrap;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.timeline-peak b{color:#ffc069;font-weight:680;letter-spacing:.09em}.timeline-peak small{display:block;margin-top:1px;color:#ffbe67ad}.timeline-ticks{display:flex;justify-content:space-between;padding-top:0;color:#ffffffd4;font-size:15px;font-weight:430;font-variant-numeric:tabular-nums}@media(max-width:760px){.topbar{height:108px;align-items:flex-start;padding:14px 15px 0}.topbar-left{width:100%;gap:6px}.language-select{width:55px;height:39px}.language-select select{padding-left:8px;font-size:9px}.language-select:after{right:7px}.top-action{width:37px;height:39px;padding:0}.top-action span{display:none}.privacy-panel{top:60px;right:15px;left:15px;width:auto}.view-tabs button{width:34px;height:31px;padding:0}.view-tabs button span{display:none}.date-mark{gap:10px;margin-right:auto;font-size:10px}.date-mark i{width:24px;height:24px}.scale-readout{top:112px;left:15px;padding:6px 8px;font-size:8px}.orbit-lesson-caption{left:15px;bottom:108px}.city-search{position:absolute;top:57px;right:15px;width:calc(100vw - 30px)}.city-search.with-location-picker{margin-top:0}.search-field{height:39px}.location-picker-map{width:min(176px,49vw);height:148px;margin-left:auto}.eclipse-preview{top:109px;right:15px;width:126px;height:126px}.space-controls{right:8px;bottom:107px;gap:5px}.teaching-panel{inset:108px 8px 107px;width:auto;grid-template-rows:3px minmax(176px,38%) minmax(0,1fr) auto}.lesson-stat{top:10px;left:11px;padding:5px 7px}.lesson-stat strong{font-size:12px}.lesson-visual-cue{right:112px;bottom:9px;left:11px}.lesson-visual-cue p{font-size:7px}.lesson-media a{right:11px;bottom:10px;max-width:94px;font-size:6px}.lesson-copy{padding:15px 17px 10px}.lesson-copy h2{margin:7px 0 9px;font-size:22px}.lesson-copy p{font-size:11px;line-height:1.45}.lesson-copy blockquote{margin-top:9px;font-size:9px}.lesson-navigation{min-height:51px;padding:8px}.lesson-navigation button span{display:none}.scale-toggle button{height:30px;padding:0 7px;font-size:7px}.earth-center{width:34px;height:36px;justify-content:center;padding:0}.earth-center span{display:none}.sky-bearing{top:112px;left:15px}.sky-terrain-status,.sky-center-sun{left:15px}.sky-terrain-status{top:204px;max-width:175px;overflow:hidden;white-space:nowrap}.sky-center-sun{top:239px}.sky-center-sun span{display:none}.sky-observer-metrics{gap:4px}.sky-observer-metrics>span{min-width:46px}.weather-panel{right:8px;bottom:107px;left:8px;width:auto;padding:12px}.weather-metrics{margin-top:10px}.weather-panel footer{margin-top:9px;padding-top:8px}.timeline{height:92px;grid-template-columns:142px 1fr;gap:9px;padding:12px}.timeline-heading{grid-template-columns:42px 1fr;gap:9px}.timeline-play{width:42px;height:42px}.timeline-heading strong{font-size:13px}.timeline-ticks{font-size:10px}.maplibregl-ctrl-bottom-right{bottom:105px}}@media(max-width:460px){.date-mark span{display:none}.date-mark{margin-right:auto}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
