#root{width:100%}:root{--font-family-app: "Avenir Next", "SF Pro Display", "Segoe UI", sans-serif;--color-ink-100: #ffffff;--color-ink-200: #f5fbf3;--color-ink-300: #f3f7f1;--color-ink-400: #e6f6ea;--color-ink-500: #dff7e4;--color-ink-600: #b2f2be;--color-forest-950: #06140d;--color-forest-925: #08130d;--color-forest-900: #082114;--color-forest-850: #0e1813;--color-forest-800: #18492d;--color-accent-300: #97e2a8;--color-accent-400: #93e5a7;--color-warning-300: #ffd27a;--color-warning-200: #ffe7ad;--color-warning-100: #fff3cf;--color-danger-300: #ff9e82;--color-link-400: #8fc7ff;--color-link-300: #b4d9ff;--color-transparent: transparent;--color-mask-black: #000;--radius-none: 0;--radius-xs: 4px;--radius-sm: 9px;--radius-md: 13px;--radius-lg: 14px;--radius-xl: 16px;--radius-17: 17px;--radius-2xl: 18px;--radius-3xl: 20px;--radius-4xl: 21px;--radius-5xl: 22px;--radius-6xl: 24px;--radius-7xl: 26px;--radius-8xl: 27px;--radius-9xl: 28px;--radius-panel: 30px;--radius-panel-wide: 32px;--radius-modal: 34px;--radius-circle: 50%;--radius-pill: 999px;--space-0: 0;--space-1: 2px;--space-2: 4px;--space-3: 5px;--space-4: 6px;--space-5: 7px;--space-6: 8px;--space-7: 9px;--space-8: 10px;--space-9: 11px;--space-10: 12px;--space-11: 13px;--space-12: 14px;--space-13: 15px;--space-14: 16px;--space-15: 17px;--space-16: 18px;--space-17: 20px;--space-18: 22px;--space-19: 24px;--space-20: 26px;--space-21: 28px;--space-22: 32px;--space-23: 34px;--space-24: 46px;--space-25: 52px;--space-26: 112px;--duration-instant: 0ms;--duration-quick: .12s;--duration-fast: .14s;--duration-ui: .16s;--duration-control: .17s;--duration-standard: .18s;--duration-medium: .21s;--duration-slow: .22s;--duration-card: .24s;--duration-modal: .26s;--duration-liquid: .31s;--duration-drop: .36s;--duration-touch: .42s;--duration-reveal-item: .68s;--duration-reveal: .72s;--duration-skeleton: 1.45s;--duration-hint: 1.8s;--duration-status: 2.2s;--duration-snapshot: 2.6s;--duration-rain: 1.15s;--ease-linear: linear;--ease-standard: ease;--ease-out: ease-out;--ease-in-out: ease-in-out;--ease-emphasized: cubic-bezier(.22, 1, .36, 1);--ease-liquid: cubic-bezier(.18, 1.28, .24, 1);--ease-liquid-touch: cubic-bezier(.16, 1.34, .24, 1);--ease-ios-nav: cubic-bezier(.2, 1.28, .25, 1);--ease-ios-item: cubic-bezier(.2, 1.24, .25, 1);--blur-none: none;--blur-sm: 10px;--blur-md: 15px;--blur-lg: 16px;--blur-xl: 20px;--blur-2xl: 22px;--blur-3xl: 24px;--opacity-hidden: 0;--opacity-visible: 1;--opacity-subtle: .07;--opacity-pattern-mobile: .11;--opacity-muted-layer: .18;--opacity-pattern: .2;--opacity-loading: .28;--opacity-half: .52;--opacity-refraction: .54;--opacity-disabled: .62;--opacity-glow: .65;--opacity-rim: .68;--opacity-soft-bg: .72;--opacity-label: .76;--opacity-button-disabled: .78;--opacity-pressed: .82;--opacity-body-glow: .9;--opacity-near-solid: .96;--z-background: 0;--z-content: 1;--z-raised: 2;--z-overlay-content: 4;--z-navigation: 30;--z-scrim: 35;--z-mobile-navigation: 50;--z-modal: 80;--topography-pattern: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='720' height='720' viewBox='0 0 720 720'%3E%3Cg fill='none' stroke='%23d7ebdd' stroke-opacity='0.2' stroke-width='1' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M-60 124c66-42 138-60 220-44 71 14 133 10 196-17 52-22 110-30 186-18 68 11 122 6 178-18'/%3E%3Cpath d='M-48 184c72-38 146-51 224-37 88 15 155 11 224-18 55-23 118-30 197-18 60 10 108 7 161-11'/%3E%3Cpath d='M-40 254c70-33 142-42 218-28 100 18 173 13 246-20 58-26 123-33 205-20 54 9 98 8 150-7'/%3E%3Cpath d='M-28 334c67-30 138-37 214-24 109 20 187 16 265-18 61-27 128-33 208-20 49 8 92 9 140-3'/%3E%3Cpath d='M-20 422c62-28 131-34 206-22 115 19 197 16 278-15 66-25 133-30 211-17 49 8 90 9 133-2'/%3E%3Cpath d='M-16 512c59-31 126-41 201-31 103 14 182 11 260-17 67-24 137-28 215-15 52 9 97 8 140-4'/%3E%3Cpath d='M-24 602c58-38 126-53 206-45 84 9 156 8 231-12 68-19 139-21 220-8 57 9 106 6 154-9'/%3E%3Cpath d='M86-38c29 50 35 106 14 176-18 61-16 116 10 174 21 47 28 96 17 162 116 16 208 8 292-26 72-30 148-40 244-27'/%3E%3Cpath d='M198-54c24 54 26 114 2 188-21 64-20 121 4 181 20 48 25 97 16 160 108 14 196 6 275-24 72-27 149-35 247-22'/%3E%3Cpath d='M320-58c18 57 16 120-9 195-22 67-19 126 6 185 19 46 24 93 15 152 97 14 180 8 255-18 73-25 150-31 247-18'/%3E%3Cpath d='M448-54c11 58 8 119-14 190-21 68-17 129 10 187 19 42 25 86 18 143 86 14 165 10 237-11 74-22 151-26 248-14'/%3E%3Cpath d='M574-38c4 56-2 114-22 178-20 66-16 126 11 183 19 40 27 82 24 136'/%3E%3C/g%3E%3C/svg%3E")}:root,:root[data-theme=koyu]{color-scheme:dark;--color-background-app: var(--color-forest-850);--color-background-site: linear-gradient(180deg, var(--color-background-app) 0%, var(--color-background-app) 100%);--color-text-primary: var(--color-ink-300);--color-text-inverse: var(--color-forest-925);--color-text-soft: rgba(243, 247, 241, .68);--color-text-muted: rgba(243, 247, 241, .52);--color-text-elevated: rgba(243, 247, 241, .9);--color-text-neutral: rgba(243, 247, 241, .78);--color-text-strong-soft: rgba(232, 242, 235, .88);--color-text-mobile-muted: rgba(224, 232, 219, .8);--color-text-mobile-nav: rgba(238, 245, 234, .72);--color-text-ios-nav: rgba(248, 252, 246, .68);--color-text-ios-nav-muted: rgba(248, 252, 246, .66);--color-accent: var(--color-accent-300);--color-accent-hover: var(--color-ink-600);--color-warning: var(--color-warning-300);--color-danger: var(--color-danger-300);--color-link: var(--color-link-400);--color-link-hover: var(--color-link-300);--topography-pattern: none;--theme-transition-duration: .22s;--theme-transition-ease: cubic-bezier(.2, .8, .2, 1);--theme-fallback-overlay-bg: rgba(6, 12, 9, .1);--surface-panel-bg: rgba(14, 24, 19, .76);--surface-panel-strong-bg: rgba(15, 28, 21, .92);--surface-panel-soft-bg: rgba(255, 255, 255, .045);--surface-subtle-bg: rgba(255, 255, 255, .04);--surface-subtle-hover-bg: rgba(255, 255, 255, .07);--surface-muted-bg: rgba(255, 255, 255, .03);--surface-action-muted-bg: rgba(255, 255, 255, .035);--surface-action-bg: rgba(255, 255, 255, .05);--surface-action-strong-bg: rgba(255, 255, 255, .06);--surface-action-hover-bg: rgba(255, 255, 255, .08);--surface-scrollbar-thumb-bg: rgba(255, 255, 255, .12);--surface-elevated-bg: linear-gradient(145deg, rgba(255, 255, 255, .05), rgba(151, 226, 168, .035));--surface-elevated-hover-bg: linear-gradient(145deg, rgba(255, 255, 255, .08), rgba(151, 226, 168, .08));--surface-metric-inner-bg: linear-gradient(145deg, rgba(255, 255, 255, .02), rgba(151, 226, 168, .015));--surface-metric-inner-hover-bg: linear-gradient(145deg, rgba(255, 255, 255, .09), rgba(151, 226, 168, .085));--surface-metric-hover-glow: radial-gradient(circle at 50% 0%, rgba(151, 226, 168, .18), transparent 58%);--surface-day-card-bg: linear-gradient(145deg, rgba(255, 255, 255, .045), rgba(151, 226, 168, .03));--location-deferred-bg: radial-gradient(circle at top, var(--accent-surface-faint-bg), var(--color-transparent) 56%), var(--surface-muted-bg);--surface-policy-bg: linear-gradient(180deg, rgba(255, 255, 255, .035), rgba(255, 255, 255, .015));--color-border-subtle: rgba(232, 242, 235, .08);--color-border-default: rgba(232, 242, 235, .1);--color-border-input: rgba(232, 242, 235, .12);--color-border-dashed: rgba(232, 242, 235, .14);--color-border-strong: rgba(155, 231, 172, .2);--color-border-accent-faint: rgba(151, 226, 168, .12);--color-border-accent-subtle: rgba(151, 226, 168, .18);--color-border-accent: rgba(151, 226, 168, .2);--color-border-accent-hover: rgba(151, 226, 168, .22);--color-border-accent-active: rgba(151, 226, 168, .24);--color-border-current: rgba(151, 226, 168, .28);--color-border-accent-focus: rgba(151, 226, 168, .32);--color-border-warning: rgba(255, 210, 122, .16);--color-border-warning-strong: rgba(255, 210, 122, .34);--color-border-danger: rgba(255, 158, 130, .16);--color-border-on-glass: rgba(255, 255, 255, .08);--color-border-on-glass-strong: rgba(255, 255, 255, .12);--accent-surface-bg: rgba(151, 226, 168, .08);--accent-surface-faint-bg: rgba(151, 226, 168, .1);--accent-surface-strong-bg: rgba(151, 226, 168, .12);--accent-surface-selected-bg: rgba(151, 226, 168, .13);--accent-surface-badge-bg: rgba(151, 226, 168, .14);--accent-surface-now-bg: rgba(151, 226, 168, .16);--accent-surface-current-bg: linear-gradient(145deg, rgba(151, 226, 168, .09), rgba(255, 255, 255, .05));--metric-progress-bg: linear-gradient(90deg, rgba(151, 226, 168, .55), rgba(255, 210, 122, .82));--metric-detail-muted: rgba(224, 232, 219, .76);--metric-detail-soft: rgba(224, 232, 219, .82);--forecast-day-arrow: rgba(151, 226, 168, .74);--forecast-title-shadow: 0 6px 18px rgba(151, 226, 168, .12);--hour-card-compact-condition: rgba(243, 247, 241, .86);--daily-modal-date-text: rgba(151, 226, 168, .84);--heading-accent-text: var(--color-accent);--heading-primary-text: var(--color-text-primary);--heading-accent-shadow: none;--heading-primary-shadow: none;--warning-surface-bg: rgba(255, 210, 122, .1);--warning-surface-badge-bg: rgba(255, 210, 122, .14);--warning-surface-strong-bg: rgba(255, 210, 122, .15);--danger-surface-badge-bg: rgba(255, 158, 130, .14);--danger-surface-strong-bg: rgba(255, 158, 130, .15);--shadow-panel: 0 28px 90px rgba(0, 0, 0, .28);--shadow-panel-mobile: 0 16px 38px rgba(0, 0, 0, .2);--shadow-card-hover: 0 20px 42px rgba(0, 0, 0, .14);--shadow-metric-inner-hover: inset 0 1px 0 rgba(255, 255, 255, .06), 0 14px 26px rgba(14, 37, 24, .18);--shadow-current-card: 0 18px 38px rgba(19, 58, 35, .22);--shadow-location-hover: 0 18px 38px rgba(0, 0, 0, .14);--shadow-nav: 0 16px 40px rgba(10, 18, 13, .16);--shadow-nav-compact: 0 12px 28px rgba(10, 18, 13, .12);--shadow-modal: 0 42px 100px rgba(0, 0, 0, .46), 0 12px 28px rgba(0, 0, 0, .32);--shadow-focus-ring: 0 0 0 4px rgba(151, 226, 168, .09);--shadow-accent-hint: 0 0 0 0 rgba(151, 226, 168, .5);--shadow-hint-pulse-start: 0 0 0 0 rgba(151, 226, 168, .55);--shadow-hint-pulse-end: 0 0 0 12px rgba(151, 226, 168, 0);--shadow-status-pulse-start: 0 0 0 0 rgba(151, 226, 168, 0);--shadow-status-pulse-mid: 0 0 0 10px rgba(151, 226, 168, .08);--shadow-accent-pulse: 0 0 0 0 rgba(151, 226, 168, .42), 0 0 0 6px rgba(255, 255, 255, .04);--shadow-accent-pulse-mobile: 0 0 0 0 rgba(151, 226, 168, .42), 0 0 0 5px rgba(255, 255, 255, .04);--shadow-dot-ring: 0 0 0 6px rgba(255, 255, 255, .04);--shadow-dot-ring-tight: 0 0 0 5px rgba(255, 255, 255, .04);--shadow-mobile-panel: 0 14px 30px rgba(0, 0, 0, .18);--shadow-mobile-card: 0 12px 24px rgba(0, 0, 0, .12);--glass-surface-bg: var(--surface-panel-bg);--glass-surface-border: var(--color-border-default);--glass-surface-shadow: var(--shadow-panel);--glass-surface-blur: var(--blur-2xl);--glass-surface-highlight: linear-gradient(135deg, rgba(255, 255, 255, .06), transparent 42%);--skeleton-bg: rgba(233, 241, 232, .08);--skeleton-sweep-bg: linear-gradient(90deg, var(--color-transparent), rgba(255, 255, 255, .14), var(--color-transparent));--body-glow-bg: radial-gradient(circle at top left, rgba(151, 226, 168, .08), transparent 28rem), radial-gradient(circle at 85% 12%, rgba(255, 255, 255, .04), transparent 20rem);--hero-bg: radial-gradient(circle at top right, rgba(151, 226, 168, .12), transparent 18rem), linear-gradient(145deg, rgba(16, 28, 22, .94), rgba(12, 20, 16, .92));--hero-alert-warn-border: rgba(255, 204, 102, .32);--hero-alert-warn-bg: linear-gradient(145deg, rgba(255, 204, 102, .12), rgba(255, 255, 255, .04));--hero-alert-bad-border: rgba(255, 142, 122, .34);--hero-alert-bad-bg: linear-gradient(145deg, rgba(255, 142, 122, .14), rgba(255, 255, 255, .04));--hero-weather-bg: radial-gradient(circle at top right, rgba(151, 226, 168, .16), transparent 12rem), linear-gradient(145deg, rgba(255, 255, 255, .06), rgba(151, 226, 168, .035));--hero-location-bg: linear-gradient(145deg, rgba(10, 19, 14, .92), rgba(18, 33, 24, .9)), radial-gradient(circle at top left, rgba(151, 226, 168, .06), transparent 65%);--hero-location-hover-bg: linear-gradient(145deg, rgba(11, 22, 16, .94), rgba(22, 39, 29, .92)), radial-gradient(circle at top left, rgba(151, 226, 168, .08), transparent 65%);--hero-location-text: rgba(179, 219, 188, .88);--hero-location-hover-text: rgba(196, 236, 205, .92);--hero-location-border: rgba(123, 179, 135, .18);--hero-location-shadow: inset 0 1px 0 rgba(255, 255, 255, .03), 0 12px 28px rgba(0, 0, 0, .2);--hero-location-hover-shadow: inset 0 1px 0 rgba(255, 255, 255, .05), 0 16px 30px rgba(0, 0, 0, .22);--hero-brand-shadow: 0 6px 22px rgba(151, 226, 168, .18);--button-primary-bg: linear-gradient(135deg, var(--color-ink-500), var(--color-accent-400));--button-primary-text: var(--color-text-inverse);--button-primary-shadow: inset 0 1px 0 rgba(255, 255, 255, .7), 0 16px 36px rgba(131, 212, 152, .2);--button-primary-hover-shadow: inset 0 1px 0 rgba(255, 255, 255, .75), 0 20px 40px rgba(131, 212, 152, .24);--button-primary-coarse-shadow: inset 0 1px 0 rgba(255, 255, 255, .68), 0 12px 24px rgba(131, 212, 152, .16);--button-rain-bg: linear-gradient(180deg, var(--color-forest-900), var(--color-forest-800));--input-bg: rgba(7, 16, 12, .8);--input-focus-bg: rgba(9, 19, 14, .92);--notification-button-bg: rgba(10, 19, 14, .74);--notification-button-hover-border: rgba(151, 226, 168, .34);--notification-button-hover-bg: rgba(17, 31, 23, .86);--notification-button-subscribed-bg: linear-gradient(145deg, rgba(28, 57, 38, .82), rgba(12, 28, 18, .84));--notification-install-border: rgba(255, 210, 122, .2);--notification-install-hover-border: rgba(255, 210, 122, .34);--notification-install-bg: rgba(23, 25, 14, .68);--notification-install-hover-bg: rgba(38, 35, 18, .82);--notification-install-text: rgba(255, 236, 185, .9);--notification-button-hover-text: #f2fbf4;--notification-button-disabled-opacity: .62;--notification-button-subscribed-border: rgba(151, 226, 168, .38);--modal-backdrop-bg: rgba(3, 8, 6, .94);--modal-backdrop-coarse-bg: rgba(3, 8, 6, .9);--modal-panel-bg: radial-gradient(circle at top right, rgba(151, 226, 168, .12), transparent 16rem), linear-gradient(145deg, rgba(16, 28, 22, .98), rgba(10, 18, 14, .96));--modal-close-mobile-bg: rgba(11, 19, 15, .92);--scrollbar-thumb-bg: rgba(255, 255, 255, .12);--nav-bg: var(--surface-panel-bg);--nav-compact-bg: rgba(18, 29, 22, .7);--nav-coarse-bg: rgba(18, 28, 22, .94);--nav-compact-border: rgba(221, 227, 210, .12);--nav-coarse-shadow: 0 10px 24px rgba(9, 15, 11, .14);--nav-brand-mark-bg: radial-gradient(circle at 30% 25%, rgba(151, 226, 168, .2), transparent 62%), linear-gradient(145deg, rgba(255, 255, 255, .05), rgba(151, 226, 168, .035));--nav-brand-mark-shadow: inset 0 1px 0 rgba(255, 255, 255, .06), 0 10px 24px rgba(6, 20, 13, .18);--nav-brand-mark-hover-shadow: inset 0 1px 0 rgba(255, 255, 255, .06), 0 12px 28px rgba(6, 20, 13, .22);--nav-brand-mark-glow: radial-gradient(circle, rgba(151, 226, 168, .18), transparent 58%);--nav-link-hover-border: rgba(194, 208, 182, .2);--nav-link-hover-bg: rgba(198, 214, 184, .08);--nav-link-active-border: rgba(194, 208, 182, .24);--nav-link-active-bg: rgba(198, 214, 184, .12);--nav-link-active-shadow: inset 0 1px 0 rgba(255, 255, 255, .06), 0 0 0 1px rgba(194, 208, 182, .06);--nav-link-active-text: rgba(219, 231, 207, .95);--nav-focus-outline: rgba(151, 226, 168, .42);--contact-submit-border: rgba(196, 214, 202, .2);--contact-submit-hover-border: rgba(196, 214, 202, .26);--contact-submit-bg: rgba(232, 242, 235, .08);--contact-submit-hover-bg: rgba(232, 242, 235, .12);--warning-border-soft: rgba(255, 210, 122, .18);--warning-panel-bg: linear-gradient(145deg, rgba(255, 210, 122, .09), rgba(255, 255, 255, .035));--mobile-scrim-bg: rgba(6, 10, 8, .18);--mobile-ios-scrim-bg: rgba(3, 8, 6, .18);--bottom-nav-bg: rgba(17, 27, 21, .94);--bottom-nav-border: rgba(223, 228, 214, .14);--bottom-nav-item-text: rgba(238, 245, 234, .72);--bottom-nav-item-active-bg: var(--accent-surface-selected-bg);--bottom-nav-item-active-text: var(--color-ink-200);--bottom-nav-item-active-shadow: inset 0 1px 0 rgba(255, 255, 255, .06);--bottom-nav-more-bg: rgba(255, 255, 255, .08);--bottom-nav-shadow: 0 18px 42px rgba(4, 9, 6, .34), inset 0 1px 0 rgba(255, 255, 255, .055);--bottom-nav-indicator-bg: radial-gradient(circle at 30% 20%, rgba(255, 255, 255, .2), transparent 44%), linear-gradient(135deg, rgba(151, 226, 168, .18), rgba(255, 255, 255, .07));--bottom-nav-indicator-border: rgba(210, 246, 218, .18);--bottom-nav-indicator-shadow: 0 9px 22px rgba(151, 226, 168, .13), inset 0 1px 0 rgba(255, 255, 255, .11);--bottom-nav-more-border: rgba(223, 228, 214, .18);--mobile-more-menu-bg: rgba(18, 29, 22, .97);--mobile-more-menu-border: rgba(223, 228, 214, .13);--mobile-more-menu-item-text: rgba(243, 247, 241, .84);--mobile-more-menu-icon-text: rgba(151, 226, 168, .9);--mobile-more-menu-active-border: rgba(151, 226, 168, .17);--mobile-more-menu-active-bg: rgba(151, 226, 168, .1);--mobile-more-menu-shadow: 0 18px 40px rgba(4, 9, 6, .28), inset 0 1px 0 rgba(255, 255, 255, .055);--ios-liquid-accent-rgb: 19 29 23;--ios-liquid-blur: 24px;--ios-liquid-highlight-intensity: .88;--ios-liquid-highlight-x: 30%;--ios-liquid-highlight-y: 22%;--ios-liquid-lens-blur: 18px;--ios-liquid-lens-scale: 1.12;--ios-liquid-lens-width: calc((100% - 30px) / 3);--ios-liquid-lens-x: 7px;--ios-liquid-refraction-shift: 0px;--ios-liquid-spring: var(--duration-drop) var(--ease-liquid);--ios-liquid-touch-spring: var(--duration-touch) var(--ease-liquid-touch);--ios-liquid-tray-bg: radial-gradient(circle at var(--ios-liquid-touch-x, 50%) var(--ios-liquid-touch-y, 28px), rgba(255, 255, 255, .08), transparent 31%), linear-gradient(135deg, rgba(255, 255, 255, .12), rgba(19, 29, 23, .18) 42%, rgba(10, 20, 15, .42)), rgba(19, 29, 23, .5);--ios-liquid-tray-shadow: 0 14px 34px rgba(3, 8, 5, .27), inset 0 1px 0 rgba(255, 255, 255, .24), inset 0 -1px 0 rgba(255, 255, 255, .07);--ios-liquid-tray-border: rgba(245, 255, 248, .2);--ios-liquid-tray-rim-bg: linear-gradient(120deg, rgba(255, 255, 255, .26), transparent 28% 68%, rgba(255, 255, 255, .08)), radial-gradient(circle at 78% 8%, rgba(255, 255, 255, .07), transparent 34%);--ios-liquid-lens-border: rgba(255, 255, 255, .34);--ios-liquid-lens-bg: linear-gradient(145deg, rgba(255, 255, 255, .18), rgba(255, 255, 255, .06) 48%, rgba(19, 29, 23, .2)), rgba(19, 29, 23, .13);--ios-liquid-lens-pressed-bg: linear-gradient(145deg, rgba(255, 255, 255, .22), rgba(255, 255, 255, .075) 48%, rgba(19, 29, 23, .25)), rgba(19, 29, 23, .16);--ios-liquid-lens-shadow: 0 8px 20px rgba(0, 0, 0, .16), 0 2px 10px rgba(255, 255, 255, .05), inset 0 1px 0 rgba(255, 255, 255, .42), inset 0 -1px 0 rgba(255, 255, 255, .12);--ios-liquid-lens-pressed-shadow: 0 12px 26px rgba(0, 0, 0, .18), 0 4px 14px rgba(255, 255, 255, .06), inset 0 1px 0 rgba(255, 255, 255, .48), inset 0 -1px 0 rgba(255, 255, 255, .15);--ios-liquid-refraction-bg: linear-gradient(90deg, rgba(255, 255, 255, .1), transparent 21% 76%, rgba(255, 255, 255, .055)), radial-gradient(circle at 50% 50%, rgba(19, 29, 23, .18), transparent 62%);--ios-liquid-refraction-mask: radial-gradient(ellipse at center, var(--color-mask-black) 54%, transparent 82%);--ios-liquid-caustic-bg: radial-gradient(ellipse at 28% 16%, rgba(255, 255, 255, .32), transparent 30%), radial-gradient(ellipse at 76% 82%, rgba(255, 255, 255, .12), transparent 42%), linear-gradient(100deg, transparent 13%, rgba(255, 255, 255, .08) 49%, transparent 68%);--ios-liquid-specular-bg: radial-gradient(circle at var(--ios-liquid-highlight-x) var(--ios-liquid-highlight-y), rgba(255, 255, 255, .5), rgba(255, 255, 255, .1) 20%, transparent 46%), linear-gradient(160deg, rgba(255, 255, 255, .18), transparent 31% 74%, rgba(255, 255, 255, .06));--ios-liquid-nav-text-active: rgba(255, 255, 255, .92);--ios-liquid-nav-text-shadow: 0 1px 10px rgba(0, 0, 0, .24);--ios-liquid-nav-text-shadow-soft: 0 1px 10px rgba(0, 0, 0, .2);--ios-bottom-nav-bg: linear-gradient(135deg, rgba(255, 255, 255, .13), rgba(151, 226, 168, .06) 38%, rgba(13, 24, 18, .5)), rgba(17, 27, 21, .54);--ios-bottom-nav-shadow: 0 20px 46px rgba(3, 8, 5, .36), 0 6px 18px rgba(151, 226, 168, .07), inset 0 1px 0 rgba(255, 255, 255, .24), inset 0 -1px 0 rgba(255, 255, 255, .07);--ios-bottom-nav-border: rgba(236, 255, 241, .18);--ios-bottom-nav-rim-bg: radial-gradient(circle at 18% 8%, rgba(255, 255, 255, .2), transparent 24%), radial-gradient(circle at 82% 16%, rgba(151, 226, 168, .11), transparent 28%);--ios-bottom-nav-indicator-border: rgba(255, 255, 255, .3);--ios-bottom-nav-indicator-bg: radial-gradient(circle at 28% 14%, rgba(255, 255, 255, .62), transparent 29%), radial-gradient(circle at 74% 84%, rgba(151, 226, 168, .24), transparent 42%), linear-gradient(135deg, rgba(255, 255, 255, .22), rgba(151, 226, 168, .13) 46%, rgba(255, 255, 255, .09));--ios-bottom-nav-indicator-shadow: 0 10px 24px rgba(151, 226, 168, .16), 0 2px 10px rgba(255, 255, 255, .09), inset 0 1px 0 rgba(255, 255, 255, .38), inset 0 -1px 0 rgba(255, 255, 255, .14);--ios-bottom-nav-item-active-bg: transparent;--ios-more-menu-bg: linear-gradient(135deg, rgba(255, 255, 255, .14), rgba(151, 226, 168, .06) 45%, rgba(12, 22, 17, .56)), rgba(17, 27, 21, .62);--ios-more-menu-shadow: 0 20px 44px rgba(3, 8, 5, .34), inset 0 1px 0 rgba(255, 255, 255, .18);--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--app-bottom-space: calc(32px + var(--safe-bottom));--app-bg: var(--color-background-app);--site-bg: var(--color-background-site);--panel: var(--surface-panel-bg);--panel-strong: var(--surface-panel-strong-bg);--panel-soft: var(--surface-panel-soft-bg);--border: var(--color-border-default);--border-strong: var(--color-border-strong);--text-soft: var(--color-text-soft);--text-muted: var(--color-text-muted);--good: var(--color-accent);--warn: var(--color-warning);--bad: var(--color-danger);--shadow: var(--shadow-panel);--radius-surface: var(--radius-6xl);--radius-card: var(--radius-3xl)}:root{font-family:var(--font-family-app);color:var(--color-text-primary)}*{box-sizing:border-box}img{max-width:100%;height:auto}html,body,#root{min-height:100%;min-height:100dvh;background:var(--app-bg)}html{scrollbar-gutter:stable}html:before{content:"";position:fixed;inset:0;z-index:999;pointer-events:none;background:var(--theme-fallback-overlay-bg, rgba(0, 0, 0, .04));opacity:0}html.isThemeFallbackTransitioning:before{animation:themeFallbackFade var(--theme-transition-duration, .2s) var(--theme-transition-ease, ease) both}::view-transition-group(root){animation-duration:var(--theme-transition-duration, .22s);animation-timing-function:var(--theme-transition-ease, ease)}::view-transition-old(root),::view-transition-new(root){animation-duration:var(--theme-transition-duration, .22s);animation-timing-function:var(--theme-transition-ease, ease);animation-fill-mode:both;mix-blend-mode:normal}::view-transition-old(root){animation-name:themeViewOld}::view-transition-new(root){animation-name:themeViewNew}body{margin:0;min-height:100vh;min-height:100dvh;background:var(--site-bg);color:var(--color-text-primary);line-height:1.5;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overscroll-behavior-y:none}@media(max-width:560px){:root{--theme-transition-duration: .18s}}@media(prefers-reduced-motion:reduce){html.isThemeFallbackTransitioning:before,::view-transition-group(root),::view-transition-old(root),::view-transition-new(root){animation-duration:1ms}}body:before{content:"";position:fixed;inset:0;z-index:0;pointer-events:none;background:var(--body-glow-bg);opacity:var(--opacity-body-glow)}body:after{content:"";position:fixed;inset:0;z-index:0;pointer-events:none;background-image:var(--topography-pattern);background-size:720px 720px;background-repeat:repeat;background-position:center top;opacity:var(--opacity-pattern);mix-blend-mode:screen}button{font:inherit}.app{position:relative;isolation:isolate;display:flex;flex-direction:column;width:min(1120px,100%);min-height:100vh;min-height:100dvh;margin:0 auto;padding:calc(var(--safe-top) + 6px) 16px var(--app-bottom-space)}.hero,.card,.footerBlock,.modalPanel{position:relative;overflow:hidden;border:1px solid var(--border);border-radius:var(--radius-panel);background:var(--panel);box-shadow:var(--shadow);backdrop-filter:blur(var(--glass-surface-blur));-webkit-backdrop-filter:blur(var(--glass-surface-blur))}.hero:before,.card:before,.footerBlock:before,.modalPanel:before{content:"";position:absolute;inset:0;pointer-events:none;background:var(--glass-surface-highlight)}.skeletonBlock{position:relative;display:block;overflow:hidden;border-radius:var(--radius-pill);background:var(--skeleton-bg)}.skeletonBlock:after{content:"";position:absolute;inset:0;background:var(--skeleton-sweep-bg);animation:skeletonSweep var(--duration-skeleton) var(--ease-in-out) infinite}@media(max-width:768px)and (pointer:coarse)and (hover:none){@supports not (-webkit-touch-callout: none){:root{--shadow: var(--shadow-panel-mobile)}body:before{opacity:var(--opacity-soft-bg)}body:after{opacity:var(--opacity-subtle);background-size:620px 620px;mix-blend-mode:normal}.card,.footerBlock{backdrop-filter:var(--blur-none);-webkit-backdrop-filter:var(--blur-none)}.hero,.modalPanel{backdrop-filter:blur(var(--blur-sm));-webkit-backdrop-filter:blur(var(--blur-sm))}}}.hero{padding:26px 20px 22px;margin-bottom:18px;background:var(--hero-bg)}.heroHeader{flex-direction:column;align-items:center;justify-content:flex-start;gap:12px}.heroHeader,.sectionHeader,.forecastCardHeader,.modalHeader{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.heroHeader>*,.sectionHeader>*,.forecastCardHeader>*,.modalHeader>*,.summaryBand>*{min-width:0}.heroKicker,.sectionEyebrow,.heroTime,.updateText,.metricDetail,.supportCard p,.summaryBand p,.sectionSubtitle,.locationLine,.footerNote,.modalDescription,.modalMetaCard span,.hourCard span,.forecastCard p,.forecastStats span,.forecastTemp span{color:var(--text-soft)}.heroKicker,.sectionEyebrow{display:inline-flex;align-items:center;gap:8px;margin:0 0 8px;padding:7px 11px;border:1px solid var(--color-border-on-glass);border-radius:var(--radius-pill);background:var(--surface-subtle-bg);text-transform:uppercase;letter-spacing:.12em;font-size:.76rem;font-weight:800}.heroBrandLockup{position:relative;display:inline-grid;place-items:center;max-width:100%}.heroKicker{margin-bottom:0;padding:0;border:0;border-radius:var(--radius-none);background:transparent;color:var(--good);text-shadow:var(--hero-brand-shadow);font-size:clamp(2rem,7vw,3rem);font-weight:950;letter-spacing:-.05em;text-transform:none;text-align:center;line-height:.94}.heroTime{margin:0;font-size:.98rem;font-weight:650;text-align:center}.heroFreshnessNote{display:none}.heroFreshnessDot{width:7px;height:7px;border-radius:var(--radius-circle);background:currentColor;box-shadow:var(--shadow-dot-ring-tight);flex:0 0 auto}.heroMetaRow{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px 12px;margin-top:10px}.heroLiveAlert{display:grid;gap:5px;width:min(100%,760px);margin:16px auto 0;padding:12px 14px;border:1px solid var(--color-border-default);border-radius:var(--radius-2xl);background:var(--surface-subtle-bg)}.heroLiveAlert strong,.heroLiveAlert span{overflow-wrap:anywhere}.heroLiveAlert strong{font-size:.96rem;letter-spacing:-.02em}.heroLiveAlert span{color:var(--text-soft);font-size:.95rem;line-height:1.5}.heroLiveAlert-warn{border-color:var(--hero-alert-warn-border);background:var(--hero-alert-warn-bg)}.heroLiveAlert-bad{border-color:var(--hero-alert-bad-border);background:var(--hero-alert-bad-bg)}.heroDecision{display:grid;justify-items:center;gap:12px;margin-top:16px;text-align:center}.heroDecision h1{margin:0;color:var(--heading-primary-text, var(--color-text-primary));font-size:clamp(2.35rem,8vw,5.3rem);font-weight:950;line-height:.92;letter-spacing:-.07em;text-shadow:var(--heading-primary-shadow, none)}.heroDescription{max-width:760px;margin:0;font-size:clamp(1.02rem,3.8vw,1.28rem);line-height:1.58;font-weight:560;overflow-wrap:anywhere}.metricCard,.supportCard,.hourCard,.forecastCard,.modalMetaCard{border:1px solid var(--color-border-subtle);border-radius:var(--radius-surface);background:var(--surface-elevated-bg);transition:transform var(--duration-slow) var(--ease-standard),border-color var(--duration-slow) var(--ease-standard),background var(--duration-slow) var(--ease-standard),box-shadow var(--duration-slow) var(--ease-standard)}.metricLabel,.modalMetaCard span{display:inline-flex;align-items:center;gap:8px;font-weight:760;color:var(--text-soft)}.heroWeatherSnapshot{width:min(100%,560px);margin:16px auto 0;padding:16px;border:1px solid var(--color-border-subtle);border-radius:var(--radius-surface);background:var(--hero-weather-bg);transition:transform var(--duration-slow) var(--ease-standard),border-color var(--duration-slow) var(--ease-standard),background var(--duration-slow) var(--ease-standard),box-shadow var(--duration-slow) var(--ease-standard)}.heroWeatherSnapshotMain{display:grid;gap:8px;justify-items:center;text-align:center}.heroRainProbabilityHeader span{color:var(--text-soft);font-size:.92rem;font-weight:800}.heroWeatherSnapshotLabel{display:inline-flex;align-items:center;justify-content:center;width:fit-content;max-width:100%;min-height:30px;padding:7px 11px;border:1px solid var(--color-border-accent);border-radius:var(--radius-pill);background:var(--accent-surface-selected-bg);color:var(--good);font-size:.84rem;font-weight:880;line-height:1;animation:statusPulse 2.6s ease-in-out infinite}.heroWeatherSnapshotTemp{display:block;color:var(--color-text-primary);font-size:clamp(2.7rem,8vw,4.8rem);font-weight:950;line-height:.94;letter-spacing:0;overflow-wrap:anywhere}.heroRainProbability{display:grid;gap:9px;margin-top:14px;padding-top:13px;border-top:1px solid var(--color-border-subtle)}.heroRainProbabilityHeader{display:flex;align-items:center;justify-content:space-between;gap:14px}.heroRainProbabilityHeader strong{color:var(--good);font-size:1.18rem;font-weight:930;line-height:1}.heroWeatherSnapshot .metricProgress{height:8px;margin-top:0}.loadingHeroSignalLabel{width:48%;height:12px}.loadingHeroSignalValue{width:min(13rem,74%);height:54px;margin-top:0!important}.loadingHeroSignalProgress{width:100%;height:8px}.heroActions{display:flex;justify-content:center;margin-top:16px}.heroLocationBlock{display:grid;gap:0;justify-items:center;margin-top:4px;width:min(100%,34rem)}.heroLocationLine{margin:0;width:100%;padding:clamp(11px,3.2vw,15px) clamp(15px,4.8vw,22px);border:1px solid var(--hero-location-border);border-radius:var(--radius-5xl);background:var(--hero-location-bg);color:var(--hero-location-text);font-size:clamp(1.18rem,4.2vw,1.75rem);font-weight:860;letter-spacing:-.025em;line-height:1.12;text-align:center;box-shadow:var(--hero-location-shadow);transition:transform var(--duration-standard) var(--ease-standard),border-color var(--duration-standard) var(--ease-standard),background var(--duration-standard) var(--ease-standard),box-shadow var(--duration-standard) var(--ease-standard),color var(--duration-standard) var(--ease-standard)}.heroLocationLine:hover{transform:translateY(-1px);border-color:var(--color-border-accent-active);background:var(--hero-location-hover-bg);box-shadow:var(--hero-location-hover-shadow);color:var(--hero-location-hover-text)}.heroLocationLine:active{transform:translateY(0)}.heroHeader{flex-direction:column;align-items:center;justify-content:center;text-align:center;padding-top:4px}.mainButton{width:100%;display:inline-flex;align-items:center;justify-content:center;min-height:58px;padding:18px 22px;border:0;border-radius:var(--radius-card);cursor:pointer;color:var(--button-primary-text);font-size:1.05rem;font-weight:900;background:var(--button-primary-bg);box-shadow:var(--button-primary-shadow);transition:transform var(--duration-slow) var(--ease-standard),box-shadow var(--duration-slow) var(--ease-standard),opacity var(--duration-slow) var(--ease-standard)}.mainButton:hover:not(:disabled){transform:translateY(-1px) scale(1.005);box-shadow:var(--button-primary-hover-shadow)}.mainButton:disabled{opacity:var(--opacity-button-disabled);cursor:default}.buttonLoading{display:inline-flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:10px;width:100%;text-align:center}.buttonRain{width:12px;height:16px;border-radius:60% 60% 72% 72%;background:var(--button-rain-bg);animation:rainDrop var(--duration-rain) var(--ease-in-out) infinite}.updateText{margin:10px 0 0;font-size:.96rem;text-align:center;line-height:1.5;overflow-wrap:anywhere}.statusPill{display:inline-flex;align-items:center;gap:9px;padding:10px 14px;border:1px solid var(--color-border-on-glass);border-radius:var(--radius-pill);background:var(--surface-subtle-bg);font-weight:800;max-width:100%;white-space:nowrap;justify-content:center;font-size:.92rem;text-align:center}.statusDot{width:8px;height:8px;border-radius:var(--radius-circle);background:currentColor;box-shadow:var(--shadow-dot-ring)}.status-loading{color:var(--color-ink-400)}.status-success{color:var(--good);animation:statusPulse 2.2s ease-in-out infinite}.status-success .statusDot{box-shadow:var(--shadow-accent-pulse)}.status-error{color:var(--warn)}.status-neutral{color:var(--color-text-neutral)}.errorBox{margin-top:16px;padding:15px 16px;border:1px solid var(--warning-border-soft);border-radius:var(--radius-card);background:var(--warning-surface-bg);color:var(--color-warning-200);font-weight:650}.notificationToggle{display:grid;justify-items:center;gap:8px;margin:-4px 0 18px}.notificationActionRow{display:flex;max-width:min(100%,42rem);align-items:stretch;justify-content:center;gap:10px;flex-wrap:wrap}.notificationButton{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:46px;min-width:min(100%,13.5rem);max-width:min(100%,20rem);padding:12px 16px;border:1px solid var(--color-border-accent);border-radius:var(--radius-2xl);background:var(--notification-button-bg);color:var(--color-text-strong-soft);cursor:pointer;font-size:.96rem;font-weight:820;line-height:1.2;text-align:center;transition:transform var(--duration-standard) var(--ease-standard),border-color var(--duration-standard) var(--ease-standard),background var(--duration-standard) var(--ease-standard),color var(--duration-standard) var(--ease-standard)}.notificationButton:hover:not(:disabled){transform:translateY(-1px);border-color:var(--notification-button-hover-border);background:var(--notification-button-hover-bg);color:var(--notification-button-hover-text)}.notificationButton:disabled{cursor:default;opacity:var(--notification-button-disabled-opacity)}.notificationButton.isSubscribed{border-color:var(--notification-button-subscribed-border);background:var(--notification-button-subscribed-bg);color:var(--good)}.installButton{border-color:var(--notification-install-border);background:var(--notification-install-bg);color:var(--notification-install-text)}.installButton:hover:not(:disabled){border-color:var(--notification-install-hover-border);background:var(--notification-install-hover-bg);color:var(--color-warning-100)}.notificationBell{position:relative;width:15px;height:16px;flex:0 0 auto;border:2px solid currentColor;border-bottom:0;border-radius:var(--radius-sm) var(--radius-sm) var(--radius-xs) var(--radius-xs)}.notificationBell:before,.notificationBell:after{position:absolute;left:50%;content:"";transform:translate(-50%)}.notificationBell:before{top:-5px;width:5px;height:5px;border-radius:var(--radius-pill);background:currentColor}.notificationBell:after{bottom:-5px;width:7px;height:4px;border-radius:var(--radius-none) var(--radius-none) var(--radius-pill) var(--radius-pill);background:currentColor}.installIcon{position:relative;width:14px;height:18px;flex:0 0 auto;border:2px solid currentColor;border-radius:var(--radius-xs)}.installIcon:before,.installIcon:after{position:absolute;content:"";background:currentColor}.installIcon:before{left:50%;bottom:2px;width:4px;height:2px;border-radius:var(--radius-pill);transform:translate(-50%)}.installIcon:after{top:4px;right:-6px;width:9px;height:2px;border-radius:var(--radius-pill);box-shadow:0 0 0 currentColor}.notificationStatus{margin:0;color:var(--text-soft);font-size:.9rem;font-weight:650;text-align:center}.installStatus{max-width:min(100%,34rem)}.card,.footerBlock{padding:21px 18px;margin-bottom:18px}.sectionHeader{margin-bottom:18px;align-items:flex-end;gap:12px}.sectionHeader>div{display:grid;gap:4px;min-width:0}.sectionHeader h2,.modalHeader h3{display:inline-flex;align-items:center;gap:10px;margin:0;color:var(--heading-accent-text, var(--good));font-size:clamp(1.55rem,4vw,2.25rem);font-weight:860;line-height:1.15;text-shadow:var(--heading-accent-shadow, none);overflow-wrap:anywhere}.sectionSubtitle{display:block;margin-top:4px;max-width:min(100%,22rem);flex:0 0 auto;font-weight:700;text-align:right;overflow-wrap:anywhere}.metricGrid,.supportGrid,.forecastGrid{display:grid;gap:12px;align-items:stretch}.metricGrid{grid-template-columns:repeat(1,minmax(0,1fr));gap:12px}.metricGrid>.revealItemScroll{height:100%}.supportGrid,.forecastGrid{grid-template-columns:repeat(1,minmax(0,1fr))}.metricCard,.supportCard{position:relative;min-width:0}.supportCard{padding:16px}.metricCard{height:100%;min-height:196px;overflow:hidden;border-radius:var(--radius-card)}.metricCardInner{position:relative;display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:12px;height:100%;padding:16px;border-radius:var(--radius-card);background:var(--surface-metric-inner-bg);transition:transform var(--duration-card) var(--ease-standard),box-shadow var(--duration-card) var(--ease-standard),background var(--duration-card) var(--ease-standard),filter var(--duration-card) var(--ease-standard);transform-origin:center center}.metricSection .sectionHeader{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:14px}.metricSection .sectionHeader>div{display:grid;gap:6px;min-width:0}.metricSection .sectionHeader h2{font-size:clamp(1.55rem,4vw,2.25rem);line-height:1.15}.metricSection .sectionSubtitle{display:inline-flex;align-items:center;margin-top:0;padding:6px 11px;border:1px solid var(--color-border-subtle);border-radius:var(--radius-pill);background:var(--surface-action-muted-bg);color:var(--text-soft);font-size:.8rem;font-weight:740;text-align:right;justify-self:auto;flex:0 0 auto}.metricSection .sectionEyebrow{margin-bottom:6px;padding:6px 10px;font-size:.68rem;letter-spacing:.1em}.metricCard:after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:var(--surface-metric-hover-glow);opacity:0;transition:opacity var(--duration-card) var(--ease-standard)}.supportCard:hover,.hourCard.isVisible:hover,.forecastCard:hover,.modalMetaCard:hover,.heroWeatherSnapshot:hover,.summaryBand:hover{transform:translateY(-2px) scale(1.012);border-color:var(--color-border-accent-hover);background:var(--surface-elevated-hover-bg);box-shadow:var(--shadow-card-hover)}.metricCard:hover{border-color:var(--color-border-accent-hover)}.metricCard:hover:after{opacity:1}.metricCard:hover .metricCardInner{transform:translateY(-2px) scale(1.018);background:var(--surface-metric-inner-hover-bg);box-shadow:var(--shadow-metric-inner-hover);filter:saturate(1.05) brightness(1.02)}.tone-good{border-color:var(--color-border-accent-faint)}.tone-warn{border-color:var(--color-border-warning)}.tone-bad{border-color:var(--color-border-danger)}.metricTop{display:flex;align-items:flex-start;gap:10px;min-height:0}.metricLabel{display:inline-flex;align-items:flex-start;gap:8px;min-width:0;font-size:.96rem;line-height:1.35;font-weight:780}.metricCardBody{display:grid;align-content:start;gap:12px;min-height:0}.metricCardBody.isCentered{align-content:center}.metricValue{display:block;min-height:0;margin:0;font-size:clamp(2.16rem,4.6vw,3.25rem);line-height:.94;letter-spacing:-.05em;overflow-wrap:anywhere}.metricValueSplit{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;min-height:0;gap:14px;margin:0}.metricValueSplit>div{display:grid;align-content:start;gap:8px;min-width:0}.metricValueSplit span{display:block;margin:0;color:var(--text-soft);font-size:.78rem;font-weight:760}.metricValueInline{margin-top:0;font-size:clamp(2rem,3.7vw,3rem);line-height:.94}.metricStatusBadge{display:inline-flex;align-items:center;justify-content:center;width:fit-content;max-width:100%;min-height:40px;padding:10px 16px;border-radius:var(--radius-pill);font-size:1rem;font-weight:860;line-height:1.1;white-space:normal;overflow-wrap:anywhere}.metricStatusBadge.tone-good{background:var(--accent-surface-badge-bg);color:var(--good)}.metricStatusBadge.tone-warn{background:var(--warning-surface-strong-bg);color:var(--warn)}.metricStatusBadge.tone-bad{background:var(--danger-surface-strong-bg);color:var(--bad)}.metricProgress{position:relative;width:100%;height:6px;margin-top:2px;border-radius:var(--radius-pill);background:var(--surface-action-strong-bg);overflow:hidden}.metricProgressBar{display:block;height:100%;border-radius:inherit;background:var(--metric-progress-bg)}.metricDetail{margin:0;min-height:2.96em;font-size:.9rem;line-height:1.48;font-weight:560;overflow-wrap:anywhere;display:-webkit-box;overflow:hidden;-webkit-line-clamp:3;-webkit-box-orient:vertical}.metricDetailSpacer{min-height:2.96em}.metricCard-next-rain{border-color:var(--color-border-accent-subtle)}.metricNextRainValue{display:grid;align-content:start;gap:8px;min-width:0}.metricNextRainLabel{display:block;margin:0;font-size:clamp(1.38rem,2.7vw,2rem);line-height:.98;font-weight:900;overflow-wrap:anywhere}.metricValueNextRain{font-size:clamp(1.84rem,3.7vw,2.7rem);line-height:.92}.metricCard-next-rain .metricDetail{line-height:1.46}.metricCard-rain-probability .metricValue{letter-spacing:-.04em}.metricCard-wind .metricDetail,.metricCard-rain-amount .metricDetail{color:var(--metric-detail-muted)}.metricCard-frost .metricDetail{color:var(--metric-detail-soft)}.metricSection .metricGrid{grid-template-columns:minmax(0,1fr);gap:12px;width:min(100%,860px);max-width:860px;margin:0 auto}.metricSection .metricCard{height:146px;min-height:146px;border-radius:var(--radius-7xl)}.metricSection .metricCardInner{grid-template-columns:minmax(0,1fr) minmax(9rem,auto);grid-template-rows:minmax(3.1rem,auto) auto;align-items:center;gap:12px 18px;height:100%;min-height:0;padding:18px 20px;border-radius:var(--radius-7xl)}.metricSection .metricTop{grid-column:1;grid-row:1;align-items:center}.metricSection .metricCardBody{grid-column:2;grid-row:1;justify-self:end;justify-items:end;align-content:center;width:max-content;max-width:min(16rem,100%);text-align:right}.metricSection .metricValue{font-size:clamp(1.5rem,2.4vw,2.08rem);line-height:1.05;letter-spacing:-.02em;text-align:right}.metricSection .metricValueSplit{width:min(100%,15rem);gap:10px}.metricSection .metricValueInline{font-size:clamp(1.34rem,2.2vw,1.94rem)}.metricSection .metricStatusBadge{justify-self:end}.metricSection .metricProgress{width:min(100%,12rem);justify-self:end}.metricSection .metricNextRainValue{display:flex;align-items:baseline;justify-content:flex-end;gap:8px;max-width:100%}.metricSection .metricNextRainLabel{font-size:clamp(1rem,1.8vw,1.32rem);line-height:1.08;text-align:right;white-space:nowrap}.metricSection .metricValueNextRain{font-size:clamp(1.32rem,2.2vw,1.9rem)}.metricSection .metricDetail{grid-column:1 / -1;margin-top:0;min-height:calc(2.84em + 12px);padding-top:12px;border-top:1px solid var(--color-border-subtle);font-size:.84rem;line-height:1.42;display:-webkit-box;overflow:hidden;-webkit-line-clamp:2;-webkit-box-orient:vertical}.metricSection .metricDetailSpacer{display:none}.metricSection .loadingMetricCardInner{grid-template-columns:minmax(0,1fr) minmax(8rem,auto);grid-template-rows:auto auto auto;align-items:center}.metricSection .loadingMetricChip{grid-column:1;grid-row:1;width:min(12rem,70%)}.metricSection .loadingMetricValue{grid-column:2;grid-row:1;justify-self:end;width:8rem}.metricSection .loadingMetricDetail{grid-column:1 / -1;width:100%}.metricSection .loadingMetricDetail.isShort{width:58%}.supportCard h3{display:inline-flex;align-items:center;gap:10px;margin:0 0 10px;font-size:1.14rem}.supportCard p{margin:0;line-height:1.68;font-size:.97rem;font-weight:500}.summaryBand{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:122px;padding:18px;border:1px solid var(--color-border-subtle);border-radius:var(--radius-surface);background:var(--surface-elevated-bg);transition:transform var(--duration-slow) var(--ease-standard),border-color var(--duration-slow) var(--ease-standard),background var(--duration-slow) var(--ease-standard),box-shadow var(--duration-slow) var(--ease-standard)}.summaryBand strong{display:block;font-size:1.18rem}.summaryBand p{margin:6px 0 0;line-height:1.58;font-weight:520;overflow-wrap:anywhere}.summaryValue{font-size:clamp(2rem,7vw,4rem);font-weight:950;letter-spacing:-.06em;white-space:nowrap}.hourlySummaryBand{display:block;min-height:auto;padding:18px 20px;border-radius:var(--radius-7xl)}.hourlySummaryContent{display:grid;gap:8px;min-width:0}.hourlySummaryTitle{display:flex!important;align-items:center;flex-wrap:wrap;gap:9px 12px;color:var(--color-text-primary);font-size:clamp(1.05rem,2vw,1.3rem);line-height:1.18}.hourlySummaryTitle>span:first-child{min-width:0;overflow-wrap:anywhere}.hourlyCurrentTemp{display:inline-flex;align-items:center;justify-content:center;min-height:32px;padding:6px 11px;border:1px solid var(--color-border-accent-subtle);border-radius:var(--radius-pill);background:var(--accent-surface-strong-bg);color:var(--good);font-size:.95rem;font-weight:900;line-height:1;white-space:nowrap}.hourlySummaryBand p{margin-top:0;color:var(--text-soft);font-size:.93rem;line-height:1.45;font-weight:680}.scrollHint{display:inline-flex;align-items:center;flex-wrap:wrap;gap:8px;margin:14px 0 10px;color:var(--text-soft);font-size:.93rem;font-weight:760}.scrollHintCompact{margin-top:14px}.loadingSummaryBand{align-items:stretch}.loadingSummaryCopy{display:grid;align-content:start;gap:10px;flex:1 1 auto}.loadingSummaryTitle{width:42%;height:16px}.loadingSummaryLine{width:92%;height:13px}.loadingSummaryLine.isShort{width:68%}.loadingSummaryValue{width:84px;min-width:84px;height:52px;border-radius:var(--radius-card);align-self:center}.scrollArrow{display:inline-block;color:var(--good);animation:blinkArrow 1.1s ease-in-out infinite}.hourlyScrollerWrap{position:relative;padding:0 2px}.hourlyScroller{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(180px,1fr);gap:10px;overflow-x:auto;padding:4px 2px 8px;scroll-snap-type:x proximity;scroll-padding-left:2px;scrollbar-width:none;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;overscroll-behavior-y:auto;touch-action:pan-x pan-y pinch-zoom}.hourlyScroller.isPointerDragging{cursor:grabbing;-webkit-user-select:none;user-select:none;scroll-behavior:auto;scroll-snap-type:none}.hourlyScroller.isPointerDragging .hourCard{transition:none}.hourlyScroller::-webkit-scrollbar{display:none}.hourCard{opacity:var(--opacity-muted-layer);transform:translate(18px) scale(.985);padding:14px;border:1px solid var(--color-border-subtle);border-radius:var(--radius-card);background:var(--surface-elevated-bg);background-clip:padding-box;box-shadow:none;overflow:hidden;scroll-snap-align:start;min-height:188px;transition:opacity var(--duration-reveal-item) var(--ease-emphasized),transform var(--duration-reveal-item) var(--ease-emphasized),border-color var(--duration-slow) var(--ease-standard),background var(--duration-slow) var(--ease-standard),box-shadow var(--duration-slow) var(--ease-standard)}.hourCard.isVisible{opacity:var(--opacity-visible);transform:translate(0) scale(1)}.hourCard.isCurrentHour{border-color:var(--color-border-current);background:var(--accent-surface-current-bg);box-shadow:var(--shadow-current-card)}.hourCard strong,.hourCard span{display:block}.hourCardTop{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;margin-bottom:8px}.hourCard strong{margin-bottom:0;font-size:1.02rem}.hourCard span{margin-top:6px;overflow-wrap:anywhere}.hourCard.isLoading{opacity:var(--opacity-visible);transform:none;display:grid;align-content:start;gap:10px}.hourCard.isLoading .skeletonBlock{margin-top:0}.loadingHourHeading{width:40%;height:16px}.loadingHourLine{width:72%;height:12px}.loadingHourLine.isWide{width:88%}.loadingHourLine.isShort{width:54%}.hourCondition{color:var(--color-text-primary)!important;font-weight:760}.hourNowBadge{display:inline-flex!important;align-items:center;justify-content:center;margin:0;padding:6px 10px;border-radius:var(--radius-pill);background:var(--accent-surface-now-bg);color:var(--good)!important;font-size:.74rem;font-weight:900;letter-spacing:.05em;text-transform:uppercase}.forecastCard{text-align:center;width:100%;min-height:214px;padding:18px 16px;cursor:pointer;min-width:0}.forecastCardHeader{justify-content:center}.forecastCardHeaderContent{display:grid;gap:6px;width:100%;justify-items:center;text-align:center}.forecastCardLoading{cursor:default}.loadingForecastHeader{gap:10px}.loadingForecastTitle{width:68%;height:16px}.loadingForecastCondition{width:82%;height:13px}.dailyForecastHint{display:flex;align-items:center;justify-content:flex-start;gap:10px;width:min(100%,860px);margin:2px auto 16px;max-width:860px;padding:0;border:0;background:transparent;color:var(--text-soft);text-align:left}.dailyForecastHint p{margin:0;line-height:1.45;font-weight:700;overflow-wrap:anywhere}.dailyForecastHintDot{width:9px;height:9px;flex:none;margin-top:2px;border-radius:var(--radius-circle);background:var(--good);box-shadow:var(--shadow-accent-hint);animation:hintPulse 1.8s ease-out infinite}.forecastGrid.forecastDayList{grid-template-columns:minmax(0,1fr);gap:12px;width:min(100%,860px);max-width:860px;margin:0 auto}.forecastDayCard{position:relative;min-height:auto;padding:18px 20px;text-align:left;border-radius:var(--radius-7xl);background:var(--surface-day-card-bg)}.forecastDayCard:after{content:"›";position:absolute;top:50%;right:16px;transform:translateY(-50%);color:var(--forecast-day-arrow);font-size:1.3rem;font-weight:800;pointer-events:none}.forecastDayMain{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-right:24px}.forecastDayLead,.forecastDayCopy,.forecastDayTemps{min-width:0}.forecastDayCopy{display:grid;gap:2px}.forecastDayLead{display:flex;align-items:center;gap:14px;flex:1 1 auto}.forecastDayIcon{flex:none;font-size:2rem;line-height:1}.forecastDayCard .forecastDayDate{display:block;color:var(--good);font-size:.98rem;font-weight:860;letter-spacing:-.01em;text-align:left}.forecastDayCard .forecastDayCondition{margin:4px 0 0;color:var(--text-soft);font-size:.92rem;line-height:1.35;font-weight:620}.forecastDayTemps{flex:0 0 auto;min-width:7rem;text-align:right}.forecastDayTemps span{display:block;margin:4px 0 0;color:var(--text-soft);font-size:.76rem;font-weight:720}.forecastDayCard .forecastDayTempValue{margin:0;color:var(--color-text-primary);font-size:1.04rem;font-weight:870;line-height:1.1;text-shadow:none}.forecastDayMeta{display:flex;flex-wrap:wrap;align-items:center;gap:8px 18px;margin-top:12px;padding-top:12px;padding-right:24px;border-top:1px solid var(--color-border-subtle)}.forecastDayMeta span{margin:0;color:var(--text-soft);font-size:.84rem;font-weight:730;white-space:nowrap}.modalPanel.dailyModalPanel{align-self:center;width:min(920px,100%);display:flex;flex-direction:column;overflow:hidden;padding:10px 18px calc(18px + var(--safe-bottom));max-height:min(calc(100vh - 28px),calc(100dvh - 28px));border-radius:var(--radius-modal)}.dailyModalTopBar{display:flex;align-items:center;justify-content:center;padding-bottom:10px}.modalClose.dailyModalClose{min-width:auto;min-height:44px;margin:0 auto;padding:10px 15px;background:var(--surface-action-bg)}.dailyModalBody{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding-right:4px}.dailyModalBody::-webkit-scrollbar{width:6px}.dailyModalBody::-webkit-scrollbar-thumb{background:var(--surface-scrollbar-thumb-bg);border-radius:var(--radius-pill)}.dailyModalHero{display:flex;align-items:center;gap:16px;padding-bottom:14px}.dailyModalHeroIcon{flex:none;font-size:clamp(2.5rem,7vw,3.6rem);line-height:1}.dailyModalHeroCopy{min-width:0}.dailyModalDate{margin:0 0 6px;color:var(--daily-modal-date-text);font-size:.86rem;font-weight:760;letter-spacing:.03em;text-transform:uppercase}.dailyModalHeroCopy h3{margin:0;color:var(--heading-primary-text, var(--color-text-primary));font-size:clamp(1.42rem,4vw,2rem);font-weight:860;line-height:1.12;text-shadow:var(--heading-primary-shadow, none)}.dailyModalMetrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 18px;padding:13px 0 16px;border-top:1px solid var(--color-border-subtle);border-bottom:1px solid var(--color-border-subtle)}.dailyModalMetric{min-width:0;display:grid;gap:4px}.dailyModalMetric span{color:var(--text-soft);font-size:.78rem;line-height:1.3;font-weight:760}.dailyModalMetric strong{color:var(--color-text-primary);font-size:1.02rem;line-height:1.25;letter-spacing:-.01em}.dailyModalScrollHint{margin:12px 0 10px;font-size:.85rem}.hourlyScroller.hourlyScrollerCompact{grid-auto-columns:minmax(216px,1fr);gap:10px;padding:2px 0 4px}.hourCard.hourCardCompact{min-height:auto;padding:14px 16px;border-radius:var(--radius-card);box-shadow:none;background:var(--surface-action-muted-bg)}.hourCardCompact.isCurrentHour{box-shadow:none}.hourCardCompact .hourCardTop{margin-bottom:10px}.hourCardCompact .hourCardTop strong{font-size:.95rem}.hourCardCompact .hourCondition{margin-top:0;color:var(--hour-card-compact-condition)!important;font-size:.9rem}.hourCardCompactMain{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.hourCompactTemp{margin:0!important;color:var(--color-text-primary);font-size:1.18rem!important;font-weight:870;line-height:1.05}.hourCardCompactMeta{display:flex;flex-wrap:wrap;gap:8px 14px;margin-top:10px;padding-top:10px;border-top:1px solid var(--color-border-subtle)}.hourCardCompactMeta span{margin-top:0!important;color:var(--text-soft);font-size:.82rem;font-weight:680}@media(pointer:fine){.hourlyScroller{cursor:grab}}.forecastCard strong{display:block;color:var(--color-accent);font-size:.98rem;font-weight:860;line-height:1.3;text-shadow:var(--forecast-title-shadow)}.forecastCard p{margin:6px 0 0;font-size:.95rem;line-height:1.45;overflow-wrap:anywhere}.forecastCondition{display:inline-flex;align-items:center;justify-content:center;gap:10px}.forecastConditionEmoji{flex:0 0 auto}.forecastStats,.forecastTemp,.modalMetaGrid{display:grid;gap:10px}.forecastStats{margin-top:12px}.forecastTemp{margin-top:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.forecastTemp+.forecastStats{margin-top:10px}.forecastTemp span,.forecastStats span{padding:10px 11px;border-radius:var(--radius-xl);background:var(--surface-subtle-bg);font-size:.91rem;font-weight:760;overflow-wrap:anywhere}.loadingForecastStat{width:100%;height:42px;padding:0!important}.loadingMetricCardInner{justify-content:flex-start;gap:10px}.loadingMetricChip{width:44%;height:14px}.loadingMetricValue{width:74%;height:36px;border-radius:var(--radius-2xl)}.loadingMetricDetail{width:92%;height:12px}.loadingMetricDetail.isShort{width:66%}.riskChip{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:8px 12px;border-radius:var(--radius-pill);font-size:.83rem;font-weight:900;white-space:nowrap}.risk-low{background:var(--accent-surface-strong-bg);color:var(--good)}.risk-medium{background:var(--warning-surface-badge-bg);color:var(--warn)}.risk-high{background:var(--danger-surface-badge-bg);color:var(--bad)}.footerBlock{padding:17px 17px 18px;margin-bottom:0}.footerStack{display:grid;gap:16px}.locationLine{margin:0;font-weight:800;overflow-wrap:anywhere}.dataSourceCard{display:grid;gap:14px}.dataSourceHeader{display:flex;align-items:center;justify-content:flex-start;gap:14px}.dataSourceHeader strong,.locationSummaryHeader strong{display:inline-flex;align-items:center;width:fit-content;padding:7px 11px;border-radius:var(--radius-pill);border:1px solid var(--color-border-accent);background:var(--accent-surface-bg);color:var(--good);letter-spacing:.04em;text-transform:uppercase;font-size:.75rem;line-height:1}.dataSourceText,.dataSourceNote{margin:0;max-width:66ch;overflow-wrap:anywhere}.dataSourceText{color:var(--color-text-primary);line-height:1.7;font-weight:500}.dataSourceNote{color:var(--text-soft);font-size:.9rem;line-height:1.6}.locationSummaryCard{display:grid;gap:16px}.locationImageCard{overflow:hidden;border-radius:var(--radius-5xl);border:1px solid var(--color-border-subtle);background:var(--surface-muted-bg)}.locationImageCardPhoto{display:block;width:100%;height:auto;aspect-ratio:16 / 10;object-fit:cover}.locationDeferredMediaFallback{display:grid;place-items:center;min-height:220px;padding:24px;border-radius:var(--radius-5xl);border:1px dashed var(--color-border-dashed);background:var(--location-deferred-bg);color:var(--text-soft);text-align:center;line-height:1.6}.locationSummaryContent{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px}.locationSummaryCity{display:grid;gap:6px}.locationSummaryCity h3{margin:0;color:var(--heading-primary-text, var(--color-text-primary));font-size:clamp(1.25rem,2.8vw,1.7rem);font-weight:860;line-height:1.1;text-shadow:var(--heading-primary-shadow, none)}.locationSummaryCity p{margin:0;color:var(--text-soft);max-width:58ch;font-size:.97rem;font-weight:500;line-height:1.68}.locationSummaryLink{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:6px 0;border:0;background:transparent;color:var(--color-link);font-weight:760;text-decoration:none;white-space:nowrap;transition:transform var(--duration-standard) var(--ease-standard),color var(--duration-standard) var(--ease-standard),opacity var(--duration-standard) var(--ease-standard)}.locationSummaryLink:hover{transform:translateY(-1px);color:var(--color-link-hover);opacity:var(--opacity-near-solid)}.locationSummaryFeatures{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px}.locationFeaturePill{display:inline-flex;align-items:center;min-height:40px;padding:9px 12px;border:1px solid var(--color-border-default);border-radius:var(--radius-pill);background:var(--surface-subtle-bg);color:var(--color-text-primary);font-weight:680}.locationPickerPanel{display:grid;gap:14px}.locationPickerHeader{display:grid;gap:12px}.locationPickerHeader strong{display:inline-flex;align-items:center;width:fit-content;padding:7px 11px;border-radius:var(--radius-pill);border:1px solid var(--color-border-accent);background:var(--accent-surface-bg);color:var(--good);letter-spacing:.04em;text-transform:uppercase;font-size:.75rem;line-height:1}.locationPickerHeader p,.locationEmptyState p{margin:10px 0 0;color:var(--text-soft);line-height:1.65}.locationPickerMeta{display:flex;flex-wrap:wrap;gap:8px}.activeLocationPill,.locationResetButton{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:9px 13px;border-radius:var(--radius-pill);border:1px solid var(--color-border-default);background:var(--surface-subtle-bg);color:var(--color-text-primary);font-weight:800}.locationResetButton{cursor:pointer;transition:transform var(--duration-slow) var(--ease-standard),border-color var(--duration-slow) var(--ease-standard),background var(--duration-slow) var(--ease-standard)}.locationResetButton:hover{transform:translateY(-1px);border-color:var(--color-border-accent);background:var(--surface-subtle-hover-bg)}.locationSearchShell{display:grid;gap:10px}.locationPickerCoverageText{margin:0;color:var(--text-soft);font-size:.93rem;line-height:1.6}.locationSearchInput{width:100%;min-height:54px;padding:14px 16px;border:1px solid var(--color-border-input);border-radius:var(--radius-2xl);background:var(--input-bg);color:var(--color-text-primary);font-size:1rem;outline:none;transition:border-color var(--duration-slow) var(--ease-standard),box-shadow var(--duration-slow) var(--ease-standard),background var(--duration-slow) var(--ease-standard)}.locationSearchInput::placeholder{color:var(--text-muted)}.locationSearchInput:focus{border-color:var(--color-border-accent-focus);box-shadow:var(--shadow-focus-ring);background:var(--input-focus-bg)}.locationSearchResults{display:grid;gap:8px}.locationSearchItem,.locationEmptyState{border:1px solid var(--color-border-subtle);border-radius:var(--radius-5xl);background:var(--surface-elevated-bg)}.locationSearchItem{width:100%;padding:13px 14px;text-align:left;cursor:pointer;transition:transform var(--duration-slow) var(--ease-standard),border-color var(--duration-slow) var(--ease-standard),background var(--duration-slow) var(--ease-standard),box-shadow var(--duration-slow) var(--ease-standard)}.locationSearchItem:hover,.locationSearchItem.isSelected{transform:translateY(-1px);border-color:var(--color-border-accent-active);background:var(--surface-elevated-hover-bg);box-shadow:var(--shadow-location-hover)}.locationSearchItem strong,.locationEmptyState strong{display:block;margin:0;color:var(--color-text-primary);font-size:.97rem}.locationSearchItem span{display:block;margin-top:8px;color:var(--text-soft);font-weight:700}.locationEmptyState{padding:16px}.footerNote{margin:auto 0 0;max-width:40rem;padding-top:28px;align-self:center;text-align:center;color:var(--text-soft);font-size:.94rem;line-height:1.68;letter-spacing:.01em}.pageNav{position:sticky;top:max(10px,var(--safe-top));z-index:var(--z-navigation);display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;margin:0 0 22px;padding:15px 18px;border:1px solid var(--border);border-radius:var(--radius-6xl);background:var(--nav-bg);box-shadow:var(--shadow-nav);overflow:hidden;isolation:isolate;backdrop-filter:blur(var(--blur-md));-webkit-backdrop-filter:blur(var(--blur-md));transition:opacity var(--duration-standard) var(--ease-emphasized),transform var(--duration-slow) var(--ease-emphasized),border-color var(--duration-standard) var(--ease-standard),background var(--duration-standard) var(--ease-standard)}.pageNav.isHidden{opacity:var(--opacity-hidden);transform:translateY(-20px);pointer-events:none}.pageNav.isCompact{background:var(--nav-compact-bg);border-color:var(--nav-compact-border);box-shadow:var(--shadow-nav-compact)}.pageNavBrand{display:flex;align-items:center;gap:12px;min-width:0}.pageNavBrandButton{align-items:center;padding:0;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer}.pageNavBrandMark{position:relative;display:inline-flex;flex:none;width:48px;height:48px;align-items:center;justify-content:center;border:1px solid var(--color-border-subtle);border-radius:var(--radius-xl);background:var(--nav-brand-mark-bg);box-shadow:var(--nav-brand-mark-shadow);overflow:hidden;transition:transform var(--duration-standard) var(--ease-standard),border-color var(--duration-standard) var(--ease-standard),box-shadow var(--duration-standard) var(--ease-standard)}.pageNavBrandMark:after{content:"";position:absolute;inset:-20%;background:var(--nav-brand-mark-glow);opacity:var(--opacity-glow);pointer-events:none}.pageNavBrandLogo{position:relative;z-index:var(--z-content);width:100%;height:100%;display:block;object-fit:cover}.pageNavBrandCopy{display:grid;gap:3px;min-width:0}.pageNavBrandButton:hover .pageNavEyebrow,.pageNavBrandButton:focus-visible .pageNavEyebrow{color:var(--color-accent-hover)}.pageNavBrandButton:hover .pageNavBrandMark,.pageNavBrandButton:focus-visible .pageNavBrandMark{border-color:var(--color-border-accent-subtle);transform:translateY(-1px);box-shadow:var(--nav-brand-mark-hover-shadow)}.pageNavBrandButton:focus-visible{outline:2px solid var(--nav-focus-outline);outline-offset:6px;border-radius:var(--radius-lg)}.pageNavBrand strong{font-size:1.02rem;letter-spacing:.01em;line-height:1.2;overflow-wrap:anywhere}.pageNavEyebrow{color:var(--good);font-size:.74rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase}.pageNavLinks{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.pageNavLink{min-height:44px;padding:9px 16px;border:1px solid var(--color-border-input);border-radius:var(--radius-pill);background:var(--surface-subtle-bg);color:var(--color-text-primary);cursor:pointer;font-size:.9rem;font-weight:720;line-height:1.2;letter-spacing:.01em;transition:transform var(--duration-standard) var(--ease-standard),border-color var(--duration-standard) var(--ease-standard),background var(--duration-standard) var(--ease-standard)}.pageNavLink:hover{transform:translateY(-1px);border-color:var(--nav-link-hover-border);background:var(--nav-link-hover-bg)}.pageNavLink.isActive{border-color:var(--nav-link-active-border);background:var(--nav-link-active-bg);box-shadow:var(--nav-link-active-shadow);color:var(--nav-link-active-text)}.themePreferenceControl{display:flex;align-items:center;gap:8px;min-height:44px;padding:4px;border:1px solid var(--color-border-input);border-radius:var(--radius-pill);background:var(--surface-subtle-bg);color:var(--color-text-primary)}.themePreferenceLabel{padding-left:10px;color:var(--color-text-muted);font-size:.76rem;font-weight:780;line-height:1}.themePreferenceOptions{display:flex;align-items:center;gap:3px}.themePreferenceOption{display:inline-flex;min-height:34px;align-items:center;padding:7px 10px;border:1px solid transparent;border-radius:var(--radius-pill);background:transparent;color:var(--color-text-soft);cursor:pointer;font-size:.82rem;font-weight:760;line-height:1;transition:color var(--duration-ui) var(--ease-standard),background var(--duration-ui) var(--ease-standard),border-color var(--duration-ui) var(--ease-standard),transform var(--duration-ui) var(--ease-standard)}.themePreferenceOption:hover{color:var(--color-text-primary);background:var(--nav-link-hover-bg);transform:translateY(-1px)}.themePreferenceOption:focus-visible{outline:2px solid var(--nav-focus-outline);outline-offset:2px}.themePreferenceOption.isActive{border-color:var(--nav-link-active-border);background:var(--nav-link-active-bg);color:var(--nav-link-active-text);box-shadow:var(--nav-link-active-shadow)}.navigationShell{display:contents}.mobileMoreScrim,.mobileNavigationDock{display:none}.standalonePanel{margin-top:0}.standalonePage{display:grid;gap:16px;margin-top:0}.standaloneLoadingText{margin:0;color:var(--text-soft);font-size:1rem;font-weight:650}.aboutCard{display:grid;gap:18px}.aboutHeader{margin-bottom:2px}.aboutIntro{display:grid;gap:12px;max-width:42rem}.aboutIntro h2{margin:0;color:var(--heading-primary-text, var(--color-text-primary));font-size:clamp(1.45rem,2.8vw,1.9rem);font-weight:860;letter-spacing:-.02em;text-shadow:var(--heading-primary-shadow, none)}.aboutIntro p{margin:0;max-width:34rem;color:var(--color-text-elevated);font-size:clamp(1rem,2.1vw,1.16rem);font-weight:630;line-height:1.6}.privacyCard{gap:20px}.aboutBody{display:grid;gap:12px;max-width:68ch}.privacyHeader{margin-bottom:2px}.privacyIntro{display:grid;gap:12px;max-width:42rem}.privacyIntro h2,.contactIntro h2{margin:0;color:var(--heading-primary-text, var(--color-text-primary));font-size:clamp(1.45rem,2.8vw,1.9rem);font-weight:860;letter-spacing:-.02em;text-shadow:var(--heading-primary-shadow, none)}.privacyIntro p{margin:0;max-width:34rem;color:var(--color-text-elevated);font-size:clamp(1rem,2.1vw,1.16rem);font-weight:630;line-height:1.6}.policySection{display:grid;gap:12px;max-width:72ch;padding:16px 18px;border:1px solid var(--color-border-subtle);border-radius:var(--radius-6xl);background:var(--surface-policy-bg)}.aboutBody p{margin:0;color:var(--text-soft);max-width:66ch;font-size:.98rem;font-weight:500;line-height:1.76;text-wrap:pretty}.aboutSocials{display:flex;flex-wrap:wrap;gap:12px;padding-top:4px}.aboutSocialLink{display:inline-flex;align-items:center;gap:12px;min-height:54px;padding:10px 14px;border:1px solid var(--color-border-default);border-radius:var(--radius-2xl);background:var(--surface-subtle-bg);color:var(--color-text-primary);font-weight:760;letter-spacing:.01em;text-decoration:none;transition:transform var(--duration-standard) var(--ease-standard),border-color var(--duration-standard) var(--ease-standard),background var(--duration-standard) var(--ease-standard)}.aboutSocialLink:hover{transform:translateY(-1px);border-color:var(--color-border-accent-hover);background:var(--accent-surface-bg)}.aboutSocialLink img{width:24px;height:24px;flex:0 0 auto}.policySection p{margin:0;color:var(--text-soft);font-size:.97rem;font-weight:500;line-height:1.74;text-wrap:pretty}.policyHeading{color:var(--color-text-primary)!important;font-size:1rem;font-weight:780;letter-spacing:.01em}.policyList{display:grid;gap:10px;margin:0;padding-left:24px;color:var(--text-soft);max-width:66ch;font-size:.97rem;font-weight:500;line-height:1.72}.policyList li::marker{color:var(--good)}.policyParagraph{max-width:66ch}.contactCard{gap:28px}.contactHeader{margin-bottom:2px}.contactIntro{display:grid;gap:14px;max-width:36rem}.contactIntro p{margin:0;color:var(--text-soft);max-width:36rem;font-size:.98rem;font-weight:500;line-height:1.72}.contactForm{display:grid;gap:20px}.contactField{display:grid;gap:12px}.contactLabel{color:var(--color-text-primary);font-size:.96rem;font-weight:760;letter-spacing:.01em}.contactInput{width:100%;min-height:58px;padding:17px 18px;border:1px solid var(--color-border-input);border-radius:var(--radius-card);background:var(--input-bg);color:var(--color-text-primary);font:inherit;line-height:1.6;outline:none;transition:border-color var(--duration-slow) var(--ease-standard),box-shadow var(--duration-slow) var(--ease-standard),background var(--duration-slow) var(--ease-standard)}.contactInput::placeholder{color:var(--text-muted)}.contactInput:focus{border-color:var(--color-border-accent-focus);box-shadow:var(--shadow-focus-ring);background:var(--input-focus-bg)}.contactTextarea{min-height:210px;resize:vertical}.contactActions{display:grid;gap:14px;padding-top:6px;justify-items:start}.contactPageMail{margin:18px 0 0;text-align:center;color:var(--text-soft);font-size:.98rem;font-weight:760;letter-spacing:.01em}.contactSubmitButton{display:inline-flex;align-items:center;justify-content:center;width:100%;min-height:54px;padding:14px 18px;border:1px solid var(--contact-submit-border);border-radius:var(--radius-card);background:var(--contact-submit-bg);color:var(--color-text-primary);cursor:pointer;font-size:.95rem;font-weight:720;letter-spacing:.01em;transition:transform var(--duration-standard) var(--ease-standard),border-color var(--duration-standard) var(--ease-standard),background var(--duration-standard) var(--ease-standard)}.contactSubmitButton:hover{transform:translateY(-1px);border-color:var(--contact-submit-hover-border);background:var(--contact-submit-hover-bg)}.modalRoot{position:fixed;inset:0;z-index:var(--z-modal);display:flex;align-items:flex-start;justify-content:center;min-height:100vh;min-height:100dvh;padding:calc(var(--safe-top) + 10px) 10px calc(18px + var(--safe-bottom));overflow:hidden}.modalBackdrop{position:fixed;inset:0;border:0;background:var(--modal-backdrop-bg);backdrop-filter:blur(var(--blur-lg));-webkit-backdrop-filter:blur(var(--blur-lg));transition:opacity var(--duration-slow) var(--ease-standard)}.modalPanel{width:min(820px,100%);margin:0;padding:20px 18px calc(18px + var(--safe-bottom));max-height:min(calc(100vh - 22px),calc(100dvh - 22px));overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y pinch-zoom;box-shadow:var(--shadow-modal);background:var(--modal-panel-bg);animation:modalDrop var(--duration-drop) var(--ease-out) both;transition:transform var(--duration-modal) var(--ease-emphasized)}.modalPanel::-webkit-scrollbar{width:8px}.modalPanel::-webkit-scrollbar-thumb{background:var(--surface-scrollbar-thumb-bg);border-radius:var(--radius-pill)}.modalClose{display:flex;align-items:center;justify-content:center;margin:0 auto 18px;min-width:140px;padding:11px 16px;border:1px solid var(--color-border-default);border-radius:var(--radius-pill);background:var(--surface-action-bg);color:var(--color-text-primary);transition:transform var(--duration-slow) var(--ease-standard),border-color var(--duration-slow) var(--ease-standard),background var(--duration-slow) var(--ease-standard)}.modalClose:hover{transform:translateY(-1px);border-color:var(--color-border-accent);background:var(--surface-action-hover-bg)}.modalHeader{margin-bottom:16px}.modalDescription{margin:8px 0 0}.modalMetaGrid{grid-template-columns:repeat(1,minmax(0,1fr));margin-bottom:2px}.modalMetaCard{padding:15px;min-width:0}.modalMetaCard strong{display:block;margin-top:10px;font-size:1.22rem;letter-spacing:-.03em}.icon{width:18px;height:18px;flex:none}.revealSection{opacity:0;transform:translateY(20px);transition:opacity var(--duration-reveal) var(--ease-emphasized),transform var(--duration-reveal) var(--ease-emphasized)}.revealSection.isVisible{opacity:1;transform:translateY(0)}.revealItemScroll{opacity:0;transform:translateY(18px);transition:opacity var(--duration-reveal-item) var(--ease-emphasized),transform var(--duration-reveal-item) var(--ease-emphasized);transition-delay:var(--stagger-delay, 0ms)}.revealItemScroll.isVisible{opacity:1;transform:translateY(0)}.revealItemScroll>*{height:100%}@keyframes fadeSlideUp{0%{opacity:var(--opacity-hidden);transform:translateY(16px)}to{opacity:var(--opacity-visible);transform:translateY(0)}}@keyframes rainDrop{0%{opacity:var(--opacity-hidden);transform:translateY(-8px) scale(.92)}25%{opacity:var(--opacity-visible)}to{opacity:var(--opacity-hidden);transform:translateY(16px) scale(1.02)}}@keyframes blinkArrow{0%,to{opacity:var(--opacity-loading);transform:translate(0)}50%{opacity:var(--opacity-visible);transform:translate(6px)}}@keyframes hintPulse{0%{box-shadow:var(--shadow-hint-pulse-start);transform:scale(.95)}70%{box-shadow:var(--shadow-hint-pulse-end);transform:scale(1)}to{box-shadow:var(--shadow-status-pulse-start);transform:scale(.95)}}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}@keyframes nudgeX{0%,to{transform:translate(0)}50%{transform:translate(6px)}}@keyframes modalDrop{0%{opacity:var(--opacity-hidden);transform:translateY(18px)}to{opacity:var(--opacity-visible);transform:translateY(0)}}@keyframes statusPulse{0%,to{transform:scale(1);box-shadow:var(--shadow-status-pulse-start)}50%{transform:scale(1.02);box-shadow:var(--shadow-status-pulse-mid)}}@keyframes skeletonSweep{0%{transform:translate(-100%)}to{transform:translate(100%)}}@keyframes themeViewOld{0%{opacity:1}to{opacity:.16}}@keyframes themeViewNew{0%{opacity:0}to{opacity:1}}@keyframes themeFallbackFade{0%{opacity:0}45%{opacity:1}to{opacity:0}}@media(min-width:640px){.app{padding:calc(var(--safe-top) + 8px) 20px 46px}.pageNav{padding:16px 18px;border-radius:var(--radius-9xl)}.hero,.card,.footerBlock,.modalPanel{border-radius:var(--radius-panel-wide)}.hero{padding:24px 24px 26px}.metricGrid,.supportGrid,.modalMetaGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.metricSection .metricGrid{grid-template-columns:minmax(0,1fr)}.forecastGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.forecastGrid.forecastDayList{grid-template-columns:minmax(0,1fr)}}@media(min-width:880px){.app{padding:calc(var(--safe-top) + 8px) 24px 52px}.hero{padding:26px 28px 28px}.card,.footerBlock{padding:24px}.metricGrid{grid-template-columns:repeat(3,minmax(0,1fr))}.metricSection .metricGrid{grid-template-columns:minmax(0,1fr)}.supportGrid,.forecastGrid{grid-template-columns:repeat(3,minmax(0,1fr))}.forecastGrid.forecastDayList{max-width:900px}.locationPickerHeader{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);align-items:start}.locationPickerMeta{justify-content:flex-end}}@media(min-width:1120px){.forecastGrid{grid-template-columns:repeat(12,minmax(0,1fr))}.forecastGrid>.revealItemScroll{grid-column:span 3}.forecastGrid>.revealItemScroll:nth-child(5){grid-column:2 / span 3}.forecastGrid>.revealItemScroll:nth-child(6){grid-column:5 / span 3}.forecastGrid>.revealItemScroll:nth-child(7){grid-column:8 / span 3}.forecastGrid.forecastDayList{grid-template-columns:minmax(0,1fr)}.forecastGrid.forecastDayList>.revealItemScroll,.forecastGrid.forecastDayList>.revealItemScroll:nth-child(5),.forecastGrid.forecastDayList>.revealItemScroll:nth-child(6),.forecastGrid.forecastDayList>.revealItemScroll:nth-child(7){grid-column:auto}}@media(max-width:820px){.heroHeader,.sectionHeader,.forecastCardHeader,.modalHeader{flex-direction:column}.sectionSubtitle{text-align:left}.summaryBand{flex-direction:column;align-items:flex-start}.hourlySummaryBand{display:block}.summaryValue{font-size:clamp(2rem,11vw,3.2rem)}}@media(max-width:560px){body:after{opacity:var(--opacity-pattern-mobile);background-size:560px 560px;background-position:center 32px}.app{padding-inline:14px;padding-top:calc(var(--safe-top) + 10px);padding-bottom:calc(112px + var(--safe-bottom))}.mobileMoreScrim{position:fixed;inset:0;z-index:var(--z-scrim);display:block;padding:0;border:0;background:var(--mobile-scrim-bg);opacity:var(--opacity-hidden);pointer-events:none;transition:opacity var(--duration-ui) var(--ease-standard)}.mobileMoreScrim.isVisible{opacity:var(--opacity-visible);pointer-events:auto}.mobileNavigationDock{position:fixed;right:12px;bottom:calc(10px + var(--safe-bottom));left:12px;z-index:var(--z-mobile-navigation);display:grid;gap:8px;pointer-events:none}.mobileBottomNav{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;width:min(306px,100%);min-height:58px;margin:0 auto;padding:7px;border:1px solid var(--bottom-nav-border);border-radius:var(--radius-6xl);background:var(--bottom-nav-bg);background-clip:padding-box;box-shadow:var(--bottom-nav-shadow);overflow:hidden;pointer-events:auto;touch-action:none;-webkit-user-select:none;user-select:none}.mobileBottomNav:before{content:"";position:absolute;top:7px;bottom:7px;left:7px;width:calc((100% - 26px) / 3);border:1px solid var(--bottom-nav-indicator-border);border-radius:var(--radius-2xl);background:var(--bottom-nav-indicator-bg);background-clip:padding-box;box-shadow:var(--bottom-nav-indicator-shadow);opacity:var(--opacity-hidden);pointer-events:none;transform:translate(calc(var(--mobile-liquid-offset, 0%) + var(--mobile-liquid-gap-offset, 0px))) scale(.9);transition:opacity var(--duration-quick) var(--ease-standard),transform var(--duration-control) var(--ease-emphasized)}.mobileBottomNav.isTouchSelecting:before{opacity:var(--opacity-visible);transform:translate(calc(var(--mobile-liquid-offset, 0%) + var(--mobile-liquid-gap-offset, 0px))) scale(1)}.mobileBottomNavItem{position:relative;z-index:var(--z-content);display:grid;min-width:0;min-height:44px;place-items:center;padding:8px 4px;border:1px solid transparent;border-radius:var(--radius-2xl);background:transparent;color:var(--bottom-nav-item-text);cursor:pointer;font-size:.68rem;font-weight:760;line-height:1.05;text-align:center;transition:color var(--duration-ui) var(--ease-standard),background var(--duration-ui) var(--ease-standard),border-color var(--duration-ui) var(--ease-standard),transform var(--duration-ui) var(--ease-standard)}.mobileBottomNavItem .icon{width:25px;height:25px;stroke-width:1.95;transition:transform var(--duration-ui) var(--ease-standard),stroke-width var(--duration-ui) var(--ease-standard)}.mobileBottomNavItem:active{transform:translateY(1px)}.mobileBottomNavItem.isActive{border-color:var(--color-border-accent);background:var(--bottom-nav-item-active-bg);background-clip:padding-box;color:var(--bottom-nav-item-active-text);box-shadow:var(--bottom-nav-item-active-shadow)}.mobileBottomNavItem.isGestureTarget{color:var(--color-ink-100);transform:translateY(-1px)}.mobileBottomNavItem.isActive .icon,.mobileBottomNavItem.isGestureTarget .icon,.mobileBottomMoreButton.isOpen .icon{stroke-width:2.08;transform:scale(1.08)}.mobileBottomMoreButton.isOpen{border-color:var(--bottom-nav-more-border);background:var(--bottom-nav-more-bg)}.mobileMoreMenu{display:grid;width:min(300px,calc(100% - 18px));margin:0 auto;padding:8px;border:1px solid var(--mobile-more-menu-border);border-radius:var(--radius-5xl);background:var(--mobile-more-menu-bg);box-shadow:var(--mobile-more-menu-shadow);opacity:var(--opacity-hidden);pointer-events:none;transform:translateY(10px) scale(.98);transform-origin:bottom center;transition:opacity var(--duration-ui) var(--ease-standard),transform var(--duration-standard) var(--ease-emphasized)}.mobileMoreMenu.isOpen{opacity:var(--opacity-visible);pointer-events:auto;transform:translateY(0) scale(1)}.mobileMoreMenuItem{display:flex;min-height:48px;align-items:center;gap:11px;padding:9px 10px;border:1px solid transparent;border-radius:var(--radius-xl);background:transparent;color:var(--mobile-more-menu-item-text);cursor:pointer;font-size:.94rem;font-weight:740;line-height:1.2;text-align:left;transition:color var(--duration-ui) var(--ease-standard),background var(--duration-ui) var(--ease-standard),border-color var(--duration-ui) var(--ease-standard)}.mobileMoreMenuIcon{display:inline-flex;flex:0 0 auto;width:34px;height:34px;align-items:center;justify-content:center;border-radius:var(--radius-md);background:var(--surface-action-strong-bg);color:var(--mobile-more-menu-icon-text)}.mobileMoreMenuIcon .icon{width:19px;height:19px}.mobileMoreMenuItem.isActive{border-color:var(--mobile-more-menu-active-border);background:var(--mobile-more-menu-active-bg);color:var(--color-ink-200)}.themePreferenceControl-mobile{display:grid;gap:8px;min-height:0;margin-top:4px;padding:10px;border-color:var(--mobile-more-menu-active-border);border-radius:var(--radius-2xl);background:var(--surface-subtle-bg)}.themePreferenceControl-mobile .themePreferenceLabel{padding-left:2px;color:var(--color-text-muted);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase}.themePreferenceControl-mobile .themePreferenceOptions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.themePreferenceControl-mobile .themePreferenceOption{justify-content:center;min-height:42px;padding:8px 9px;color:var(--mobile-more-menu-item-text)}.themePreferenceControl-mobile .themePreferenceOption.isActive{border-color:var(--mobile-more-menu-active-border);background:var(--mobile-more-menu-active-bg);color:var(--color-text-primary)}.mobileNavigationDockIos{right:14px;bottom:calc(18px + var(--safe-bottom));left:14px;gap:7px}.mobileMoreScrimIos{background:var(--mobile-ios-scrim-bg)}.iosLiquidGlassDock{gap:9px}.iosLiquidGlassNav{position:relative;width:min(294px,100%);min-height:62px;margin:0 auto;padding:7px;border:0;border-radius:var(--radius-8xl);isolation:isolate;overflow:visible;pointer-events:auto;touch-action:none;-webkit-user-select:none;user-select:none}.iosLiquidGlassTray{position:absolute;inset:0;z-index:var(--z-background);border-radius:inherit;overflow:hidden;pointer-events:none}.iosLiquidGlassTraySurface{position:absolute;inset:0;border:1px solid var(--ios-liquid-tray-border);border-radius:inherit;background:var(--ios-liquid-tray-bg);box-shadow:var(--ios-liquid-tray-shadow);-webkit-backdrop-filter:saturate(1.45) blur(var(--ios-liquid-blur));backdrop-filter:saturate(1.45) blur(var(--ios-liquid-blur));transition:background var(--ios-liquid-touch-spring),box-shadow var(--ios-liquid-spring)}.iosLiquidGlassTrayRim{position:absolute;inset:1px;border-radius:var(--radius-7xl);background:var(--ios-liquid-tray-rim-bg);opacity:var(--opacity-rim);mix-blend-mode:screen}.iosLiquidGlassLens{position:absolute;top:6px;bottom:6px;left:0;z-index:var(--z-raised);width:var(--ios-liquid-lens-width);border:1px solid var(--ios-liquid-lens-border);border-radius:var(--radius-4xl);background:var(--ios-liquid-lens-bg);box-shadow:var(--ios-liquid-lens-shadow);overflow:hidden;pointer-events:none;transform:translate3d(var(--ios-liquid-lens-x),0,0) scale(1);transform-origin:center;-webkit-backdrop-filter:saturate(1.85) contrast(1.06) brightness(1.05) blur(var(--ios-liquid-lens-blur));backdrop-filter:saturate(1.85) contrast(1.06) brightness(1.05) blur(var(--ios-liquid-lens-blur));transition:transform var(--ios-liquid-spring),width var(--ios-liquid-spring),border-color var(--duration-slow) var(--ease-standard),box-shadow var(--ios-liquid-spring),background var(--duration-slow) var(--ease-standard);will-change:transform,width}.iosLiquidGlassNav.isPressed .iosLiquidGlassLens{border-color:var(--ios-liquid-lens-border);background:var(--ios-liquid-lens-pressed-bg);box-shadow:var(--ios-liquid-lens-pressed-shadow);transform:translate3d(var(--ios-liquid-lens-x),0,0) scale(var(--ios-liquid-lens-scale))}.iosLiquidGlassNav.isDragging .iosLiquidGlassLens{transition:transform var(--ios-liquid-touch-spring),width var(--ios-liquid-touch-spring),border-color var(--duration-standard) var(--ease-standard),box-shadow var(--ios-liquid-touch-spring),background var(--duration-standard) var(--ease-standard)}.iosLiquidGlassLensRefraction,.iosLiquidGlassLensCaustic,.iosLiquidGlassLensSpecular{position:absolute;inset:0;border-radius:inherit;pointer-events:none}.iosLiquidGlassLensRefraction{inset:-7px;background:var(--ios-liquid-refraction-bg);opacity:var(--opacity-refraction);transform:translate(var(--ios-liquid-refraction-shift)) scale(1.025);-webkit-backdrop-filter:saturate(1.35) blur(calc(var(--ios-liquid-lens-blur) * .45));backdrop-filter:saturate(1.35) blur(calc(var(--ios-liquid-lens-blur) * .45));-webkit-mask-image:var(--ios-liquid-refraction-mask);mask-image:var(--ios-liquid-refraction-mask);transition:transform var(--ios-liquid-touch-spring),opacity var(--duration-standard) var(--ease-standard)}.iosLiquidGlassLensCaustic{background:var(--ios-liquid-caustic-bg);opacity:var(--opacity-half);mix-blend-mode:screen}.iosLiquidGlassLensSpecular{background:var(--ios-liquid-specular-bg);opacity:calc(var(--ios-liquid-highlight-intensity) * .82);transition:background var(--ios-liquid-touch-spring),opacity var(--duration-ui) var(--ease-standard)}.iosLiquidGlassNav.isPressed .iosLiquidGlassLensSpecular{opacity:var(--opacity-pressed)}.iosLiquidGlassContentLayer{position:relative;z-index:var(--z-overlay-content);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.iosLiquidGlassNavItem{position:relative;display:grid;min-width:0;min-height:48px;place-items:center;padding:10px 5px;border:0;border-radius:var(--radius-card);background:transparent;color:var(--color-text-ios-nav);cursor:pointer;font-size:.68rem;font-weight:760;line-height:1.05;text-align:center;text-shadow:var(--ios-liquid-nav-text-shadow);transition:color var(--ios-liquid-spring),opacity var(--duration-standard) var(--ease-standard),transform var(--ios-liquid-spring)}.iosLiquidGlassNavItem .icon{width:25px;height:25px;stroke-width:1.95;transition:transform var(--ios-liquid-spring),stroke-width var(--ios-liquid-spring)}.iosLiquidGlassNavItem.isActive,.iosLiquidGlassNavItem.isOpen,.iosLiquidGlassNavItem.isLensTarget{color:var(--ios-liquid-nav-text-active)}.iosLiquidGlassNavItem.isLensTarget{transform:translateY(-1px)}.iosLiquidGlassNav.isPressed .iosLiquidGlassNavItem.isLensTarget,.iosLiquidGlassNavItem.isGestureTarget{transform:translateY(-1px) scale(1.04)}.iosLiquidGlassNavItem.isLensTarget .icon,.iosLiquidGlassNavItem.isGestureTarget .icon{stroke-width:2.08;transform:scale(1.14)}@supports (-webkit-touch-callout: none){html[data-theme=acik] .iosLiquidGlassTraySurface,html[data-theme=acik] .iosLiquidGlassLens,html[data-theme=acik] .mobileBottomNavIos,html[data-theme=acik] .mobileBottomNavIos:before,html[data-theme=acik] .mobileNavigationDockIos .mobileMoreMenu{background-clip:padding-box;-webkit-mask-image:-webkit-radial-gradient(white,black)}html[data-theme=acik] .iosLiquidGlassTraySurface{clip-path:inset(0 round var(--radius-8xl))}html[data-theme=acik] .iosLiquidGlassLens{clip-path:inset(0 round var(--radius-4xl))}html[data-theme=acik] .mobileBottomNavIos,html[data-theme=acik] .mobileNavigationDockIos .mobileMoreMenu{overflow:hidden;isolation:isolate}html[data-theme=acik] .iosLiquidGlassTrayRim,html[data-theme=acik] .iosLiquidGlassLensCaustic{mix-blend-mode:normal}}.mobileBottomNavIos{gap:5px;width:min(360px,100%);min-height:58px;padding:5px;border-color:var(--ios-bottom-nav-border);border-radius:var(--radius-5xl);background:var(--ios-bottom-nav-bg);box-shadow:var(--ios-bottom-nav-shadow);-webkit-backdrop-filter:saturate(1.55) blur(22px);backdrop-filter:saturate(1.55) blur(22px)}.mobileBottomNavIos:after{content:"";position:absolute;inset:1px;border-radius:var(--radius-4xl);background:var(--ios-bottom-nav-rim-bg);opacity:var(--opacity-soft-bg);pointer-events:none}.mobileBottomNavIos:before{z-index:var(--z-content);top:5px;bottom:5px;left:5px;width:calc((100% - 20px) / 3);border-color:var(--ios-bottom-nav-indicator-border);border-radius:var(--radius-2xl);background:var(--ios-bottom-nav-indicator-bg);box-shadow:var(--ios-bottom-nav-indicator-shadow);opacity:var(--opacity-visible);transform:translate(calc(var(--mobile-liquid-offset, 0%) + var(--mobile-liquid-gap-offset, 0px))) scale(1);-webkit-backdrop-filter:saturate(1.75) blur(16px);backdrop-filter:saturate(1.75) blur(16px);transition:transform var(--duration-liquid) var(--ease-ios-nav),box-shadow var(--duration-medium) var(--ease-standard),opacity var(--duration-ui) var(--ease-standard)}.mobileBottomNavIos .mobileBottomNavItem{z-index:var(--z-raised);min-height:48px;border-radius:var(--radius-17);color:var(--color-text-ios-nav-muted);text-shadow:var(--ios-liquid-nav-text-shadow-soft);transition:color var(--duration-medium) var(--ease-standard),opacity var(--duration-medium) var(--ease-standard),transform var(--duration-modal) var(--ease-ios-item)}.mobileBottomNavIos .mobileBottomNavItem .icon{transition:transform var(--duration-modal) var(--ease-ios-item)}.mobileBottomNavIos .mobileBottomNavItem span{opacity:var(--opacity-label);transition:opacity var(--duration-medium) var(--ease-standard),color var(--duration-medium) var(--ease-standard)}.mobileBottomNavIos .mobileBottomNavItem.isActive,.mobileBottomNavIos .mobileBottomMoreButton.isOpen{border-color:transparent;background:var(--ios-bottom-nav-item-active-bg);box-shadow:none;color:var(--color-ink-100)}.mobileBottomNavIos .mobileBottomNavItem.isActive .icon,.mobileBottomNavIos .mobileBottomMoreButton.isOpen .icon,.mobileBottomNavIos .mobileBottomNavItem.isGestureTarget .icon{transform:scale(1.09)}.mobileBottomNavIos .mobileBottomNavItem.isActive span,.mobileBottomNavIos .mobileBottomMoreButton.isOpen span,.mobileBottomNavIos .mobileBottomNavItem.isGestureTarget span{opacity:var(--opacity-visible)}.mobileBottomNavIos .mobileBottomNavItem.isGestureTarget{color:var(--color-ink-100);transform:translateY(-1px) scale(1.02)}.mobileNavigationDockIos .mobileMoreMenu{width:min(286px,calc(100% - 22px));border-color:var(--ios-bottom-nav-border);background:var(--ios-more-menu-bg);box-shadow:var(--ios-more-menu-shadow);-webkit-backdrop-filter:saturate(1.45) blur(20px);backdrop-filter:saturate(1.45) blur(20px)}.hero,.footerBlock{position:relative;z-index:var(--z-content)}.card,.footerBlock{padding:18px 16px 17px}.standalonePage{position:relative;z-index:var(--z-content)}.standalonePanel{margin-top:0}.contactPageMail,.footerNote{position:relative;z-index:var(--z-content)}.hero{margin-top:0;padding:22px 17px 19px}.heroKicker{font-size:clamp(1.82rem,10vw,2.5rem)}.heroLocationLine{padding:10px 14px;border-radius:var(--radius-card)}.notificationActionRow{width:100%}.notificationButton{flex:1 1 100%;max-width:100%}.heroDescription{font-size:clamp(.98rem,3.7vw,1.14rem);line-height:1.58}.heroTime{display:inline-flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px;font-size:.9rem;color:var(--color-text-mobile-muted)}.heroFreshnessNote{display:inline-flex;align-items:center;gap:8px;padding:5px 10px;border-radius:var(--radius-pill);font-size:.72rem;font-weight:780;letter-spacing:.03em;white-space:nowrap;border:1px solid var(--color-border-on-glass);background:var(--surface-subtle-bg);color:var(--color-text-neutral)}.heroDecision{margin-top:10px}.heroFreshnessNote.status-loading{color:var(--color-ink-400)}.heroFreshnessNote.status-success{color:var(--good);animation:statusPulse 2.2s ease-in-out infinite}.heroFreshnessNote.status-success .heroFreshnessDot{box-shadow:var(--shadow-accent-pulse-mobile)}.heroFreshnessNote.status-error{color:var(--warn)}.heroFreshnessNote.status-neutral{color:var(--color-text-neutral)}.heroMetaRow .statusPill{display:none}.footerStack,.standalonePage{display:grid;gap:16px}.footerBlock{scroll-margin-top:34px}.hero,.standalonePanel{scroll-margin-top:28px}.heroWeatherSnapshot{margin-top:14px;padding:13px;border-radius:var(--radius-card)}.heroWeatherSnapshotTemp{font-size:clamp(2.35rem,13vw,3.45rem);line-height:.96}.heroRainProbability{gap:8px;margin-top:12px;padding-top:11px}.heroRainProbabilityHeader strong{font-size:1rem}.sectionHeader{margin-bottom:14px;gap:10px}.mobileCenteredWeatherSection .sectionHeader,.metricSection.mobileCenteredWeatherSection .sectionHeader{align-items:center;justify-content:center;text-align:center}.mobileCenteredWeatherSection .sectionHeader>div,.metricSection.mobileCenteredWeatherSection .sectionHeader>div{justify-items:center;width:100%}.sectionHeader h2,.modalHeader h3{font-size:clamp(1.34rem,6vw,1.78rem)}.mobileCenteredWeatherSection .sectionHeader h2,.metricSection.mobileCenteredWeatherSection .sectionHeader h2{justify-content:center;text-align:center}.metricSection .sectionHeader{margin-bottom:12px}.metricSection .sectionHeader h2{font-size:clamp(1.34rem,6vw,1.78rem)}.metricSection .sectionSubtitle{margin-top:6px;padding:5px 10px;font-size:.76rem}.metricSection .sectionEyebrow{margin-bottom:5px;padding:5px 9px;font-size:.62rem}.sectionSubtitle{margin-top:2px;font-size:.9rem}.mobileCenteredWeatherSection .sectionSubtitle,.metricSection.mobileCenteredWeatherSection .sectionSubtitle{max-width:100%;justify-self:center;text-align:center}.metricGrid,.supportGrid,.forecastGrid{gap:10px}.summaryBand{gap:12px;padding:15px}.hourlySummaryBand{padding:14px 15px;border-radius:var(--radius-5xl)}.hourlySummaryContent{gap:7px}.hourlySummaryTitle{gap:8px;font-size:clamp(.98rem,4.8vw,1.14rem);line-height:1.22}.hourlyCurrentTemp{min-height:29px;padding:5px 9px;font-size:.84rem}.hourlySummaryBand p{font-size:.82rem;line-height:1.38}.summaryValue{font-size:clamp(1.85rem,10vw,2.8rem)}.metricCard{min-height:172px}.metricCardInner{gap:10px;padding:13px}.metricLabel{font-size:.86rem}.metricValue{font-size:clamp(1.64rem,7.2vw,2.32rem)}.metricValueSplit{gap:10px}.metricValueSplit span,.metricStatusBadge{font-size:.68rem}.metricStatusBadge{min-height:34px;padding:8px 12px}.metricValueInline{font-size:clamp(1.54rem,6.4vw,2.16rem)}.metricNextRainLabel{font-size:clamp(1.06rem,4.6vw,1.52rem)}.metricValueNextRain{font-size:clamp(1.54rem,6.4vw,2.08rem)}.metricDetail{min-height:calc(1.4em * 3);font-size:.81rem;line-height:1.4}.metricSection .metricCard{height:128px;min-height:128px;border-radius:var(--radius-5xl)}.metricSection .metricCardInner{grid-template-columns:minmax(0,1fr) minmax(6.8rem,auto);grid-template-rows:minmax(2.75rem,auto) auto;gap:10px 12px;padding:14px 15px;border-radius:var(--radius-5xl)}.metricSection .metricCardBody{max-width:9rem}.metricSection .metricValue{font-size:clamp(1.2rem,5vw,1.54rem);line-height:1.06;letter-spacing:-.01em}.metricSection .metricValueSplit{gap:8px}.metricSection .metricValueSplit span{font-size:.62rem;line-height:1.15}.metricSection .metricValueInline{font-size:clamp(1.1rem,4.6vw,1.42rem)}.metricSection .metricStatusBadge{min-height:32px;padding:7px 10px;font-size:.72rem}.metricSection .metricNextRainLabel{font-size:clamp(.88rem,3.8vw,1.1rem)}.metricSection .metricValueNextRain{font-size:clamp(1.16rem,4.8vw,1.46rem)}.metricSection .metricDetail{min-height:calc(2.76em + 10px);padding-top:10px;font-size:.79rem;line-height:1.38}.hourlyScroller{grid-auto-columns:minmax(160px,1fr);gap:9px}.hourCard{padding:13px}.forecastStats{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.forecastStats span:last-child{grid-column:1 / -1}.dailyForecastHint{margin:0 0 12px;gap:9px}.dailyForecastHint p{font-size:.9rem}.forecastDayCard{padding:14px 15px;border-radius:var(--radius-5xl)}.forecastDayCard:after{right:14px}.forecastDayMain{align-items:flex-start;gap:12px;padding-right:18px}.forecastDayLead{gap:12px}.forecastDayIcon{font-size:1.78rem}.forecastDayCard .forecastDayDate{font-size:.92rem}.forecastDayCard .forecastDayCondition{font-size:.86rem}.forecastDayCard .forecastDayTempValue{font-size:.96rem}.forecastDayTemps span,.forecastDayMeta span{font-size:.79rem}.forecastDayMeta{gap:7px 12px;margin-top:10px;padding-top:10px;padding-right:18px}.footerNote{max-width:22rem;padding-top:20px;font-size:.9rem;line-height:1.6;letter-spacing:0}.modalRoot{align-items:flex-end;padding:max(8px,calc(var(--safe-top) + 6px)) 8px calc(8px + var(--safe-bottom))}.modalPanel{width:100%;margin-top:auto;padding:16px 15px calc(16px + var(--safe-bottom));max-height:min(85dvh,calc(100dvh - var(--safe-top) - 8px));border-radius:var(--radius-9xl) 28px 22px 22px}.modalClose{position:sticky;top:0;z-index:var(--z-raised);margin:0 0 14px auto;min-width:auto;padding:10px 14px;border-radius:var(--radius-lg);background:var(--modal-close-mobile-bg);backdrop-filter:blur(var(--blur-lg));-webkit-backdrop-filter:blur(var(--blur-lg))}.modalPanel.dailyModalPanel{align-self:flex-end;width:100%;padding:8px 12px calc(12px + var(--safe-bottom));max-height:min(84dvh,calc(100dvh - var(--safe-top) - 8px));border-radius:var(--radius-7xl) 26px 20px 20px}.modalClose.dailyModalClose{position:static;margin:0 auto;padding:9px 13px;border-radius:var(--radius-md);background:var(--surface-action-bg);backdrop-filter:blur(var(--blur-lg));-webkit-backdrop-filter:blur(var(--blur-lg))}.modalHeader{margin-bottom:14px}.modalMetaGrid{gap:8px}.modalMetaCard{padding:13px}.modalMetaCard strong{margin-top:8px;font-size:1.08rem}.dailyModalTopBar{padding-bottom:8px}.dailyModalHero{align-items:center;gap:12px;padding-bottom:12px}.dailyModalHeroIcon{font-size:2.35rem}.dailyModalDate{font-size:.79rem}.dailyModalHeroCopy h3{font-size:1.42rem;line-height:1.14}.dailyModalMetrics{gap:10px 14px;padding:11px 0 14px}.dailyModalMetric span{font-size:.73rem}.dailyModalMetric strong{font-size:.92rem}.dailyModalScrollHint{margin:8px 0 6px;font-size:.79rem}.hourlyScroller.hourlyScrollerCompact{grid-auto-columns:minmax(184px,1fr);gap:7px}.hourCard.hourCardCompact{padding:12px 13px;border-radius:var(--radius-2xl)}.hourCardCompact .hourCondition{font-size:.84rem}.hourCompactTemp{font-size:1.04rem!important}.hourCardCompactMeta{gap:7px 12px}.hourCardCompactMeta span{font-size:.78rem}.locationPickerPanel{gap:12px}.locationPickerHeader{gap:10px}.activeLocationPill{min-height:38px;padding:8px 12px;font-size:.9rem}.locationSearchInput{min-height:52px;padding:13px 15px}.locationSearchItem{padding:12px 13px}.locationEmptyState{padding:15px}}@media(min-width:390px)and (max-width:560px){.metricGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.metricSection .metricGrid{grid-template-columns:minmax(0,1fr)}}@media(max-width:768px)and (pointer:coarse)and (hover:none){@supports not (-webkit-touch-callout: none){.pageNav{box-shadow:var(--nav-coarse-shadow);backdrop-filter:var(--blur-none);-webkit-backdrop-filter:var(--blur-none);background:var(--nav-coarse-bg);contain:paint}.pageNavLinks{filter:none;transition:opacity var(--duration-fast) var(--ease-standard),transform var(--duration-fast) var(--ease-standard)}.hero,.card,.footerBlock,.modalPanel{box-shadow:var(--shadow-mobile-panel)}.mainButton{box-shadow:var(--button-primary-coarse-shadow)}.summaryBand,.hourCard.isCurrentHour,.locationSearchItem:hover,.locationSearchItem.isSelected{box-shadow:var(--shadow-mobile-card)}.modalBackdrop{backdrop-filter:var(--blur-none);-webkit-backdrop-filter:var(--blur-none);background:var(--modal-backdrop-coarse-bg)}.modalClose{backdrop-filter:var(--blur-none);-webkit-backdrop-filter:var(--blur-none)}.hourlyScroller,.locationSearchResults{contain:layout paint}.hourCard,.forecastCard,.locationSearchItem{contain:paint}.dailyForecastHintDot,.status-success,.heroFreshnessNote.status-success{animation:none}.status-success .statusDot,.heroFreshnessNote.status-success .heroFreshnessDot,.dailyForecastHintDot{box-shadow:none}body:after{background-position:center 24px}}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.revealSection,.hourCard,.revealItemScroll{opacity:1!important;transform:none!important}}
