.weather-card{background:#ffffff73;backdrop-filter:blur(28px) saturate(1.4);-webkit-backdrop-filter:blur(28px) saturate(1.4);border-radius:18px;padding:22px;box-shadow:0 4px 24px #0000000f;border:1px solid var(--glass-border);transition:transform .26s var(--ease-smooth),box-shadow .26s var(--ease-smooth),background .3s ease,border-color .2s ease;cursor:pointer;min-width:0;width:100%;max-width:360px;animation:cardAppear .45s var(--ease-spring) backwards;position:relative;overflow:hidden;box-sizing:border-box}[data-theme=dark] .weather-card{background:#0000008c;backdrop-filter:blur(28px) saturate(1.4);-webkit-backdrop-filter:blur(28px) saturate(1.4);box-shadow:0 4px 28px #00000059;border-color:#ffffff14}.weather-card:hover{transform:translateY(-2px);box-shadow:0 8px 32px #00000014;background:#ffffff85;border-color:#fff9}[data-theme=dark] .weather-card:hover{background:#0000009e;border-color:#ffffff1a;box-shadow:0 8px 36px #00000059}.weather-card:active{transform:translateY(-1px);transition-duration:.12s}.weather-card-hero{display:flex;align-items:center;justify-content:flex-start;gap:16px;margin-bottom:8px}.weather-orb{flex-shrink:0;width:56px;height:56px;border-radius:50%;box-shadow:0 2px 8px #00000014;animation:orbFloat 4s ease-in-out infinite;display:flex;align-items:center;justify-content:center;overflow:hidden;color:#fffffff2}.weather-orb--sun{background:linear-gradient(145deg,#ffe0e0,var(--accent-sun));box-shadow:0 2px 10px #e07c7c40;color:#fffffffa}.weather-orb--cloud{position:relative;background:linear-gradient(145deg,#e8e8e8,#b8b8b8);box-shadow:0 2px 8px #0000001a;color:#fffffff2}.weather-orb--cloud:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;pointer-events:none;background:linear-gradient(90deg,transparent 0%,transparent 35%,rgba(255,255,255,.45) 50%,transparent 65%,transparent 100%);background-size:55% 100%;background-repeat:no-repeat;background-position:-60% 0;animation:cloudShimmer 5.5s ease-in-out infinite}[data-theme=dark] .weather-orb--cloud{background:linear-gradient(145deg,#4a4a4a,#2a2a2a);box-shadow:0 2px 8px #0000004d;color:#ffffffe6}.weather-orb--rain{background:linear-gradient(145deg,#a8c8e8,var(--accent-rain));box-shadow:0 2px 10px #6b9bd140;color:#fffffff2}@keyframes orbFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}.weather-orb-svg{display:block;width:100%;height:100%;object-fit:contain;padding:6px;box-sizing:border-box}.weather-orb-svg--sun{animation:orbIconFadeIn .5s var(--ease-smooth) forwards}.weather-orb-sun-core{animation:sunCorePulse 5s ease-in-out infinite;animation-iteration-count:infinite}.weather-orb-sun-ray{animation:sunRayPulse 5s ease-in-out infinite;animation-iteration-count:infinite;transform-origin:50% 50%}.weather-orb-sun-ray:nth-child(2){animation-delay:0s}.weather-orb-sun-ray:nth-child(3){animation-delay:.15s}.weather-orb-sun-ray:nth-child(4){animation-delay:.3s}.weather-orb-sun-ray:nth-child(5){animation-delay:.45s}.weather-orb-sun-ray:nth-child(6){animation-delay:.6s}.weather-orb-sun-ray:nth-child(7){animation-delay:.75s}.weather-orb-sun-ray:nth-child(8){animation-delay:.9s}.weather-orb-sun-ray:nth-child(9){animation-delay:1.05s}.weather-orb-svg--cloud{animation:orbIconFadeIn .5s var(--ease-smooth) forwards}.weather-orb-cloud-base,.weather-orb-cloud-puff{animation:cloudBreath 4s ease-in-out infinite}.weather-orb-cloud-puff:nth-of-type(2){animation-delay:.2s}.weather-orb-cloud-puff:nth-of-type(3){animation-delay:.4s}.weather-orb-cloud-puff:nth-of-type(4){animation-delay:.6s}.weather-orb-svg--rain{animation:orbIconFadeIn .5s var(--ease-smooth) forwards}.weather-orb-rain-drop{animation:rainDropFall 4s ease-in-out infinite;animation-iteration-count:infinite}.weather-orb-rain-drop:nth-of-type(1){animation-delay:0s}.weather-orb-rain-drop:nth-of-type(2){animation-delay:.6s}.weather-orb-rain-drop:nth-of-type(3){animation-delay:1.2s}@keyframes orbIconFadeIn{0%{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}@keyframes sunCorePulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.9;transform:scale(1.06)}}@keyframes sunRayPulse{0%,to{opacity:.9;transform:scale(1)}50%{opacity:1;transform:scale(1.08)}}@keyframes cloudShimmer{0%{background-position:-60% 0}to{background-position:160% 0}}@keyframes cloudBreath{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.03);opacity:.97}}@keyframes rainDropFall{0%{opacity:0;transform:translateY(-6px)}8%{opacity:1;transform:translateY(0)}92%{opacity:1;transform:translateY(10px)}to{opacity:0;transform:translateY(14px)}}.weather-card-temp-wrap{position:relative;display:inline-block;overflow:hidden;border-radius:4px}.weather-card-temp{position:relative;z-index:1;display:inline-block;font-size:64px;font-weight:800;line-height:1;letter-spacing:-.06em;font-variant-numeric:tabular-nums;animation:tempPop .5s var(--ease-spring) backwards;background:linear-gradient(135deg,#f97316,#06b6d4);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;color:var(--text-primary)}@supports (background-clip: text) or (-webkit-background-clip: text){.weather-card-temp{color:transparent}}.weather-card-temp-shimmer{position:absolute;top:-20%;right:-10%;bottom:-20%;left:-10%;z-index:2;pointer-events:none;background:linear-gradient(105deg,transparent 0%,transparent 35%,rgba(255,255,255,.45) 50%,transparent 65%,transparent 100%);background-size:55% 100%;animation:tempShimmer 2.8s var(--ease-smooth) infinite;mix-blend-mode:screen}[data-theme=dark] .weather-card-temp-shimmer{background:linear-gradient(105deg,transparent 0%,transparent 35%,rgba(255,255,255,.35) 50%,transparent 65%,transparent 100%)}@keyframes tempPop{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}@keyframes tempShimmer{0%{transform:translate(-100%)}70%{transform:translate(-100%)}to{transform:translate(200%)}}.weather-card-condition{font-size:14px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.06em;margin:0 0 10px}.weather-card-meta{font-size:13px;color:var(--text-secondary);margin-bottom:16px}.weather-card-sep{margin:0 8px;opacity:.6}.weather-card-wind{display:inline-flex;align-items:center;gap:6px}.weather-card-wind-arrow{display:inline-block;font-size:12px;line-height:1;opacity:.9}.weather-card-aqi{display:flex;flex-direction:column;gap:4px;margin-bottom:12px;padding:10px 12px;border-radius:10px;background:var(--border);transition:background .3s var(--ease-smooth)}.weather-card-aqi-value{font-weight:700;font-variant-numeric:tabular-nums;transition:color .3s var(--ease-smooth)}.weather-card-aqi--1{color:#0b6623}.weather-card-aqi--2{color:#9a7b00}.weather-card-aqi--3{color:#c76a00}.weather-card-aqi--4{color:#c62828}.weather-card-aqi--5{color:#6a1b6a}[data-theme=dark] .weather-card-aqi-value.weather-card-aqi--1{color:#90e090}[data-theme=dark] .weather-card-aqi-value.weather-card-aqi--2{color:#e8e090}[data-theme=dark] .weather-card-aqi-value.weather-card-aqi--3{color:#e8b070}[data-theme=dark] .weather-card-aqi-value.weather-card-aqi--4{color:#e88080}[data-theme=dark] .weather-card-aqi-value.weather-card-aqi--5{color:#d8a0e0}.weather-card-aqi-detail{font-size:12px;color:var(--text-secondary);font-weight:500}.weather-card-maps-link{display:inline-flex;align-items:center;justify-content:center;gap:8px;margin-top:12px;padding:10px 16px;border-radius:10px;background:var(--border);color:var(--text-primary);font-size:13px;font-weight:600;text-decoration:none;transition:background .2s ease,transform .16s var(--ease-smooth)}.weather-card-maps-icon{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center}.weather-card-maps-link:hover{background:var(--pastel-mint);transform:translateY(-1px)}.weather-card-maps-link:active{transform:translateY(0)}.weather-card-details{display:flex;flex-direction:column;gap:8px;padding-top:14px;border-top:1px solid var(--border)}.detail-row{display:flex;justify-content:space-between;align-items:center;font-size:13px}.detail-label{color:var(--text-secondary);font-weight:500}.detail-value{color:var(--text-primary);font-weight:600;font-variant-numeric:tabular-nums}.weather-card-footer{display:flex;justify-content:space-between;align-items:center;margin-top:14px;padding-top:12px;border-top:1px solid var(--border)}.weather-card-location{font-size:12px;font-weight:600;color:var(--text-primary)}.weather-card-time{font-size:11px;color:var(--text-secondary);font-weight:400}@keyframes cardAppear{0%{opacity:0;transform:translateY(20px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@media (max-width: 480px){.weather-card-temp{font-size:52px}.weather-orb{width:52px;height:52px}}.card-header-tappable{display:flex;align-items:center;justify-content:space-between;width:100%;padding:0;background:none;border:none;cursor:pointer;font:inherit;color:inherit;min-height:48px;text-align:left}.chevron{transition:transform .3s var(--ease-spring);flex-shrink:0}.chevron.rotated{transform:rotate(180deg)}.hourly-card .card-title{margin:0;font-size:15px;font-weight:600}.card-preview{font-size:13px;color:var(--text-secondary);margin:8px 0 0}.hourly-forecast-container{margin-top:12px}.hourly-forecast{display:flex;gap:8px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding:12px 0;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none}.hourly-forecast::-webkit-scrollbar{display:none}.hourly-item{flex:0 0 auto;width:56px;scroll-snap-align:start;display:flex;flex-direction:column;align-items:center;gap:6px;padding:10px 8px;background:#00000008;border-radius:12px;transition:all .2s var(--ease-smooth)}[data-theme=dark] .hourly-item{background:#ffffff0f}.hourly-item.current{background:var(--accent-sun);color:#fff;transform:scale(1.05)}.hourly-item:not(.current):hover{background:#0000000f;transform:translateY(-2px)}.hour-time{font-size:11px;font-weight:600;color:var(--text-secondary)}.hourly-item.current .hour-time{color:#ffffffe6}.hour-icon{font-size:18px}.hour-temp{font-size:14px;font-weight:700;font-variant-numeric:tabular-nums}.hour-precip{font-size:10px;color:var(--accent-rain)}.hourly-skeleton .skeleton-block{height:40px;border-radius:8px;background:linear-gradient(90deg,#0000000f 25%,#0000001f,#0000000f 75%);background-size:200% 100%;animation:skeletonShimmer 1.5s infinite}@keyframes skeletonShimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.daily-forecast-list{margin-top:12px}.daily-item{padding:10px 0;border-bottom:1px solid var(--border-light);cursor:pointer;transition:background .2s}.daily-item:hover{background:#00000005;border-radius:8px}[data-theme=dark] .daily-item:hover{background:#ffffff0a}.daily-summary{display:flex;align-items:center;gap:12px}.daily-day{width:60px;font-size:13px;font-weight:600;color:var(--text-primary)}.daily-icon{font-size:16px}.daily-temp-range{flex:1;display:flex;align-items:center;gap:8px}.temp-bar{flex:1;height:4px;background:#0000001a;border-radius:2px;position:relative}[data-theme=dark] .temp-bar{background:#ffffff26}.temp-bar-fill{position:absolute;top:0;bottom:0;background:linear-gradient(to right,var(--accent-rain),var(--accent-sun));border-radius:2px}.temp-high,.temp-low{font-size:14px;font-weight:600;font-variant-numeric:tabular-nums;min-width:32px;text-align:center}.temp-high{color:var(--text-primary)}.temp-low{color:var(--text-secondary)}.daily-precip{font-size:12px;color:var(--accent-rain)}.daily-details{margin-top:8px;padding-top:8px}.daily-summary-text{font-size:13px;color:var(--text-secondary);margin:0}.daily-skeleton .skeleton-block{height:32px;border-radius:8px;background:linear-gradient(90deg,#0000000f 25%,#0000001f,#0000000f 75%);background-size:200% 100%;animation:skeletonShimmer 1.5s infinite}.progress-bar-container{width:100%;height:8px;background:#00000014;border-radius:4px;overflow:hidden;position:relative}[data-theme=dark] .progress-bar-container{background:#ffffff1a}.progress-bar-fill{height:100%;border-radius:4px;transition:width .6s var(--ease-smooth);position:relative;overflow:hidden}.progress-bar-fill.animated:after{content:"";position:absolute;top:0;left:0;bottom:0;right:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);animation:progressShimmer 2s infinite}@keyframes progressShimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.aqi-summary{padding:14px;border-radius:12px;margin-top:12px}.aqi-label{display:flex;align-items:baseline;gap:8px;margin:10px 0 8px}.aqi-value{font-size:28px;font-weight:700;font-variant-numeric:tabular-nums}.aqi-level{font-size:16px;font-weight:600}.aqi-description{font-size:13px;color:var(--text-secondary);margin:0}.aqi-breakdown{margin-top:16px;padding-top:16px;border-top:1px solid var(--border-light)}.pollutant-list{display:flex;flex-direction:column;gap:10px}.pollutant-row{display:grid;grid-template-columns:50px 1fr 40px;gap:8px;align-items:center;font-size:12px}.pollutant-label{font-weight:600;color:var(--text-secondary)}.pollutant-bar-container{height:6px;background:#00000014;border-radius:3px;overflow:hidden}[data-theme=dark] .pollutant-bar-container{background:#ffffff1a}.pollutant-bar{height:100%;border-radius:3px;transition:width .6s var(--ease-smooth)}.pollutant-bar.good{background:#10b981}.pollutant-bar.moderate{background:#f59e0b}.pollutant-bar.poor{background:#ef4444}.pollutant-value{font-weight:600;font-variant-numeric:tabular-nums;text-align:right}.aqi-tap{display:block;width:100%;margin:8px 0 0;padding:0;border:none;background:none;font:inherit;color:var(--text-secondary);text-align:left;cursor:pointer}.aqi-tap:hover{color:var(--text-primary)}.aqi-card--unavailable .card-title{margin:0 0 8px;font-size:15px;font-weight:600}.aqi-unavailable{font-size:13px;color:var(--text-secondary);margin:0;line-height:1.4}.uv-card .card-title{margin:0 0 12px;font-size:15px;font-weight:600}.uv-index-section{padding:14px;border-radius:12px;margin-bottom:12px}.uv-label{display:flex;align-items:baseline;gap:8px;margin:10px 0 8px}.uv-value{font-size:28px;font-weight:700;font-variant-numeric:tabular-nums}.uv-level{font-size:16px;font-weight:600}.uv-recommendation{font-size:13px;color:var(--text-secondary);margin:0}.sun-times{display:flex;flex-direction:column;gap:8px}.sun-time-row{display:flex;justify-content:space-between;font-size:13px}.sun-label{color:var(--text-secondary)}.sun-value{font-weight:600;font-variant-numeric:tabular-nums}.details-card .card-title{margin:0 0 12px;font-size:15px;font-weight:600}.details-grid{display:flex;flex-direction:column;gap:10px}.detail-row{display:flex;justify-content:space-between;align-items:center;font-size:14px}.detail-label{color:var(--text-secondary)}.detail-value{font-weight:600;font-variant-numeric:tabular-nums}.favorite-button{width:48px;height:48px;min-width:48px;min-height:48px;border-radius:50%;background:var(--glass-bg);border:1px solid var(--glass-border);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s var(--ease-spring);color:var(--text-secondary);font-size:20px}.favorite-button:hover{background:#ffc80026;transform:scale(1.08);color:#f59e0b}.favorite-button.active{color:#f59e0b}.star-icon{transition:transform .2s var(--ease-spring)}.favorite-button:active .star-icon{transform:scale(.85)}.favorite-button.active .star-icon{animation:starPop .4s var(--ease-bounce)}@keyframes starPop{0%{transform:scale(1)}50%{transform:scale(1.3) rotate(15deg)}to{transform:scale(1) rotate(0)}}.weather-sidebar{position:relative;width:100%;min-height:0;display:flex;flex-direction:column}.weather-sidebar-header-actions{position:absolute;top:12px;right:12px;z-index:10;display:flex;align-items:center;gap:8px}.weather-sidebar-close{width:48px;height:48px;min-width:48px;min-height:48px;border:none;background:#00000014;border-radius:50%;font-size:24px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--text-primary);transition:background .2s}[data-theme=dark] .weather-sidebar-close{background:#ffffff1f}.weather-sidebar-close:hover{background:#0000001f}.weather-sidebar-scroll{padding:56px 20px 40px}.weather-sidebar-cards{display:flex;flex-direction:column;gap:12px}.sidebar-card-wrap{animation:cardSlideIn .4s var(--ease-spring) backwards}.sidebar-card-wrap.sidebar-card-1{animation-delay:0ms}.sidebar-card-wrap.sidebar-card-2{animation-delay:80ms}.sidebar-card-wrap.sidebar-card-3{animation-delay:.16s}.sidebar-card-wrap.sidebar-card-4{animation-delay:.24s}.sidebar-card-wrap.sidebar-card-5{animation-delay:.32s}.sidebar-card-wrap.sidebar-card-6{animation-delay:.4s}@keyframes cardSlideIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.expandable-card{cursor:pointer;transition:all .35s var(--ease-smooth)}.expandable-card:hover{transform:translateY(-2px);box-shadow:0 12px 32px #0000001f}[data-theme=dark] .expandable-card:hover{box-shadow:0 12px 32px #0006}.expandable-card .card-expanded-content{opacity:0;transform:translateY(10px);transition:opacity .3s var(--ease-smooth) .1s,transform .3s var(--ease-smooth) .1s}.expandable-card.expanded .card-expanded-content{opacity:1;transform:translateY(0)}.weather-sidebar .weather-card{max-width:none}.stargazing-card{background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-saturate));-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-saturate));border-radius:18px;padding:22px;box-shadow:0 4px 24px #0000000f;border:1px solid var(--glass-border);min-width:0;width:100%;max-width:360px;animation:cardAppear .45s var(--ease-spring) backwards;position:relative;overflow:hidden;box-sizing:border-box;transition:background .3s var(--ease-smooth),border-color .3s var(--ease-smooth),box-shadow .3s var(--ease-smooth)}@media (max-width: 480px){.stargazing-card{padding:18px 16px;border-radius:16px;gap:0}.stargazing-card-header{margin-bottom:2px}.stargazing-card-title{font-size:16px}.stargazing-card-subtitle{font-size:11px;margin-bottom:14px}.stargazing-card-moon{margin-bottom:14px;padding:12px 10px;gap:10px}.stargazing-card-moon-today{font-size:10px}.stargazing-card-moon-icon .stargazing-moon-phase-svg{width:32px;height:32px}.stargazing-card-moon-label{font-size:13px}.stargazing-card-five-days{margin-bottom:14px;padding:10px 12px}.stargazing-card-five-days-title{font-size:11px;margin-bottom:10px}.stargazing-five-days-strip{gap:6px 8px}.stargazing-five-day-item{min-width:0}.stargazing-five-day-letter{font-size:11px}.stargazing-five-day-moon .stargazing-moon-phase-svg{width:24px;height:24px}.stargazing-five-day-clouds{font-size:11px}.stargazing-nights{gap:10px;margin-bottom:16px}.stargazing-nights-title{font-size:11px;margin-bottom:10px}.stargazing-night--compact{padding:10px 12px}.stargazing-night--compact .stargazing-night-date{font-size:12px}.stargazing-night--compact .stargazing-night-score{font-size:13px}}[data-theme=dark] .stargazing-card{box-shadow:0 4px 28px #00000040}.stargazing-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}.stargazing-card-title{font-size:18px;font-weight:700;color:var(--text-primary)}.stargazing-card-close{background:none;border:none;font-size:24px;line-height:1;color:var(--text-secondary);cursor:pointer;padding:4px;margin:-4px -4px -4px 0}.stargazing-card-close:hover{color:var(--text-primary)}.stargazing-card-subtitle{font-size:13px;color:var(--text-secondary);margin-bottom:12px;transition:color .3s var(--ease-smooth)}.stargazing-card-moon{display:flex;align-items:center;gap:12px;margin-bottom:16px;padding:10px 12px;border-radius:12px;background:#0000000a;border:1px solid var(--glass-border)}.stargazing-card-moon-today{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);min-width:36px}[data-theme=dark] .stargazing-card-moon{background:#ffffff0a}.stargazing-card-moon-icon{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center}.stargazing-moon-phase-svg{display:block}.stargazing-moon-lit{fill:var(--moon-lit);stroke:none}.stargazing-moon-shadow{fill:var(--moon-shadow);stroke:none}.stargazing-card-moon-label{font-size:14px;font-weight:600;color:var(--text-primary)}.stargazing-card-five-days{margin-bottom:16px;padding:12px 14px;border-radius:12px;background:#0000000a;border:1px solid var(--glass-border)}[data-theme=dark] .stargazing-card-five-days{background:#ffffff0a}.stargazing-card-five-days-title{font-size:12px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;margin-bottom:10px}.stargazing-card-five-days-strip{display:flex;flex-wrap:wrap;gap:8px 12px;justify-content:space-between}.stargazing-five-day-item{display:flex;flex-direction:column;align-items:center;gap:4px;min-width:48px}.stargazing-five-day-letter{font-size:13px;font-weight:700;color:var(--text-primary);text-align:center;line-height:1}.stargazing-five-day-moon{display:inline-flex;align-items:center;justify-content:center}.stargazing-five-day-moon .stargazing-moon-phase-svg{display:block}.stargazing-five-day-clouds{font-size:12px;font-weight:700;color:var(--text-primary);font-variant-numeric:tabular-nums}.stargazing-nights-title{font-size:12px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;margin-bottom:8px}.stargazing-nights{display:flex;flex-direction:column;gap:8px;margin-bottom:20px}.stargazing-night--compact{padding:8px 12px}.stargazing-night--compact .stargazing-night-date{margin-bottom:2px}.stargazing-night--compact .stargazing-night-badges{display:none}.stargazing-night{padding:12px 14px;border-radius:12px;border:1px solid var(--glass-border);background:#ffffff40}[data-theme=dark] .stargazing-night{background:#0003}.stargazing-night--excellent{border-color:#10b98173;background:#10b9811a;transition:background .3s var(--ease-smooth),border-color .3s var(--ease-smooth)}[data-theme=dark] .stargazing-night--excellent{border-color:#10b98180;background:#10b98126}.stargazing-night--good{border-color:#64c89666;background:#64c89614;transition:background .3s var(--ease-smooth),border-color .3s var(--ease-smooth)}[data-theme=dark] .stargazing-night--good{border-color:#64c89673;background:#64c8961f}.stargazing-night--fair{border-color:#ffc86459;background:#ffc8640f;transition:background .3s var(--ease-smooth),border-color .3s var(--ease-smooth)}[data-theme=dark] .stargazing-night--fair{border-color:#ffc86466;background:#ffc8641a}.stargazing-night--poor{border-color:#9696b44d;transition:border-color .3s var(--ease-smooth)}[data-theme=dark] .stargazing-night--poor{border-color:#a0a0be40;background:#8c8ca00f}.stargazing-night-date{font-weight:600;font-size:14px;color:var(--text-primary);margin-bottom:6px}.stargazing-night-badges{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:6px}.stargazing-badge{font-size:11px;padding:4px 8px;border-radius:8px;background:#0000000f;color:var(--text-secondary)}[data-theme=dark] .stargazing-badge{background:#ffffff14}.stargazing-night-score{font-size:12px;font-weight:600;color:var(--text-primary)}.stargazing-section-title{font-size:14px;font-weight:600;color:var(--text-primary);margin-bottom:10px}.stargazing-meteors{margin-bottom:20px}.stargazing-meteor-list{list-style:none;padding:0;margin:0}.stargazing-meteor-item{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid var(--glass-border);font-size:13px}.stargazing-meteor-item:last-child{border-bottom:none}.stargazing-meteor-name{font-weight:600;color:var(--text-primary)}.stargazing-meteor-peak{color:var(--text-secondary);font-size:12px}.stargazing-apod{margin-top:16px;padding-top:16px;border-top:1px solid var(--glass-border)}.stargazing-apod-img{width:100%;border-radius:12px;display:block;margin-bottom:8px}.stargazing-apod-title{font-size:13px;font-weight:600;color:var(--text-primary);margin-bottom:4px}.stargazing-apod-desc{font-size:12px;color:var(--text-secondary);line-height:1.4}.rain-status{position:absolute;top:52px;left:16px;z-index:998;background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-saturate));-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-saturate));border-radius:14px;padding:10px 14px;box-shadow:0 2px 16px #0000000a;border:1px solid var(--glass-border);min-width:150px;max-width:220px;transition:transform .26s var(--ease-smooth),background .3s ease}.rain-status:hover{background:#ffffff7a}[data-theme=dark] .rain-status{box-shadow:0 2px 20px #0003}[data-theme=dark] .rain-status:hover{background:#00000080}.rain-animation{position:relative;width:100%;height:50px;margin-bottom:10px;overflow:hidden;border-radius:10px;background:#fff3}[data-theme=dark] .rain-animation{background:#ffffff0d}.rain-drop{position:absolute;width:2px;height:12px;background:linear-gradient(to bottom,var(--pastel-sky),var(--accent-rain));border-radius:0 0 50% 50%;animation:fall linear infinite}.rain-drop:nth-child(1){left:10%;animation-duration:1s;animation-delay:0s}.rain-drop:nth-child(2){left:25%;animation-duration:1s;animation-delay:.2s}.rain-drop:nth-child(3){left:40%;animation-duration:.9s;animation-delay:.1s}.rain-drop:nth-child(4){left:55%;animation-duration:1.1s;animation-delay:.3s}.rain-drop:nth-child(5){left:70%;animation-duration:.85s;animation-delay:.15s}.rain-drop:nth-child(6){left:85%;animation-duration:1.05s;animation-delay:.25s}.rain-drop:nth-child(7){left:15%;animation-duration:.95s;animation-delay:.05s}.rain-drop:nth-child(8){left:50%;animation-duration:1.15s;animation-delay:.35s}@keyframes fall{0%{top:-20px;opacity:.9;transform:translate(0)}to{top:100%;opacity:.25;transform:translate(2px)}}.dry-cloud{width:100%;height:50px;margin-bottom:10px;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);opacity:.7}.cloud-svg{width:60px;height:40px;animation:float 4s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.rain-info{text-align:center}.rain-title{font-size:13px;font-weight:700;color:var(--text-primary);margin-bottom:6px;letter-spacing:-.02em}.rain-subtitle{font-size:11px;color:var(--text-secondary);font-weight:400}.rain-locations{display:flex;flex-direction:column;gap:4px;margin-top:6px;max-height:180px;overflow-y:auto}.rain-location-item{display:flex;flex-direction:column;gap:2px;padding:6px 8px;background:#ffffff40;border-radius:8px;text-align:left}[data-theme=dark] .rain-location-item{background:#ffffff0f}.rain-location-name{font-size:11px;font-weight:600;color:var(--text-primary)}.rain-location-desc{font-size:10px;color:var(--text-secondary);text-transform:capitalize}@media (max-width: 768px){.rain-status{top:max(50px,10px + env(safe-area-inset-top));left:max(12px,env(safe-area-inset-left));right:auto;max-width:200px;min-width:130px;padding:8px 12px}.rain-locations{max-height:120px}}@media (max-width: 480px){.rain-status{top:max(46px,8px + env(safe-area-inset-top));left:max(8px,env(safe-area-inset-left));max-width:180px;min-width:120px}}.fog-status{position:absolute;top:260px;right:16px;left:auto;z-index:997;background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-saturate));-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-saturate));border-radius:14px;padding:8px 12px 10px;box-shadow:0 2px 16px #0000000a;border:1px solid var(--glass-border);min-width:130px;max-width:168px;transition:transform .26s var(--ease-smooth),background .3s ease}.fog-status:hover{background:#ffffff7a}[data-theme=dark] .fog-status{box-shadow:0 2px 20px #0003}[data-theme=dark] .fog-status:hover{background:#00000080}.fog-status-animation{position:relative;width:100%;height:44px;margin-bottom:10px;overflow:hidden;border-radius:10px;background:#c8d7e640}[data-theme=dark] .fog-status-animation{background:#b4c3d71f}.fog-wisp{position:absolute;left:0;right:0;height:20px;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.5) 20%,rgba(255,255,255,.7) 50%,rgba(255,255,255,.5) 80%,transparent 100%);border-radius:50%;animation:fogDrift 8s ease-in-out infinite}[data-theme=dark] .fog-wisp{background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.08) 20%,rgba(255,255,255,.14) 50%,rgba(255,255,255,.08) 80%,transparent 100%)}.fog-wisp:nth-child(1){top:0;animation-delay:0s}.fog-wisp:nth-child(2){top:8px;animation-delay:1.2s;opacity:.8}.fog-wisp:nth-child(3){top:18px;animation-delay:2.4s;opacity:.6}.fog-wisp:nth-child(4){top:4px;animation-delay:3.6s;opacity:.7}.fog-wisp:nth-child(5){top:24px;animation-delay:4.8s;opacity:.5}@keyframes fogDrift{0%,to{transform:translate(-30%) scaleX(.8);opacity:.4}50%{transform:translate(30%) scaleX(1.1);opacity:.9}}.fog-status-info{text-align:center}.fog-status-title{font-size:13px;font-weight:700;color:var(--text-primary);margin-bottom:6px;letter-spacing:-.02em}.fog-status-locations{display:flex;flex-direction:column;gap:4px;margin-top:6px;max-height:140px;overflow-y:auto}.fog-status-subtitle{font-size:11px;color:var(--text-secondary);font-weight:400}.fog-status-location-item{display:flex;flex-direction:column;gap:2px;padding:6px 8px;background:#ffffff40;border-radius:8px;text-align:left;width:100%;border:none;cursor:pointer;font:inherit;color:inherit;transition:background .18s ease,transform .12s ease}.fog-status-location-item:hover{background:#fff6}.fog-status-location-item:active{transform:scale(.98)}[data-theme=dark] .fog-status-location-item:hover{background:#ffffff1f}[data-theme=dark] .fog-status-location-item{background:#ffffff0f}.fog-status-location-name{font-size:11px;font-weight:600;color:var(--text-primary)}.fog-status-location-desc{font-size:10px;color:var(--text-secondary);text-transform:capitalize}@media (max-width: 768px){.fog-status{top:172px;left:16px;right:auto;max-width:200px;min-width:120px;padding:6px 10px 8px}.fog-status-locations{max-height:100px}}@media (max-width: 480px){.fog-status{top:168px;left:max(8px,env(safe-area-inset-left));right:auto;max-width:min(180px,calc(100vw - 24px - env(safe-area-inset-left,0px) - env(safe-area-inset-right,0px)));min-width:0;padding:6px 8px 8px;box-sizing:border-box}}.coldest-locations{position:absolute;top:52px;right:16px;z-index:999;background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-saturate));-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-saturate));border-radius:14px;padding:8px 12px 10px;box-shadow:0 2px 16px #0000000a;border:1px solid var(--glass-border);min-width:130px;max-width:168px;transition:transform .26s var(--ease-smooth),background .3s ease}.coldest-locations:hover{background:#ffffff7a}[data-theme=dark] .coldest-locations{box-shadow:0 2px 20px #0003}[data-theme=dark] .coldest-locations:hover{background:#00000080}.coldest-header{display:flex;align-items:center;gap:5px;margin-bottom:6px;justify-content:center}.coldest-icon{font-size:12px;opacity:.9}.coldest-title{font-size:11px;font-weight:600;color:var(--text-primary);letter-spacing:.02em;opacity:.95}.coldest-list{display:flex;flex-direction:column;gap:3px}.coldest-item{display:flex;align-items:center;gap:6px;padding:3px 6px 4px;background:#fff3;border-radius:8px;position:relative;overflow:hidden;animation:slideInRight .4s var(--ease-spring) backwards}[data-theme=dark] .coldest-item{background:#ffffff0f}.coldest-item:nth-child(1){animation-delay:.05s}.coldest-item:nth-child(2){animation-delay:.1s}.coldest-item:nth-child(3){animation-delay:.15s}.coldest-item:nth-child(4){animation-delay:.2s}.coldest-item:nth-child(5){animation-delay:.25s}.coldest-temp{font-size:13px;font-weight:700;color:var(--text-secondary);min-width:28px;text-align:right;font-variant-numeric:tabular-nums}.coldest-name{font-size:11px;font-weight:500;color:var(--text-primary);flex:1;letter-spacing:-.1px}.coldest-effect{position:absolute;pointer-events:none;opacity:.3}.coldest-effect.snow{width:100%;height:100%;background-image:radial-gradient(circle at 20% 30%,white 1px,transparent 1px),radial-gradient(circle at 60% 70%,white 1px,transparent 1px),radial-gradient(circle at 80% 20%,white 1px,transparent 1px);background-size:20px 20px,15px 15px,25px 25px;animation:snowFall 3s linear infinite}@keyframes snowFall{0%{transform:translateY(-100%)}to{transform:translateY(100%)}}.coldest-effect.frost{width:100%;height:100%;background:linear-gradient(45deg,transparent 30%,rgba(255,255,255,.3) 50%,transparent 70%);animation:frostShimmer 2s ease-in-out infinite}@keyframes frostShimmer{0%,to{transform:translate(-100%)}50%{transform:translate(100%)}}.coldest-effect.ice{width:100%;height:100%;background:radial-gradient(circle at 30% 50%,rgba(59,130,246,.2) 0%,transparent 50%);animation:iceGlow 2.5s ease-in-out infinite}@keyframes iceGlow{0%,to{opacity:.2;transform:scale(1)}50%{opacity:.4;transform:scale(1.1)}}.coldest-effect.chill{width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(59,130,246,.15),transparent);animation:chillWave 2s ease-in-out infinite}@keyframes chillWave{0%,to{transform:translate(-100%) scaleX(.5)}50%{transform:translate(100%) scaleX(1)}}.coldest-effect.cold{width:100%;height:100%;background:radial-gradient(ellipse at center,rgba(59,130,246,.15) 0%,transparent 70%);animation:coldPulse 3s ease-in-out infinite}@keyframes coldPulse{0%,to{opacity:.2;transform:scale(.95)}50%{opacity:.3;transform:scale(1.05)}}@keyframes slideInRight{0%{opacity:0;transform:translate(16px) scale(.97)}to{opacity:1;transform:translate(0) scale(1)}}@media (max-width: 768px){.coldest-locations{top:max(50px,10px + env(safe-area-inset-top));right:max(12px,env(safe-area-inset-right));max-width:160px;min-width:120px;padding:6px 10px 8px}}@media (max-width: 480px){.coldest-locations{top:max(46px,8px + env(safe-area-inset-top));right:max(8px,env(safe-area-inset-right));max-width:min(150px,calc(100vw - 24px - env(safe-area-inset-left,0px) - env(safe-area-inset-right,0px)));min-width:0;padding:6px 8px 8px;box-sizing:border-box}}.location-prompt-card{position:absolute;top:240px;left:16px;z-index:997;max-width:220px;padding:14px 16px;border-radius:16px;background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-saturate));-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-saturate));border:1px solid var(--glass-border);box-shadow:0 8px 24px #00000014;cursor:pointer;text-align:left;display:flex;flex-direction:column;gap:6px;transition:all .2s var(--ease-smooth);animation:slideInLeft .35s var(--ease-smooth) backwards;animation-delay:.3s}.location-prompt-card:hover:not(:disabled){transform:translateY(-3px);box-shadow:0 12px 32px #0000001f;border-color:#ffffffb3}.location-prompt-card:disabled{cursor:wait}.location-prompt-question{font-size:15px;font-weight:700;color:var(--text-primary);line-height:1.3}.location-prompt-instruction{font-size:12px;font-weight:500;color:var(--text-secondary);line-height:1.4}.location-prompt-dots{display:inline-flex;gap:4px;margin-top:4px}.location-prompt-dots .dot{width:4px;height:4px;border-radius:50%;background:var(--text-secondary);animation:dotPulse 1.4s infinite}.location-prompt-dots .dot:nth-child(1){animation-delay:0s}.location-prompt-dots .dot:nth-child(2){animation-delay:.2s}.location-prompt-dots .dot:nth-child(3){animation-delay:.4s}.location-prompt-card--error{border-color:#ef444480;background:#fef2f299}[data-theme=dark] .location-prompt-card--error{background:#7f1d1d4d}.location-prompt-card--error .location-prompt-question{color:#ef4444}@media (max-width: 480px){.location-prompt-card{top:180px;left:12px;max-width:200px;padding:12px 14px;font-size:13px}}.bottom-sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000004d;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);opacity:0;pointer-events:none;transition:opacity .3s var(--ease-smooth);z-index:999}.bottom-sheet-backdrop.visible{opacity:1;pointer-events:all}.bottom-sheet{position:fixed;bottom:0;left:0;right:0;background:var(--glass-bg);backdrop-filter:blur(40px) saturate(1.6);-webkit-backdrop-filter:blur(40px) saturate(1.6);border:1px solid var(--glass-border);border-bottom:none;border-radius:24px 24px 0 0;box-shadow:0 -8px 32px #0000001f;transition:transform .4s var(--ease-spring);transform:translateY(100%);z-index:1000;max-height:90vh;display:flex;flex-direction:column;min-height:0;overflow:hidden;box-sizing:border-box}[data-theme=dark] .bottom-sheet{background:#0009;box-shadow:0 -8px 32px #0006}.bottom-sheet.open{transform:translateY(0);height:90vh;max-height:90vh}.bottom-sheet.open .bottom-sheet-content{flex:1 1 0;min-height:0;height:0;max-height:calc(90vh - 48px)}.bottom-sheet-handle{flex-shrink:0;width:100%;padding:12px;display:flex;justify-content:center;cursor:grab;touch-action:none;min-height:48px;align-items:center;box-sizing:border-box}.bottom-sheet-handle:active{cursor:grabbing}.handle-bar{width:40px;height:4px;background:#0003;border-radius:2px;transition:background .2s}[data-theme=dark] .handle-bar{background:#ffffff4d}.bottom-sheet-handle:active .handle-bar{background:#0006}.bottom-sheet-content{flex:1 1 0;min-height:0;overflow-y:auto;overflow-x:hidden;padding:0 20px 24px;-webkit-overflow-scrolling:touch;box-sizing:border-box}@media (min-width: 768px){.bottom-sheet{position:fixed;top:50%;left:50%;bottom:auto;right:auto;transform:translate(-50%,-50%) scale(.9);border-radius:24px;border:1px solid var(--glass-border);max-width:420px;width:min(calc(100% - 32px),420px);height:auto;max-height:85vh}.bottom-sheet.open{transform:translate(-50%,-50%) scale(1);height:85vh;max-height:85vh}.bottom-sheet.open .bottom-sheet-content{height:0;max-height:85vh}.bottom-sheet-handle{display:none}.bottom-sheet-content{padding:0 24px 32px}}.map-container{position:relative;width:100%;height:100%;min-height:0;overflow:hidden;background:var(--bg-primary);padding-bottom:env(safe-area-inset-bottom,0);-webkit-overflow-scrolling:touch}.map-overlay-right{position:absolute;top:52px;right:16px;z-index:999;display:flex;flex-direction:column;gap:12px;align-items:flex-end}.map-overlay-right .coldest-locations{position:relative;top:auto;right:auto}.map-overlay-right .fog-status{position:relative;top:auto;right:auto;left:auto}.uae-vector-tiles{filter:brightness(1.02) contrast(1.05) saturate(.4);opacity:.98;animation:mapBreath 12s var(--ease-smooth) infinite}[data-theme=dark] .uae-vector-tiles{filter:brightness(.32) contrast(1.15) saturate(0);opacity:.96;animation:mapBreathDark 12s var(--ease-smooth) infinite}@keyframes mapBreath{0%,to{opacity:.97}50%{opacity:1}}@keyframes mapBreathDark{0%,to{opacity:.98}50%{opacity:1}}.leaflet-tile{image-rendering:-webkit-optimize-contrast;image-rendering:crisp-edges;transition:opacity .3s var(--ease-smooth)}.uae-map-overlay{position:absolute;top:0;left:0;right:0;bottom:0;pointer-events:none;z-index:1;background:linear-gradient(to right,#ce112614,#ce112600 8%),linear-gradient(to bottom,#00732f0a,#ffffff05 35%,#00000008);mix-blend-mode:multiply;animation:overlayFade 8s var(--ease-smooth) infinite}[data-theme=dark] .uae-map-overlay{background:linear-gradient(to right,#ce11261f,#ce112600 10%),linear-gradient(to bottom,#00732f0f,#0c0c0e0a 40%,#0000001a);mix-blend-mode:soft-light}@keyframes overlayFade{0%,to{opacity:1}50%{opacity:.92}}.map-rain-marker{pointer-events:none!important;border:none!important;background:none!important}.map-rain-zone{position:relative;width:120px;height:120px;border-radius:50%;background:radial-gradient(circle at 50% 50%,rgba(107,155,209,.18) 0%,rgba(107,155,209,.06) 50%,transparent 70%);overflow:hidden}[data-theme=dark] .map-rain-zone{background:radial-gradient(circle at 50% 50%,rgba(123,168,212,.22) 0%,rgba(123,168,212,.08) 50%,transparent 70%)}.map-rain-drop{position:absolute;left:50%;width:2px;height:10px;margin-left:-1px;background:linear-gradient(to bottom,rgba(107,155,209,.7),transparent);border-radius:1px;transform:translate(0) rotate(-12deg);animation:mapRainDropFall 1.4s linear infinite}[data-theme=dark] .map-rain-drop{background:linear-gradient(to bottom,rgba(180,210,240,.5),transparent)}.map-rain-drop:nth-child(1){left:18%;animation-delay:0s}.map-rain-drop:nth-child(2){left:32%;animation-delay:.15s}.map-rain-drop:nth-child(3){left:50%;animation-delay:.3s}.map-rain-drop:nth-child(4){left:68%;animation-delay:.45s}.map-rain-drop:nth-child(5){left:82%;animation-delay:.6s}.map-rain-drop:nth-child(6){left:25%;animation-delay:.75s}.map-rain-drop:nth-child(7){left:45%;animation-delay:.9s}.map-rain-drop:nth-child(8){left:60%;animation-delay:1.05s}.map-rain-drop:nth-child(9){left:75%;animation-delay:1.2s}.map-rain-drop:nth-child(10){left:90%;animation-delay:1.35s}@keyframes mapRainDropFall{0%{transform:translate(0) translateY(-8px) rotate(-12deg);opacity:0}8%{opacity:.8}92%{opacity:.5}to{transform:translate(4px) translateY(120px) rotate(-12deg);opacity:0}}.map-fog-marker{pointer-events:none!important;border:none!important;background:none!important}.map-fog-cloud{width:126px;height:126px;position:relative;animation:mapFogCloudDrift 18s ease-in-out infinite;animation-delay:calc(var(--fog-phase, 0) * -1s)}@keyframes mapFogCloudDrift{0%,to{transform:translate(4px,-6px) scale(.96);opacity:.92}25%{transform:translate(-8px,4px) scale(1.02);opacity:1}50%{transform:translate(6px,8px) scale(.98);opacity:.95}75%{transform:translate(-5px,-4px) scale(1.01);opacity:.98}}.map-fog-zone{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:55% 45% 52% 48%/48% 55% 45% 52%;background:radial-gradient(ellipse 80% 70% at 50% 50%,rgba(220,228,240,.48) 0%,rgba(200,212,230,.28) 40%,rgba(190,202,220,.1) 65%,transparent 75%);overflow:hidden;animation:mapFogBlob 14s ease-in-out infinite;animation-delay:calc(var(--fog-phase, 0) * -.7s)}[data-theme=dark] .map-fog-zone{background:radial-gradient(ellipse 80% 70% at 50% 50%,rgba(120,135,155,.55) 0%,rgba(80,95,115,.28) 40%,rgba(60,75,95,.12) 65%,transparent 75%)}@keyframes mapFogBlob{0%,to{border-radius:55% 45% 52% 48%/48% 55% 45% 52%;transform:scale(1)}33%{border-radius:48% 52% 45% 55%/52% 48%;transform:scale(1.03)}66%{border-radius:52% 48% 55% 45%/45% 52% 48% 55%;transform:scale(.98)}}.map-fog-wisp{position:absolute;left:-20%;right:-20%;height:22px;background:linear-gradient(90deg,transparent 0%,rgba(160,175,195,.35) 22%,rgba(140,158,182,.5) 50%,rgba(160,175,195,.35) 78%,transparent 100%);border-radius:50%;animation:mapFogWispDrift 7s ease-in-out infinite}[data-theme=dark] .map-fog-wisp{background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.06) 25%,rgba(255,255,255,.12) 50%,rgba(255,255,255,.06) 75%,transparent 100%)}.map-fog-wisp:nth-child(1){top:12%;animation-delay:0s;animation-duration:6.5s}.map-fog-wisp:nth-child(2){top:32%;animation-delay:1s;opacity:.9;animation-duration:8s}.map-fog-wisp:nth-child(3){top:52%;animation-delay:2.2s;opacity:.75;animation-duration:7s}.map-fog-wisp:nth-child(4){top:70%;animation-delay:3.5s;opacity:.85;animation-duration:6s}.map-fog-wisp:nth-child(5){top:22%;animation-delay:4s;opacity:.7;animation-duration:7.5s}.map-fog-wisp:nth-child(6){top:62%;animation-delay:5s;opacity:.8;animation-duration:6.8s}@keyframes mapFogWispDrift{0%,to{transform:translate(-30%) translateY(2px) scaleX(.9);opacity:.4}50%{transform:translate(30%) translateY(-2px) scaleX(1.1);opacity:.9}}.map-marker-tooltip-title{font-weight:700;font-size:12px;color:var(--text-primary)}.map-marker-tooltip-desc{font-size:11px;color:var(--text-secondary);text-transform:capitalize}.leaflet-tooltip.map-marker-tooltip-pane{padding:8px 12px;border-radius:12px;border:1px solid var(--glass-border, rgba(0,0,0,.08));background:var(--glass-bg, rgba(255,255,255,.96));backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 4px 20px #00000014;font-family:inherit;max-width:220px;white-space:normal;transition:opacity .2s ease,transform .2s ease}.leaflet-tooltip.map-marker-tooltip-pane .map-marker-tooltip-desc{display:block;margin-top:2px}.map-sidebar{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:1000;width:min(calc(100% - 32px),360px);height:fit-content;max-height:min(calc(100vh - 100px),520px);overflow-y:auto;overflow-x:hidden;border-radius:20px;animation:popupAppear .35s var(--ease-spring) backwards;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;padding:44px 44px 20px 20px;box-sizing:border-box;background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-saturate));-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-saturate));border:1px solid var(--glass-border);box-shadow:0 8px 32px #0000001f}[data-theme=dark] .map-sidebar{box-shadow:0 8px 40px #0006}@keyframes popupAppear{0%{opacity:0;transform:translate(-50%,-50%) scale(.92)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}.close-button{position:absolute;top:12px;right:12px;width:36px;height:36px;min-width:36px;min-height:36px;border-radius:50%;background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-saturate));-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-saturate));border:1px solid var(--glass-border);box-shadow:0 2px 16px #0000000f;cursor:pointer;font-size:22px;line-height:1;display:flex;align-items:center;justify-content:center;color:var(--text-primary);transition:transform .22s var(--ease-spring),background .2s ease,color .2s ease;z-index:1002;font-weight:300;flex-shrink:0}[data-theme=dark] .close-button{box-shadow:0 2px 20px #00000040}.close-button:hover{transform:scale(1.08) rotate(90deg);background:var(--pastel-coral);color:#fff;transition-duration:.22s}.close-button:active{transform:scale(.94) rotate(90deg);transition-duration:.1s}.leaflet-container{background:var(--bg-primary)!important;font-family:-apple-system,BlinkMacSystemFont,Inter,sans-serif}.leaflet-control-container{z-index:999}.leaflet-control-container .leaflet-bottom.leaflet-right{margin-right:16px!important;margin-bottom:16px!important}.leaflet-control-container .leaflet-top.leaflet-left{margin-left:16px!important;margin-top:16px!important}.leaflet-control-container .leaflet-top.leaflet-right{margin-right:16px!important;margin-top:16px!important}.leaflet-control-container .leaflet-bottom.leaflet-left{margin-left:16px!important;margin-bottom:16px!important}.leaflet-control-zoom{border:1px solid var(--glass-border)!important;border-radius:12px!important;overflow:visible!important;box-shadow:0 2px 16px #0000000d!important;background:var(--glass-bg)!important;backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-saturate))!important;-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-saturate))!important;margin:0!important}[data-theme=dark] .leaflet-control-zoom{box-shadow:0 2px 20px #00000040!important}.leaflet-control-zoom a{background-color:transparent!important;color:var(--text-primary)!important;border:none!important;width:32px!important;height:32px!important;line-height:32px!important;font-size:16px!important;transition:all .2s cubic-bezier(.4,0,.2,1)!important}.leaflet-control-zoom a:hover{background-color:var(--pastel-mint)!important;color:var(--text-primary)!important}.leaflet-popup-content-wrapper{border-radius:16px;box-shadow:0 4px 20px #0000000f;background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-saturate));-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-saturate));border:1px solid var(--glass-border)}[data-theme=dark] .leaflet-popup-content-wrapper{box-shadow:0 4px 24px #00000040}.leaflet-popup-content{margin:12px;font-size:13px;color:var(--text-primary)}.leaflet-popup-tip{background:var(--glass-bg);border:1px solid var(--glass-border)}.custom-marker{background:transparent!important;border:none!important}.temp-bubble{border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 12px #0000001a,0 0 0 1px #ffffff26 inset;border:1px solid var(--glass-border);cursor:pointer;transition:transform .26s var(--ease-smooth),box-shadow .26s var(--ease-smooth);position:relative;overflow:visible;background:color-mix(in srgb,var(--bubble-tint, var(--glass-bg)) 32%,var(--glass-bg) 68%);backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-saturate));-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-saturate));animation:bubblePop .4s cubic-bezier(.34,1.56,.64,1) forwards;will-change:transform;transform-origin:center center}@keyframes bubblePop{0%{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}.temp-bubble--selected{animation:none;transform:scale(1.15);box-shadow:0 4px 20px #0000001f,0 0 0 1px #ffffff40 inset;border-width:1px}.temp-bubble--my-location{border-width:2px;box-shadow:0 0 0 2px #f0b4a899,0 0 20px 2px var(--pastel-coral)}[data-theme=dark] .temp-bubble--my-location{box-shadow:0 0 0 2px #d4989080,0 0 20px 2px var(--pastel-coral)}.temp-bubble--just-revealed{animation:youOrbWhoosh 1.2s cubic-bezier(.34,1.2,.64,1) forwards;box-shadow:0 0 0 2px #f0b4a8cc,0 0 28px 4px var(--pastel-coral)}@keyframes youOrbWhoosh{0%{filter:blur(0);transform:scale(1);opacity:.6}18%{filter:blur(6px);transform:scale(1.35);opacity:1}to{filter:blur(0);transform:scale(1);opacity:1}}[data-theme=dark] .temp-bubble{box-shadow:0 2px 14px #0000004d,0 0 0 1px #ffffff0f inset}.temp-bubble:hover{transform:scale(1.06);box-shadow:0 4px 18px #0000001f,0 0 0 1px #fff3 inset;z-index:1000}.temp-bubble--selected:hover{transform:scale(1.18)}.temp-bubble:active{transform:scale(.96);transition-duration:.12s}.temp-bubble--selected:active{transform:scale(1.08)}.bubble-content{display:flex;flex-direction:column;align-items:center;justify-content:center;color:#334155;text-align:center;position:relative;z-index:1}.bubble-temp{font-size:16px;font-weight:700;line-height:1;margin-bottom:2px;text-shadow:0 1px 2px rgba(255,255,255,.6);letter-spacing:-.04em}.bubble-label{font-size:8px;font-weight:600;opacity:.95;text-shadow:0 1px 2px rgba(255,255,255,.5);max-width:50px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.1}[data-theme=dark] .bubble-content,[data-theme=dark] .bubble-temp,[data-theme=dark] .bubble-label{color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.4),0 0 1px rgba(0,0,0,.2)}.bubble-aqi{display:inline-flex;align-items:center;justify-content:center;min-width:14px;height:14px;padding:0 3px;font-size:9px;font-weight:700;border-radius:10px;margin-top:2px;background:#ffffff80;color:#334155;text-shadow:0 1px 1px rgba(255,255,255,.4);line-height:1;transition:var(--theme-transition)}[data-theme=dark] .bubble-aqi{background:#ffffff1f;color:#eef0f4;text-shadow:0 1px 2px rgba(0,0,0,.4)}.bubble-aqi--1{background:#00b450e6}[data-theme=dark] .bubble-aqi--1{color:#fff!important;text-shadow:0 1px 2px rgba(0,0,0,.25)}.bubble-aqi--2{background:#ffc800e6}[data-theme=dark] .bubble-aqi--2{color:#1a1d24!important;text-shadow:0 1px 1px rgba(255,255,255,.3)}.bubble-aqi--3{background:#ff8c00e6;color:#fff!important;text-shadow:0 1px 2px rgba(0,0,0,.3)}.bubble-aqi--4{background:#ff5050e6;color:#fff!important;text-shadow:0 1px 2px rgba(0,0,0,.3)}.bubble-aqi--5{background:#a03278e6;color:#fff!important;text-shadow:0 1px 2px rgba(0,0,0,.3)}.bubble-aqi-wrap{display:inline-flex;flex-direction:column;align-items:center;gap:0;margin-top:2px}.bubble-aqi-label{font-size:6px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;opacity:.85;color:inherit;line-height:1;margin-top:0}[data-theme=dark] .bubble-aqi-label{opacity:.9}.near-me-prompt{position:absolute;top:220px;left:16px;z-index:997;width:100%;max-width:220px;padding:14px 16px;background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-saturate));-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-saturate));border-radius:16px;border:1px solid var(--glass-border);box-shadow:0 4px 24px #0000000f,0 0 0 1px #fff6 inset;cursor:pointer;text-align:left;transition:transform .28s var(--ease-smooth),box-shadow .28s var(--ease-smooth),background .3s ease;animation:nearMeFloat 4s var(--ease-smooth) infinite}.near-me-prompt:hover{background:#ffffff85;transform:translateY(-4px);box-shadow:0 12px 32px #00000014,0 0 0 1px #ffffff80 inset;animation:none}.near-me-prompt:active{transform:translateY(-2px);transition-duration:.12s}@keyframes nearMeFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}[data-theme=dark] .near-me-prompt{box-shadow:0 4px 24px #00000040,0 0 0 1px #ffffff0f inset}[data-theme=dark] .near-me-prompt:hover{background:#00000080;box-shadow:0 12px 32px #00000059,0 0 0 1px #ffffff14 inset}.near-me-prompt-text{font-size:13px;font-weight:600;color:var(--text-primary);line-height:1.35}@media (max-width: 768px){.map-sidebar{position:fixed;top:auto;left:max(12px,env(safe-area-inset-left));right:max(12px,env(safe-area-inset-right));bottom:max(72px,env(safe-area-inset-bottom));width:auto;max-width:none;max-height:min(calc(100vh - env(safe-area-inset-top) - 88px),58dvh,460px);min-height:180px;transform:none;animation:slideUp .35s var(--ease-spring) backwards;box-shadow:0 -4px 24px var(--shadow);padding:48px 48px 20px 20px}@keyframes slideUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.near-me-prompt{top:200px;left:max(12px,env(safe-area-inset-left));max-width:200px}.map-overlay-right .fog-status{position:absolute!important;left:16px;top:172px;right:auto;align-self:flex-start}.temp-bubble{width:58px!important;height:58px!important}.bubble-temp{font-size:14px}.bubble-label{font-size:7px;max-width:48px}.leaflet-control-container .leaflet-bottom.leaflet-right{margin-bottom:max(72px,env(safe-area-inset-bottom))!important;margin-right:max(12px,env(safe-area-inset-right))!important}}@media (max-width: 480px){.map-overlay-right .fog-status{left:max(8px,env(safe-area-inset-left));top:168px}.near-me-prompt{top:180px;left:max(8px,env(safe-area-inset-left));max-width:180px;padding:10px 12px}.near-me-prompt-text{font-size:12px}.map-sidebar{width:calc(100vw - 24px);max-width:calc(100vw - 24px);left:max(12px,env(safe-area-inset-left));right:max(12px,env(safe-area-inset-right));bottom:max(80px,env(safe-area-inset-bottom));max-height:min(calc(100vh - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 88px),65vh,420px);min-height:180px;padding:52px 52px 24px 20px;border-radius:20px;-webkit-overflow-scrolling:touch;box-sizing:border-box}.map-sidebar .close-button{min-width:44px;min-height:44px;width:44px;height:44px;top:10px;right:10px}.temp-bubble{width:52px!important;height:52px!important}.bubble-temp{font-size:13px}.bubble-label{font-size:6px;max-width:42px}.leaflet-control-container .leaflet-bottom.leaflet-right{margin-bottom:max(88px,calc(env(safe-area-inset-bottom) + 72px))!important;margin-right:max(12px,env(safe-area-inset-right))!important}}.leaflet-marker-pane .leaflet-marker-icon:has(.stargazing-meteor-wrap){z-index:1100!important}.stargazing-marker{background:transparent!important;border:none!important}.stargazing-al-quaa-orb{position:relative;border-radius:50%;overflow:visible}.stargazing-al-quaa-orb .stargazing-al-quaa-stars{position:absolute;top:-8px;right:-8px;bottom:-8px;left:-8px;pointer-events:none;z-index:0}.stargazing-al-quaa-orb .stargazing-al-quaa-bubble{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;width:56px;height:56px;margin:0;display:flex;align-items:center;justify-content:center}.stargazing-meteor-wrap{position:relative;width:40px;height:48px;display:flex;align-items:center;justify-content:center}.stargazing-shooting-stars{position:absolute;top:-18px;right:-18px;bottom:-18px;left:-18px;pointer-events:none;overflow:hidden}.stargazing-shooting-star{position:absolute;width:28px;height:2px;left:-30px;top:20%;background:linear-gradient(90deg,transparent 0%,var(--star-fill-mid) 30%,var(--star-fill-start) 60%,transparent 100%);border-radius:2px;transform:rotate(-35deg);opacity:0;box-shadow:0 0 6px 1px var(--star-glow)}.stargazing-shooting-star--1{animation:stargazingMeteorPass 14s ease-in-out infinite;animation-delay:0s}.stargazing-shooting-star--2{top:55%;left:-30px;transform:rotate(-25deg);animation:stargazingMeteorPass2 16s ease-in-out infinite;animation-delay:6s}@keyframes stargazingMeteorPass{0%,3%{left:-30px;opacity:0;transform:rotate(-35deg) scale(.8)}3.5%{opacity:.95}5%{left:70px;opacity:.35;transform:rotate(-35deg) scale(1)}6%{left:75px;opacity:0;transform:rotate(-35deg) scale(.9)}6.01%,to{left:-30px;opacity:0}}@keyframes stargazingMeteorPass2{0%,2.5%{left:-30px;opacity:0;transform:rotate(-25deg) scale(.8)}3%{opacity:.9}4.2%{left:72px;opacity:0;transform:rotate(-25deg) scale(1)}4.21%,to{left:-30px;opacity:0}}.stargazing-meteor-stars{position:absolute;top:-14px;right:-14px;bottom:-14px;left:-14px;pointer-events:none}.stargazing-meteor-stars .star-dot{position:absolute;width:2px;height:2px;margin-left:-1px;margin-top:-1px;background:var(--star-fill-mid);border-radius:50%;opacity:.35;transition:var(--theme-transition)}.stargazing-meteor-stars .star-dot--outer{width:1.5px;height:1.5px;margin-left:-.75px;margin-top:-.75px;opacity:.25}.stargazing-meteor-stars--subtle .star-dot{animation:starTwinkleSubtle 2.5s ease-in-out infinite;box-shadow:0 0 3px 0 var(--star-glow)}.stargazing-meteor-stars--subtle .star-dot--outer{animation:starTwinkleSubtle 3s ease-in-out infinite;animation-delay:.5s}@keyframes starTwinkleSubtle{0%,to{opacity:.25;transform:scale(1);filter:brightness(.95)}50%{opacity:.55;transform:scale(1.15);filter:brightness(1.1)}}.stargazing-meteor-stars--active .star-dot{width:3px;height:3px;margin-left:-1.5px;margin-top:-1.5px;opacity:.65;background:radial-gradient(circle,var(--star-fill-start) 0%,var(--star-fill-mid) 40%,var(--star-fill-end) 100%);box-shadow:0 0 4px 1px var(--star-glow);animation:starShimmer 2s ease-in-out infinite}.stargazing-meteor-stars--active .star-dot--outer{width:2px;height:2px;margin-left:-1px;margin-top:-1px;opacity:.5;animation:starShimmer 2.2s ease-in-out infinite}@keyframes starShimmer{0%,to{opacity:.35;transform:scale(1);filter:brightness(.9)}50%{opacity:.95;transform:scale(1.25);filter:brightness(1.2);box-shadow:0 0 6px 2px var(--star-glow)}}.stargazing-meteor-cluster{position:absolute;top:-10px;right:-10px;bottom:-10px;left:-10px;pointer-events:none;animation:meteorClusterSpin 2.5s linear infinite}.cluster-dot{position:absolute;width:3px;height:3px;left:50%;top:50%;margin-left:-1.5px;margin-top:-1.5px;background:#b48cffe6;border-radius:50%;transform:rotate(var(--angle, 0deg)) translateY(-14px);transition:var(--theme-transition)}[data-theme=dark] .cluster-dot{background:#c8a0fff2;box-shadow:0 0 4px #c8a0ff80}@keyframes meteorClusterSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.stargazing-meteor-btn-icon{display:inline-flex;align-items:center;justify-content:center;line-height:1;z-index:1}.meteor-icon-svg{display:block}.meteor-icon-head{fill:#d97830;stroke:none}.meteor-icon-tail{fill:#e89850;stroke:none}[data-theme=dark] .meteor-icon-head{fill:#e09040}[data-theme=dark] .meteor-icon-tail{fill:#e8a858}.stargazing-meteor-btn{width:36px;height:44px;border-radius:18px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;position:relative;overflow:visible;cursor:pointer;z-index:1;border:1px solid var(--glass-border);background:var(--glass-bg);box-shadow:0 1px 4px #00000014;transition:transform .2s ease,box-shadow .2s ease,var(--theme-transition);animation:meteorReactive 4s ease-in-out infinite}[data-theme=dark] .stargazing-meteor-btn{background:#16181ee6;border-color:#ffffff1a;box-shadow:0 1px 6px #00000059}@keyframes meteorReactive{0%,to{opacity:1}50%{opacity:.92}}.stargazing-meteor-btn-label{font-size:8px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:var(--text-primary);line-height:1;transition:var(--theme-transition)}.stargazing-meteor-btn--good{border-color:#64c8968c;background:color-mix(in srgb,rgba(100,200,150,.15) 20%,var(--glass-bg) 80%)}[data-theme=dark] .stargazing-meteor-btn--good{border-color:#64c89680;background:color-mix(in srgb,rgba(100,200,150,.2) 25%,var(--glass-bg) 75%)}.stargazing-meteor-btn--fair{border-color:#ffc86480;background:color-mix(in srgb,rgba(255,200,100,.12) 20%,var(--glass-bg) 80%)}[data-theme=dark] .stargazing-meteor-btn--fair{border-color:#ffc86473;background:color-mix(in srgb,rgba(255,200,100,.18) 25%,var(--glass-bg) 75%)}.stargazing-meteor-btn--poor{border-color:#8c8ca080}[data-theme=dark] .stargazing-meteor-btn--poor{border-color:#a0a0b459;background:color-mix(in srgb,rgba(140,140,160,.1) 15%,var(--glass-bg) 85%)}.stargazing-meteor-btn--none{border-color:var(--glass-border)}.stargazing-meteor-btn:hover{transform:scale(1.1);box-shadow:0 2px 8px #0000001f}.stargazing-meteor-btn--active{border-color:#b48cffa6;background:color-mix(in srgb,rgba(180,140,255,.2) 25%,var(--glass-bg) 75%);animation:meteorReactive 4s ease-in-out infinite,meteorBtnPulse 1.8s ease-in-out infinite}[data-theme=dark] .stargazing-meteor-btn--active{border-color:#c8a0ff99;background:color-mix(in srgb,rgba(180,140,255,.28) 30%,var(--glass-bg) 70%)}@keyframes meteorBtnPulse{0%,to{transform:scale(1)}50%{transform:scale(1.04)}}.map-sidebar-stargazing-wrapper{position:relative;padding:44px 20px 20px;min-height:0}.map-sidebar-stargazing-wrapper .weather-sidebar-close{top:12px;right:12px}.map-sidebar-stargazing-section{margin-top:16px}.al-quaa-stargazing-summary{margin-top:14px;padding:14px 16px;border-radius:14px;background:var(--glass-bg);border:1px solid var(--glass-border);font-size:13px;transition:var(--theme-transition)}.al-quaa-stargazing-heading{margin:0 0 8px;font-size:14px;font-weight:700;color:var(--text-primary);text-transform:uppercase;letter-spacing:.04em}.al-quaa-stargazing-conditions{margin:0 0 10px;color:var(--text-secondary);font-weight:500}.al-quaa-score{font-weight:700;text-transform:uppercase}.al-quaa-score--excellent{color:#10b981}.al-quaa-score--good{color:var(--pastel-mint)}.al-quaa-score--fair{color:var(--score-fair)}.al-quaa-score--poor{color:var(--text-secondary)}.al-quaa-meteors{margin-top:10px}.al-quaa-meteors-label{font-weight:600;color:var(--text-primary);display:block;margin-bottom:4px}.al-quaa-meteor-list{margin:0;padding-left:18px;color:var(--text-secondary);font-weight:500}.al-quaa-meteor-list li{margin:2px 0}.al-quaa-stargazing-loading{margin:0;color:var(--text-secondary);font-style:italic}.mail-subscribe-trigger{position:fixed;bottom:max(24px,env(safe-area-inset-bottom));left:84px;z-index:1000;width:52px;height:52px;border-radius:14px;background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-saturate));-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-saturate));border:1px solid var(--glass-border);box-shadow:0 2px 16px #0000000a;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--text-primary);transition:transform .24s var(--ease-smooth),box-shadow .24s var(--ease-smooth),background .3s ease}.mail-subscribe-trigger:hover{transform:scale(1.04);box-shadow:0 4px 20px #0000000f;background:#ffffff7a}[data-theme=dark] .mail-subscribe-trigger:hover{background:#00000080;box-shadow:0 4px 24px #0000004d}.mail-subscribe-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000059;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);z-index:1100;display:flex;align-items:center;justify-content:center;padding:16px;animation:mailBackdropIn .2s var(--ease-smooth)}@keyframes mailBackdropIn{0%{opacity:0}to{opacity:1}}.mail-subscribe-modal{background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-saturate));-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-saturate));border:1px solid var(--glass-border);border-radius:24px;padding:24px;max-width:400px;width:100%;box-shadow:0 8px 40px #00000014;position:relative;animation:mailModalIn .25s var(--ease-spring)}[data-theme=dark] .mail-subscribe-modal{box-shadow:0 8px 48px #00000059}@keyframes mailModalIn{0%{opacity:0;transform:scale(.96) translateY(-8px)}to{opacity:1;transform:scale(1) translateY(0)}}.mail-subscribe-close{position:absolute;top:12px;right:12px;width:32px;height:32px;border:none;background:transparent;color:var(--text-secondary);font-size:24px;line-height:1;cursor:pointer;border-radius:8px;transition:color .2s,background .2s}.mail-subscribe-close:hover{color:var(--text-primary);background:var(--border)}.mail-subscribe-title{margin:0 0 8px;font-size:18px;font-weight:700;color:var(--text-primary)}.mail-subscribe-desc{margin:0 0 20px;font-size:14px;color:var(--text-secondary);line-height:1.5}.mail-subscribe-form{display:flex;flex-direction:column;gap:12px}.mail-subscribe-input{width:100%;padding:12px 14px;font-size:15px;border:1px solid var(--border);border-radius:10px;background:var(--bg-primary);color:var(--text-primary);transition:border-color .2s;box-sizing:border-box}.mail-subscribe-input:focus{outline:none;border-color:var(--accent-rain)}.mail-subscribe-input::placeholder{color:var(--text-secondary);opacity:.8}.mail-subscribe-submit{padding:12px 16px;font-size:15px;font-weight:600;border:none;border-radius:10px;background:var(--accent-rain);color:#fff;cursor:pointer;transition:opacity .2s,transform .2s}.mail-subscribe-submit:hover:not(:disabled){opacity:.95;transform:translateY(-1px)}.mail-subscribe-submit:disabled{opacity:.7;cursor:not-allowed}.mail-subscribe-message{margin:16px 0 0;font-size:13px;line-height:1.4}.mail-subscribe-message--success{color:var(--uae-green)}.mail-subscribe-message--error{color:var(--accent-sun)}.mail-subscribe-success-box{background:#10b9811a;border:1px solid rgba(16,185,129,.3);border-radius:12px;padding:16px;margin-bottom:16px;text-align:center}.mail-subscribe-success-icon{font-size:32px;display:block;margin-bottom:8px;color:#10b981}.mail-subscribe-success-title{font-size:16px;font-weight:700;color:#10b981;display:block;margin-bottom:8px}.mail-subscribe-success-message{font-size:13px;font-weight:500;color:var(--text-secondary);line-height:1.5}.mail-subscribe-error-msg{font-size:13px;font-weight:600;color:#ef4444;margin:-8px 0 0;display:flex;align-items:center;gap:6px}.mail-subscribe-input--error{border-color:#ef4444;background:#fef2f299}.mail-subscribe-close-btn{width:100%;padding:12px 20px;margin-top:12px;font-size:15px;font-weight:600;border:none;border-radius:10px;background:var(--border);color:var(--text-primary);cursor:pointer;transition:background .2s}.mail-subscribe-close-btn:hover{background:var(--border-medium)}@media (max-width: 768px){.mail-subscribe-trigger{left:68px;bottom:max(16px,env(safe-area-inset-bottom));width:44px;height:44px}}@media (max-width: 480px){.mail-subscribe-trigger{left:58px;bottom:max(12px,env(safe-area-inset-bottom));width:42px;height:42px}}.view-count-pill{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:10px;white-space:nowrap;background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-saturate));-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-saturate));border:1px solid var(--glass-border);box-shadow:0 2px 10px #0000000a;color:var(--text-secondary);font-size:11px;font-weight:600;letter-spacing:.02em;transition:transform var(--duration-fast) var(--ease-smooth),box-shadow var(--duration-fast) var(--ease-smooth),opacity var(--duration-normal) var(--ease-smooth);animation:viewCountFadeIn .4s var(--ease-smooth) backwards}.view-count-pill:hover{transform:scale(1.02);box-shadow:0 4px 14px #0000000f}.view-count-pill--loading{opacity:.7}.view-count-pill--bump .view-count-value{animation:viewCountBump .45s var(--ease-spring)}.view-count-value{color:var(--text-primary);font-variant-numeric:tabular-nums}.view-count-label{color:var(--text-secondary);font-weight:500;font-size:10px;text-transform:lowercase;opacity:.9}@keyframes viewCountFadeIn{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}@keyframes viewCountBump{0%{transform:scale(1)}40%{transform:scale(1.12)}70%{transform:scale(.98)}to{transform:scale(1)}}.alert-banner{position:fixed;top:60px;left:0;right:0;color:#fff;padding:14px 20px;display:flex;align-items:flex-start;gap:12px;box-shadow:0 4px 12px #0003;z-index:1001;animation:bannerSlideDown .4s var(--ease-spring) forwards}.alert-icon{font-size:20px;flex-shrink:0;animation:alertPulse 2s ease-in-out infinite}.alert-content{flex:1;min-width:0}.alert-title{display:block;font-size:14px;margin-bottom:4px}.alert-description{font-size:13px;opacity:.95;margin:0 0 4px;line-height:1.35}.alert-time{font-size:12px;opacity:.9}.alert-dismiss{width:32px;height:32px;min-width:32px;min-height:32px;border-radius:50%;background:#fff3;border:none;color:#fff;cursor:pointer;font-size:18px;display:flex;align-items:center;justify-content:center;transition:background .2s}.alert-dismiss:hover{background:#ffffff4d}@keyframes bannerSlideDown{0%{transform:translateY(-100%)}to{transform:translateY(0)}}@keyframes alertPulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.1);opacity:.85}}.background-gradient{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:-1;overflow:hidden;transition:background .8s var(--ease-gentle)}[data-aurora=true] .background-gradient{background:linear-gradient(to bottom,#0d0a18,#050308)!important}[data-aurora=true] .background-gradient:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,#7850c814,#50c89614);background-size:200% 200%;animation:auroraShift 15s ease infinite;pointer-events:none}@keyframes auroraShift{0%,to{background-position:0% 50%;opacity:.6}50%{background-position:100% 50%;opacity:.8}}.ambient-particles{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0;overflow:hidden}.ambient-stars{position:absolute;top:0;right:0;bottom:0;left:0}.ambient-star{position:absolute;width:2px;height:2px;background:#fff;border-radius:50%;opacity:.3;animation:starTwinkle 2s ease-in-out infinite}@keyframes starTwinkle{0%,to{opacity:.2;transform:scale(1)}50%{opacity:.8;transform:scale(1.2)}}.ambient-shooting-stars{position:absolute;top:0;right:0;bottom:0;left:0}.ambient-shooting-star{position:absolute;width:2px;height:80px;background:linear-gradient(to bottom,rgba(255,255,255,.9),transparent);border-radius:2px;transform:rotate(-45deg);left:-100px;top:-100px;animation:shootingStar .5s ease-out 1;animation-fill-mode:both}@keyframes shootingStar{0%{opacity:0;transform:rotate(-45deg) translate(0)}10%{opacity:1}to{opacity:0;transform:rotate(-45deg) translate(400px,400px)}}.ambient-rain{position:absolute;top:0;right:0;bottom:0;left:0}.ambient-rain-drop{position:absolute;width:1px;height:12px;background:linear-gradient(to bottom,rgba(107,155,209,.5),transparent);transform:rotate(60deg);animation:rainFall .8s linear infinite}@keyframes rainFall{0%{transform:rotate(60deg) translateY(-20px);opacity:0}10%{opacity:.5}90%{opacity:.5}to{transform:rotate(60deg) translateY(100vh);opacity:0}}.ambient-dust{position:absolute;top:0;right:0;bottom:0;left:0;background:#d4a57414}.ambient-dust-particle{position:absolute;width:6px;height:6px;background:#d4a57466;border-radius:50%;filter:blur(2px);animation:dustFloat 4s ease-in-out infinite}@keyframes dustFloat{0%,to{transform:translate(0);opacity:.2}50%{transform:translate(10px,-8px);opacity:.4}}.ambient-cloud-shadows{position:absolute;top:0;right:0;bottom:0;left:0}.ambient-cloud-shadow{position:absolute;width:300px;height:120px;background:radial-gradient(ellipse,rgba(0,0,0,.06) 0%,transparent 70%);border-radius:50%;left:10%;top:15%;animation:cloudDrift 25s linear infinite}.ambient-cloud-shadow:nth-child(2){left:50%;top:30%;animation-duration:30s;animation-direction:reverse}@keyframes cloudDrift{0%{transform:translate(0)}to{transform:translate(100vw)}}.ambient-dust-day{position:absolute;top:0;right:0;bottom:0;left:0}.ambient-dust-dot{position:absolute;width:2px;height:2px;background:#e8c86426;border-radius:50%;animation:dustUp 10s linear infinite}@keyframes dustUp{0%{transform:translateY(100vh) translate(0);opacity:0}10%{opacity:.15}90%{opacity:.15}to{transform:translateY(-20px) translate(20px);opacity:0}}*{margin:0;padding:0;box-sizing:border-box}.skip-link{position:absolute;top:-100px;left:16px;padding:12px 16px;background:var(--bg-primary);color:var(--text-primary);font-weight:600;border-radius:8px;box-shadow:0 4px 12px #00000026;z-index:9999;transition:top .2s}.skip-link:focus{top:16px;outline:2px solid var(--accent-sun);outline-offset:2px}:root{--bg-primary: #ffffff;--bg-secondary: #f2f4f8;--text-primary: #1a1d24;--text-secondary: #5a616e;--accent-sun: #e07c7c;--accent-rain: #6b9bd1;--accent: #e07c7c;--pastel-mint: #9dd4c4;--pastel-sky: #a8d4e6;--pastel-coral: #f0b4a8;--pastel-sand: #e8dcc4;--pastel-lavender: #c4b8db;--uae-red: #ce1126;--uae-green: #00732f;--uae-white: #ffffff;--uae-black: #000000;--card-bg: rgba(255, 255, 255, .95);--card-bg-solid: #ffffff;--border: rgba(0, 0, 0, .08);--shadow: rgba(0, 0, 0, .06);--glass-bg: rgba(255, 255, 255, .36);--glass-border: rgba(255, 255, 255, .55);--glass-blur: 24px;--glass-saturate: 1.35;--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--ease-smooth: cubic-bezier(.4, 0, .2, 1);--ease-out-back: cubic-bezier(.34, 1.2, .64, 1);--font-display: -apple-system, BlinkMacSystemFont, "Inter", "Segoe UI", sans-serif;--temp-weight: 700;--temp-tracking: -.04em;--star-fill-start: #fff8d4;--star-fill-mid: #e8c840;--star-fill-end: #c9a020;--star-glow: rgba(232, 200, 80, .6);--moon-lit: #e8d48c;--moon-shadow: #2a2a2e;--score-fair: #c9a030;--theme-transition: color .3s var(--ease-smooth), background .3s var(--ease-smooth), border-color .3s var(--ease-smooth), box-shadow .3s var(--ease-smooth), fill .3s var(--ease-smooth)}[data-theme=dark]{--bg-primary: #08090a;--bg-secondary: #0c0d0e;--text-primary: #eef0f4;--text-secondary: #9ca0a8;--accent-sun: #e89090;--accent-rain: #7ba8d4;--accent: #e89090;--pastel-mint: #6aaa9a;--pastel-sky: #6a9fbf;--pastel-coral: #d49890;--pastel-sand: #9a9280;--pastel-lavender: #8a7aaa;--card-bg: rgba(12, 12, 14, .95);--card-bg-solid: #0e0e10;--border: rgba(255, 255, 255, .06);--shadow: rgba(0, 0, 0, .5);--glass-bg: rgba(0, 0, 0, .38);--glass-border: rgba(255, 255, 255, .06);--glass-blur: 24px;--glass-saturate: 1.35;--star-fill-start: #fff4c0;--star-fill-mid: #e8d060;--star-fill-end: #c9a830;--star-glow: rgba(255, 230, 120, .5);--moon-lit: #f0e6a8;--moon-shadow: #0e0e12;--score-fair: #e8c850}html{height:100%;-webkit-text-size-adjust:100%}body{font-family:var(--font-display);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow:hidden;background:var(--bg-primary);color:var(--text-primary);transition:background-color .4s var(--ease-smooth),color .4s var(--ease-smooth);min-height:100%;height:100%;width:100%;-webkit-tap-highlight-color:transparent}.app{width:100%;min-width:0;min-height:100%;height:100%;min-height:100dvh;height:100dvh;display:flex;flex-direction:column;background:linear-gradient(to bottom,var(--bg-primary),var(--bg-secondary));overflow:hidden;-webkit-overflow-scrolling:touch}@supports not (height: 100dvh){.app{min-height:100vh;height:100vh}}[data-theme=dark] .app{background:linear-gradient(to bottom,var(--bg-primary),var(--bg-secondary))}.app-header{background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-saturate));-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-saturate));padding:12px 20px 14px;border-bottom:none;border-radius:0 0 22px 22px;box-shadow:0 4px 28px #0000000a;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;z-index:1000;position:relative;transition:background .4s var(--ease-smooth),box-shadow .3s var(--ease-smooth)}[data-theme=dark] .app-header{box-shadow:0 4px 28px #00000038}.app-header h1{font-size:20px;font-weight:600;color:var(--text-primary);letter-spacing:-.03em}.header-info{display:flex;align-items:center;flex-wrap:nowrap;gap:12px;font-size:12px;color:var(--text-secondary);font-weight:500;min-width:0}.header-meta{display:inline-flex;align-items:center;gap:10px;flex-shrink:0;white-space:nowrap}.loading-indicator{animation:pulse 1.8s var(--ease-smooth) infinite;font-weight:500}.error-message{color:#ef4444;font-size:12px;font-weight:500}.last-refresh{color:var(--text-secondary);font-size:12px;font-weight:500;opacity:.9;display:inline-flex;align-items:center;gap:6px}.last-refresh-dot{width:4px;height:4px;border-radius:50%;background:#10b981;flex-shrink:0}.app-main{flex:1;min-height:0;position:relative;overflow:hidden}.loading-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;background:var(--bg-primary);gap:20px}.loading-screen-text{font-size:15px;font-weight:600;color:var(--text-secondary);animation:pulse 2s ease-in-out infinite}@media (prefers-reduced-motion: reduce){.loading-screen-text{animation:none}.spinner{animation:none;border-top-color:var(--accent-sun)}}.spinner{width:44px;height:44px;border:3px solid var(--border);border-top-color:var(--accent-sun);border-radius:50%;animation:spin .9s var(--ease-smooth) infinite}.error-screen{text-align:center;color:var(--text-secondary);padding:40px;display:flex;flex-direction:column;align-items:center}.error-screen-icon{font-size:64px;margin-bottom:16px;opacity:.8}.error-screen-title{font-size:20px;font-weight:700;color:var(--text-primary);margin-bottom:12px}.error-screen-desc{font-size:14px;font-weight:500;color:var(--text-secondary);line-height:1.6;max-width:360px;margin-bottom:24px}.error-screen-link{font-size:13px;font-weight:600;color:#5eb3f6;margin-bottom:16px;text-decoration:none}.error-screen-link:hover{text-decoration:underline}.error-screen-retry{margin-top:0}.error-screen p{font-size:16px;margin-bottom:12px;color:var(--text-primary)}.error-screen button{margin-top:20px;padding:12px 24px;background:var(--accent-sun);color:#fff;border:none;border-radius:10px;cursor:pointer;font-size:15px;font-weight:600;letter-spacing:-.02em;transition:transform .25s var(--ease-spring),box-shadow .25s var(--ease-smooth);box-shadow:0 2px 8px var(--shadow)}.error-screen button:hover{transform:translateY(-2px) scale(1.02);box-shadow:0 6px 16px var(--shadow)}.error-screen button:active{transform:translateY(0) scale(.98)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.theme-toggle{position:fixed;bottom:24px;left:24px;width:52px;height:52px;border-radius:14px;background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-saturate));-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-saturate));border:1px solid var(--glass-border);box-shadow:0 2px 16px #0000000a;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:22px;z-index:1000;transition:transform .24s var(--ease-smooth),box-shadow .24s var(--ease-smooth),background .4s var(--ease-smooth),border-color .4s var(--ease-smooth);color:var(--text-primary)}[data-theme=dark] .theme-toggle{box-shadow:0 2px 20px #00000040}.theme-toggle:hover{transform:scale(1.04);box-shadow:0 4px 20px #0000000f}[data-theme=dark] .theme-toggle:hover{box-shadow:0 4px 24px #0000004d}.theme-toggle:active{transform:scale(.98);transition-duration:.12s}.theme-toggle-icon{display:flex;align-items:center;justify-content:center;width:24px;height:24px}.theme-toggle--spin .theme-toggle-icon{animation:themeIconSpin .5s var(--ease-spring) forwards}@keyframes themeIconSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.app{transition:filter .3s ease}.app--theme-blur{filter:blur(8px)}.app--region-blur{filter:blur(10px);transform:scaleX(.98);transform-origin:center center;transition:filter .3s ease,transform .3s ease}.app{padding-left:env(safe-area-inset-left,0);padding-right:env(safe-area-inset-right,0);padding-bottom:env(safe-area-inset-bottom,0)}.app-header{padding-left:max(18px,env(safe-area-inset-left));padding-right:max(24px,env(safe-area-inset-right))}.theme-toggle{left:max(24px,env(safe-area-inset-left));bottom:max(24px,env(safe-area-inset-bottom))}.region-toggle{position:fixed;left:max(24px,env(safe-area-inset-left));bottom:calc(max(24px,env(safe-area-inset-bottom)) + 68px);z-index:1001;display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border-radius:12px;background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-saturate));-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-saturate));border:1px solid var(--glass-border);box-shadow:0 2px 16px #0000000f;color:var(--text-primary);font-size:13px;font-weight:500;cursor:pointer;transition:transform .24s var(--ease-smooth),box-shadow .24s var(--ease-smooth)}.region-toggle:hover{transform:scale(1.04);box-shadow:0 4px 20px #00000014}.region-toggle:active{transform:scale(.98)}.region-toggle-icon{display:flex;align-items:center;justify-content:center;font-size:18px;line-height:1}.region-toggle--spin .region-toggle-icon{animation:themeIconSpin .5s var(--ease-spring) forwards}.region-toggle-label{white-space:nowrap}@media (max-width: 768px){.region-toggle{left:max(16px,env(safe-area-inset-left));bottom:calc(max(16px,env(safe-area-inset-bottom)) + 64px)}}@media (max-width: 480px){.region-toggle-label{display:none}.region-toggle{padding:12px;left:max(12px,env(safe-area-inset-left));bottom:calc(max(12px,env(safe-area-inset-bottom)) + 58px)}}@media (min-width: 1024px){.theme-toggle{width:52px;height:52px}}@media (max-width: 768px){.app-header{padding:12px max(16px,env(safe-area-inset-left)) 12px max(16px,env(safe-area-inset-right))}.app-header h1{font-size:18px}.header-info{font-size:12px;gap:12px}.theme-toggle{bottom:max(16px,env(safe-area-inset-bottom));left:max(16px,env(safe-area-inset-left));width:48px;height:48px;font-size:18px}}@media (max-width: 380px){.app-header{flex-direction:column;align-items:stretch;gap:10px;padding:10px max(12px,env(safe-area-inset-left)) 10px max(12px,env(safe-area-inset-right))}.app-header h1{font-size:17px}.header-info,.header-meta{flex-wrap:wrap}}.claim-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;z-index:1100;display:flex;align-items:center;justify-content:center;padding:16px}.claim-modal{background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-saturate));-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-saturate));border:1px solid var(--glass-border);border-radius:16px;padding:24px;max-width:320px;width:100%;box-shadow:0 8px 32px var(--shadow)}.claim-modal h2{font-size:18px;font-weight:600;margin:0 0 8px;color:var(--text-primary)}.claim-desc{font-size:13px;color:var(--text-secondary);margin:0 0 16px}.claim-input{width:100%;padding:10px 12px;font-size:15px;border:1px solid var(--border);border-radius:10px;background:var(--bg-primary);color:var(--text-primary);margin-bottom:8px;box-sizing:border-box}.claim-error{font-size:12px;color:var(--accent-sun);margin:0 0 8px}.claim-actions{display:flex;gap:10px;justify-content:flex-end}.claim-actions button{padding:8px 16px;font-size:14px;font-weight:600;border-radius:10px;cursor:pointer;border:1px solid var(--border);background:var(--bg-secondary);color:var(--text-primary)}.claim-actions button[type=submit]{background:var(--pastel-mint);border-color:var(--pastel-mint);color:var(--text-primary)}@media (max-width: 480px){.theme-toggle{bottom:max(12px,env(safe-area-inset-bottom));left:max(12px,env(safe-area-inset-left));min-width:44px;min-height:44px;width:44px;height:44px}.region-toggle{min-height:44px;padding:12px}}:root{--bg-primary: #ffffff;--bg-secondary: #f2f4f8;--text-primary: #1a1d24;--text-secondary: #5a616e;--accent-sun: #e07c7c;--accent-rain: #6b9bd1;--accent-mint: #10b981;--pastel-mint: #9dd4c4;--pastel-sky: #a8d4e6;--pastel-coral: #f0b4a8;--pastel-sand: #e8dcc4;--pastel-lavender: #c4b8db;--glass-bg: rgba(255, 255, 255, .42);--glass-bg-hover: rgba(255, 255, 255, .52);--glass-border: rgba(255, 255, 255, .55);--glass-blur: 32px;--glass-saturate: 1.5;--border-light: rgba(0, 0, 0, .06);--border-medium: rgba(0, 0, 0, .1);--shadow-sm: 0 4px 12px rgba(0, 0, 0, .05);--shadow-md: 0 8px 24px rgba(0, 0, 0, .08);--shadow-lg: 0 16px 40px rgba(0, 0, 0, .12);--moon-lit: #e8d48c;--moon-shadow: #2a2a2e;--star-gold: #e8c840;--star-glow: rgba(232, 200, 80, .6);--font-display: -apple-system, BlinkMacSystemFont, "Inter", "SF Pro Display", sans-serif;--duration-instant: .1s;--duration-fast: .2s;--duration-normal: .35s;--duration-slow: .5s;--duration-slowest: .8s;--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--ease-smooth: cubic-bezier(.4, 0, .2, 1);--ease-bounce: cubic-bezier(.68, -.55, .265, 1.55);--ease-gentle: cubic-bezier(.25, .46, .45, .94);--ease-snap: cubic-bezier(.83, 0, .17, 1);--breakpoint-mobile: 480px;--breakpoint-tablet: 768px;--breakpoint-desktop: 1024px;--breakpoint-wide: 1440px;--safe-area-top: env(safe-area-inset-top, 0px);--safe-area-right: env(safe-area-inset-right, 0px);--safe-area-bottom: env(safe-area-inset-bottom, 0px);--safe-area-left: env(safe-area-inset-left, 0px)}[data-theme=dark]{--bg-primary: #08090a;--bg-secondary: #0c0d0e;--text-primary: #eef0f4;--text-secondary: #9ca0a8;--accent-sun: #e89090;--accent-rain: #7ba8d4;--accent-mint: #10b981;--pastel-mint: #6aaa9a;--pastel-sky: #6a9fbf;--pastel-coral: #d49890;--pastel-sand: #9a9280;--pastel-lavender: #8a7aaa;--glass-bg: rgba(0, 0, 0, .45);--glass-bg-hover: rgba(0, 0, 0, .55);--glass-border: rgba(255, 255, 255, .08);--glass-blur: 32px;--glass-saturate: 1.8;--border-light: rgba(255, 255, 255, .06);--border-medium: rgba(255, 255, 255, .1);--shadow-sm: 0 4px 12px rgba(0, 0, 0, .3);--shadow-md: 0 8px 24px rgba(0, 0, 0, .4);--shadow-lg: 0 16px 40px rgba(0, 0, 0, .5);--moon-lit: #f0e6a8;--moon-shadow: #0e0e12;--star-gold: #e8d060;--star-glow: rgba(255, 230, 120, .5)}[data-time=sunrise]{--gradient-start: #fef3e2;--gradient-end: #fad6c8;--accent-primary: #ff9a76}[data-time=morning]{--gradient-start: #ffffff;--gradient-end: #f7f9fd;--accent-primary: #5eb3f6}[data-time=midday]{--gradient-start: #fafcff;--gradient-end: #e8f4ff;--accent-primary: #4a9eff}[data-time=goldenHour]{--gradient-start: #fff9f0;--gradient-end: #ffe4c4;--accent-primary: #f4a261}[data-time=sunset]{--gradient-start: #ffe8d6;--gradient-end: #ffc7b8;--accent-primary: #e07c7c}[data-time=twilight]{--gradient-start: #d4d9e8;--gradient-end: #b8c5e0;--accent-primary: #7b91c9}[data-time=night]{--gradient-start: #1a1d2e;--gradient-end: #0f1117;--accent-primary: #5a7fc9}[data-theme=dark][data-time=sunrise],[data-theme=dark][data-time=morning],[data-theme=dark][data-time=midday],[data-theme=dark][data-time=goldenHour],[data-theme=dark][data-time=sunset],[data-theme=dark][data-time=twilight],[data-theme=dark][data-time=night]{--gradient-start: #0a0b14;--gradient-end: #02030a;--accent-primary: #5a7fc9}[data-theme=dark][data-aurora=true]{--gradient-start: #0d0a18;--gradient-end: #050308}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@keyframes gradientFadeIn{0%{opacity:0}to{opacity:1}}@keyframes mapReveal{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes slideDown{0%{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes orbPopIn{0%{opacity:0;transform:scale(0) rotate(-5deg)}60%{transform:scale(1.1) rotate(2deg)}to{opacity:1;transform:scale(1) rotate(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-40px)}to{opacity:1;transform:translate(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(40px)}to{opacity:1;transform:translate(0)}}@keyframes gentleFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes clickBounce{0%{transform:scale(1.12)}50%{transform:scale(.95)}to{transform:scale(1.15)}}@keyframes youWhoosh{0%{opacity:0;transform:scale(1.5);filter:blur(8px)}60%{transform:scale(.9)}to{opacity:1;transform:scale(1);filter:blur(0)}}@keyframes popupAppear{0%{opacity:0;transform:translate(-50%,-50%) scale(.9)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}@keyframes contentFadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes themeFlip{0%{transform:scale(1) rotate(0)}50%{transform:scale(.85) rotate(180deg)}to{transform:scale(1) rotate(360deg)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:.3}50%{opacity:1}}@keyframes dotPulse{0%,to{opacity:.3;transform:scale(.8)}50%{opacity:1;transform:scale(1)}}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-8px)}75%{transform:translate(8px)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}
