.weather-scene{position:relative;width:100%;height:142px;overflow:hidden;flex-shrink:0;border-radius:var(--zjb-radius-lg, 16px);background:var(--zjb-color-primary-surface);color:var(--zjb-color-neutral);font-variant-numeric:tabular-nums}.weather-scene__canvas{position:absolute;width:100%;height:100%;inset:0}.weather-scene__temp{position:absolute;top:29px;left:18px;width:104px;height:68px;font-size:64px;font-weight:700;line-height:68px;letter-spacing:-3.5px}.weather-scene__attribution{position:absolute;top:7px;right:10px;font-size:9px;line-height:11px;color:var(--zjb-color-neutral-500)}.weather-scene__attribution a{color:inherit;text-decoration:none}.weather-scene__wind{position:absolute;left:18px;bottom:-2px;height:44px;display:flex;align-items:center;gap:6px;font-size:11px;line-height:14px}.weather-scene__wind span{width:64px;display:flex;flex-direction:column}.weather-scene__wind b{font-weight:600}.weather-scene__rain{position:absolute;right:0;bottom:-2px;width:172px;height:28px;display:grid;place-items:center;color:var(--zjb-color-secondary-strong);font-size:11px;font-weight:600}.weather-map-pick{position:fixed;z-index:80;pointer-events:none;color:var(--zjb-color-neutral);font-family:Inter,system-ui,sans-serif}.weather-map-pick__header{position:absolute;top:max(16px,env(safe-area-inset-top));left:16px;right:16px;display:flex;align-items:center;gap:12px}.weather-map-pick__title,.weather-map-pick__card{background:var(--zjb-color-surface-raised);box-shadow:var(--zjb-shadow-e2)}.weather-map-pick__back{pointer-events:auto}.weather-map-pick__title{display:flex;align-items:center;height:44px;padding:0 18px;margin:0;border-radius:9999px;font-size:18px;font-weight:600;line-height:25px}.weather-map-pick__anchor{position:absolute;left:50%;top:50%;width:0;height:0}.weather-map-pick__pin{position:absolute;bottom:0;left:-20px}.weather-map-pick__bottom{position:absolute;left:16px;right:16px;bottom:calc(env(safe-area-inset-bottom) + 20px);display:flex;justify-content:center}.weather-map-pick__card{pointer-events:auto;width:100%;max-width:440px;border-radius:24px;padding:16px;display:flex;flex-direction:column;gap:14px}.weather-map-pick__name{display:flex;align-items:center;gap:10px;padding:0 2px;font-size:15px;font-weight:600;line-height:20px}.weather-map-pick__name svg{flex-shrink:0;color:var(--zjb-color-primary-strong)}.weather-map-pick__name span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.weather-map-pick__confirm{width:100%}.weather-map-pick button:focus-visible{outline:2px solid var(--zjb-color-primary-strong);outline-offset:3px}.rain-radar{color:var(--zjb-color-neutral);padding:22px 16px 18px;border-top:1px solid var(--zjb-color-border);margin-top:16px;font-variant-numeric:tabular-nums}.rain-radar-readout{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:14px}.rain-radar-readout strong{font-size:28px;letter-spacing:-1px}.rain-radar-readout b{font-size:22px}.rain-radar small{color:var(--zjb-color-neutral-500);font-size:12px}.rain-radar-chart{position:relative;height:142px}.rain-radar-chart svg{width:100%;height:100%;overflow:visible}.rain-radar-chart [role=status]{min-height:90px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;font-size:13px}.rain-radar-range{position:absolute;inset:0;margin:0;width:100%;height:100%;opacity:0;cursor:ew-resize;touch-action:pan-y}.rain-radar-chart:focus-within{outline:2px solid var(--zjb-color-primary-strong);outline-offset:4px;border-radius:8px}.rain-radar-controls{display:flex;align-items:center;justify-content:space-between;margin:4px 0 6px}.rain-radar button{cursor:pointer;border:0;color:inherit;background:transparent}.rain-radar button:disabled{opacity:.45;cursor:default}.rain-radar-play{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--zjb-color-surface-raised)!important;border:1px solid var(--zjb-color-border)!important;box-shadow:0 1px 2px #1717160d}.rain-radar-play:active{transform:scale(.96)}.rain-radar-trust{display:flex;align-items:center;gap:4px;font-size:10px;color:var(--zjb-color-neutral-500)}.rain-radar-trust>span:first-child{margin-right:auto}.rain-radar-trust button{width:40px;height:40px;display:grid;place-items:center}.rain-radar-warning{color:var(--zjb-color-warning);font-size:12px}.rain-radar-axis-unit{position:absolute;left:0;top:-10px;color:var(--zjb-color-neutral-500);font-size:10px}.weather-floating-sheet{inset-inline:10px!important;bottom:10px!important;width:calc(100% - 20px)!important;border-radius:24px!important;max-height:calc(100dvh - 100px)!important}.weather-shell-content{padding:0!important}.weather-shell{color:var(--zjb-color-neutral);font-family:Inter,system-ui,sans-serif;font-size:14px;padding:0 16px 12px;overflow-y:auto;max-height:calc(100dvh - 145px);font-variant-numeric:tabular-nums}.weather-shell button{cursor:pointer}.weather-shell button:disabled{opacity:.5;cursor:wait}.weather-shell button:focus-visible{outline:2px solid var(--zjb-color-primary-strong);outline-offset:2px}.weather-pill{white-space:nowrap}.weather-pill svg{flex-shrink:0}.weather-selector-chevron{color:var(--zjb-color-neutral-500)}.weather-grammar{display:flex;align-items:center;justify-content:center;gap:12px;height:44px}.weather-grammar>span{flex-shrink:0;font-size:var(--zjb-type-title-sm-font-size);line-height:var(--zjb-type-title-sm-line-height);font-weight:600}.weather-grammar .weather-location-pill{flex-shrink:1}.weather-location-pill span{min-width:0;overflow:hidden;text-overflow:ellipsis}.weather-day{display:flex;justify-content:center;margin:16px 0 8px}.weather-reel-wrap{position:relative;border-top:1px solid var(--zjb-color-neutral-300);height:100px;margin-bottom:16px}.weather-playhead{position:absolute;z-index:1;width:3px;height:17px;background:var(--zjb-color-primary-strong);left:calc(50% - 1.5px);top:0;border-radius:2px;pointer-events:none}.weather-reel{display:flex;gap:9px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none;padding:14px calc(50% - 29px) 0;height:100px;touch-action:pan-x}.weather-reel::-webkit-scrollbar{display:none}.weather-hour{flex:0 0 58px;height:76px;border-radius:12px;border:1px solid var(--zjb-color-border);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;background:var(--zjb-color-surface-raised);scroll-snap-align:center;font-size:12px;transition:background-color .1s,height .1s,transform .1s}.weather-hour[aria-pressed=true]{background:var(--zjb-color-primary-soft);border-color:var(--zjb-color-primary-strong);height:84px;transform:translateY(-6px)}.weather-hour strong{font-size:15px}.weather-attribution{display:flex;justify-content:space-between;gap:8px;font-size:10px;color:var(--zjb-color-neutral-500);padding-top:7px}.weather-attribution button{text-align:right}.weather-return{display:flex;align-items:center;justify-content:center;gap:4px;min-height:32px;margin:6px auto 0;font-size:12px;color:var(--zjb-color-neutral-500)}.weather-status{min-height:255px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:12px}.weather-picker-header{height:44px;display:flex;align-items:center;margin:6px 0 14px}.weather-picker-header button,.weather-picker-header>span{width:44px;height:44px;display:grid;place-items:center;flex-shrink:0}.weather-picker-header h2{font-size:var(--zjb-type-title-sm-font-size);font-weight:600;text-align:center;flex:1}.weather-options{display:flex;flex-direction:column;gap:14px;padding-bottom:8px}.weather-row{display:flex;align-items:center;gap:16px;min-height:64px;padding:8px 16px;text-align:left;border-radius:16px}.weather-row:hover{background:var(--zjb-color-surface-soft)}.weather-row>svg:first-child{box-sizing:content-box;padding:12px;border-radius:50%;background:var(--zjb-color-primary-surface);width:20px;height:20px}.weather-row>span{flex:1}.weather-row small{display:block;color:var(--zjb-color-neutral-500);font-size:12px}.weather-search-field{display:flex;align-items:center;gap:10px;border:0;background:var(--zjb-color-surface-soft);border-radius:16px;padding:0 14px;min-height:48px;font-size:15px;text-align:left;color:var(--zjb-color-neutral-500)}.weather-search-field input{min-width:0;flex:1;background:transparent;color:var(--zjb-color-neutral);outline:none}.weather-search-field button{min-width:32px;min-height:40px}.weather-days{display:flex;flex-direction:column;gap:4px;padding-bottom:8px}.weather-day-option{display:flex;align-items:center;gap:6px;min-height:50px;padding:0 10px;border-radius:12px;font-size:15px;font-weight:600}.weather-day-option>span:first-child{width:76px;text-align:left;flex-shrink:0}.weather-day-condition{flex:1;text-align:left;font-size:11px;font-weight:500;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.weather-day-option[aria-pressed=true]{background:var(--zjb-color-primary-surface)}@media (prefers-reduced-motion: reduce){.weather-hour{transition:none}}.weather-day-check{display:grid;place-items:center;width:20px;flex-shrink:0}.weather-source-caption{display:flex;align-items:center;justify-content:center;gap:6px;font-size:12px;color:var(--zjb-color-neutral-500)}.weather-day-rain{color:var(--zjb-color-secondary-strong)}.weather-live-label{display:flex;align-items:center;gap:4px}.weather-live-label i{width:7px;height:7px;border-radius:50%;background:var(--zjb-color-success)}.weather-mode-options{gap:16px}.weather-mode-options .weather-mode-row{height:64px;gap:12px;border:1px solid transparent}.weather-mode-row[aria-pressed=true]{border-color:var(--zjb-color-primary-soft)}.weather-mode-label{font-size:var(--zjb-type-title-sm-font-size);font-weight:600;line-height:25px}.weather-mode-return>span:first-child{color:var(--zjb-color-neutral-500)}.weather-location-action{font-size:15px}.weather-location-action>.weather-location-disc{display:grid;place-items:center;flex:0 0 44px;height:44px;border-radius:50%}.weather-location-disc--gps{background:var(--zjb-color-radar-soft);color:var(--zjb-color-secondary-strong)}.weather-location-disc--map{background:var(--zjb-color-primary-surface);color:var(--zjb-color-primary-strong)}.weather-location-disc--recent{background:var(--zjb-color-surface-soft);color:var(--zjb-color-neutral-500)}.weather-location-action>svg{color:var(--zjb-color-neutral-500);flex-shrink:0}.weather-day-temperatures{width:68px;text-align:right;flex-shrink:0;font-size:13px;font-weight:500}.weather-selector-check{color:var(--zjb-color-primary-strong)}
