/* JDServer AEMET compact cards candidate — visual companion to WXSIM. */
#forecast{
  --af-rain:#2588f5; --af-rain-soft:rgba(37,136,245,.13);
  --af-storm:#7868e6; --af-storm-soft:rgba(120,104,230,.14);
  --af-sleet:#278eb2; --af-sleet-soft:rgba(39,142,178,.13);
  --af-snow:#5aa9dc; --af-snow-soft:rgba(90,169,220,.13);
  --af-fog:#7b8799; --af-fog-soft:rgba(123,135,153,.13);
  --af-sun:#e89b19; --af-sun-soft:rgba(232,155,25,.14);
  --af-night:#6874cf; --af-night-soft:rgba(104,116,207,.14);
  --af-cloud:#7890aa; --af-cloud-soft:rgba(120,144,170,.13);
  margin:16px 0 28px;
}

#forecast>h3{margin:0 0 12px;font-weight:650}

.forecast-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;overflow:visible}

@media (min-width:900px){.forecast-row{grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}}

.card.forecast-card{
  --af-tone:var(--af-cloud); --af-tone-soft:var(--af-cloud-soft);
  position:relative;isolation:isolate;display:flex;flex-direction:column;min-width:0;min-height:244px;
  padding:12px;overflow:hidden;color:var(--fg,var(--text));
  background:radial-gradient(circle at 12% 0%,var(--af-tone-soft),transparent 48%),var(--card);
  border:1px solid color-mix(in srgb,var(--af-tone) 24%,var(--border));
  border-radius:calc(var(--radius,16px) + 2px);box-shadow:var(--shadow-1);
  transition:transform .2s ease,box-shadow .25s ease,border-color .25s ease;
}

.card.forecast-card::before{content:"";position:absolute;z-index:-1;inset:0 0 auto;height:3px;background:linear-gradient(90deg,var(--af-tone),color-mix(in srgb,var(--af-tone) 28%,transparent))}
.forecast-card[data-weather="storm"]{--af-tone:var(--af-storm);--af-tone-soft:var(--af-storm-soft)}
.forecast-card[data-weather="sleet"]{--af-tone:var(--af-sleet);--af-tone-soft:var(--af-sleet-soft)}
.forecast-card[data-weather="snow"]{--af-tone:var(--af-snow);--af-tone-soft:var(--af-snow-soft)}
.forecast-card[data-weather="rain"]{--af-tone:var(--af-rain);--af-tone-soft:var(--af-rain-soft)}
.forecast-card[data-weather="fog"]{--af-tone:var(--af-fog);--af-tone-soft:var(--af-fog-soft)}
.forecast-card[data-weather="partly"],.forecast-card[data-weather="highcloud"],.forecast-card[data-weather="clear"]{--af-tone:var(--af-sun);--af-tone-soft:var(--af-sun-soft)}
.forecast-card:hover,.forecast-card:focus-within{transform:translateY(-3px);border-color:color-mix(in srgb,var(--af-tone) 48%,var(--border));box-shadow:0 15px 34px color-mix(in srgb,var(--af-tone) 14%,transparent),var(--shadow-2)}

.fc-head{display:flex;align-items:flex-start;justify-content:space-between;gap:6px;min-height:31px}
.fc-date{min-width:0;padding-top:3px;color:var(--fg,var(--text));font:780 12px/1.2 system-ui,-apple-system,"Segoe UI",sans-serif;text-transform:uppercase;letter-spacing:.15px;white-space:nowrap}
.fc-weather-pill{display:inline-flex;align-items:center;justify-content:flex-end;gap:5px;max-width:66%;padding:4px 7px;color:color-mix(in srgb,var(--af-tone) 82%,var(--fg,var(--text)));background:color-mix(in srgb,var(--af-tone-soft) 84%,var(--card));border:1px solid color-mix(in srgb,var(--af-tone) 31%,transparent);border-radius:999px;font-size:9px;font-weight:780;line-height:1.15;text-align:right}
.fc-weather-pill i{width:6px;height:6px;flex:0 0 auto;background:var(--af-tone);border-radius:50%;box-shadow:0 0 0 3px color-mix(in srgb,var(--af-tone) 15%,transparent)}

