/* Shared wind categories and rain overlay for LaunchCast and Home monitor. */
:root {
  --forecast-wind-calm: #20d15c;
  --forecast-wind-good: #a7f3a2;
  --forecast-wind-marginal: #fff2a8;
  --forecast-wind-caution: #ffd33d;
  --forecast-wind-poor: #ff4e45;
  --forecast-wind-unavailable: #b9b9b9;
}

.forecast-wind-calm { background-color: var(--forecast-wind-calm); }
.forecast-wind-good { background-color: var(--forecast-wind-good); }
.forecast-wind-marginal { background-color: var(--forecast-wind-marginal); }
.forecast-wind-caution { background-color: var(--forecast-wind-caution); }
.forecast-wind-poor { background-color: var(--forecast-wind-poor); }
.forecast-wind-unavailable { background-color: var(--forecast-wind-unavailable); }
.forecast-rain-fill { background-color: hsl(210 90% var(--rain-lightness, 80%)); }

/* Home monitor day-card surface; LaunchCast retains its own card styling. */
.forecast-day-surface { background-color: #d9effb; color: #14243a; }
.forecast-day-muted { color: #31516b; }
.pollen-preview-high { color: #8a5000; }
.pollen-preview-very-high { color: #a3261a; }
.forecast-day-surface .forecast-icon svg path[fill="#d9e3ea"],
.forecast-day-surface .forecast-icon svg path[fill="#e9f4ff"] {
  stroke: #38516a;
  stroke-width: .75px;
  stroke-linejoin: round;
}

/* Shared rainfall semantics: visual clipping never changes observed evidence. */
.forecast-rain-fill { background:linear-gradient(to bottom,#75d6fb,#2196f3); }
.weather-observed-fill { position:absolute;bottom:0;left:0;right:0;background:linear-gradient(to top,#2196f3,#75d6fb); }
.weather-wind-number { position:absolute;top:40%;left:0;right:0;height:20%;display:flex;align-items:center;justify-content:center;font:700 14px/1 monospace;font-variant-numeric:tabular-nums;color:#101419;white-space:nowrap;z-index:2; }
.weather-drop { display:inline-block;width:1em;height:1em;vertical-align:middle;fill:#1e9aff; }

/* Exposed rain ends only; zero-height paint remains zero-height. */
.forecast-rain-fill{border-radius:0 0 2px 2px}
.weather-observed-fill{border-radius:2px 2px 0 0}
/* Draw each boundary inside its bar, above both overlays, without adding width. */
.forecast-hours,.weather-day .strip{column-gap:0}
.forecast-hour:not(:last-child)::before,.weather-day .segment:not(:last-child)::before{content:"";position:absolute;top:0;bottom:0;right:0;width:1px;background:#101419;z-index:3;pointer-events:none}

/* Current-hour emphasis never substitutes forecast wind for a reading. */
.weather-live-card.has-current-hour,.weather-day.has-current-hour{min-width:var(--current-hour-min-width)}
.is-current-hour>.weather-wind-number{font-size:28px}
