:root{color:#edf4f7;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-synthesis:none;text-rendering:optimizelegibility;background:#02050b;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.45}*{box-sizing:border-box}body{overscroll-behavior:none;-webkit-tap-highlight-color:#ffd16638;min-width:320px;min-height:100svh;margin:0;overflow:hidden}button,input{font:inherit}button{color:inherit}.eclipse-app{--chrome-edge:clamp(18px, 2vw, 30px);--right-rail-width:clamp(264px, 20vw, 306px);--timeline-dock-width:clamp(378px, 31vw, 456px);--timeline-dock-gap:clamp(18px, 2.5vw, 44px);--glass-line:#e0eff421;--glass-line-soft:#e0eff414;--glass-fill:#030810b8;overscroll-behavior:none;background:#02050b;width:100vw;height:100svh;min-height:620px;position:relative;overflow:hidden}.render-stage{background:#02050b;position:absolute;inset:0;overflow:hidden}.eclipse-app:before,.eclipse-app:after{z-index:1;pointer-events:none;content:"";position:absolute;inset:0}.eclipse-app:before{mix-blend-mode:screen;background:radial-gradient(at 58% 43%,#02050b00 0 38%,#02050b29 68%,#000000b8 100%),radial-gradient(circle at 18% 12%,#8bd3dd14 0 6%,#02050b00 24%)}.eclipse-app:after{background:linear-gradient(#00000047 0%,#00000003 36%,#00000061 100%),radial-gradient(#0000 0 60%,#0000007a 100%)}#eclipse-canvas{clip-path:circle(7vmax at 50% 48%);cursor:grab;filter:brightness(.34)blur(7px)contrast(1.08)saturate(.72);opacity:0;touch-action:none;transform-origin:50% 48%;-webkit-user-select:none;user-select:none;will-change:clip-path, filter, opacity, transform;width:100%;height:100%;transition:clip-path 1.5s cubic-bezier(.2,.72,.16,1),filter 1.3s cubic-bezier(.2,.72,.16,1),opacity .76s,transform 1.7s cubic-bezier(.2,.72,.16,1);display:block;position:absolute;inset:0;transform:scale(1.018)}.eclipse-app.is-scene-ready #eclipse-canvas{clip-path:circle(150vmax at 50% 48%);filter:contrast(1.08)saturate(1.08);opacity:1;transform:scale(1)}.scene-loader{z-index:4;opacity:1;pointer-events:none;visibility:visible;background:radial-gradient(circle at 50% 48%,#12223633,#02050b00 24%),#02050b;place-items:center;transition:opacity .76s .18s,visibility 0s .96s;display:grid;position:absolute;inset:0;overflow:hidden}.scene-loader-eclipse{aspect-ratio:1;background:#ffd166;border-radius:50%;width:38px;display:block;position:relative;box-shadow:0 0 0 1px #ffebb257,0 0 20px #ffd16647,0 0 62px #ffd1661c}.scene-loader-eclipse:before,.scene-loader-eclipse:after{content:"";border-radius:50%;position:absolute}.scene-loader-eclipse:before{background:#02050b;animation:2.2s cubic-bezier(.64,0,.36,1) infinite alternate scene-loader-transit;inset:1px;box-shadow:-2px 0 #ffefc2e0}.scene-loader-eclipse:after{border:1px solid #8bd3dd21;inset:-10px;box-shadow:0 0 28px #8bd3dd14}.eclipse-app.is-scene-ready .scene-loader{opacity:0;visibility:hidden}.eclipse-app.is-booting .brand-panel,.eclipse-app.is-booting .share-feature,.eclipse-app.is-booting .timeline-panel,.eclipse-app.is-booting .control-panel,.eclipse-app.is-booting .source-footer{visibility:hidden;opacity:0;pointer-events:none}#eclipse-canvas.is-surface-hover{cursor:grab}#eclipse-canvas.is-camera-dragging,#eclipse-canvas.is-surface-pinching{cursor:grabbing}#eclipse-canvas.is-sky-hover{cursor:help}.city-label-layer,.sky-label-layer{z-index:2;pointer-events:none;position:absolute;inset:0;overflow:hidden}.sky-label{--sky-accent:#edf4f7;--sky-label-x:0px;--sky-label-y:0px;--sky-label-intensity:.7;--sky-label-content-offset-y:0px;--sky-reticle-size:14px;--sky-reticle-gap:7px;contain:style;color:#edf4f7e0;opacity:0;text-shadow:0 2px 8px #000000f5,0 0 18px #000000e6;transform:translate3d(var(--sky-label-x), var(--sky-label-y), 0);will-change:transform, opacity;transition:transform .11s linear,opacity .22s;position:absolute;top:0;left:0}.sky-label.is-visible{opacity:var(--sky-label-intensity)}.sky-label[data-kind=planet]{--sky-accent:#ffd166;--sky-reticle-size:18px}.sky-label[data-kind=sun]{--sky-accent:#ffbd4a;--sky-reticle-size:22px}.sky-label[data-kind=moon]{--sky-accent:#dcecf3;--sky-reticle-size:20px}.sky-label[data-kind=deep-sky]{--sky-accent:#8bd3dd;--sky-reticle-size:18px}.sky-label[data-kind=constellation]{--sky-accent:#b8cbd2;--sky-reticle-size:16px}.sky-label-reticle{width:var(--sky-reticle-size);height:var(--sky-reticle-size);border:1px solid color-mix(in srgb, var(--sky-accent) 92%, transparent);box-shadow:0 0 0 3px color-mix(in srgb, var(--sky-accent) 9%, transparent), 0 0 16px color-mix(in srgb, var(--sky-accent) 36%, transparent);background:0 0;border-radius:50%;position:absolute;top:0;left:0;transform:translate(-50%,-50%)}.sky-label[data-kind=constellation] .sky-label-reticle{border-style:dashed}.sky-label-content{left:calc(var(--sky-reticle-size) / 2 + var(--sky-reticle-gap));border-left:1px solid color-mix(in srgb, var(--sky-accent) 52%, transparent);width:max-content;max-width:176px;transform:translateY(calc(-50% + var(--sky-label-content-offset-y)));background:linear-gradient(90deg,#02050bcc,#02050b80 68%,#02050b00);gap:2px;padding:4px 10px 4px 8px;display:grid;position:absolute;top:0}.sky-label.is-left .sky-label-content{right:calc(var(--sky-reticle-size) / 2 + var(--sky-reticle-gap));border-right:1px solid color-mix(in srgb, var(--sky-accent) 52%, transparent);text-align:right;background:linear-gradient(270deg,#02050bcc,#02050b80 68%,#02050b00);border-left:0;padding:4px 8px 4px 10px;left:auto}.sky-label.is-below .sky-label-content{top:calc(var(--sky-reticle-size) / 2 + 5px);transform:translateY(var(--sky-label-content-offset-y))}.sky-label-name{color:#f8fbfb;text-overflow:ellipsis;white-space:nowrap;font-size:.76rem;font-weight:760;line-height:1.05;overflow:hidden}.sky-label-detail{color:color-mix(in srgb, var(--sky-accent) 78%, #edf4f77a);text-overflow:ellipsis;white-space:nowrap;font-size:.54rem;font-weight:680;line-height:1.1;overflow:hidden}.sky-label.is-leaving{opacity:0}.sky-label.is-hovered .sky-label-reticle{box-shadow:0 0 0 4px color-mix(in srgb, var(--sky-accent) 12%, transparent), 0 0 22px color-mix(in srgb, var(--sky-accent) 52%, transparent);transform:translate(-50%,-50%)scale(1.08)}.sky-label.is-hovered .sky-label-content{opacity:.26}.sky-tooltip{--sky-tooltip-accent:#edf4f7;--sky-tooltip-connector-angle:0deg;--sky-tooltip-connector-length:0px;--sky-tooltip-connector-x:0px;--sky-tooltip-connector-y:0px;z-index:4;border:1px solid color-mix(in srgb, var(--sky-tooltip-accent) 24%, #e0eff41a);width:min(256px,100vw - 24px);box-shadow:0 18px 52px #00000080, 0 0 24px color-mix(in srgb, var(--sky-tooltip-accent) 8%, transparent), 0 0 0 1px #ffffff06 inset;color:#edf4f7e0;pointer-events:none;text-shadow:0 2px 14px #000000b3;-webkit-backdrop-filter:blur(18px)saturate(1.1);backdrop-filter:blur(18px)saturate(1.1);background:linear-gradient(#09111cf2,#02060deb),#02050be6;border-radius:8px;gap:10px;padding:11px 12px 10px;animation:.12s both sky-tooltip-in;display:grid;position:fixed}.sky-tooltip>:not(.sky-tooltip-connector){z-index:1;position:relative}.sky-tooltip-connector{z-index:0;top:var(--sky-tooltip-connector-y);left:var(--sky-tooltip-connector-x);width:var(--sky-tooltip-connector-length);background:linear-gradient(90deg, color-mix(in srgb, var(--sky-tooltip-accent) 44%, transparent), color-mix(in srgb, var(--sky-tooltip-accent) 15%, transparent));height:1px;box-shadow:0 0 8px color-mix(in srgb, var(--sky-tooltip-accent) 16%, transparent);opacity:0;pointer-events:none;transform:rotate(var(--sky-tooltip-connector-angle));transform-origin:0;border-radius:999px;transition:opacity .11s;position:absolute}.sky-tooltip-connector:after{border:1px solid color-mix(in srgb, var(--sky-tooltip-accent) 45%, transparent);content:"";background:#02060db8;border-radius:50%;width:4px;height:4px;position:absolute;top:50%;right:-2px;transform:translateY(-50%)}.sky-tooltip.has-connector .sky-tooltip-connector{opacity:.74}.sky-tooltip[data-kind=planet]{--sky-tooltip-accent:#ffd166}.sky-tooltip[data-kind=sun]{--sky-tooltip-accent:#ffcc63}.sky-tooltip[data-kind=moon]{--sky-tooltip-accent:#dcecf3}.sky-tooltip[data-kind=deep-sky]{--sky-tooltip-accent:#8bd3dd}.sky-tooltip[data-kind=constellation]{--sky-tooltip-accent:#ffe29a;gap:8px;width:min(232px,100vw - 24px);padding:10px 11px 9px}.sky-tooltip[hidden]{display:none}.sky-tooltip-heading{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.sky-tooltip-title-block{gap:2px;min-width:0;display:grid}.sky-tooltip-category{color:color-mix(in srgb, var(--sky-tooltip-accent) 84%, #edf4f76b);text-transform:uppercase;font-size:.56rem;font-weight:760;line-height:1}.sky-tooltip-title{color:#f8fbfb;text-overflow:ellipsis;white-space:nowrap;font-size:.88rem;font-weight:780;line-height:1.12;overflow:hidden}.sky-tooltip-marker{border:1px solid color-mix(in srgb, var(--sky-tooltip-accent) 82%, transparent);background:var(--sky-tooltip-accent);width:12px;height:12px;box-shadow:0 0 0 5px color-mix(in srgb, var(--sky-tooltip-accent) 10%, transparent), 0 0 20px color-mix(in srgb, var(--sky-tooltip-accent) 48%, transparent);border-radius:50%;flex:none;margin-top:3px}.sky-tooltip[data-kind=constellation] .sky-tooltip-marker{background:0 0;border-style:dashed}.sky-tooltip[data-kind=constellation] .sky-tooltip-grid{gap:4px 10px;padding-top:8px}.sky-tooltip-grid{border-top:1px solid #e0eff41a;grid-template-columns:minmax(74px,auto) minmax(0,1fr);gap:5px 12px;margin:0;padding-top:9px;display:grid}.sky-tooltip-grid dt,.sky-tooltip-grid dd{margin:0;font-size:.65rem;line-height:1.25}.sky-tooltip-grid dt{color:#edf4f775}.sky-tooltip-grid dd{color:#edf4f7e0;font-variant-numeric:tabular-nums;text-align:right;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.sky-tooltip-source{color:#edf4f76b;margin:0;font-size:.56rem;line-height:1.2}@keyframes sky-tooltip-in{0%{opacity:0;transform:translateY(3px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}.city-label{--label-x:0px;--label-y:0px;--label-offset-x:0px;--label-offset-y:0px;--label-intensity:0;--connector-origin-x:50%;--connector-origin-y:100%;--connector-angle:0deg;--connector-length:11px;z-index:3;contain:layout paint style;border:1px solid rgba(255, 221, 148, calc(.08 + var(--label-intensity) * .34));background:linear-gradient(90deg, rgba(255, 209, 102, calc(.04 + var(--label-intensity) * .08)), transparent 34%), linear-gradient(180deg, rgba(6, 12, 20, calc(.58 + var(--label-intensity) * .22)), rgba(2, 5, 11, calc(.5 + var(--label-intensity) * .22)));max-width:min(104px,100vw - 28px);min-height:18px;box-shadow:0 0 10px rgba(255, 209, 102, calc(var(--label-intensity) * .08)), 0 6px 16px #0000003d, 0 0 0 1px #ffffff06 inset;color:#f8fbfbf0;pointer-events:auto;cursor:pointer;opacity:clamp(0, calc((var(--label-intensity) - .08) * 1.28), 1);text-shadow:0 2px 10px #000000d6;transform:translate3d(calc(var(--label-x) - 50% + var(--label-offset-x)), calc(var(--label-y) - 100% - 10px + var(--label-offset-y)), 0);transform-origin:bottom;will-change:transform, opacity;border-radius:5px;align-items:center;gap:5px;padding:2px 6px 2px 5px;font-family:inherit;font-size:.56rem;font-weight:740;line-height:1;transition:transform .18s cubic-bezier(.22,.76,.2,1),border-color .16s,box-shadow .16s,opacity .42s;display:inline-flex;position:absolute;top:0;left:0}.city-label:after{left:var(--connector-origin-x);top:var(--connector-origin-y);width:1px;height:var(--connector-length);background:linear-gradient(180deg, rgba(255, 209, 102, calc(.48 + var(--label-intensity) * .28)), #ffd16600);content:"";opacity:0;transform:translateX(-50%) rotate(var(--connector-angle));transform-origin:50% 0;transition:opacity .16s;position:absolute}.city-label.is-offset:after{opacity:calc(.22 + var(--label-intensity) * .62)}.city-label-marker{width:2px;height:11px;box-shadow:0 0 0 1px rgba(255, 209, 102, calc(.04 + var(--label-intensity) * .08)), 0 0 10px rgba(255, 209, 102, calc(.22 + var(--label-intensity) * .26));background:linear-gradient(#fff2c7,#ffd166 58%,#ffd1666b);border-radius:999px;flex:none}.city-label-name{color:#f8fbfbf5;text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:82px;overflow:hidden}.city-eclipse-icon{--eclipse-coverage:inherit;--eclipse-phase:inherit;width:20px;height:20px;box-shadow:0 0 calc(7px + var(--eclipse-coverage) * 14px) rgba(255, 209, 102, calc(.22 + var(--eclipse-coverage) * .24)), 0 0 0 1px #ffefbc3d inset;background:radial-gradient(circle at 36% 32%,#fff7c9 0 12%,#ffd166 36%,#ce8228 62%,#573312 100%);border-radius:50%;flex:none;position:relative;overflow:hidden}.city-eclipse-icon:before{box-shadow:-2px 0 8px #000000b8, 0 0 calc(var(--eclipse-coverage) * 12px) rgba(255, 229, 158, calc(var(--eclipse-coverage) * .22));content:"";opacity:calc(.18 + var(--eclipse-coverage) * .82);transform:translateX(calc(var(--eclipse-phase) * 17px));background:radial-gradient(circle at 40% 36%,#0a1119d1,#010409 62%,#000 100%);border-radius:50%;position:absolute;inset:-1px}.city-eclipse-icon:after{border:1px solid rgba(255, 245, 196, calc(var(--eclipse-coverage) * .44));box-shadow:0 0 calc(var(--eclipse-coverage) * 13px) rgba(255, 223, 135, calc(var(--eclipse-coverage) * .34));content:"";opacity:var(--eclipse-coverage);border-radius:50%;position:absolute;inset:1px}.city-label.is-peak{border-color:#ffe08cb8;box-shadow:0 0 18px #ffd16633,0 12px 26px #00000061,inset 0 0 0 1px #fff5c41a}.city-label.is-pinned{background:linear-gradient(90deg,#ffd1662e,#0000 38%),linear-gradient(#12161deb,#05080edb);border-color:#fff5c4c7;box-shadow:0 0 22px #ffd16638,0 14px 32px #00000070,inset 0 0 0 1px #fff5c424}.city-label.is-leaving{pointer-events:none}.control-panel,.timeline-panel,.fallback-message{z-index:2;border:1px solid var(--glass-line);background:linear-gradient(180deg, #080f19b8, #02050bad), var(--glass-fill);-webkit-backdrop-filter:blur(18px)saturate(1.08);backdrop-filter:blur(18px)saturate(1.08);border-radius:8px;position:absolute;box-shadow:0 18px 56px #00000061,inset 0 0 0 1px #ffd16605}.brand-panel{z-index:2;top:var(--chrome-edge);left:var(--chrome-edge);width:min(410px, calc(100vw - var(--chrome-edge) - var(--chrome-edge)));isolation:isolate;text-shadow:0 2px 24px #000000eb;padding:2px 0 0;position:absolute}.brand-panel:before{z-index:-1;pointer-events:none;content:"";background:linear-gradient(104deg,#02050be6 0 34%,#02050b4d 58%,#02050b00 76%);position:absolute;inset:-18px -78px -28px -26px;-webkit-mask-image:linear-gradient(90deg,#000 0 70%,#0000 100%);mask-image:linear-gradient(90deg,#000 0 70%,#0000 100%)}.share-feature{z-index:4;top:var(--chrome-edge);right:var(--chrome-edge);color:#ffd166;cursor:pointer;min-width:96px;min-height:42px;font:inherit;pointer-events:auto;-webkit-backdrop-filter:blur(16px)saturate(1.08);backdrop-filter:blur(16px)saturate(1.08);background:radial-gradient(circle at 22% 0,#ffd16624,#0000 54%),linear-gradient(#0d141ee6,#040911db);border:1px solid #ffd1666b;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:0 14px;transition:border-color .16s,background .16s,color .16s,box-shadow .16s,transform .16s;display:inline-flex;position:absolute;box-shadow:0 12px 34px #00000052,inset 0 0 0 1px #ffffff09,0 0 24px #ffd16612}.share-feature .lucide{stroke-width:2.2px;width:16px;height:16px}.share-feature-label{font-size:.68rem;font-weight:800;line-height:1}.share-feature:hover{color:#fff0bb;background:radial-gradient(circle at 22% 0,#ffd16638,#0000 58%),linear-gradient(#131922f0,#060b13e6);border-color:#ffdc8db8;transform:translateY(-1px);box-shadow:0 14px 38px #00000061,inset 0 0 0 1px #ffffff0d,0 0 30px #ffd1661f}.share-feature:active{transform:translateY(0)scale(.98)}.share-feature:focus-visible{outline-offset:3px;outline:2px solid #ffd166}.brand{color:#b8dee4c7;letter-spacing:0;margin:0 0 14px;font-size:.72rem;font-weight:720}.brand-link{color:inherit;align-items:center;gap:8px;text-decoration:none;display:inline-flex}.brand-link:hover{color:#ffd166}.brand-link:focus-visible{outline-offset:4px;border-radius:6px;outline:2px solid #ffd166}.brand-icon{opacity:.88;border-radius:5px;width:20px;height:20px;display:block}.brand-link:hover .brand-icon{opacity:1}.hero-heading{align-items:flex-start;gap:14px;display:flex}.eclipse-mark{aspect-ratio:1;background:radial-gradient(circle at 36% 34%,#fff7d1 0 10%,#ffd166 34%,#d58a2b 70%,#704115 100%);border-radius:50%;flex:none;width:46px;margin-top:4px;display:block;position:relative;box-shadow:0 0 0 1px #ffe59e2e,0 0 24px #ffd1662e,0 0 56px #ffd16614}.eclipse-mark:before,.eclipse-mark:after{content:"";border-radius:50%;position:absolute}.eclipse-mark:before{background:radial-gradient(circle,#0000 47%,#ffe0892e 51%,#8bd3dd0f 59%,#0000 72%);border:1px solid #ffe19129;inset:-8px}.eclipse-mark:after{background:radial-gradient(circle at 32% 30%,#17202a,#060a10 58%,#010204 82%);inset:3px;transform:translate(4px);box-shadow:-2px 0 #ffe7a8e6,-5px 0 15px #ffd1663d}h1{color:#f4f7f7;letter-spacing:0;gap:5px;margin:0;font-size:3.35rem;font-weight:720;line-height:.92;display:grid;position:relative}.title-text{text-wrap:nowrap;display:block}.title-year{color:#ffd166;font-size:.48em;font-weight:780;line-height:1;display:block}.lede{color:#edf4f7ad;flex-wrap:wrap;align-items:center;gap:5px 7px;max-width:25rem;margin:14px 0 0 60px;font-size:.76rem;font-weight:620;line-height:1.25;display:flex}.lede time{color:#f8fbfbe6;font-variant-numeric:tabular-nums}.lede-separator{color:#8bd3dd70}.renderer-chip{color:#8bd3dddb;vertical-align:.08em;border:1px solid #8bd3dd3d;border-radius:999px;align-items:center;min-height:1.45em;padding:0 .48em;font-size:.72em;font-weight:800;line-height:1;display:inline-flex}.renderer-chip[data-mode=webgpu]{color:#ffd166;border-color:#ffd1666b;box-shadow:0 0 22px #ffd1661f}.control-panel{right:var(--chrome-edge);bottom:var(--chrome-edge);width:min(560px, calc(100vw - var(--chrome-edge) - var(--chrome-edge)));border-color:#8bd3dd29;gap:6px;padding:8px;display:grid}.timeline-panel{right:var(--chrome-edge);bottom:calc(var(--chrome-edge) + 172px);width:min(560px, calc(100vw - var(--chrome-edge) - var(--chrome-edge)));border-color:#8bd3dd29;padding:7px 9px 6px}.panel-main-grid{grid-template-columns:minmax(0,1fr) 168px;align-items:stretch;gap:6px;min-width:0;min-height:0;display:grid}.panel-actions{flex:none;align-content:start;gap:6px;min-width:0;display:grid}.timeline-row{align-items:stretch;gap:7px;display:flex}.timeline-actions{flex:none;align-items:center;gap:4px;display:flex}.timeline-shell{flex:1;align-content:center;gap:2px;min-width:0;display:grid}.time-readout{grid-template-columns:auto minmax(0,1fr);align-items:baseline;gap:7px;min-width:0;display:grid}.time-meta{flex-wrap:wrap;align-items:center;gap:3px 6px;min-width:0;display:flex}.time-control{touch-action:pan-x;flex:1;align-items:center;min-width:0;min-height:26px;display:grid;position:relative}.timeline-rail{--timeline-progress:0%;width:100%;min-width:0;height:24px;display:block;position:relative}.timeline-rail:before,.timeline-rail:after{pointer-events:none;content:"";position:absolute;left:0}.timeline-rail:before{z-index:1;box-sizing:border-box;background:#edf4f709;border:1px solid #e0eff426;border-radius:4px;height:10px;top:7px;right:0;box-shadow:0 0 18px #ffd16614,inset 0 0 0 1px #00000042}.timeline-rail:after{z-index:3;width:max(0px, calc(var(--timeline-progress) - 1px));background:#ffd166f5;border-radius:2px;height:2px;top:11px;left:1px;box-shadow:0 0 12px #ffd1662e}.timeline-chapters,.timeline-chapter-cuts,.timeline-milestones{pointer-events:none;height:10px;position:absolute;top:7px;left:0;right:0}.timeline-chapters{z-index:2}.timeline-chapter-cuts{z-index:4}.timeline-milestones{z-index:6}.timeline-milestone{--milestone-color:#8bd3ddb3;--milestone-connector-left:12px;--milestone-connector-width:0px;--milestone-offset-x:0px;appearance:none;top:-7px;left:var(--milestone-position);width:24px;height:24px;color:var(--milestone-color);cursor:pointer;pointer-events:auto;touch-action:manipulation;transform:translateX(calc(-50% + var(--milestone-offset-x)));background:0 0;border:0;border-radius:999px;margin:0;padding:0;transition:opacity .16s,transform .16s;position:absolute;overflow:visible}.timeline-milestone:before{top:11.5px;left:var(--milestone-connector-left);width:var(--milestone-connector-width);background:color-mix(in srgb, var(--milestone-color) 46%, transparent);height:1px;box-shadow:0 0 5px color-mix(in srgb, var(--milestone-color) 18%, transparent);content:"";opacity:0;border-radius:999px;transition:opacity .16s;position:absolute}.timeline-milestone.is-displaced:before{opacity:.72}.timeline-milestone-dot{background:var(--milestone-color);width:2px;height:6px;box-shadow:0 0 6px color-mix(in srgb, var(--milestone-color) 30%, transparent);opacity:.62;border-radius:999px;transition:opacity .16s,box-shadow .16s,transform .16s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.timeline-milestone:after{z-index:30;color:#f8fbfbe6;content:attr(data-tooltip);opacity:0;pointer-events:none;visibility:hidden;white-space:nowrap;background:#030810f7;border:1px solid #e0eff41f;border-radius:5px;width:max-content;max-width:190px;padding:5px 7px;font-size:.54rem;font-weight:740;line-height:1.15;transition:opacity .12s,transform .12s,visibility 0s linear .12s;position:absolute;bottom:calc(100% + 4px);right:50%;transform:translate(50%,3px);box-shadow:0 10px 28px #0000006b}.timeline-milestone:hover:after,.timeline-milestone:focus-visible:after{opacity:1;visibility:visible;transition-delay:0s;transform:translate(50%)}.timeline-milestone.is-global{--milestone-color:#ffd166e6}.timeline-milestone.is-global .timeline-milestone-dot{border:1px solid #030810e0;border-radius:50%;width:6px;height:6px}.timeline-milestone.is-city{--milestone-color:#8bd3ddbd}.timeline-milestone.is-maximum{--milestone-color:#ffd166f0}.timeline-milestone.is-maximum .timeline-milestone-dot{width:4px}.timeline-milestone.is-past .timeline-milestone-dot{opacity:.24}.timeline-milestone.is-current .timeline-milestone-dot,.timeline-milestone.is-next .timeline-milestone-dot,.timeline-milestone:hover .timeline-milestone-dot,.timeline-milestone:focus-visible .timeline-milestone-dot{opacity:1;box-shadow:0 0 9px color-mix(in srgb, var(--milestone-color) 68%, transparent), 0 0 15px color-mix(in srgb, var(--milestone-color) 22%, transparent);transform:translate(-50%,-50%)scale(1.2)}.timeline-milestone:focus-visible{outline-offset:0;outline:1px solid #ffd166e6}.timeline-chapter{--region-start:0%;--region-end:0%;height:10px;top:0;left:var(--region-start);right:calc(100% - var(--region-end));min-width:3px;position:absolute;overflow:visible}.timeline-chapter:before{content:"";opacity:.88;background:linear-gradient(#8bd3dd38,#8bd3dd1c);border:1px solid #8bd3dd57;border-radius:2px;transition:border-color .16s,background .16s,box-shadow .16s,opacity .16s;position:absolute;inset:1px 3px;box-shadow:inset 0 0 0 1px #8bd3dd0b,0 0 8px #8bd3dd14}.timeline-chapter.is-hovered:before,.timeline-chapter.is-active:before{opacity:1;background:linear-gradient(#ffd16642,#ffd16621);border-color:#ffd166a8;box-shadow:inset 0 0 0 1px #ffd16614,0 0 12px #ffd1662e}.timeline-chapter-cut{top:-2px;left:var(--chapter-cut-position);background:#030812;border-left:1px solid #8bd3dd1c;border-right:1px solid #8bd3dd1c;border-radius:1px;width:3px;height:14px;position:absolute;transform:translate(-50%);box-shadow:0 0 5px #000000b8}.timeline-chapter-tooltip{z-index:8;opacity:0;pointer-events:none;visibility:hidden;white-space:nowrap;background:#030810f0;border:1px solid #ffd16647;border-radius:6px;justify-content:center;align-items:center;gap:5px;width:max-content;min-width:152px;max-width:calc(100% - 8px);min-height:24px;padding:4px 8px;transition:opacity .12s,transform .12s,visibility 0s linear .12s;display:flex;position:absolute;bottom:calc(100% + 38px);left:50%;overflow:visible;transform:translate(-50%,4px);box-shadow:0 10px 26px #0000006b}.timeline-chapter-tooltip.is-visible{opacity:1;visibility:visible;transition-delay:0s;transform:translate(-50%)}.timeline-chapter-name{color:#f6f8f9;white-space:nowrap;flex:none;font-size:.58rem;font-weight:800;overflow:visible}.timeline-chapter-separator{color:#ffd16680;flex:none;font-size:.5rem}.timeline-chapter-time{color:#edf4f794;font-variant-numeric:tabular-nums;white-space:nowrap;flex:none;font-size:.52rem;font-weight:700;overflow:visible}.time-primary{color:#ffd166;font-variant-numeric:tabular-nums;letter-spacing:0;text-shadow:0 0 20px #ffd1662e;font-size:1.34rem;font-weight:800;line-height:1}.time-date{color:#edf4f7ad;text-overflow:ellipsis;white-space:nowrap;font-size:.66rem;overflow:hidden}.time-zone-picker{min-width:0;display:inline-flex;position:relative}.time-zone-toggle{color:#edf4f7c7;cursor:pointer;background:linear-gradient(#8bd3dd11,#edf4f705),#02050b3d;border:1px solid #8bd3dd29;border-radius:999px;justify-content:space-between;align-items:center;gap:5px;width:min(112px,28vw);min-width:84px;min-height:18px;padding:0 6px;font-size:.58rem;font-weight:760;line-height:1;transition:border-color .16s,background .16s,color .16s,box-shadow .16s;display:inline-flex;overflow:hidden}.time-zone-toggle:hover,.time-zone-toggle[aria-expanded=true]{color:#f8fbfbf0;background:linear-gradient(#ffd1661a,#edf4f708),#02050b57;border-color:#ffd16657}.time-zone-toggle .lucide{color:#8bd3ddbd;stroke-width:2.4px;flex:none;width:12px;height:12px;transition:transform .16s}.time-zone-toggle[aria-expanded=true] .lucide{transform:rotate(180deg)}.time-zone-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.time-zone-popover{z-index:8;-webkit-backdrop-filter:blur(20px)saturate(1.16);backdrop-filter:blur(20px)saturate(1.16);background:linear-gradient(#0a111bf5,#03070ef0),#02050be6;border:1px solid #e0eff424;border-radius:8px;gap:6px;width:min(306px,100vw - 28px);padding:7px;display:grid;position:absolute;bottom:calc(100% + 12px);right:0;box-shadow:0 20px 68px #00000085,inset 0 0 0 1px #ffd1660a}.time-zone-popover[hidden]{display:none}.time-zone-search-shell{background:#edf4f70b;border:1px solid #8bd3dd33;border-radius:999px;align-items:center;gap:7px;min-height:29px;padding:0 9px;display:flex}.time-zone-search-shell .lucide{color:#8bd3ddb8;stroke-width:2.3px;flex:none;width:13px;height:13px}.time-zone-search-shell:focus-within{border-color:#ffd16670;box-shadow:0 0 0 2px #ffd16614,0 0 18px #ffd16614}.time-zone-search{color:#f8fbfbf0;background:0 0;border:0;outline:0;width:100%;min-width:0;font-size:.74rem;font-weight:720;line-height:1}.time-zone-search::placeholder{color:#edf4f76b}.time-zone-search[aria-invalid=true]{color:#ffbebef0}.time-zone-list{scrollbar-color:#8bd3dd4d transparent;scrollbar-width:thin;gap:4px;max-height:166px;padding-right:1px;display:grid;overflow:auto}.time-zone-list::-webkit-scrollbar{width:5px}.time-zone-list::-webkit-scrollbar-thumb{background:#8bd3dd3d;border-radius:999px}.time-zone-option{color:#edf4f7c7;cursor:pointer;text-align:left;background:#edf4f709;border:1px solid #0000;border-radius:6px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;min-height:28px;padding:0 8px;display:grid}.time-zone-option:hover,.time-zone-option:focus-visible{color:#f8fbfbf0;background:linear-gradient(90deg,#ffd1661a,#0000 62%),#edf4f70c;border-color:#ffd16652}.time-zone-option[aria-selected=true]{background:radial-gradient(circle at 0,#ffd1662e,#0000 42%),#ffd1660a;border-color:#ffd1666b}.time-zone-option-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:.68rem;font-weight:780;line-height:1;overflow:hidden}.time-zone-option-meta{color:#ffdc8dc2;font-variant-numeric:tabular-nums;white-space:nowrap;font-size:.58rem;font-weight:780;line-height:1}.time-zone-empty{color:#edf4f780;padding:8px;font-size:.66rem;font-weight:720;line-height:1}.timeline-scale{color:#edf4f780;font-variant-numeric:tabular-nums;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;margin-top:-2px;line-height:1;display:grid}.timeline-bound{align-items:center;min-width:0;display:inline-flex}.timeline-bound-start{justify-self:start}.timeline-bound-end{justify-self:end}.timeline-bound-time{color:#edf4f78a;font-size:.56rem;font-weight:700}.timeline-region-status{justify-self:center;align-items:center;gap:5px;min-width:0;max-width:100%;min-height:16px;padding:0 3px;display:inline-flex;overflow:hidden}.timeline-region-dot{background:#8bd3dd9e;border-radius:50%;flex:none;width:3px;height:3px;transition:background .16s,box-shadow .16s;box-shadow:0 0 7px #8bd3dd3d}.timeline-region-status.is-route{color:#ffde93e6}.timeline-region-status.is-route .timeline-region-dot{background:#ffd166;box-shadow:0 0 10px #ffd16675}.timeline-region-current{color:#8bd3ddcc;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:.53rem;font-weight:760;overflow:hidden}.timeline-status-separator{color:#8bd3dd4d;font-size:.46rem;line-height:1}.timeline-event-current{color:#edf4f79e;font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap;flex:0 auto;min-width:0;font-size:.51rem;font-weight:710;line-height:1;overflow:hidden}.timeline-region-status.is-route .timeline-region-current{color:#ffde93e6}.city-panel{background:linear-gradient(#edf4f709,#edf4f704),#02050b2e;border:1px solid #e0eff413;border-radius:8px;gap:4px;min-height:0;padding:5px;display:grid;overflow:hidden}.city-panel-header{color:#edf4f79e;justify-content:space-between;align-items:center;gap:6px;padding:0 1px 0 2px;font-size:.58rem;font-weight:760;line-height:1;display:flex}.city-panel-header span:last-child{color:#ffd166c2;font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap;max-width:60%;overflow:hidden}.city-list{overscroll-behavior:contain;scrollbar-color:#8bd3dd4d transparent;scrollbar-width:thin;touch-action:pan-x;-webkit-overflow-scrolling:touch;gap:3px;min-height:64px;max-height:min(108px,100svh - 560px);padding-right:1px;display:grid;overflow:auto}.city-list::-webkit-scrollbar{width:5px}.city-list::-webkit-scrollbar-thumb{background:#8bd3dd3d;border-radius:999px}.city-group,.city-group-track{gap:3px;display:grid}.city-group-heading{z-index:2;color:#9adbe3d1;text-transform:uppercase;background-color:#07111a;background-image:linear-gradient(90deg,#8bd3dd13,#8bd3dd03);border:1px solid #8bd3dd1f;border-radius:4px;padding:3px 5px 2px;font-size:.51rem;font-weight:800;line-height:1;position:sticky;top:0;box-shadow:0 3px 8px #02050b85}.city-row{--city-coverage:0;background:linear-gradient(90deg, rgba(255, 209, 102, calc(var(--city-coverage) * .11)), transparent 58%), #edf4f705;color:#edf4f7c7;cursor:pointer;text-align:left;touch-action:manipulation;border:1px solid #0000;border-radius:5px;grid-template-columns:6px minmax(0,1fr) auto;align-items:center;gap:4px;width:100%;min-height:26px;padding:2px 5px;transition:border-color .15s,background .15s,box-shadow .15s,color .15s;display:grid;overflow:hidden}.city-row-marker{background:#8bd3ddb8;border-radius:999px;width:2px;height:12px;box-shadow:0 0 10px #8bd3dd29}.city-row-body{gap:1px;min-width:0;display:grid}.city-row-name,.city-row-meta{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.city-row-name{color:#f8fbfbe6;font-size:.6rem;font-weight:780;line-height:1.05}.city-row-meta{color:#edf4f77a;font-size:.47rem;line-height:1.05}.city-row-value{color:#ffdc8db8;font-variant-numeric:tabular-nums;font-size:.54rem;font-weight:800;line-height:1}.city-row:hover,.city-row.is-hovered{background:linear-gradient(90deg, rgba(255, 209, 102, calc(.06 + var(--city-coverage) * .13)), transparent 62%), #edf4f709;color:#f8fbfbf2;border-color:#ffd1663d}.city-row.is-active{background:radial-gradient(circle at 0 50%, #ffd1662e, transparent 42%), linear-gradient(90deg, rgba(255, 209, 102, calc(.12 + var(--city-coverage) * .16)), transparent 64%), #ffd16606;border-color:#ffd16661;box-shadow:0 0 16px #ffd16612,inset 0 0 0 1px #fff5c409}.city-row.is-pinned{border-color:#ffd16657;box-shadow:0 0 16px #ffd16614,inset 0 0 0 1px #fff5c409}.city-row.is-selected{border-color:#fff5c4b3;box-shadow:0 0 22px #ffd16621,inset 0 0 0 1px #fff5c414}.city-row.is-active .city-row-marker,.city-row.is-pinned .city-row-marker,.city-row.is-selected .city-row-marker{background:linear-gradient(#fff2c7,#ffd166 58%,#ffd16670);box-shadow:0 0 0 1px #ffd16614,0 0 13px #ffd1665c}.city-row:focus-visible{outline-offset:2px;outline:2px solid #ffd166}input[type=range]{appearance:none;z-index:5;cursor:pointer;touch-action:pan-x;background:0 0;width:100%;height:24px;margin:0;position:relative}input[type=range]::-webkit-slider-runnable-track{height:10px;box-shadow:none;background:0 0;border:0}input[type=range]::-webkit-slider-thumb{appearance:none;background:radial-gradient(circle at 36% 34%,#fff8dc 0 22%,#ffd166 46%,#b97a26 100%);border:1px solid #fff2cad1;border-radius:50%;width:16px;height:16px;margin-top:-3px;box-shadow:0 0 0 4px #ffd16612,0 0 22px #ffd1665c}input[type=range]::-moz-range-track{background:0 0;border:0;height:10px}input[type=range]::-moz-range-progress{background:0 0}input[type=range]::-moz-range-thumb{background:#ffd166;border:1px solid #fff2cad1;border-radius:50%;width:17px;height:17px;box-shadow:0 0 20px #ffd1666b}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.icon-button,.location-tab{cursor:pointer;touch-action:manipulation;background:linear-gradient(#fff1,#ffffff07);border:1px solid #e0eff41f;border-radius:8px;transition:border-color .16s,background .16s,transform .16s}.icon-button{flex:none;place-items:center;width:31px;height:31px;display:inline-grid}.timeline-play{background:radial-gradient(circle at 34% 24%,#ffd1661f,#0000 62%),linear-gradient(#ffffff13,#ffffff07);border-color:#ffd1664d;width:34px;height:34px}.timeline-play.is-playing{color:#ffd166;border-color:#ffd16685;box-shadow:0 0 18px #ffd1661a,inset 0 0 0 1px #fff5c40a}.timeline-loop:not(.active){color:#edf4f79e}.icon-button:hover,.location-tab:hover{background:linear-gradient(#ffd1661a,#ffffff0b);border-color:#ffd1666b}.icon-button.active,.icon-button[aria-pressed=true]{color:#ffd166;background:linear-gradient(#ffd16633,#ffd16612);border-color:#ffd1668a;box-shadow:0 0 20px #ffd1661a}.icon-button:active,.location-tab:active,.settings-summary:active{transform:translateY(1px)}.icon-button:focus-visible,.location-tab:focus-visible,.settings-summary:focus-visible,.source-footer a:focus-visible,.source-overflow-toggle:focus-visible,.time-zone-toggle:focus-visible,input[type=range]:focus-visible,input[type=checkbox]:focus-visible{outline-offset:3px;outline:2px solid #ffd166}.location-tabs{background:linear-gradient(#edf4f70a,#edf4f703),#02050b2e;border:1px solid #e0eff417;border-radius:8px;grid-template-columns:repeat(2,minmax(0,1fr));gap:3px;margin-top:0;padding:2px;display:grid}.location-tab{color:#edf4f7d6;text-overflow:ellipsis;white-space:nowrap;background:0 0;border-color:#0000;justify-content:center;align-items:center;gap:5px;height:24px;padding:0 7px;display:inline-flex;position:relative;overflow:visible}.location-tab-label{text-overflow:ellipsis;min-width:0;overflow:hidden}.location-tab-info{color:#8bd3ddd6;border:1px solid #8bd3dd4d;border-radius:50%;flex:none;place-items:center;width:14px;height:14px;display:inline-grid;position:relative}.location-tab-info:before,.location-tab-tooltip{z-index:12;opacity:0;pointer-events:none;transform-origin:100% 0;transition:opacity 80ms,transform .1s;position:absolute;transform:translateY(-2px)scale(.98)}.location-tab-info:before{content:"";background:#060d16f5;border-top:1px solid #e0eff424;border-left:1px solid #e0eff424;width:7px;height:7px;top:calc(100% + 5px);right:3px;transform:translateY(-2px)rotate(45deg)scale(.98)}.location-tab-tooltip{color:#edf4f7b3;text-align:left;white-space:normal;background:linear-gradient(#0a131ffa,#030810f7),#030810f0;border:1px solid #8bd3dd33;border-radius:7px;gap:3px;width:204px;max-width:min(204px,100vw - 32px);padding:8px 10px;font-size:.65rem;font-weight:590;line-height:1.35;display:grid;top:calc(100% + 9px);right:-5px;box-shadow:0 14px 32px #00000070,inset 0 0 0 1px #ffd1660b}.location-tab-tooltip strong{color:#ffd166;font-size:.68rem;font-weight:760;line-height:1.15}.location-tab[data-location=system]:hover .location-tab-info:before,.location-tab[data-location=system]:hover .location-tab-tooltip,.location-tab:focus-visible .location-tab-info:before,.location-tab:focus-visible .location-tab-tooltip{opacity:1;transform:translate(0,0)scale(1)}.location-tab[data-location=system]:hover .location-tab-info:before,.location-tab:focus-visible .location-tab-info:before{transform:translate(0,0)rotate(45deg)scale(1)}@media (hover:none){.location-tab-info:before,.location-tab-tooltip{display:none}}.location-tab-info .lucide{stroke-width:2.4px;width:10px;height:10px}.location-tab:hover{background:#ffd16614;border-color:#ffd16647}.location-tab.active{color:#f8fbfb;background:radial-gradient(circle at 50% 0,#8bd3dd2e,#0000 76%),linear-gradient(#8bd3dd24,#8bd3dd0e);border-color:#8bd3dd4d;box-shadow:0 0 18px #8bd3dd14,inset 0 0 0 1px #ffffff09}.location-tab.active .location-tab-info{color:#ffdc8df0;background:#ffd16614;border-color:#ffd1665c}.settings-menu{gap:0;min-width:0;display:grid;position:relative}.settings-summary{appearance:none;color:#edf4f7c7;cursor:pointer;-webkit-user-select:none;user-select:none;background:linear-gradient(#edf4f70a,#edf4f703),#02050b2e;border:1px solid #e0eff417;border-radius:8px;justify-content:space-between;align-items:center;gap:7px;width:100%;min-height:25px;padding:0 8px;font-size:.6rem;font-weight:760;line-height:1;transition:border-color .16s,background .16s,color .16s,transform .16s,box-shadow .16s;display:flex}.settings-summary:hover,.settings-menu.is-open .settings-summary{color:#f8fbfbeb;background:radial-gradient(circle at 50% 0,#ffd1661f,#0000 76%),linear-gradient(#ffd16614,#edf4f705),#02050b47;border-color:#ffd16647}.settings-menu.is-open .settings-summary{box-shadow:0 0 18px #ffd16614}.settings-menu.is-open .settings-summary.has-tooltip:after{display:none}.settings-summary-label{align-items:center;gap:6px;min-width:0;display:inline-flex}.settings-summary .lucide{stroke-width:2.2px;width:13px;height:13px}.settings-chevron{color:#8bd3ddc7;flex:none;transition:transform .16s}.settings-menu.is-open .settings-chevron{transform:rotate(180deg)}.settings-menu:not(.is-open) .layer-grid{display:none}.layer-grid{border:0;border-top:1px solid #e0eff414;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;min-inline-size:0;margin:5px 0 0;padding:5px 0 0;display:grid}.layer-grid[hidden]{display:none!important}.layer-grid label{color:#edf4f7c2;cursor:pointer;white-space:nowrap;background:#edf4f707;border:1px solid #e0eff416;border-radius:999px;justify-content:center;align-items:center;gap:4px;min-width:0;min-height:22px;padding:0 6px;font-size:.58rem;font-weight:740;transition:border-color .16s,background .16s,color .16s,box-shadow .16s;display:flex}.layer-grid label:hover{color:#f8fbfbe6;background:#ffd1660f;border-color:#ffd16642}.layer-grid label:has(input:checked){color:#f8fbfbf0;background:radial-gradient(circle at 50% 0,#8bd3dd29,#0000 72%),#8bd3dd12;border-color:#8bd3dd52;box-shadow:0 0 16px #8bd3dd12}.layer-grid input[type=checkbox]{appearance:none;background:#02050b70;border:1px solid #edf4f757;border-radius:50%;flex:none;width:8px;height:8px;margin:0;display:inline-block;box-shadow:inset 0 0 0 1px #0000002e}.layer-grid input[type=checkbox]:checked{background:#8bd3dd;border-color:#8bd3ddfa;box-shadow:0 0 0 2px #8bd3dd21,0 0 12px #8bd3dd33}.fallback-message[hidden]{display:none}.source-footer{z-index:2;left:var(--chrome-edge);bottom:var(--chrome-edge);color:#edf4f794;text-shadow:0 2px 18px #000000eb,0 0 20px #02050be0;white-space:nowrap;-webkit-backdrop-filter:blur(16px)saturate(1.08);backdrop-filter:blur(16px)saturate(1.08);background:linear-gradient(#08101c61,#02050b52),#02050b47;border:1px solid #e0eff413;border-radius:999px;align-items:center;gap:4px;max-width:min(720px,100vw - 640px);min-height:22px;padding:3px 6px;font-size:.56rem;line-height:1;display:inline-flex;position:absolute;overflow:visible;box-shadow:0 10px 28px #00000038,inset 0 0 0 1px #ffd16604;-webkit-mask-image:none;mask-image:none}.source-footer.is-condensed{width:var(--source-footer-measured-width)}.source-footer [hidden]{display:none!important}.source-footer-item{flex:none;align-items:center;gap:4px;display:inline-flex}.source-footer-label,.source-footnote{color:#edf4f78a}.source-separator{color:#8bd3dd3d;font-size:.48rem}.source-footer a{color:#edf4f7ad;background:0 0;border:0;border-radius:0;flex:none;align-items:center;min-height:auto;padding:0 1px;font-weight:760;text-decoration:none;display:inline-flex}.source-footer a:hover{color:#ffd166;text-underline-offset:3px;background:0 0;text-decoration:underline;text-decoration-thickness:1px}.source-overflow{flex:none;position:relative}.source-overflow-toggle{color:#edf4f7c2;cursor:pointer;background:#07111db8;border:1px solid #8bd3dd33;border-radius:999px;justify-content:center;align-items:center;min-width:26px;min-height:18px;padding:0 6px;font-size:.53rem;font-weight:820;line-height:1;list-style:none;transition:border-color .16s,background .16s,color .16s;display:inline-flex}.source-overflow-toggle::-webkit-details-marker{display:none}.source-overflow-toggle:hover,.source-overflow[open] .source-overflow-toggle{color:#ffd166;background:#ffd16617;border-color:#ffd16670}.source-overflow-panel{color:#edf4f7bd;text-align:left;white-space:normal;-webkit-backdrop-filter:blur(20px)saturate(1.08);backdrop-filter:blur(20px)saturate(1.08);background:linear-gradient(#09121ff7,#02070ef7),#030914;border:1px solid #e0eff424;border-radius:7px;gap:2px;width:min(280px,100vw - 24px);max-height:min(360px,54svh);padding:8px;display:grid;position:absolute;bottom:calc(100% + 8px);right:0;overflow-y:auto;box-shadow:0 18px 48px #00000080,inset 0 0 0 1px #ffd16606}.source-overflow:not([open]) .source-overflow-panel{display:none}.source-overflow-heading{color:#8bd3dda3;letter-spacing:.08em;text-transform:uppercase;padding:2px 7px 5px;font-size:.53rem;font-weight:820}.source-footer .source-overflow-link{color:#edf4f7c2;text-overflow:ellipsis;white-space:nowrap;background:#edf4f706;border-radius:4px;align-items:center;min-height:28px;padding:5px 7px;font-size:.66rem;display:flex;overflow:hidden}.source-footer .source-overflow-link:hover{background:#ffd16613;text-decoration:none}.source-title-short{display:none}.city-tooltip{z-index:4;color:#edf4f7db;pointer-events:none;text-shadow:0 2px 16px #000000b3;-webkit-backdrop-filter:blur(20px)saturate(1.14);backdrop-filter:blur(20px)saturate(1.14);background:radial-gradient(circle at 88% 12%,#ffd1661a,#ffd16600 28%),linear-gradient(#08101cf0,#02050be0),#030810db;border:1px solid #ffd16633;border-radius:8px;width:min(318px,100vw - 28px);padding:12px;font-size:.72rem;position:fixed;transform:translate(0,0);box-shadow:0 24px 70px #00000080,0 0 28px #8bd3dd14,inset 0 0 0 1px #ffd16614}.city-tooltip.is-pinned{z-index:5;cursor:grab;pointer-events:auto;touch-action:none;-webkit-user-select:none;user-select:none;border-color:#ffe08c6b;box-shadow:0 28px 78px #00000094,0 0 34px #ffd1661a,inset 0 0 0 1px #ffd1661f}.city-tooltip.is-pinned.is-dragging{cursor:grabbing;box-shadow:0 30px 84px #0000009e,0 0 40px #ffd16624,inset 0 0 0 1px #ffd16629}.city-tooltip[hidden]{display:none}.city-tooltip-header{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.city-tooltip-title-block{min-width:0}.city-tooltip-title{color:#f8fbfb;text-overflow:ellipsis;white-space:nowrap;font-size:.9rem;font-weight:780;line-height:1.12;display:block;overflow:hidden}.city-tooltip-province{color:#8bd3ddd1;margin-top:2px;font-size:.66rem;display:block}.city-tooltip-data-badge{color:#edf4f7ad;letter-spacing:0;border:1px solid #8bd3dd42;border-radius:999px;align-items:center;min-height:18px;margin-top:6px;padding:0 6px;font-size:.58rem;font-weight:760;display:inline-flex}.city-tooltip-data-badge.route-estimate,.city-tooltip-data-badge.near-path-estimate{color:#ffde97d1;border-color:#ffd16647}.city-tooltip-actions{flex:none;align-items:center;gap:6px;display:inline-flex}.city-tooltip-percent{--eclipse-coverage:0;--eclipse-phase:-1;color:#ffd166;font-variant-numeric:tabular-nums;background:radial-gradient(circle at 42% 32%,#fff5c438,#ffd16614 44%,#ffd16600 76%),#ffd16614;border:1px solid #ffd1663d;border-radius:999px;align-items:center;gap:6px;min-width:68px;min-height:32px;padding:0 8px 0 6px;font-size:.84rem;font-weight:820;display:inline-flex;box-shadow:0 0 22px #ffd1661f}.city-tooltip-percent .city-eclipse-icon{width:21px;height:21px}.city-tooltip-percent-value{text-align:right;min-width:30px}.city-tooltip-close{color:#f8fbfbdb;cursor:pointer;touch-action:manipulation;background:#edf4f70f;border:1px solid #edf4f72e;border-radius:999px;place-items:center;width:30px;height:30px;transition:border-color .16s,background .16s,color .16s;display:inline-grid}.city-tooltip-close:hover{color:#ffd166;background:#ffd1661f;border-color:#ffd16685}.city-tooltip-close:focus-visible{outline-offset:3px;outline:2px solid #ffd166}.city-observer{--observer-moon-x:0px;--observer-moon-y:0px;--observer-moon-scale:1;--observer-coverage:0;background:linear-gradient(#030a13ad,#03080f47);border-top:1px solid #e0eff41a;border-bottom:1px solid #e0eff41a;grid-template-columns:1fr;min-height:92px;margin-top:11px;display:grid;overflow:hidden}.city-observer-heading,.city-observer-details{color:#edf4f780;font-variant-numeric:tabular-nums;justify-content:space-between;align-items:center;min-width:0;padding:5px 1px;font-size:.58rem;font-weight:700;display:flex}.city-observer-clock,.city-observer-position{color:#edf4f7ad}.city-observer-field{background:radial-gradient(circle at 50% 48%,#8bd3dd0e,#0000 42%),linear-gradient(#0b192866,#02060cb3);height:52px;position:relative;overflow:hidden}.city-observer-field:before,.city-observer-field:after{content:"";pointer-events:none;position:absolute}.city-observer-field:before{border-top:1px solid #8bd3dd14;top:50%;left:0;right:0}.city-observer-field:after{border-left:1px solid #8bd3dd0f;top:0;bottom:0;left:50%}.city-observer-sun,.city-observer-moon{border-radius:50%;width:32px;height:32px;margin:-16px 0 0 -16px;transition:opacity .16s;position:absolute;top:50%;left:50%}.city-observer-sun{background:radial-gradient(circle at 38% 34%,#fff9d5 0 7%,#ffe28a 23%,#f7b83c 66%,#c86d14 100%);box-shadow:0 0 8px #ffd770d1,0 0 22px #ffb8364d}.city-observer-moon{z-index:1;transform:translate3d(var(--observer-moon-x), var(--observer-moon-y), 0) scale(var(--observer-moon-scale));will-change:transform;background:radial-gradient(circle at 33% 30%,#59666e6b,#0000 18%),#05070a;border:1px solid #cfe0e738;transition:transform .15s linear,opacity .16s;box-shadow:inset -1px 0 3px #e8f1f429}.city-observer.is-initial-placement .city-observer-moon{transition:opacity .16s}.city-observer.is-loading .city-observer-sun,.city-observer.is-loading .city-observer-moon{opacity:0}.city-tooltip-grid{grid-template-columns:minmax(78px,auto) 1fr;gap:7px 16px;margin:10px 0 0;display:grid}.city-tooltip-grid dt{color:#edf4f780;margin:0;font-size:.7rem;line-height:1.3}.city-tooltip-grid dd{color:#edf4f7e0;font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap;margin:0;font-size:.76rem;line-height:1.3}.city-tooltip-source-note{color:#edf4f780;margin:11px 0 0;font-size:.68rem;line-height:1.35}.city-tooltip-weather{color:#ffd166db;border-top:1px solid #e0eff41f;gap:3px;margin-top:10px;padding-top:10px;display:grid}.city-tooltip-weather small{color:#edf4f79e;font-size:.7rem}.city-tooltip-weather.unavailable,.city-tooltip-weather.error{color:#edf4f79e}.fallback-message{color:#ffd166;max-width:420px;padding:14px 16px;bottom:76px;left:28px}.lucide{stroke-width:2px;width:18px;height:18px}@media (width<=1040px){h1{font-size:3rem}.lede{max-width:22rem}}@media (width>=1000px){.eclipse-app{--desktop-panel-edge:var(--chrome-edge);--desktop-panel-width:var(--right-rail-width);--desktop-timeline-gap:var(--timeline-dock-gap);--desktop-timeline-width:clamp(376px, 26.5vw, 430px)}.control-panel{--desktop-panel-max-height:min(512px, calc(100svh - 128px));top:clamp(84px,8.4svh,108px);right:var(--desktop-panel-edge);width:min(var(--desktop-panel-width), calc(100vw - var(--chrome-edge) - var(--chrome-edge)));max-height:var(--desktop-panel-max-height);gap:0;padding:8px;bottom:auto;overflow:hidden}.timeline-row{z-index:3;bottom:var(--chrome-edge);right:auto;left:var(--chrome-edge);width:var(--desktop-timeline-width);min-width:var(--desktop-timeline-width);-webkit-backdrop-filter:blur(18px)saturate(1.1);backdrop-filter:blur(18px)saturate(1.1);background:linear-gradient(#08101cd1,#02050bc7),#030810bd;border:1px solid #e0eff421;border-radius:8px;padding:7px 9px 6px;position:fixed;transform:none;box-shadow:0 16px 54px #0006,inset 0 0 0 1px #ffd16606}.panel-main-grid{max-height:calc(var(--desktop-panel-max-height) - 16px);grid-template-rows:auto minmax(0,1fr);grid-template-columns:1fr;height:auto;overflow:hidden}.city-panel{order:2;grid-template-rows:auto minmax(0,1fr);max-height:min(426px,100svh - 206px)}.city-list{min-height:0;max-height:min(372px,100svh - 260px)}.panel-actions{border-bottom:1px solid #e0eff411;order:1;align-content:start;padding:0 0 6px}.source-footer{right:var(--chrome-edge);bottom:var(--chrome-edge);max-width:min(760px, calc(100vw - var(--desktop-timeline-width) - var(--chrome-edge) - var(--chrome-edge) - 18px));min-height:auto;box-shadow:none;color:#edf4f775;text-align:right;white-space:nowrap;-webkit-backdrop-filter:none;backdrop-filter:none;background:linear-gradient(90deg,#02050b00,#02050b38 36%,#02050b7a);border:0;border-radius:0;justify-content:flex-end;padding:7px 0 0 28px;font-size:.54rem;line-height:1.15;left:auto;overflow:visible;-webkit-mask-image:none;mask-image:none}.source-footer:before{content:"";background:linear-gradient(90deg,#8bd3dd00,#8bd3dd24);width:min(360px,74%);height:1px;position:absolute;top:0;right:0}.source-footer-label{color:#8bd3dd8a;letter-spacing:.08em;text-transform:uppercase;font-size:.49rem;font-weight:820}.source-footer a{color:#edf4f794;font-weight:690}.source-separator{color:#8bd3dd33}.source-overflow-panel{width:min(560px, calc(100vw - var(--desktop-timeline-width) - var(--chrome-edge) - var(--chrome-edge) - 18px));grid-template-columns:repeat(4,minmax(0,1fr))}.source-overflow-heading{grid-column:1/-1}.source-footer .source-overflow-link{min-height:24px;padding:4px 7px}}@media (width>=1600px){.source-footer{max-width:clamp(620px,44vw,820px)}}@media (width<=760px),(width<=950px) and (height<=600px){body{overflow:hidden}.eclipse-app{flex-direction:column;min-height:0;display:flex}.render-stage{flex:auto;width:100%;min-height:0;position:relative;inset:auto}.eclipse-app:before{background:radial-gradient(at 58% 38%,#02050b00 0 36%,#02050b14 68%,#0000008f 100%),radial-gradient(circle at 18% 10%,#8bd3dd14 0 6%,#02050b00 24%)}.eclipse-app:after{background:linear-gradient(#00000047 0%,#0000 34%,#0000006b 100%),radial-gradient(#0000 0 64%,#00000094 100%)}#eclipse-canvas,.eclipse-app.is-scene-ready #eclipse-canvas{filter:brightness(1.2)contrast(1.08)saturate(1.12)}.brand-panel{top:max(14px, env(safe-area-inset-top));left:max(14px, env(safe-area-inset-left));width:calc(100vw - max(14px, env(safe-area-inset-left)) - max(14px, env(safe-area-inset-right)));padding:0}.brand-panel:before{inset:-14px -44px -18px -18px}.brand{margin-bottom:9px;font-size:.64rem}.hero-heading{gap:10px}.eclipse-mark{width:30px;margin-top:2px}h1{gap:3px;font-size:clamp(1.82rem,8vw,2.08rem);line-height:.94}.lede{gap:4px 6px;max-width:calc(100vw - 54px);margin:8px 0 0 40px;font-size:.66rem;line-height:1.25}.control-panel{z-index:3;width:100%;padding:5px max(8px, env(safe-area-inset-right)) max(7px, env(safe-area-inset-bottom)) max(8px, env(safe-area-inset-left));background:linear-gradient(#08101ce6,#02050bf0),#030810e6;border:0;border-radius:0;flex:none;gap:5px;position:relative;bottom:auto;left:auto;right:auto;box-shadow:inset 0 0 0 1px #ffd1660a}.timeline-panel{z-index:3;width:100%;padding:6px max(8px, env(safe-area-inset-right)) 5px max(8px, env(safe-area-inset-left));background:linear-gradient(#08101ce6,#030912ed),#030810e6;border-bottom:1px solid #e0eff417;border-left:0;border-right:0;border-radius:10px 10px 0 0;flex:none;position:relative;bottom:auto;left:auto;right:auto;box-shadow:0 -14px 42px #00000061,inset 0 0 0 1px #ffd1660a}.panel-main-grid{grid-template-columns:1fr;gap:5px}.panel-actions{order:1;gap:5px}.city-panel{order:2}.source-footer{right:max(12px, env(safe-area-inset-right));left:max(12px, env(safe-area-inset-left));white-space:nowrap;-webkit-backdrop-filter:blur(16px)saturate(1.08);backdrop-filter:blur(16px)saturate(1.08);background:linear-gradient(#08101c66,#02050b5c);border:1px solid #e0eff414;border-radius:999px;align-items:center;gap:4px;max-width:none;min-height:22px;padding:3px 6px;font-size:.54rem;line-height:1;display:flex;top:auto;bottom:8px;overflow:visible;box-shadow:0 10px 28px #00000047,inset 0 0 0 1px #ffd16605;-webkit-mask-image:none;mask-image:none}.source-footer.is-condensed{width:auto}.source-title-full,.source-footnote{display:none}.source-title-short{display:inline}.source-footer-label{margin-right:1px}.source-separator{margin:0}.source-footer a{color:#edf4f7b3;flex:none;min-height:auto;padding:0 1px}.source-overflow-panel{grid-template-columns:repeat(2,minmax(0,1fr));width:min(352px,100vw - 24px)}.source-footer .source-overflow{position:static}.source-overflow-heading{grid-column:1/-1}.fallback-message{bottom:54px;left:16px;right:16px}.location-tabs,.layer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.settings-menu.is-open{z-index:6}.settings-menu .layer-grid{z-index:6;-webkit-backdrop-filter:blur(18px)saturate(1.12);backdrop-filter:blur(18px)saturate(1.12);background:linear-gradient(#08101cf5,#02050bf0),#030810eb;border:1px solid #e0eff421;border-radius:8px;margin-top:0;padding:7px;position:absolute;inset:auto 0 calc(100% + 5px);box-shadow:0 18px 44px #0000006b,inset 0 0 0 1px #ffd16609}.timeline-row{align-items:center;gap:5px}.timeline-shell{gap:2px}.timeline-actions{gap:5px}.time-readout{grid-template-columns:auto minmax(0,1fr);gap:5px}.time-meta{flex-wrap:nowrap;align-items:center;gap:4px;min-width:0;display:flex}.time-control{min-height:26px}.timeline-rail{height:24px}.timeline-chapter-tooltip{display:none}.icon-button{width:44px;height:44px}input[type=range]{height:26px}.time-primary{font-size:1.08rem}.time-date{flex:none;font-size:.54rem}.time-zone-picker{max-width:min(112px,28vw)}.time-zone-toggle{width:100%;min-width:0;min-height:32px;padding:0 5px;font-size:.51rem}.time-zone-popover{width:min(300px,100vw - 24px);left:50%;right:auto;transform:translate(-50%)}.timeline-scale{grid-template-columns:auto minmax(0,1fr) auto;gap:6px}.timeline-bound{min-width:32px}.timeline-bound-time{font-size:.52rem}.timeline-region-status{gap:4px;min-width:0;max-width:100%;min-height:15px;padding:0 2px}.timeline-region-current{font-size:.46rem}.timeline-event-current{font-size:.44rem}.city-panel-header{font-size:.54rem}.city-list{scrollbar-width:none;align-items:stretch;gap:8px;min-height:52px;max-height:none;padding:1px 2px 3px 0;display:flex;overflow:auto hidden}.city-list::-webkit-scrollbar{display:none}.city-group{flex:none;grid-template-rows:13px 1fr;align-items:start;gap:3px;padding-right:9px;display:grid;position:relative}.city-group:not(:last-child):after{content:"";background:linear-gradient(#8bd3dd00,#8bd3dd21,#8bd3dd00);width:1px;position:absolute;top:4px;bottom:4px;right:0}.city-group-track{align-items:stretch;gap:4px;display:flex}.city-group-heading{z-index:3;color:#a0dee5e6;letter-spacing:.04em;text-overflow:ellipsis;white-space:nowrap;background-color:#07111a;background-image:linear-gradient(#8bd3dd13,#8bd3dd04);border:1px solid #8bd3dd33;border-radius:999px;align-items:center;width:max-content;max-width:96px;height:13px;padding:0 6px;font-size:.43rem;line-height:1;display:flex;position:sticky;left:0;overflow:hidden;box-shadow:8px 0 14px #02050b,inset 0 1px #ffffff06}.city-row{border-radius:6px;flex:0 0 clamp(112px,34vw,138px);grid-template-columns:4px minmax(0,1fr) auto;gap:5px;min-height:44px;padding:4px 6px}.city-row-marker{width:2px;height:15px}.city-row-name{font-size:.57rem}.city-row-meta{display:none}.location-tabs{gap:3px;margin-top:0}.location-tab{height:44px}.layer-grid{gap:4px;margin-top:5px}.layer-grid label{min-height:44px;padding:0 5px;font-size:.58rem}.settings-summary{min-height:44px}.city-tooltip-close{width:44px;height:44px}.city-label{max-width:94px;min-height:18px;padding:2px 6px 2px 5px;font-size:.54rem}.city-label-name{max-width:72px}.sky-label-content{gap:1px;max-width:138px}.sky-label-name{font-size:.67rem}.sky-label-detail{max-width:128px;font-size:.48rem}}@media (width<=380px){.eclipse-mark{width:28px}h1{font-size:1.78rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (forced-colors:active){.control-panel,.timeline-panel,.city-panel,.city-row,.location-tabs,.settings-summary,.share-feature,.source-footer,.city-tooltip{color:canvastext;forced-color-adjust:auto;background:canvas;border:1px solid canvastext}.timeline-chapter:before,input[type=range]{forced-color-adjust:auto}}@media (prefers-reduced-motion:no-preference){.eclipse-app.is-scene-ready .brand-panel{animation:.76s cubic-bezier(.2,.75,.18,1) .42s both title-stage-in}.eclipse-app.is-scene-ready .brand{animation:.52s .48s both fade-in}.eclipse-app.is-scene-ready .hero-heading{animation:.76s cubic-bezier(.18,.76,.2,1) .54s both hero-heading-in}.eclipse-app.is-scene-ready .eclipse-mark{animation:.88s cubic-bezier(.18,.82,.2,1) .58s both eclipse-mark-in}.eclipse-app.is-scene-ready .lede{animation:.56s cubic-bezier(.2,.75,.18,1) .76s both rise-in}.eclipse-app.is-scene-ready .timeline-panel{animation:.68s cubic-bezier(.2,.75,.18,1) .9s both dock-in}.eclipse-app.is-scene-ready .control-panel{animation:.72s cubic-bezier(.2,.75,.18,1) .98s both dock-in}.eclipse-app.is-scene-ready .share-feature{animation:.52s .92s both fade-in}.settings-menu.is-open .layer-grid{animation:.16s both settings-reveal}.eclipse-app.is-scene-ready .source-footer{animation:.62s 1.12s both fade-in}}.eclipse-app{--right-rail-width:clamp(248px, 18vw, 286px)}.timeline-panel,.timeline-row{align-items:stretch;gap:6px;display:grid}.timeline-primary{grid-template-columns:auto minmax(0,1fr);align-items:stretch;gap:7px;min-width:0;display:grid}.dock-command-bar{border-top:1px solid #e0eff413;grid-template-columns:minmax(94px,1fr) auto auto auto;align-items:center;gap:4px;min-width:0;padding-top:6px;display:grid}.dock-command-bar .location-tabs{min-width:0;padding:1px}.dock-command-bar .location-tab{height:28px;padding-inline:5px;font-size:.58rem}.camera-actions{grid-auto-columns:max-content;grid-auto-flow:column;align-items:center;gap:3px;display:grid}.dock-icon,.settings-summary-compact{width:28px;height:28px;min-height:28px}.dock-icon .lucide,.settings-summary-compact .lucide{width:14px;height:14px}.playback-speed-control{min-width:0;display:block}.playback-speed-control select{color:#edf4f7d1;cursor:pointer;font-variant-numeric:tabular-nums;text-align:center;background:#08101ce0;border:1px solid #e0eff41f;border-radius:7px;width:43px;height:28px;padding:0 3px;font-size:.54rem;font-weight:780}.playback-speed-control select:hover,.playback-speed-control select:focus-visible{color:#ffd166;border-color:#ffd1666b;outline:0}.settings-summary-compact{border-radius:8px;justify-content:center;place-items:center;padding:0;display:inline-grid}.settings-summary-compact+.layer-grid,.settings-menu .layer-grid{z-index:12;-webkit-backdrop-filter:blur(20px)saturate(1.1);backdrop-filter:blur(20px)saturate(1.1);background:linear-gradient(#09121ffa,#02070efa),#030914;border:1px solid #e0eff424;border-radius:8px;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;width:220px;margin:0;padding:8px;position:absolute;bottom:calc(100% + 8px);right:0;box-shadow:0 18px 48px #00000080,inset 0 0 0 1px #ffd16608}.settings-menu .layer-grid label{min-height:32px}.has-tooltip{position:relative}.has-tooltip:after{z-index:30;color:#f8fbfbe6;content:attr(data-tooltip);opacity:0;pointer-events:none;white-space:nowrap;background:#040a12f7;border:1px solid #e0eff41f;border-radius:5px;width:max-content;max-width:160px;padding:5px 7px;font-size:.54rem;font-weight:720;line-height:1;transition:opacity 70ms,transform 90ms;position:absolute;bottom:calc(100% + 7px);right:50%;transform:translate(50%,2px);box-shadow:0 9px 24px #0000006b}@media (hover:hover){.has-tooltip:hover:after,.has-tooltip:focus-visible:after{opacity:1;transform:translate(50%)}}.icon-button:disabled{color:#edf4f738;cursor:default;box-shadow:none;background:#edf4f703;border-color:#e0eff40f}.location-tab-info:before{display:none}.location-tab-tooltip{transform-origin:0 100%;inset:auto auto calc(100% + 10px) -4px}.control-panel{width:min(286px, calc(100vw - var(--chrome-edge) - var(--chrome-edge)));padding:6px;overflow:visible}.city-panel{gap:5px;padding:6px}.city-panel-header{grid-template-columns:auto minmax(0,1fr) 26px;align-items:center;gap:6px;min-height:26px;padding:0 0 0 3px;display:grid}.city-panel-title{color:#f8fbfbd1;font-size:.64rem;font-weight:800}#city-panel-current{color:#ffd166d1;font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap;justify-self:end;max-width:100%;font-size:.58rem;font-weight:760;overflow:hidden}.city-panel-toggle{background:0 0;border-color:#0000;width:26px;height:26px}.city-panel-toggle .lucide{width:14px;height:14px;transition:transform .16s}.control-panel.is-collapsed .city-panel-toggle .lucide{transform:rotate(180deg)}.city-panel-body{gap:5px;min-height:0;display:grid}.control-panel.is-collapsed .city-panel-body{display:none}.city-search-shell{color:#8bd3dd9e;background:#02070e61;border:1px solid #e0eff417;border-radius:6px;grid-template-columns:16px minmax(0,1fr);align-items:center;gap:4px;min-height:30px;padding:0 7px;display:grid}.city-search-shell:focus-within{border-color:#ffd1666b;box-shadow:0 0 0 2px #ffd1660f}.city-search-shell .lucide{width:13px;height:13px}.city-search-shell input{color:#f8fbfbe6;background:0 0;border:0;outline:0;width:100%;min-width:0;height:28px;padding:0;font-size:.6rem;font-weight:650}.city-search-shell input::placeholder{color:#edf4f75c}.city-list.is-empty:after{color:#edf4f76b;content:"No matching cities";place-items:center;min-height:62px;font-size:.58rem;font-weight:700;display:grid}.city-row-name{font-size:.64rem}.city-row-meta{font-size:.5rem}#eclipse-canvas:focus-visible{outline-offset:-4px;outline:2px solid #ffd166e6}@media (width>=1000px){.control-panel{width:var(--desktop-panel-width);max-height:min(470px,100svh - 150px);padding:6px}.control-panel.is-collapsed{width:var(--desktop-panel-width)}.timeline-row{width:var(--desktop-timeline-width);min-width:var(--desktop-timeline-width);padding:8px}.city-panel{grid-template-rows:auto minmax(0,1fr);max-height:min(450px,100svh - 164px)}.city-panel-body{grid-template-rows:auto minmax(0,1fr)}.city-list{max-height:min(376px,100svh - 250px)}}@media (width<=760px),(width<=950px) and (height<=600px){.brand-panel{transform-origin:0 0;transition:opacity .26s,transform .3s}.brand{margin-bottom:7px;font-size:.58rem}.eclipse-mark{width:27px}h1{font-size:clamp(1.58rem,7.4vw,1.86rem)}.lede{max-width:calc(100vw - 48px);margin:7px 0 0 37px;font-size:.6rem}.eclipse-app.has-interacted .brand-panel{opacity:.78;transform:scale(.92)}.eclipse-app.has-interacted .brand{opacity:.66;margin-bottom:4px}.timeline-row{align-items:stretch;gap:5px;display:grid}.timeline-primary{grid-template-columns:auto minmax(0,1fr);gap:5px}.timeline-actions{gap:4px}.timeline-actions .icon-button{width:40px;height:40px}.dock-command-bar{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;padding-top:5px}.dock-command-bar>*{width:100%}.dock-command-bar .location-tabs,.dock-command-bar>.playback-speed-control,.camera-actions,.dock-command-bar>.settings-menu{min-height:40px}.camera-actions,.dock-command-bar>.settings-menu{grid-template-columns:minmax(0,1fr);grid-auto-flow:initial;grid-auto-columns:initial;place-items:center stretch;gap:4px;display:grid}.camera-actions{grid-template-columns:minmax(0,1fr)}.dock-command-bar .location-tab,.dock-icon,.settings-summary-compact{width:100%;height:40px;min-height:40px}.dock-icon,.settings-summary-compact{padding:0}.playback-speed-control select{width:100%;height:40px}.control-panel{z-index:7;width:100%;padding:4px max(8px, env(safe-area-inset-right)) max(6px, env(safe-area-inset-bottom)) max(8px, env(safe-area-inset-left));position:relative;overflow:visible}.city-panel{padding:4px 5px;position:relative;overflow:visible}.city-panel-header{grid-template-columns:auto minmax(0,1fr) 38px;min-height:34px}.city-panel-toggle{width:38px;height:38px}.city-panel-body{z-index:9;-webkit-backdrop-filter:blur(20px)saturate(1.08);backdrop-filter:blur(20px)saturate(1.08);background:linear-gradient(#09121ffa,#02070efa),#030914;border:1px solid #e0eff424;border-radius:9px;max-height:min(430px,48svh);padding:8px;position:absolute;bottom:calc(100% + 6px);left:0;right:0;overflow:hidden;box-shadow:0 -18px 52px #0000007a,inset 0 0 0 1px #ffd16606}.city-search-shell{min-height:40px}.city-list{scrollbar-width:thin;touch-action:pan-y;gap:7px;min-height:0;max-height:min(352px,39svh);padding:0 2px 2px 0;display:grid;overflow:hidden auto}.city-list::-webkit-scrollbar{width:4px;display:block}.city-group{grid-template-rows:auto auto;gap:4px;padding:0;display:grid;position:static}.share-feature{top:max(12px, env(safe-area-inset-top));right:max(12px, env(safe-area-inset-right));gap:6px;min-width:84px;padding-inline:11px}.share-feature-label{font-size:.63rem}.city-group:not(:last-child):after{display:none}.city-group-heading{border-radius:4px;width:100%;max-width:none;height:18px;padding:0 6px;font-size:.46rem;position:sticky;top:0;left:auto;box-shadow:0 3px 9px #02050b94}.city-group-track{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;display:grid}.city-row{width:100%;min-height:44px;padding:4px 6px}.city-row-name{font-size:.58rem}.city-row-value{font-size:.52rem}.settings-menu .layer-grid{width:min(270px,100vw - 24px);bottom:calc(100% + 8px);left:auto;right:0}.source-footer{right:max(10px, env(safe-area-inset-right));max-width:calc(100vw - 20px);min-height:20px;padding:2px 5px;font-size:.5rem;left:auto}.has-tooltip:after{display:none}}@media (width<=380px){h1{font-size:1.54rem}.dock-command-bar{gap:3px}.share-feature{min-width:80px;padding-inline:10px}.dock-command-bar .location-tab,.playback-speed-control select{height:38px;min-height:38px}.dock-icon,.settings-summary-compact{height:40px;min-height:40px}.settings-menu .layer-grid{width:min(220px,100vw - 24px)}}@keyframes scene-loader-transit{0%{transform:translate(-8px)scale(.98)}48%,62%{transform:translate(0)scale(1)}to{transform:translate(8px)scale(.98)}}@keyframes title-stage-in{0%{opacity:0;transform:translate(-10px,12px)}to{opacity:1;transform:translate(0,0)}}@keyframes hero-heading-in{0%{filter:brightness(.28)blur(5px);opacity:0;transform:translateY(8px)}62%{filter:brightness(1.28)blur();opacity:1}to{filter:brightness()blur();opacity:1;transform:translate(0,0)}}@keyframes eclipse-mark-in{0%{opacity:0;transform:scale(.82)}68%{opacity:1;transform:scale(1.04)}to{opacity:1;transform:scale(1)}}@keyframes rise-in{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translate(0,0)}}@keyframes dock-in{0%{opacity:0;transform:translateY(10px)scale(.99)}to{opacity:1;transform:translate(0,0)scale(1)}}@keyframes settings-reveal{0%{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:translate(0,0)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}