.fc-main{display:grid;grid-template-columns:64px minmax(0,1fr);align-items:center;gap:8px;margin-top:7px}
.fc-icon-stage{display:grid;place-items:center;width:62px;height:62px;background:color-mix(in srgb,var(--af-tone) 13%,var(--card));border:1px solid color-mix(in srgb,var(--af-tone) 24%,var(--border));border-radius:20px;box-shadow:0 7px 18px color-mix(in srgb,var(--af-tone) 12%,transparent);transition:opacity .18s ease,transform .25s cubic-bezier(.2,.75,.25,1)}
.fc-copy{min-width:0;transition:opacity .18s ease,transform .25s cubic-bezier(.2,.75,.25,1)}.forecast-card.is-changing .fc-icon-stage{opacity:0;transform:translateY(4px) scale(.94)}.forecast-card.is-changing .fc-copy{opacity:0;transform:translateY(3px)}.fc-sky{display:-webkit-box;min-height:32px;overflow:hidden;color:var(--muted,var(--muted-fg));font-size:11px;font-weight:650;line-height:1.35;-webkit-box-orient:vertical;-webkit-line-clamp:2}
.fc-period{margin-top:3px;color:color-mix(in srgb,var(--af-tone) 72%,var(--muted));font-size:9.5px;font-weight:720;min-height:12px}

.fc-temps{display:flex;flex-wrap:wrap;gap:5px 8px;margin-top:8px;color:var(--fg,var(--text));font-size:11.5px}.fc-temps strong{font-weight:790}.fc-temps span{color:var(--muted);font-weight:650}
.fc-metrics{display:flex;flex-wrap:wrap;gap:5px;margin-top:auto}
.fc-chip{display:inline-flex;max-width:100%;padding:4px 6px;color:color-mix(in srgb,var(--fg,var(--text)) 82%,var(--muted));background:color-mix(in srgb,var(--card) 78%,var(--bg));border:1px solid var(--border);border-radius:999px;font-size:9.5px;font-weight:590;line-height:1.15;overflow-wrap:anywhere}
.fc-chip--rain{color:color-mix(in srgb,var(--af-rain) 80%,var(--fg,var(--text)));background:var(--af-rain-soft);border-color:color-mix(in srgb,var(--af-rain) 28%,var(--border))}

.fc-phase-nav{position:relative;display:flex;align-items:center;gap:2px;height:23px;margin:6px 0 8px;padding-bottom:6px;overflow:hidden}
.fc-phase{display:grid;place-items:center;width:22px;height:16px;margin:0;padding:0;appearance:none;background:transparent;border:0;border-radius:999px;cursor:pointer}.fc-phase span{display:block;width:5px;height:5px;background:var(--muted);border-radius:50%;opacity:.4;transition:width .2s ease,opacity .2s ease,background .2s ease}.fc-phase.is-active span{width:17px;background:var(--af-tone);opacity:1;box-shadow:0 0 0 3px color-mix(in srgb,var(--af-tone) 12%,transparent)}.fc-phase:focus-visible{outline:2px solid var(--af-tone);outline-offset:1px}
.fc-phase-progress{position:absolute;inset:auto 0 0;height:2px;background:var(--af-tone);border-radius:2px;transform:scaleX(0);transform-origin:left;opacity:.55}.fc-phase-progress.is-running{animation:af-progress 6s linear forwards}.forecast-card.is-paused .fc-phase-progress{animation-play-state:paused}

.forecast-meta{margin:7px 4px 0;color:var(--muted);font-size:12px;font-style:italic;text-align:right}

