: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 .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;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-label[data-kind=sun]{--sky-accent:#ffbd4a}.sky-label[data-kind=moon]{--sky-accent:#dcecf3}.sky-label[data-kind=deep-sky]{--sky-accent:#8bd3dd}.sky-label[data-kind=constellation]{--sky-accent:#b8cbd2}.sky-label-reticle{border:1px solid color-mix(in srgb, var(--sky-accent) 92%, transparent);width:10px;height:10px;box-shadow:0 0 0 4px color-mix(in srgb, var(--sky-accent) 10%, transparent), 0 0 18px color-mix(in srgb, var(--sky-accent) 46%, transparent);border-radius:50%;position:absolute;top:0;left:0;transform:translate(-50%,-50%)}.sky-label-reticle:after{border-radius:inherit;background:var(--sky-accent);box-shadow:0 0 10px color-mix(in srgb, var(--sky-accent) 56%, transparent);content:"";position:absolute;inset:2px}.sky-label[data-kind=constellation] .sky-label-reticle{border-style:dashed;width:11px;height:11px}.sky-label[data-kind=constellation] .sky-label-reticle:after{inset:4px}.sky-label-content{border-left:1px solid color-mix(in srgb, var(--sky-accent) 52%, transparent);background:linear-gradient(90deg,#02050bcc,#02050b80 68%,#02050b00);gap:2px;width:max-content;max-width:176px;padding:4px 10px 4px 8px;display:grid;position:absolute;top:0;left:13px;transform:translateY(-50%)}.sky-label.is-left .sky-label-content{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;right:13px}.sky-label.is-below .sky-label-content{top:10px;transform:none}.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 5px color-mix(in srgb, var(--sky-accent) 14%, transparent), 0 0 24px color-mix(in srgb, var(--sky-accent) 62%, transparent)}.sky-label.is-hovered .sky-label-content{opacity:.26}.sky-tooltip{--sky-tooltip-accent:#edf4f7;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[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%)}.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:start;min-width:0;min-height:24px;display:grid;position:relative}.timeline-regions{z-index:3;pointer-events:none;height:23px;margin:0;position:absolute;top:0;left:0;right:0}.timeline-milestones{z-index:4;pointer-events:none;height:23px;position:absolute;top:0;left:0;right:0}.timeline-milestone{--milestone-color:#8bd3ddb8;top:2px;left:var(--milestone-position);background:var(--milestone-color);width:1px;height:15px;box-shadow:0 0 8px color-mix(in srgb, var(--milestone-color) 44%, transparent);opacity:.72;border-radius:999px;transition:height .16s,opacity .16s,box-shadow .16s;position:absolute;transform:translate(-50%)}.timeline-milestone:before{background:var(--milestone-color);content:"";border:1px solid #02050be0;border-radius:50%;width:4px;height:4px;position:absolute;top:-1px;left:50%;transform:translate(-50%)}.timeline-milestone.is-global{--milestone-color:#ffd166db}.timeline-milestone.is-city{--milestone-color:#8bd3ddd1;height:8px;top:8px}.timeline-milestone.is-maximum{--milestone-color:#ffd166eb}.timeline-milestone.is-past{opacity:.28}.timeline-milestone.is-current,.timeline-milestone.is-next{opacity:1;height:17px;box-shadow:0 0 10px color-mix(in srgb, var(--milestone-color) 70%, transparent), 0 0 20px color-mix(in srgb, var(--milestone-color) 26%, transparent)}.timeline-milestone-label{color:color-mix(in srgb, var(--milestone-color) 84%, #f8fbfb);opacity:0;text-shadow:0 1px 8px #000000e6;white-space:nowrap;background:#02050bd1;border-radius:3px;padding:0 3px;font-size:.43rem;font-weight:820;line-height:1.2;transition:opacity .15s,transform .15s;position:absolute;top:-10px;left:50%;transform:translate(-50%,2px)}.timeline-milestone.is-greatest .timeline-milestone-label,.timeline-milestone.is-next .timeline-milestone-label{opacity:.88;transform:translate(-50%)}.timeline-milestone.is-past .timeline-milestone-label{opacity:0}.timeline-milestone.is-past.is-greatest .timeline-milestone-label{opacity:.28}.timeline-milestones.has-city-milestones .timeline-milestone.is-greatest:not(.is-next) .timeline-milestone-label{opacity:0}.timeline-region{--region-start:0%;--region-end:0%;--region-color:#8bd3dd;--region-active-color:#ffd166;height:9px;top:5px;left:var(--region-start);right:calc(100% - var(--region-end));min-width:2px;position:absolute;overflow:visible}.timeline-region:before{border:1px solid color-mix(in srgb, var(--region-color) 28%, transparent);background:linear-gradient(90deg, color-mix(in srgb, var(--region-color) 16%, transparent), color-mix(in srgb, var(--region-color) 58%, transparent) 48%, color-mix(in srgb, var(--region-color) 18%, transparent)), #02050b38;height:7px;box-shadow:0 0 10px color-mix(in srgb, var(--region-color) 10%, transparent), 0 0 0 1px #0000002e inset;content:"";opacity:.72;transform-origin:50%;border-radius:999px;transition:border-color .16s,box-shadow .16s,opacity .16s,transform .16s;position:absolute;top:1px;left:0;right:0;transform:scaleY(.72)}.timeline-region:after{background:color-mix(in srgb, var(--region-color) 42%, transparent);width:1px;height:11px;box-shadow:calc(100% - 1px) 0 0 color-mix(in srgb, var(--region-color) 30%, transparent);content:"";opacity:.34;border-radius:999px;transition:background .16s,box-shadow .16s,opacity .16s,transform .16s;position:absolute;top:-1px;left:0}.timeline-region.is-hovered:before,.timeline-region.is-active:before{border-color:color-mix(in srgb, var(--region-active-color) 70%, transparent);background:linear-gradient(90deg, color-mix(in srgb, var(--region-active-color) 18%, transparent), color-mix(in srgb, var(--region-active-color) 82%, transparent) 48%, color-mix(in srgb, var(--region-active-color) 24%, transparent)), #ffd1660e;box-shadow:0 0 16px color-mix(in srgb, var(--region-active-color) 40%, transparent), 0 0 28px color-mix(in srgb, var(--region-active-color) 14%, transparent), 0 0 0 1px #ffffff12 inset;opacity:1;transform:scaleY(1.12)}.timeline-region.is-hovered:after,.timeline-region.is-active:after{background:color-mix(in srgb, var(--region-active-color) 72%, transparent);box-shadow:calc(100% - 1px) 0 0 color-mix(in srgb, var(--region-active-color) 58%, transparent);opacity:.78;transform:scaleY(1.08)}.timeline-region-label{z-index:4;border:1px solid color-mix(in srgb, var(--region-active-color) 34%, transparent);min-width:max-content;min-height:18px;color:color-mix(in srgb, var(--region-active-color) 78%, #f8fbfb);opacity:0;pointer-events:none;box-shadow:0 9px 22px #00000061, 0 0 14px color-mix(in srgb, var(--region-active-color) 12%, transparent);text-shadow:0 1px 10px #000000eb, 0 0 10px color-mix(in srgb, var(--region-active-color) 12%, transparent);white-space:nowrap;background:radial-gradient(circle at 18% 20%,#ffd16624,#0000 48%),linear-gradient(#0d131bf0,#02050be0);border-radius:999px;align-items:center;gap:5px;padding:0 7px;font-size:.5rem;font-weight:800;line-height:1;transition:opacity .15s,transform .15s;display:inline-flex;position:absolute;top:-44px;left:50%;transform:translate(-50%,4px)}.timeline-region-name,.timeline-region-time{line-height:1;display:inline}.timeline-region-name:after{color:#8bd3dd6b;content:"·";margin-left:5px}.timeline-region-time{color:#edf4f78f;font-variant-numeric:tabular-nums;font-size:.46rem;font-weight:720}.timeline-region-label:after{border-right:1px solid color-mix(in srgb, var(--region-active-color) 30%, transparent);border-bottom:1px solid color-mix(in srgb, var(--region-active-color) 30%, transparent);content:"";background:#04080fe6;width:8px;height:8px;position:absolute;bottom:-4px;left:50%;transform:translate(-50%)rotate(45deg)}.timeline-region.is-hovered .timeline-region-label{opacity:1;transform:translate(-50%)}.timeline-region-spain .timeline-region-label{left:auto;right:0;transform:translateY(4px)}.timeline-region-spain.is-hovered .timeline-region-label{transform:translateY(0)}.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}.time-utc{color:#ffdc8dc7;font-variant-numeric:tabular-nums;white-space:nowrap;border:1px solid #ffd16638;border-radius:999px;align-items:center;min-height:17px;padding:0 5px;font-size:.58rem;font-weight:760;line-height:1;display:inline-flex}.timeline-scale{color:#edf4f780;font-variant-numeric:tabular-nums;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:7px;margin-top:-1px;line-height:1;display:grid}.timeline-bound{align-items:baseline;gap:4px;min-width:0;display:inline-flex}.timeline-bound-start{justify-self:start}.timeline-bound-end{justify-self:end}.timeline-bound-caption{color:#edf4f757;text-transform:uppercase;font-size:.43rem;font-weight:780}.timeline-bound-time{color:#edf4f79e;font-size:.59rem;font-weight:730}.timeline-region-status{background:#8bd3dd09;border:1px solid #8bd3dd21;border-radius:999px;justify-self:center;align-items:center;gap:5px;max-width:23ch;min-height:16px;padding:0 6px;transition:border-color .16s,background .16s,box-shadow .16s;display:inline-flex;overflow:hidden}.timeline-region-dot{background:#8bd3ddb8;border-radius:50%;flex:none;width:4px;height:4px;transition:background .16s,box-shadow .16s;box-shadow:0 0 8px #8bd3dd57}.timeline-region-status.is-route{background:#ffd1660f;border-color:#ffd16647;box-shadow:0 0 16px #ffd1660f}.timeline-region-status.is-route .timeline-region-dot{background:#ffd166;box-shadow:0 0 10px #ffd16675}.timeline-region-current{color:#8bd3ddc2;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:.51rem;font-weight:780;overflow:hidden}.timeline-status-separator{color:#8bd3dd4d;font-size:.46rem;line-height:1}.timeline-event-current{color:#ffde93db;font-variant-numeric:tabular-nums;white-space:nowrap;flex:none;font-size:.49rem;font-weight:790;line-height:1}.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]{--timeline-progress:95.7%;appearance:none;z-index:2;cursor:pointer;touch-action:pan-x;background:0 0;width:100%;height:20px;margin:0;position:relative}input[type=range]::-webkit-slider-runnable-track{background:linear-gradient(90deg, #ffd166fa 0 var(--timeline-progress), #edf4f72e var(--timeline-progress) 100%), linear-gradient(180deg, #ffffff29, #ffffff05);border:1px solid #ffd16633;border-radius:999px;height:7px;box-shadow:0 0 24px #ffd16624,inset 0 0 0 1px #00000042}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:17px;height:17px;margin-top:-6px;box-shadow:0 0 0 5px #ffd16614,0 0 28px #ffd1666b}input[type=range]::-moz-range-track{background:#edf4f72e;border:1px solid #ffd16633;border-radius:999px;height:7px}input[type=range]::-moz-range-progress{background:#ffd166fa;border-radius:999px;height:7px}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,.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}.panel-utilities{grid-template-columns:minmax(0,1fr) 31px;align-items:start;gap:4px;min-width:0;display:grid}.panel-share{width:31px;height:25px}.settings-menu summary{list-style:none}.settings-menu summary::-webkit-details-marker{display:none}.settings-summary{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;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[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[open] .settings-summary{box-shadow:0 0 18px #ffd16614}.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[open] .settings-chevron{transform:rotate(180deg)}.settings-menu:not([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;scrollbar-width:none;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-x:auto;box-shadow:0 10px 28px #00000038,inset 0 0 0 1px #ffd16604;-webkit-mask-image:linear-gradient(90deg,#000,#000 calc(100% - 14px),#0000);mask-image:linear-gradient(90deg,#000,#000 calc(100% - 14px),#0000)}.source-footer::-webkit-scrollbar{display:none}.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-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-tooltip-grid{border-top:1px solid #e0eff41a;grid-template-columns:minmax(78px,auto) 1fr;gap:7px 16px;margin:13px 0 0;padding-top:12px;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-timeline-width:clamp(376px, 26.5vw, 430px)}.control-panel{--desktop-panel-edge:var(--chrome-edge);--desktop-panel-width:var(--right-rail-width);--desktop-timeline-gap:var(--timeline-dock-gap);--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:min(var(--desktop-timeline-width), calc(100vw - var(--desktop-panel-width) - var(--desktop-panel-edge) - var(--desktop-timeline-gap) - var(--chrome-edge) - var(--chrome-edge)));min-width:min(376px, calc(100vw - var(--desktop-panel-width) - var(--desktop-panel-edge) - var(--desktop-timeline-gap) - var(--chrome-edge) - var(--chrome-edge)));-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}}@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));scrollbar-width:none;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-x:auto;box-shadow:0 10px 28px #00000047,inset 0 0 0 1px #ffd16605;-webkit-mask-image:none;mask-image:none}.source-footer::-webkit-scrollbar{display:none}.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}.fallback-message{bottom:54px;left:16px;right:16px}.location-tabs,.layer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.settings-menu[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-utc{width:max-content;min-height:15px;padding:0 4px;font-size:.52rem}.time-control{min-height:26px}.timeline-regions{height:22px;margin:0}.timeline-region{height:8px;top:5px}.timeline-region:before{height:6px;top:1px}.timeline-region:after{height:10px;top:-1px}.timeline-region-label{gap:4px;min-height:16px;padding:0 5px;font-size:.43rem;top:-36px}.timeline-region-time{font-size:.38rem}.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:1fr auto 1fr;gap:4px}.timeline-bound{gap:3px}.timeline-bound-caption{font-size:.38rem}.timeline-bound-time{font-size:.52rem}.timeline-region-status{gap:4px;max-width:19ch;min-height:15px;padding:0 5px}.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}.panel-utilities{grid-template-columns:minmax(0,1fr) 44px}.panel-share,.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,.source-footer,.city-tooltip{color:canvastext;forced-color-adjust:auto;background:canvas;border:1px solid canvastext}.timeline-region: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}.settings-menu[open] .layer-grid{animation:.16s both settings-reveal}.eclipse-app.is-scene-ready .source-footer{animation:.62s 1.12s both fade-in}}@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}}
