:root{--ds-space-0:#060a13;--ds-space-1:#0a101d;--ds-space-2:#0f172a;--ds-glass:#090e1abd;--ds-glass-solid:#0c1322;--ds-glass-strong:#090e1aeb;--ds-raise:#ffffff0b;--ds-raise-hover:#ffffff16;--ds-raise-press:#ffffff21;--ds-line:#ffffff16;--ds-line-strong:#ffffff29;--ds-ink:#f3f6fb;--ds-ink-2:#b9c5d9;--ds-ink-3:#8a97ae;--ds-accent:#5b9dff;--ds-accent-strong:#3b82f6;--ds-accent-ink:#d4e5ff;--ds-accent-fill:#5b9dff29;--ds-accent-line:#5b9dff6b;--ds-warm:#f2b84b;--ds-warm-ink:#ffe3a8;--ds-warm-fill:#f2b84b1f;--ds-warm-line:#f2b84b61;--ds-good:#34d399;--ds-r-xs:6px;--ds-r-sm:8px;--ds-r-md:12px;--ds-r-lg:16px;--ds-r-xl:20px;--ds-r-pill:999px;--ds-highlight:inset 0 1px 0 #ffffff12;--ds-shadow-1:0 1px 2px #0006, 0 6px 16px -4px #0006;--ds-shadow-2:0 1px 2px #00000073, 0 18px 44px -14px #000000b3;--ds-blur:blur(22px) saturate(1.5);--ds-ease:cubic-bezier(.2, .8, .2, 1);--ds-ease-out:cubic-bezier(.16, 1, .3, 1);--ds-spring:cubic-bezier(.34, 1.45, .64, 1);--ds-fast:.14s;--ds-base:.22s;--ds-slow:.36s;--ds-ring:0 0 0 2px var(--ds-space-1), 0 0 0 4px var(--ds-accent);--ds-font:ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI Variable Text", "Segoe UI", Roboto, "Helvetica Neue", "PingFang SC", "Hiragino Sans", "Noto Sans", Arial, sans-serif;--ds-mono:ui-monospace, "SF Mono", "JetBrains Mono", Menlo, Consolas, monospace;--font-family:var(--ds-font);--color-background:var(--ds-space-2);--color-text:var(--ds-ink);--color-text-muted:var(--ds-ink-2);--color-border:#94a3b838;--color-primary-light:#7db2ff;--transition-speed:.2s}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;color-scheme:dark}body{font-family:var(--ds-font);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;font-feature-settings:"cv11", "ss01"}::selection{color:#fff;background:#5b9dff73}.ds-num,time,output,input[type=number],input[type=date],input[type=time]{font-variant-numeric:tabular-nums}[dir=rtl] *,:lang(ar) *,:lang(he) *,:lang(ja) *,:lang(ko) *,:lang(zh) *,:lang(zh-tw) *{letter-spacing:0!important}:where(a,button,input,select,textarea,summary,[tabindex]):focus{outline:none}:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:2px solid var(--ds-accent);outline-offset:2px}*{scrollbar-width:thin;scrollbar-color:#ffffff38 transparent}.ds-glass{background:var(--ds-glass);backdrop-filter:var(--ds-blur);border:1px solid var(--ds-line);box-shadow:var(--ds-highlight), var(--ds-shadow-2)}.ds-kicker{color:var(--ds-warm);letter-spacing:.12em;text-transform:uppercase;align-items:center;gap:.6rem;font-size:.72rem;font-weight:700;display:inline-flex}.ds-kicker:before{content:"";opacity:.8;background:currentColor;width:1.4rem;height:1px}.ds-btn{min-height:44px;color:var(--ds-ink);font:600 .9rem/1 var(--ds-font);background:var(--ds-raise);border:1px solid var(--ds-line-strong);border-radius:var(--ds-r-md);box-shadow:var(--ds-highlight);cursor:pointer;transition:background-color var(--ds-fast) var(--ds-ease), border-color var(--ds-fast) var(--ds-ease), transform var(--ds-fast) var(--ds-ease), box-shadow var(--ds-base) var(--ds-ease);touch-action:manipulation;justify-content:center;align-items:center;gap:.5rem;padding:0 1.15rem;text-decoration:none;display:inline-flex}.ds-btn:hover{color:var(--ds-ink);background:var(--ds-raise-hover);border-color:#ffffff3d}.ds-btn:active{background:var(--ds-raise-press);transform:scale(.975)}.ds-btn--primary{color:#fff;box-shadow:var(--ds-highlight), 0 8px 24px -8px #2f6fe0b3;background:linear-gradient(#4b8df5 0%,#2f6fe0 100%);border-color:#93c5fd8c}.ds-btn--primary:hover{color:#fff;background:linear-gradient(#5c9aff 0%,#3a7bf0 100%);border-color:#bfdbfeb3}.ds-btn--warm{color:var(--ds-warm-ink);background:var(--ds-warm-fill);border-color:var(--ds-warm-line)}.ds-btn--warm:hover{color:#fff3d1;background:#f2b84b33;border-color:#f2b84b99}.ds-card{border:1px solid var(--ds-line);border-radius:var(--ds-r-lg);box-shadow:var(--ds-highlight);background:linear-gradient(#ffffff0b,#ffffff05)}.ds-field{min-height:42px;color:var(--ds-ink);font:500 .92rem/1.2 var(--ds-font);background:var(--ds-raise);border:1px solid var(--ds-line-strong);border-radius:var(--ds-r-md);transition:border-color var(--ds-fast) var(--ds-ease), background-color var(--ds-fast) var(--ds-ease), box-shadow var(--ds-base) var(--ds-ease);padding:0 .9rem}.ds-field:hover{border-color:#ffffff42}.ds-field:focus-visible{border-color:var(--ds-accent);outline:none;box-shadow:0 0 0 3px #5b9dff40}@keyframes ds-pop-in{0%{opacity:0;transform:translateY(6px)scale(.965)}to{opacity:1;transform:none}}@keyframes ds-fade-up{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@supports (animation-timeline:view()){.ds-reveal{animation:linear both ds-fade-up view();animation-range:entry entry 35%}}.ds-page{min-height:100vh;color:var(--ds-ink-2);background:radial-gradient(52rem 30rem at 8% -4%, #5b9dff24, transparent 70%), radial-gradient(40rem 26rem at 92% 10%, #f2b84b12, transparent 70%), var(--ds-space-2);position:relative}.ds-page:before{z-index:0;pointer-events:none;content:"";opacity:.2;background-image:radial-gradient(#ffffff4d .6px,#0000 .6px);background-size:38px 38px;position:fixed;inset:0;-webkit-mask-image:linear-gradient(#000,#0000 55%);mask-image:linear-gradient(#000,#0000 55%)}.ds-page>main{z-index:1;position:relative}#site-header{height:60px;backdrop-filter:var(--ds-blur);border-bottom:1px solid var(--ds-line);background:linear-gradient(#060a13e0 0%,#060a13a8 100%);padding-block:0;box-shadow:0 1px #00000059}#site-header.scrolled{background:linear-gradient(#060a13f0 0%,#060a13d1 100%);box-shadow:0 8px 24px -12px #0009}#site-header.menu-open{background:#060a13fa}#language-menu{border:1px solid var(--ds-line);border-radius:var(--ds-r-lg);box-shadow:var(--ds-highlight), var(--ds-shadow-2);transform-origin:100% 0;transition:opacity var(--ds-fast) var(--ds-ease), transform var(--ds-slow) var(--ds-ease-out), visibility 0s linear var(--ds-slow);background:#090e1afb;margin-top:10px;left:auto;right:0;transform:translateY(-6px)scale(.97)}[dir=rtl] #language-menu{transform-origin:0 0;left:0;right:auto}#language-menu.opacity-100{transition-delay:0s;transform:none}#language-menu>div:first-child{border-color:var(--ds-line);padding:10px}#language-search{height:38px;color:var(--ds-ink);border:1px solid var(--ds-line-strong);border-radius:var(--ds-r-sm);background:#ffffff0d}#language-search:focus{border-color:var(--ds-accent);transform:none;box-shadow:0 0 0 3px #5b9dff38}#language-list{padding:6px}#language-menu .language-item{min-height:40px;color:var(--ds-ink);border-radius:var(--ds-r-sm);transition:background-color var(--ds-fast) var(--ds-ease);font-size:13.5px;padding:8px 10px!important}#language-menu .language-item:hover{background:var(--ds-raise-hover);transform:none}#language-menu .language-item[aria-current=page]{color:var(--ds-accent-ink);background:var(--ds-accent-fill);font-weight:600}.header-app-download-popover{border:1px solid var(--ds-line);border-radius:var(--ds-r-lg);box-shadow:var(--ds-highlight), var(--ds-shadow-2);animation:ds-pop-in var(--ds-slow) var(--ds-ease-out) both;transform-origin:100% 0;background:#090e1afb}.map-quick-control,#search-spots-btn,#sky-photo-btn,#aurora-toggle-btn,#clearsky-toggle-btn,#open-lunar-modal,#open-exposure-calculator{--tool-accent:var(--ds-accent);color:var(--ds-ink);backdrop-filter:var(--ds-blur);border:1px solid var(--ds-line);border-radius:var(--ds-r-md);box-shadow:var(--ds-highlight), var(--ds-shadow-1);transition:background-color var(--ds-fast) var(--ds-ease), border-color var(--ds-fast) var(--ds-ease), color var(--ds-fast) var(--ds-ease), transform var(--ds-base) var(--ds-spring), box-shadow var(--ds-base) var(--ds-ease), opacity var(--ds-base) var(--ds-ease);background:#090e1ad6}#search-spots-btn{--tool-accent:#a78bfa}#sky-photo-btn,#aurora-toggle-btn{--tool-accent:var(--ds-good)}#clearsky-toggle-btn{--tool-accent:var(--ds-warm)}#open-lunar-modal{--tool-accent:#ffd75e}.map-quick-control:hover,#search-spots-btn:hover,#sky-photo-btn:hover,#aurora-toggle-btn:hover,#clearsky-toggle-btn:hover,#open-lunar-modal:hover,#open-exposure-calculator:hover{color:#fff;border-color:color-mix(in srgb, var(--tool-accent) 55%, transparent);box-shadow:var(--ds-highlight), 0 0 0 3px color-mix(in srgb, var(--tool-accent) 14%, transparent), var(--ds-shadow-1);background:#182238db;transform:translateY(-1px)}.map-quick-control:active,#search-spots-btn:active,#sky-photo-btn:active,#aurora-toggle-btn:active,#clearsky-toggle-btn:active,#open-lunar-modal:active,#open-exposure-calculator:active{transition-duration:60ms;transform:translateY(0)scale(.94)}.map-quick-control:focus-visible,#search-spots-btn:focus-visible,#sky-photo-btn:focus-visible,#aurora-toggle-btn:focus-visible,#clearsky-toggle-btn:focus-visible,#open-lunar-modal:focus-visible,#open-exposure-calculator:focus-visible{outline:2px solid var(--tool-accent);outline-offset:2px}.map-quick-control.is-active,.map-quick-control[aria-pressed=true],#clearsky-toggle-btn.is-active,#aurora-toggle-btn.is-active,#search-spots-btn.is-active{color:var(--ds-accent-ink);border-color:var(--ds-accent-line);box-shadow:var(--ds-highlight), 0 0 0 3px #5b9dff24, 0 10px 24px -10px #2f6fe0b3;background:linear-gradient(#3a74d68c,#2654a88c)}#open-controls-panel>div[aria-hidden=true]{width:8px;height:8px;animation:none;top:5px;right:5px;box-shadow:0 0 0 3px #34d3992e;border:0!important}.desktop-map-tools__toggle{color:var(--ds-ink-3);background:var(--ds-glass);backdrop-filter:var(--ds-blur);border:1px solid var(--ds-line);border-radius:var(--ds-r-sm);box-shadow:var(--ds-highlight), var(--ds-shadow-1)}.desktop-map-tools__toggle:hover,.mobile-map-tools[data-desktop-expanded=true] .desktop-map-tools__toggle{color:var(--ds-accent-ink);border-color:var(--ds-accent-line);background:#182238db}@media (width<=768px){.mobile-map-tools__toggle{color:var(--ds-ink-2);background:var(--ds-glass);backdrop-filter:var(--ds-blur);border:1px solid var(--ds-line);border-radius:var(--ds-r-sm);box-shadow:var(--ds-highlight), var(--ds-shadow-1)}}#location-details,#controls-panel,#lunar-panel,#search-modal .search-modal-content,#map-legend{background:var(--ds-glass-strong);backdrop-filter:var(--ds-blur);border:1px solid var(--ds-line);border-radius:var(--ds-r-lg);box-shadow:var(--ds-highlight), var(--ds-shadow-2)}#map-legend{background:var(--ds-glass);border-radius:var(--ds-r-md)}#location-details .details-header,#controls-panel>div:first-of-type,#search-modal .search-modal-content>div:first-child{border-bottom:1px solid var(--ds-line);background:linear-gradient(#ffffff0e,#ffffff04)}#location-details .detail-title,#controls-panel #panel-title,#search-modal h2{letter-spacing:-.012em;color:var(--ds-ink);font-size:1.05rem;font-weight:650}#close-details,#close-controls-panel,#close-search-modal{width:32px;height:32px;color:var(--ds-ink-2);background:var(--ds-raise);border-radius:var(--ds-r-pill);transition:background-color var(--ds-fast) var(--ds-ease), color var(--ds-fast) var(--ds-ease), transform var(--ds-base) var(--ds-spring);border:1px solid #0000;justify-content:center;align-items:center;padding:0;font-size:0;line-height:0;display:inline-flex}#close-details:hover,#close-controls-panel:hover,#close-search-modal:hover{color:#fff;background:var(--ds-raise-press)}#close-details:active,#close-controls-panel:active,#close-search-modal:active{transform:scale(.9)}#close-details:before,#close-controls-panel:before,#close-search-modal:before{content:"";background:currentColor;width:14px;height:14px;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round'%3E%3Cpath d='m6 6 12 12M18 6 6 18'/%3E%3C/svg%3E") 50%/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round'%3E%3Cpath d='m6 6 12 12M18 6 6 18'/%3E%3C/svg%3E") 50%/contain no-repeat}#close-details>*,#close-controls-panel>*,#close-search-modal>*{display:none}#controls-panel .control-section{border-color:var(--ds-line);padding:14px 16px}#controls-panel .control-section h3,#controls-panel h3,#controls-panel strong[id$=-label]{color:var(--ds-ink-3);letter-spacing:.1em;text-transform:uppercase;font-size:.7rem;font-weight:700}#controls-panel select,#controls-panel .control-select{color:var(--ds-ink);border:1px solid var(--ds-line-strong);border-radius:var(--ds-r-sm);transition:border-color var(--ds-fast) var(--ds-ease), background-color var(--ds-fast) var(--ds-ease);background-color:#ffffff0d}#controls-panel select:hover{border-color:#ffffff47}#controls-panel .light-pollution-style-card{border-color:var(--ds-line);border-radius:var(--ds-r-sm);transition:border-color var(--ds-fast) var(--ds-ease), background-color var(--ds-fast) var(--ds-ease), transform var(--ds-base) var(--ds-spring);background:#ffffff09}#controls-panel .light-pollution-style-card:hover{background:#ffffff12;transform:translateY(-1px)}#controls-panel .light-pollution-style-card:has(input:checked){border-color:var(--ds-accent);background:var(--ds-accent-fill);box-shadow:0 0 0 3px #5b9dff24}#controls-panel label>div>span[class*=rounded-],.dark-sky-nav-toggle label span[class*=rounded-]{transition:background-color var(--ds-base) var(--ds-ease);background:#ffffff29;box-shadow:inset 0 0 0 1px #ffffff0f}#controls-panel input:checked+span[class*=rounded-]{background:var(--ds-accent-strong)}#controls-panel input:checked+span[class*=rounded-]:before{transition:transform var(--ds-base) var(--ds-spring);box-shadow:0 1px 3px #0006}.slider{border-radius:999px}.slider::-webkit-slider-thumb{width:18px;height:18px;transition:box-shadow var(--ds-base) var(--ds-ease), transform var(--ds-base) var(--ds-spring);background:#fff;border:0;box-shadow:0 0 0 4px #5b9dff4d,0 2px 6px #00000073}.slider:active::-webkit-slider-thumb{transform:scale(1.12);box-shadow:0 0 0 7px #5b9dff47,0 2px 6px #00000073}.slider::-moz-range-thumb{background:#fff;border:0;width:18px;height:18px;box-shadow:0 0 0 4px #5b9dff4d,0 2px 6px #00000073}#search-modal{backdrop-filter:blur(10px)saturate(1.2);background:#03060c8c}#search-modal .search-modal-content{animation:ds-pop-in var(--ds-slow) var(--ds-ease-out) both}#search-input{height:48px;color:var(--ds-ink);border:1px solid var(--ds-line-strong);border-radius:var(--ds-r-md);background:#ffffff0d;font-size:1rem}#search-input::placeholder{color:var(--ds-ink-3)}#search-input:focus{border-color:var(--ds-accent);background:#5b9dff0f;box-shadow:0 0 0 3px #5b9dff38}#search-button{border-radius:var(--ds-r-md);width:48px;height:48px;box-shadow:var(--ds-highlight), 0 8px 20px -8px #2f6fe0bf;background:linear-gradient(#4b8df5,#2f6fe0);border:1px solid #93c5fd73}#search-button:hover{background:linear-gradient(#5c9aff,#3a7bf0);transform:none}#search-button:active{transform:scale(.94)}#map-legend{border-radius:var(--ds-r-md);transition:transform var(--ds-base) var(--ds-ease), opacity var(--ds-base) var(--ds-ease)}#map-legend .legend-title{color:var(--ds-ink-2);letter-spacing:.08em;text-transform:uppercase;font-size:.72rem;font-weight:700}#map-legend #light-pollution-legend-bar{border-radius:var(--ds-r-pill);height:10px;box-shadow:inset 0 0 0 1px #ffffff24}.legend-scale-tick{font-variant-numeric:tabular-nums;font-weight:600}.leaflet-control-attribution{backdrop-filter:blur(8px);color:var(--ds-ink-3)!important;border-radius:var(--ds-r-xs) 0 0 0!important;background:#060a138c!important;font-size:10.5px!important}.leaflet-control-attribution a{color:var(--ds-ink-2)!important}.leaflet-bar{overflow:hidden;border:1px solid var(--ds-line)!important;border-radius:var(--ds-r-md)!important;box-shadow:var(--ds-highlight), var(--ds-shadow-1)!important}.leaflet-bar a{transition:background-color var(--ds-fast) var(--ds-ease);color:var(--ds-ink)!important;background:var(--ds-glass-strong)!important;border-bottom:1px solid var(--ds-line)!important}.leaflet-bar a:hover{background:#1e2a44f2!important}.leaflet-bar a:last-child{border-bottom:0!important}.leaflet-popup-content-wrapper{border:1px solid var(--ds-line);background:var(--ds-glass-strong)!important;border-radius:var(--ds-r-md)!important;box-shadow:var(--ds-highlight), var(--ds-shadow-2)!important}.leaflet-popup-tip{background:var(--ds-glass-solid)!important}#exposure-calculator-panel,#lunar-panel{z-index:1200}body:has(#exposure-calculator-panel:not([hidden])) #open-lunar-modal{opacity:0;pointer-events:none}#info-panel,#exposure-calculator-panel,#clearsky-panel,#sky-photo-modal>div,#search-spots-dialog>div:nth-child(2){background:var(--ds-glass-strong);backdrop-filter:var(--ds-blur);border:1px solid var(--ds-line);border-radius:var(--ds-r-lg);box-shadow:var(--ds-highlight), var(--ds-shadow-2)}#lunar-panel>div:first-child,#info-panel>div:first-child,#sky-photo-modal>div>div:first-child,#search-spots-dialog>div:nth-child(2)>div:first-child{border-bottom:1px solid var(--ds-line);background:linear-gradient(#ffffff0e,#ffffff04)}#lunar-panel h2,#info-panel h2,#sky-photo-title,#search-spots-title{letter-spacing:-.012em;font-weight:650}#lunar-panel .border-t,#lunar-panel .border-b{border-color:var(--ds-line)}#close-lunar-panel,#close-info,#close-search-spots,#close-sky-photo-modal{width:32px;height:32px;color:var(--ds-ink-2);background:var(--ds-raise);border-radius:var(--ds-r-pill);transition:background-color var(--ds-fast) var(--ds-ease), color var(--ds-fast) var(--ds-ease), transform var(--ds-base) var(--ds-spring);border:1px solid #0000;justify-content:center;align-items:center;padding:0;font-size:0;line-height:0;display:inline-flex}#close-lunar-panel:hover,#close-info:hover,#close-search-spots:hover,#close-sky-photo-modal:hover{color:#fff;background:var(--ds-raise-press)}#close-lunar-panel:active,#close-info:active,#close-search-spots:active,#close-sky-photo-modal:active{transform:scale(.9)}#close-lunar-panel>span,#close-info>span,#close-search-spots>span,#close-sky-photo-modal>span{display:none}#close-lunar-panel:before,#close-info:before,#close-search-spots:before,#close-sky-photo-modal:before{content:"";background:currentColor;width:14px;height:14px;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round'%3E%3Cpath d='m6 6 12 12M18 6 6 18'/%3E%3C/svg%3E") 50%/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round'%3E%3Cpath d='m6 6 12 12M18 6 6 18'/%3E%3C/svg%3E") 50%/contain no-repeat}#info-panel{border-radius:var(--ds-r-lg) 0 0 var(--ds-r-lg);border-width:0 0 0 1px}[dir=rtl] #info-panel{border-radius:0 var(--ds-r-lg) var(--ds-r-lg) 0;border-width:0 1px 0 0}#info-panel>aside{border-color:var(--ds-line);background:#ffffff08}#loading-indicator>div{background:var(--ds-glass-strong);backdrop-filter:var(--ds-blur);border:1px solid var(--ds-line);border-radius:var(--ds-r-lg);box-shadow:var(--ds-highlight), var(--ds-shadow-2)}#search-spots-backdrop,#sky-photo-modal{backdrop-filter:blur(10px)saturate(1.2);background:#03060c8c}#search-spots-dialog:not(.hidden)>div:nth-child(2),#sky-photo-modal.opacity-100>div{animation:ds-pop-in var(--ds-slow) var(--ds-ease-out) both}.map-layer-toast,.map-status-message{color:var(--ds-ink);background:var(--ds-glass-strong);backdrop-filter:var(--ds-blur);border:1px solid var(--ds-line);border-radius:var(--ds-r-pill);box-shadow:var(--ds-highlight), var(--ds-shadow-1)}#location-details .mini-details[data-trend]{--trend:#94a3b88c;box-shadow:inset 3px 0 0 var(--trend);border-left-width:0}#location-details .mini-details[data-trend=↑]{--trend:#f87171e6}#location-details .mini-details[data-trend=↓]{--trend:#34d399e6}.skyglow-floating-preview{border:1px solid var(--ds-line);border-radius:var(--ds-r-md);box-shadow:var(--ds-highlight), var(--ds-shadow-2)}@media (hover:hover) and (pointer:fine){[data-tip]:after{content:attr(data-tip);top:calc(100% + 8px);z-index:5;color:var(--ds-ink);font:500 12px/1.3 var(--ds-font);white-space:nowrap;background:var(--ds-glass-strong);border:1px solid var(--ds-line-strong);border-radius:var(--ds-r-sm);box-shadow:var(--ds-shadow-1);opacity:0;pointer-events:none;transition:opacity var(--ds-fast) var(--ds-ease), transform var(--ds-base) var(--ds-ease-out);padding:6px 10px;position:absolute;inset-inline-end:0;transform:translateY(-3px)}[data-tip]:is(:hover,:focus-visible):after{opacity:1;transition-delay:.38s;transform:none}[data-tip]:active:after{opacity:0}}.share-modal{backdrop-filter:blur(10px)saturate(1.2);background:#03060c8c}.share-modal>div{color:var(--ds-ink-2);background:var(--ds-glass-strong);border:1px solid var(--ds-line);border-radius:var(--ds-r-xl);box-shadow:var(--ds-highlight), var(--ds-shadow-2)}.share-modal>div>div:first-child{border-color:var(--ds-line);background:linear-gradient(#ffffff0e,#ffffff04)}.share-modal h3,.share-modal h4,.share-modal label,.share-modal [class*=text-gray-8],.share-modal [class*=text-gray-9],.share-modal [class*=text-gray-7]{color:var(--ds-ink)}.share-modal p,.share-modal [class*=text-gray-6],.share-modal [class*=text-gray-5],.share-modal [class*=text-gray-4]{color:var(--ds-ink-2)}.share-modal [class*=text-blue-]{color:var(--ds-accent-ink)}.share-modal>div>div:nth-child(2)>div>div:first-child{background:var(--ds-accent-fill);border:1px solid #5b9dff3d}.share-close-btn{border-radius:var(--ds-r-pill);width:32px;height:32px;transition:background-color var(--ds-fast) var(--ds-ease), transform var(--ds-base) var(--ds-spring);justify-content:center;align-items:center;display:inline-flex;color:var(--ds-ink-2)!important;background:var(--ds-raise)!important;padding:0!important}.share-close-btn:hover{color:#fff!important;background:var(--ds-raise-press)!important}.share-close-btn:active{transform:scale(.9)}.share-close-btn svg{width:16px;height:16px}.share-option,.embed-type-card,.embed-size-btn{color:var(--ds-ink);background:var(--ds-raise);border:1px solid var(--ds-line);box-shadow:var(--ds-highlight);transition:background-color var(--ds-fast) var(--ds-ease), border-color var(--ds-fast) var(--ds-ease), transform var(--ds-base) var(--ds-spring)}.share-option:hover,.embed-type-card:hover,.embed-size-btn:hover{background:var(--ds-raise-hover);border-color:var(--ds-line-strong);box-shadow:var(--ds-highlight)}.share-option:active,.embed-size-btn:active{transform:scale(.96)}.embed-type-card.bg-blue-50,.embed-size-btn.bg-blue-50{background:var(--ds-accent-fill);border-color:var(--ds-accent-line);box-shadow:0 0 0 3px #5b9dff24}.share-option span,.embed-size-btn{font-weight:500}.share-option svg:not([fill]){fill:currentColor}.share-modal input[type=text],.share-modal input[type=number],.share-modal textarea{color:var(--ds-ink);border:1px solid var(--ds-line-strong);border-radius:var(--ds-r-md);background:#ffffff0d}.share-modal input:focus-visible,.share-modal textarea:focus-visible{border-color:var(--ds-accent);outline:none;box-shadow:0 0 0 3px #5b9dff38}.share-url-input{text-overflow:ellipsis;padding-inline-end:3rem!important}#embed-code{padding-inline-end:6.5rem!important}.copy-url-btn{border-radius:var(--ds-r-sm);color:var(--ds-ink-2)!important}.copy-url-btn:hover{color:#fff!important;background:var(--ds-raise-press)!important}.embed-copy-btn{color:#fff;border:1px solid #93c5fd73;font-weight:600;border-radius:var(--ds-r-sm)!important;background:linear-gradient(#4b8df5,#2f6fe0)!important}.share-success-message,.embed-success-message{border:1px solid #34d3994d;color:#a7f3d0!important;border-radius:var(--ds-r-md)!important;background:#34d39924!important}@media (width<=768px){#map-container:after{z-index:890;height:calc(var(--dock-h,34px) + 44px);content:"";pointer-events:none;background:linear-gradient(#0000,#060a1347 45%,#060a139e);position:absolute;inset:auto 0 0}html.app-cloud-mode #map-container:after{display:none}#quick-satellite-cloud,.mobile-app-download{border-radius:50%}.skyglow-floating-preview{box-shadow:var(--ds-highlight), 0 12px 30px -10px #000000b3}body.map-controls-open .skyglow-floating-preview{opacity:0;pointer-events:none}}@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 (hover:none){.map-quick-control:hover,#search-spots-btn:hover,#sky-photo-btn:hover,#aurora-toggle-btn:hover,#clearsky-toggle-btn:hover,#open-lunar-modal:hover,#open-exposure-calculator:hover{transform:none}}@media (width<=480px){.xs\:grid-cols-2[data-astro-cid-p5payz7x]{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.share-option[data-astro-cid-p5payz7x]{padding:.75rem .5rem}.share-option[data-astro-cid-p5payz7x] svg[data-astro-cid-p5payz7x]{width:20px;height:20px;margin-bottom:.25rem}.share-option[data-astro-cid-p5payz7x][data-platform=bluesky] svg[data-astro-cid-p5payz7x]{width:20px;height:auto}.share-option[data-astro-cid-p5payz7x] span[data-astro-cid-p5payz7x]{margin-top:.125rem;font-size:.75rem}}@keyframes fadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.animate-fadeIn[data-astro-cid-p5payz7x]{animation:.2s ease-out forwards fadeIn}.embed-type-card[data-astro-cid-p5payz7x]{transition:all .2s}.embed-type-card[data-astro-cid-p5payz7x]:hover{transform:translateY(-1px);box-shadow:0 4px 12px #0000001a}.embed-size-btn[data-astro-cid-p5payz7x]{transition:all .2s}.embed-size-btn[data-astro-cid-p5payz7x]:hover{transform:translateY(-1px)}.embed-copy-btn[data-astro-cid-p5payz7x]{transition:all .2s}.embed-copy-btn[data-astro-cid-p5payz7x]:hover{transform:translateY(-1px);box-shadow:0 2px 8px #3b82f64d}.language-banner-show[data-astro-cid-7ak2gvz2]{opacity:1!important;transform:translateY(0)!important}.language-banner-hide[data-astro-cid-7ak2gvz2]{opacity:0!important;transform:translateY(calc(100% + 2rem))!important}@media (width<=640px){#language-detection-banner[data-astro-cid-7ak2gvz2]{max-width:none;bottom:4rem;left:1rem;right:1rem}}@media (width<=480px){#language-detection-banner[data-astro-cid-7ak2gvz2] .bg-slate-800\/95[data-astro-cid-7ak2gvz2]{padding:1rem}#language-detection-banner[data-astro-cid-7ak2gvz2] h3[data-astro-cid-7ak2gvz2]{font-size:.875rem}#language-detection-banner[data-astro-cid-7ak2gvz2] p[data-astro-cid-7ak2gvz2]{font-size:.8125rem}#language-detection-banner[data-astro-cid-7ak2gvz2] button[data-astro-cid-7ak2gvz2]{padding:.625rem .75rem;font-size:.8125rem}}#map[data-astro-cid-ju4pidww]{width:100%;height:100%}.leaflet-tile[data-astro-cid-ju4pidww]{will-change:transform;contain:content}html.app-cloud-mode #site-header,html.app-cloud-mode #language-detection-banner,html.app-cloud-mode #mobile-app-download{display:none!important}html.app-cloud-mode,html.app-cloud-mode body{background:#060a12;width:100%;height:100%;overflow:hidden}html.app-cloud-mode .map-container{height:100dvh!important}html.app-cloud-mode #open-search-modal,html.app-cloud-mode #quick-satellite-cloud,html.app-cloud-mode #open-controls-panel,html.app-cloud-mode #quick-light-pollution,html.app-cloud-mode #controls-panel,html.app-cloud-mode #location-details,html.app-cloud-mode #skyglow-floating-preview,html.app-cloud-mode #mobile-map-tools,html.app-cloud-mode #map-legend,html.app-cloud-mode #map-layer-toast,html.app-cloud-mode #loading-indicator,html.app-cloud-mode .dark-sky-nav-toggle,html.app-cloud-mode .map-status-message,html.app-cloud-mode .leaflet-control-scale,html.app-cloud-mode .leaflet-marker-pane,html.app-cloud-mode .leaflet-tooltip-pane,html.app-cloud-mode #map-container:before{display:none!important}:root{font-display:swap;--color-primary:#3b82f6;--color-primary-light:#60a5fa;--color-primary-dark:#2563eb;--color-secondary:#4b5563;--color-accent:#f59e0b;--color-success:#10b981;--color-warning:#f59e0b;--color-error:#ef4444;--color-background:#0f172a;--color-surface:#1e293b;--color-text:#f8fafc;--color-text-muted:#bfcce6;--color-border:#334155;--space-1:4px;--space-2:8px;--space-3:16px;--space-4:24px;--space-5:32px;--space-6:48px;--radius-sm:4px;--radius-md:8px;--radius-lg:16px;--font-family:system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--transition-speed:.2s}html,body{width:100%;height:100%;font-family:var(--font-family);background-color:var(--color-background);color:var(--color-text);margin:0;padding:0;line-height:1.5}*{box-sizing:border-box}h1,h2,h3,h4,h5,h6{margin-top:0;line-height:1.2}a{color:var(--color-primary);transition:color var(--transition-speed) ease;text-decoration:none}a:hover{color:var(--color-primary-light)}button{cursor:pointer;font-family:var(--font-family)}.leaflet-container{font:inherit}.leaflet-popup-content-wrapper{background-color:var(--color-surface);color:var(--color-text);border-radius:var(--radius-md)}.leaflet-popup-tip{background-color:var(--color-surface)}.leaflet-control{border-radius:var(--radius-md)!important}.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{border-color:var(--color-border)}