/* Shared AEMET SVG artwork. */
.aemet-ic{width:56px;height:56px;overflow:visible}.aemet-sun-core{fill:#ffc744}.aemet-sun-rays{fill:none;stroke:#ffb51f;stroke-width:3.2;stroke-linecap:round}.aemet-moon>path{fill:#c2cedd;filter:drop-shadow(0 2px 2px rgba(72,86,110,.18))}.aemet-star{fill:#ffe59b}.aemet-cloud{--af-cloud-x:0px;--af-cloud-y:0px;filter:drop-shadow(0 2px 1.5px rgba(63,91,113,.16))}.aemet-cloud-back{fill:#a9bfd2}.aemet-cloud-front{fill:#bdcfdd}.aemet-ic--partly .aemet-cloud-back,.aemet-ic--highcloud .aemet-cloud-back{fill:#acc6da}.aemet-ic--partly .aemet-cloud-front,.aemet-ic--highcloud .aemet-cloud-front{fill:#bfd5e5}.aemet-ic--rain .aemet-cloud-back{fill:#9db9cf}.aemet-ic--rain .aemet-cloud-front{fill:#afcadc}.aemet-cloud--storm .aemet-cloud-back{fill:#727294}.aemet-cloud--storm .aemet-cloud-front{fill:#8383a8}.aemet-rain{fill:none;stroke:#319eff;stroke-width:4;stroke-linecap:round}.aemet-lightning{fill:#ffd449;filter:drop-shadow(0 2px 3px rgba(255,190,30,.38))}.aemet-snow{fill:#78c8f4}.aemet-sleet{fill:none;stroke:#3ba4bc;stroke-width:4;stroke-linecap:round}.aemet-sleet circle{fill:#78c8f4;stroke:none}.aemet-fog{fill:none;stroke:#8190a2;stroke-width:4;stroke-linecap:round}.aemet-highcloud{opacity:.82;transform:translate(4px,5px) scale(.88);transform-origin:center}.aemet-cloud--rear{--af-cloud-x:-3px;--af-cloud-y:-4px;opacity:.42}

:root[data-theme="dark"] .aemet-cloud-back{fill:#849bad}:root[data-theme="dark"] .aemet-cloud-front{fill:#98aebf}:root[data-theme="dark"] .aemet-ic--partly .aemet-cloud-back,:root[data-theme="dark"] .aemet-ic--highcloud .aemet-cloud-back{fill:#8ca7ba}:root[data-theme="dark"] .aemet-ic--partly .aemet-cloud-front,:root[data-theme="dark"] .aemet-ic--highcloud .aemet-cloud-front{fill:#a0b9cb}:root[data-theme="dark"] .aemet-ic--rain .aemet-cloud-back{fill:#86a3b9}:root[data-theme="dark"] .aemet-ic--rain .aemet-cloud-front{fill:#98b5ca}:root[data-theme="dark"] .aemet-cloud--storm .aemet-cloud-back{fill:#71718f}:root[data-theme="dark"] .aemet-cloud--storm .aemet-cloud-front{fill:#8282a3}:root[data-theme="dark"] .aemet-moon>path{fill:#d8e2ee;filter:drop-shadow(0 2px 3px rgba(0,0,0,.3))}

@media(prefers-reduced-motion:no-preference){.forecast-card{animation:af-card-enter .42s cubic-bezier(.2,.75,.25,1) both;animation-delay:var(--fc-enter-delay,0ms)}.aemet-sun{transform-origin:24px 23px;animation:af-sun 5s ease-in-out infinite}.aemet-cloud{animation:af-cloud 4.8s ease-in-out infinite}.aemet-rain{animation:af-rain .9s linear infinite}.aemet-lightning{animation:af-lightning 4.6s ease-in-out infinite}.aemet-fog{animation:af-fog 4.8s ease-in-out infinite}.aemet-snow circle:nth-child(1){animation:af-snow 2.7s ease-in infinite}.aemet-snow circle:nth-child(2){animation:af-snow 3.1s .6s ease-in infinite}.aemet-snow circle:nth-child(3){animation:af-snow 2.9s 1.1s ease-in infinite}.aemet-star{animation:af-star 3s ease-in-out infinite}}
@keyframes af-card-enter{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes af-progress{from{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes af-sun{0%,100%{transform:scale(1)}50%{transform:scale(1.045)}}@keyframes af-cloud{0%,100%{transform:translate(var(--af-cloud-x),var(--af-cloud-y))}50%{transform:translate(var(--af-cloud-x),calc(var(--af-cloud-y) - 2px))}}@keyframes af-rain{from{transform:translateY(-4px);opacity:.35}to{transform:translateY(5px);opacity:1}}@keyframes af-lightning{0%,84%,100%{opacity:.82}87%,91%{opacity:.18}89%,94%{opacity:1}}@keyframes af-fog{0%,100%{transform:translateX(-2px);opacity:.72}50%{transform:translateX(3px);opacity:1}}@keyframes af-snow{0%{transform:translateY(-4px);opacity:.2}75%{opacity:1}100%{transform:translateY(6px);opacity:.25}}@keyframes af-star{0%,100%{opacity:.45}50%{opacity:1}}

@media(max-width:899px){.card.forecast-card{min-height:260px}.fc-main{grid-template-columns:68px minmax(0,1fr)}.aemet-ic{width:60px;height:60px}.fc-icon-stage{width:66px;height:66px}}
@media(max-width:480px){.forecast-row{gap:10px}.card.forecast-card{min-height:286px;padding:11px}.fc-head{display:block;min-height:49px}.fc-date{font-size:11px}.fc-weather-pill{justify-content:flex-start;max-width:100%;margin-top:5px;font-size:8.5px;padding:3px 5px}.fc-main{grid-template-columns:1fr;align-items:start}.fc-icon-stage{width:62px;height:62px}.aemet-ic{width:56px;height:56px}.fc-sky{font-size:10.5px}.fc-chip{font-size:9px}}
@media(max-width:340px){.forecast-row{grid-template-columns:1fr}.card.forecast-card{min-height:235px}.fc-main{grid-template-columns:64px minmax(0,1fr)}}
@media(prefers-reduced-motion:reduce){.forecast-card,.forecast-card:hover,.forecast-card:focus-within,.aemet-ic *,.fc-phase-progress,.fc-icon-stage,.fc-copy{animation:none!important;transition:none!important}}
