/* Weather picker feedback and the optional coordinate fallback. */
.weather-search-hint{margin:.45rem 0 0;color:var(--muted);font-size:.78rem;line-height:1.45}
.weather-status{min-height:1.25rem;margin:.55rem 0 0;color:#625b50;font-size:.78rem;line-height:1.45}
.weather-coordinate-details{margin-top:.7rem}
.weather-coordinate-details summary{cursor:pointer;color:#70685d;font-size:.78rem;font-weight:750}
.weather-coordinate-details[open] summary{margin-bottom:.2rem}
.weather-search>.location-button{margin-top:.7rem;background:#f2ede5;color:var(--ink)}
.weather-search>.forecast-submit{width:100%;margin-top:1rem;border-color:rgba(115,218,180,.38);background:#64d7a5;color:#09283a;font-size:.9rem}
.weather-search>.forecast-submit:hover{background:#82e5bb}
.weather-map{touch-action:none;user-select:none}.weather-map>div,.map-pin,.map-gesture-hint{pointer-events:none}.weather-map.is-dragging{cursor:grabbing}.weather-map.is-pinching{cursor:zoom-in}
.map-gesture-hint{position:absolute;z-index:3;right:10px;bottom:10px;max-width:calc(100% - 20px);padding:7px 10px;border:1px solid rgba(255,255,255,.3);border-radius:999px;background:rgba(20,34,43,.82);color:#fff;font-size:.68rem;font-weight:700;line-height:1.2;box-shadow:0 4px 14px rgba(0,0,0,.22);backdrop-filter:blur(7px)}
@media (min-width:641px){.map-gesture-hint{display:none}}
.location-results p{margin:0;padding:.72rem .86rem;background:#fff;color:var(--muted);font-size:.8rem}

/* Unified forecast picker and real-time observation layer. */
.weather-map-toolbar{display:flex;align-items:center;justify-content:flex-end;gap:6px;padding:8px 12px;border-bottom:1px solid #d7e1e8;background:#fff}.weather-map-toolbar>button{display:grid;place-items:center;width:36px;height:36px;padding:0;border:1px solid #d5e0e7;border-radius:10px;color:#173c53;background:#f7fafc;font-size:1.05rem;font-weight:800;cursor:pointer}.weather-map-toolbar>button:hover{border-color:#9fc1d2;background:#edf7fa;transform:none}.weather-signal-switch{display:flex;align-items:center;gap:7px;margin-right:auto;color:#29485c;font-size:.72rem;font-style:normal;cursor:pointer}.weather-signal-switch input{position:absolute;opacity:0;pointer-events:none}.weather-signal-switch>span{position:relative;width:34px;height:20px;border-radius:999px;background:#a9b8c1;transition:background .16s}.weather-signal-switch>span:after{content:"";position:absolute;left:3px;top:3px;width:14px;height:14px;border-radius:50%;background:#fff;box-shadow:0 1px 4px rgba(0,0,0,.25);transition:transform .16s}.weather-signal-switch input:checked+span{background:#168a70}.weather-signal-switch input:checked+span:after{transform:translateX(14px)}.weather-signal-switch input:focus-visible+span{outline:3px solid rgba(19,126,163,.28);outline-offset:2px}.weather-signal-switch b{font-size:.72rem}.weather-signal-switch em{display:grid;place-items:center;min-width:22px;height:22px;padding:0 6px;border-radius:999px;color:#fff;background:#173c53;font-size:.64rem;font-style:normal;font-weight:850}
.weather-map .aw-signal-marker,.weather-map .aw-signal-cluster{position:absolute;z-index:5;display:grid;place-items:center;padding:0;border-radius:50%;color:#fff;cursor:pointer}.weather-map .aw-signal-marker{width:36px;height:36px;border:3px solid rgba(255,255,255,.96);background:#3286a6;box-shadow:0 5px 14px rgba(8,38,55,.38);font-size:1.05rem;font-weight:900;transform:translate(-50%,-50%);transition:box-shadow .15s,filter .15s}.weather-map .aw-signal-marker.is-confirmed{background:#259873}.weather-map .aw-signal-marker.is-probable{background:#df9829}.weather-map .aw-signal-marker.is-conflicting{background:#db6350}.weather-map .aw-signal-marker.is-expired{background:#718087}.weather-map .aw-signal-marker:hover,.weather-map .aw-signal-marker:focus-visible,.weather-map .aw-signal-marker.is-active{z-index:7;outline:none;filter:brightness(1.08);transform:translate(-50%,-50%);box-shadow:0 6px 17px rgba(8,38,55,.45),0 0 0 5px rgba(255,255,255,.82)}.weather-map .aw-signal-cluster{width:42px;height:42px;border:4px solid rgba(255,255,255,.95);background:#123d55;box-shadow:0 6px 17px rgba(8,38,55,.42);font-size:.82rem;font-weight:900;transform:translate(-50%,-50%)}.weather-map .aw-signal-cluster:hover,.weather-map .aw-signal-cluster:focus-visible{outline:none;transform:translate(-50%,-50%);box-shadow:0 7px 19px rgba(8,38,55,.5),0 0 0 5px rgba(255,255,255,.82)}.aw-signal-line{position:absolute;z-index:3;height:2px;background:rgba(18,61,85,.45);transform-origin:0 50%;pointer-events:none}.aw-signal-center{position:absolute;z-index:4;width:9px;height:9px;border:2px solid #fff;border-radius:50%;background:#123d55;transform:translate(-50%,-50%);pointer-events:none}.aw-signal-center:after{content:attr(data-count);position:absolute;left:8px;top:7px;display:grid;place-items:center;min-width:19px;height:19px;padding:0 5px;border-radius:999px;color:#fff;background:#123d55;font-size:.6rem;font-weight:900}.weather-map.is-dragging .aw-signal-marker,.weather-map.is-dragging .aw-signal-cluster{cursor:grabbing}
.aw-signal-popover{position:absolute;z-index:9;left:14px;bottom:14px;width:min(330px,calc(100% - 28px));padding:18px 16px 16px;border:1px solid rgba(255,255,255,.42);border-radius:16px;color:#fff;background:rgba(10,42,59,.94);box-shadow:0 16px 34px rgba(4,28,42,.32);backdrop-filter:blur(13px)}.aw-signal-badges{display:flex;align-items:center;flex-wrap:wrap;gap:6px;padding-right:30px;margin-bottom:12px}.aw-signal-popover h3{margin:0 28px 5px 0;color:#fff;font-size:1.18rem;letter-spacing:-.03em}.aw-signal-popover p{margin:0;color:#c7dce5;font-size:.74rem}.aw-signal-confidence{display:flex;align-items:baseline;gap:8px;margin-top:14px;padding-top:12px;border-top:1px solid rgba(255,255,255,.14)}.aw-signal-confidence strong{font-size:1.32rem}.aw-signal-confidence span{color:#b9d0d9;font-size:.7rem}.aw-signal-popover-status{display:inline-flex;padding:4px 7px;border-radius:99px;color:#dff8ee;background:rgba(69,191,145,.2);font-size:.6rem;font-weight:850;text-transform:uppercase}.aw-signal-close{position:absolute;right:10px;top:9px;width:30px;height:30px;padding:0;border:0;border-radius:8px;color:#d6e5eb;background:transparent;font-size:1.2rem;cursor:pointer}.aw-signal-close:hover{background:rgba(255,255,255,.1);transform:none}.aw-use-signal{width:100%;margin-top:14px;padding:9px 12px;border:0;border-radius:10px;color:#173c53;background:#fff;font-size:.72rem;font-weight:850;cursor:pointer}.aw-use-signal:hover{background:#e8f5f7;transform:none}
.weather-live-panel{display:grid;grid-template-columns:minmax(260px,.38fr) minmax(0,.62fr);gap:clamp(24px,5vw,62px);width:min(1180px,calc(100% - 40px));margin:8px auto 72px;padding:clamp(24px,4vw,44px);border:1px solid #cbdce3;border-radius:26px;background:linear-gradient(145deg,#eef7f7,#f8f5ee);box-shadow:0 18px 44px rgba(26,62,78,.08)}.weather-live-intro h2{max-width:360px;margin:8px 0 12px;color:#14384c;font-size:clamp(1.8rem,3.4vw,3rem);line-height:1;letter-spacing:-.055em}.weather-live-intro>p:not(.eyebrow){max-width:390px;margin:0;color:#60727c;font-size:.86rem;line-height:1.6}.weather-live-summary{display:grid;grid-template-columns:auto 1fr;align-items:baseline;gap:0 9px;margin-top:22px}.weather-live-summary strong{color:#0e526f;font-size:2.1rem;letter-spacing:-.05em}.weather-live-summary span{color:#385868;font-size:.72rem;font-weight:800}.weather-live-summary i{grid-column:1/-1;margin-top:2px;color:#6b7c84;font-size:.66rem;font-style:normal}.weather-live-filters{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:19px}.weather-live-filters label{display:grid;gap:4px}.weather-live-filters label>span{padding-left:2px;color:#617680;font-size:.58rem;font-weight:850;letter-spacing:.07em;text-transform:uppercase}.weather-live-filters input,.weather-live-filters select{min-width:0;width:100%;height:40px;margin:0;padding:0 10px;border:1px solid #cbd9df;border-radius:10px;color:#213e4e;background:#fff;font-size:.72rem}.weather-signal-list{align-self:start;overflow:auto;max-height:520px;border:1px solid #d2dfe4;border-radius:18px;background:#fff;box-shadow:0 10px 26px rgba(24,61,77,.07);scrollbar-width:thin}.weather-signal-row{display:grid;grid-template-columns:38px minmax(0,1fr) 84px 74px;align-items:center;gap:11px;width:100%;min-height:70px;padding:11px 14px;border:0;border-bottom:1px solid #e2e9eb;color:#173343;background:#fff;text-align:left;cursor:pointer}.weather-signal-row:last-of-type{border-bottom:0}.weather-signal-row:hover,.weather-signal-row:focus-visible,.weather-signal-row.is-active{outline:none;background:#edf7f7;transform:none}.weather-signal-row.is-active{box-shadow:inset 3px 0 #168a70}.weather-signal-symbol{display:grid;place-items:center;width:36px;height:36px;border-radius:11px;color:#fff;background:#3286a6;font-size:1rem;font-weight:900}.weather-signal-symbol.is-confirmed{background:#259873}.weather-signal-symbol.is-probable{background:#df9829}.weather-signal-symbol.is-conflicting{background:#db6350}.weather-signal-symbol.is-expired{background:#718087}.weather-signal-main{min-width:0}.weather-signal-main b,.weather-signal-main span,.weather-signal-proof b,.weather-signal-proof span{display:block}.weather-signal-main b{overflow:hidden;color:#173343;font-size:.82rem;text-overflow:ellipsis;white-space:nowrap}.weather-signal-main span{margin-top:3px;overflow:hidden;color:#667983;font-size:.66rem;text-overflow:ellipsis;white-space:nowrap}.weather-signal-proof{text-align:right}.weather-signal-proof b{font-size:.9rem}.weather-signal-proof span{margin-top:2px;color:#6e7e86;font-size:.58rem;line-height:1.2}.weather-signal-row time{color:#708089;font-size:.63rem;text-align:right}.weather-signal-loading,.weather-signal-empty{margin:0;padding:42px 20px;color:#687b84;font-size:.8rem;text-align:center}.weather-signal-more{display:block;width:100%;margin:0;padding:12px;border:0;border-top:1px solid #e2e9eb;color:#28566b;background:#f3f8fa;font-size:.72rem;font-weight:800;text-align:center;cursor:pointer}.weather-signal-more span{color:#71858e;font-weight:650}.weather-signal-more:hover,.weather-signal-more:focus-visible{outline:none;background:#e6f2f5;transform:none}
@media(max-width:980px){.weather-live-panel{grid-template-columns:1fr;margin-top:0}.weather-live-intro h2,.weather-live-intro>p:not(.eyebrow){max-width:680px}.weather-map-card{position:static}}
@media(max-width:640px){.weather-map-toolbar{padding:7px 9px}.weather-signal-switch b{display:none}.weather-live-panel{width:100%;margin:0 auto 46px;padding:20px 13px;border-radius:20px}.weather-live-filters{grid-template-columns:1fr}.weather-signal-list{max-height:470px;border-radius:15px}.weather-signal-row{grid-template-columns:36px minmax(0,1fr) 62px;gap:9px;padding:10px}.weather-signal-row time{display:none}.weather-signal-proof span{font-size:.54rem}.weather-signal-main span{white-space:normal}.aw-signal-popover{left:9px;bottom:9px;width:calc(100% - 18px);padding:13px}.weather-map .aw-signal-marker{width:38px;height:38px}}

/* Map signals: a quiet, dependable marker inspired by a smooth stone. */
.weather-signal-switch {
  min-height: 34px;
  padding: 3px 5px;
  gap: 5px;
  border: 1px solid #bdc7c0;
  border-radius: 10px;
  background: #e6eae6;
  box-shadow: none;
  color: #32453c;
}
.weather-signal-switch > span {
  width: 32px;
  height: 20px;
  border: 1px solid #aeb8b1;
  background: #c3cbc5;
  box-shadow: none;
}
.weather-signal-switch > span::after {
  left: 2px;
  top: 2px;
  width: 14px;
  height: 14px;
  border: 1px solid #b8beb8;
  background: #f7f6ef;
  box-shadow: none;
}
.weather-signal-switch input:checked + span { background: #739583; }
.weather-signal-switch input:checked + span::after { transform: translateX(12px); }
.weather-signal-switch input:focus-visible + span { outline: 3px solid rgba(91, 132, 107, .4); outline-offset: 3px; }
.weather-signal-switch b {
  color: #32453c;
  font-size: .72rem;
  font-weight: 850;
  letter-spacing: .01em;
  text-shadow: none;
}
.weather-signal-switch em {
  min-width: 24px;
  height: 24px;
  padding: 0 6px;
  border: 1px solid #aeb8b1;
  border-radius: 8px;
  background: #d5dbd6;
  box-shadow: none;
  color: #32453c;
  font-size: .66rem;
  font-weight: 850;
  text-shadow: none;
}
.weather-signal-switch:hover { background: #e1e6e1; filter: none; }
