:root{--brand-1:#6d5cff;--brand-2:#2f7cf6;--brand-3:#22c8e0;--brand-grad:linear-gradient(115deg, var(--brand-1), var(--brand-2) 52%, var(--brand-3));--page:#eef2fb;--page-2:#e6ecfa;--surface:#ffffffb8;--surface-solid:#fff;--surface-2:#ffffff8c;--ink:#0c1024;--ink-2:#46506e;--muted:#7b85a3;--line:#0c102417;--line-strong:#0c102429;--grid:#0c102414;--axis:#0c10242e;--glow:#2f7cf62e;--shadow-sm:0 1px 2px #0c10240d;--shadow:0 4px 12px #0c10240f, 0 18px 40px -20px #0c102440;--shadow-lg:0 10px 24px #0c102414, 0 40px 80px -32px #0c102459;--series-1:#2a78d6;--series-2:#eb6834;--series-3:#1baf7a;--series-4:#eda100;--series-5:#e87ba4;--series-6:#008300;--series-7:#4a3aa7;--series-8:#e34948;--good:#0ca30c;--warning:#fab219;--serious:#ec835a;--critical:#d03b3b;--r-xl:26px;--r-lg:20px;--r-md:14px;--r-sm:10px;--sans:system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;--mono:ui-monospace, SFMono-Regular, "Cascadia Code", Consolas, monospace;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--page:#080b18;--page-2:#0d1226;--surface:#ffffff0b;--surface-solid:#111730;--surface-2:#ffffff07;--ink:#f2f5ff;--ink-2:#b3bcda;--muted:#7d87ab;--line:#ffffff17;--line-strong:#ffffff2e;--grid:#ffffff14;--axis:#fff3;--glow:#2f7cf659;--shadow-sm:0 1px 2px #0006;--shadow:0 4px 14px #00000073, 0 24px 48px -24px #000c;--shadow-lg:0 12px 28px #00000080, 0 48px 96px -36px #000000e6;--series-1:#3987e5;--series-2:#d95926;--series-3:#199e70;--series-4:#c98500;--series-5:#d55181;--series-6:#29a329;--series-7:#9085e9;--series-8:#e66767;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--page);min-height:100vh;color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;font-size:16px;line-height:1.55;overflow-x:hidden}h1,h2,h3{letter-spacing:-.02em;margin:0;font-weight:700;line-height:1.15}p{margin:0}a{color:var(--brand-2);text-underline-offset:3px}code{font-family:var(--mono);background:var(--surface-2);border:1px solid var(--line);border-radius:6px;padding:1px 6px;font-size:.85em}button{font:inherit;cursor:pointer}:focus-visible{outline:2px solid var(--brand-2);outline-offset:2px;border-radius:6px}::selection{background:#2f7cf647}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:200;background:var(--surface-solid);box-shadow:var(--shadow);border-radius:999px;padding:10px 18px;position:absolute;top:10px;left:-999px}.skip-link:focus{left:14px}.aurora{z-index:-1;background:radial-gradient(1200px 700px at 12% -10%, color-mix(in srgb, var(--brand-1) 16%, transparent), transparent 60%), radial-gradient(900px 620px at 92% 4%, color-mix(in srgb, var(--brand-3) 16%, transparent), transparent 62%), linear-gradient(180deg, var(--page), var(--page-2));position:fixed;inset:0;overflow:hidden}.aurora__orb{filter:blur(70px);opacity:.5;border-radius:50%;animation:22s ease-in-out infinite float;position:absolute}.aurora__orb--a{background:radial-gradient(circle, var(--brand-1), transparent 68%);width:460px;height:460px;top:-140px;left:-100px}.aurora__orb--b{background:radial-gradient(circle, var(--brand-3), transparent 68%);width:520px;height:520px;animation-delay:-7s;top:8%;right:-180px}.aurora__orb--c{background:radial-gradient(circle, var(--brand-2), transparent 68%);width:420px;height:420px;animation-delay:-13s;bottom:-160px;left:38%}@keyframes float{0%,to{transform:translate(0,0)scale(1)}33%{transform:translate(40px,-30px)scale(1.08)}66%{transform:translate(-30px,26px)scale(.95)}}.shell{flex-direction:column;min-height:100vh;display:flex}.topbar{z-index:60;background:color-mix(in srgb, var(--page) 76%, transparent);-webkit-backdrop-filter:blur(18px)saturate(180%);border-bottom:1px solid var(--line);position:sticky;top:0}.topbar__inner{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:18px;max-width:1240px;margin:0 auto;padding:12px 22px;display:grid}.brand{color:inherit;align-items:center;gap:12px;text-decoration:none;display:flex}.brand:hover .logo-mark{transform:rotate(-6deg)scale(1.06)}.logo-mark{box-shadow:0 6px 18px -6px var(--brand-2);border-radius:14px;transition:transform .35s cubic-bezier(.34,1.56,.64,1);display:block}.logo-mark__rays{transform-origin:42px 21px;animation:4s ease-in-out infinite pulse-rays}.logo-mark__cloud{animation:6s ease-in-out infinite drift}.logo-mark__rain line{animation:1.8s ease-in-out infinite rain-tick}.logo-mark__rain line:nth-child(2){animation-delay:.3s}.logo-mark__rain line:nth-child(3){animation-delay:.6s}@keyframes pulse-rays{0%,to{opacity:.65;transform:scale(1)}50%{opacity:1;transform:scale(1.12)}}@keyframes drift{0%,to{transform:translate(0)}50%{transform:translate(2px)}}@keyframes rain-tick{0%,to{opacity:.35;transform:translateY(-2px)}50%{opacity:1;transform:translateY(1px)}}.wordmark{letter-spacing:-.03em;font-size:18px;font-weight:800;line-height:1.1;display:block}.wordmark__lead{color:var(--ink)}.wordmark__tail{background:var(--brand-grad);color:#0000;-webkit-background-clip:text;background-clip:text;margin-left:6px}.brand small{color:var(--muted);letter-spacing:.01em;max-width:30ch;font-size:11.5px;font-weight:500;display:block}.topbar__actions{align-items:center;gap:8px;display:flex}.icon-btn{border:1px solid var(--line);background:var(--surface);width:38px;height:38px;color:var(--ink-2);border-radius:12px;place-items:center;font-size:15px;transition:transform .2s,border-color .2s,color .2s;display:inline-grid}.icon-btn:hover{color:var(--ink);border-color:var(--line-strong);transform:translateY(-2px)}.tabs{scrollbar-width:none;gap:6px;max-width:1240px;margin:0 auto;padding:0 22px 10px;display:flex;overflow-x:auto}.tabs::-webkit-scrollbar{display:none}.tabs__link{color:var(--ink-2);white-space:nowrap;border-radius:999px;padding:8px 15px;font-size:14px;font-weight:600;text-decoration:none;transition:color .2s,background .2s;position:relative}.tabs__link:hover{color:var(--ink);background:var(--surface)}.tabs__link.active{color:#fff;background:var(--brand-grad);box-shadow:0 8px 20px -10px var(--brand-2)}.main{flex:1;width:100%;max-width:1240px;margin:0 auto;padding:28px 22px 72px}.footer{border-top:1px solid var(--line);color:var(--muted);padding:28px 22px 40px;font-size:13px}.footer__inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;max-width:1240px;margin:0 auto;display:flex}.footer__brand{color:var(--ink);align-items:center;gap:10px;font-weight:700;text-decoration:none;display:flex}.footer__links{flex-wrap:wrap;gap:16px;display:flex}.footer__links a{color:var(--ink-2);text-decoration:none}.footer__links a:hover{color:var(--brand-2)}.panel,.masthead,.hero,.filters,.feedback,.city-card{background:var(--surface);border:1px solid var(--line);-webkit-backdrop-filter:blur(16px)saturate(150%);box-shadow:var(--shadow)}.panel{border-radius:var(--r-lg);padding:22px;container-type:inline-size}.panel--tight{padding:18px}.panel__head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:16px;display:flex}.panel__head h2{font-size:19px}.panel__hint{color:var(--muted);font-size:13px}.panel__hint--strong{color:var(--ink-2);margin-bottom:8px;font-weight:600}.panel__more{color:var(--brand-2);font-size:13px;font-weight:700;text-decoration:none}.panel__more:hover{text-decoration:underline}.page{gap:26px;animation:.5s cubic-bezier(.16,1,.3,1) both fade-up;display:grid}.page>*,.grid-2>*,.stack>*,.hero>*,.panel>*{min-width:0}.page--center{text-align:center;justify-items:center;padding-top:70px}.page__head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:18px;display:flex}.page__head h1{margin-top:6px;font-size:clamp(28px,4.2vw,40px)}.page__lede{color:var(--ink-2);max-width:74ch;margin-top:10px}@keyframes fade-up{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}.eyebrow{text-transform:uppercase;letter-spacing:.12em;color:var(--brand-2);align-items:center;gap:7px;font-size:11px;font-weight:800;display:inline-flex}.eyebrow:before{content:"";background:var(--brand-grad);width:7px;height:7px;box-shadow:0 0 0 4px var(--glow);border-radius:50%;animation:2.4s ease-in-out infinite blink}@keyframes blink{0%,to{opacity:1}50%{opacity:.35}}.masthead{border-radius:var(--r-xl);padding:38px 34px;position:relative;overflow:hidden}.masthead:after{content:"";background:radial-gradient(circle, var(--glow), transparent 65%);pointer-events:none;border-radius:50%;width:420px;height:420px;position:absolute;inset:-40% -10% auto auto}.masthead__title{max-width:22ch;margin:10px 0 14px;font-size:clamp(30px,5.4vw,52px);line-height:1.05}.masthead__title em{background:var(--brand-grad);color:#0000;-webkit-background-clip:text;background-clip:text;font-style:normal}.masthead__body{color:var(--ink-2);max-width:66ch;font-size:15.5px}.masthead__actions{flex-wrap:wrap;gap:10px;margin-top:22px;display:flex}.masthead__error{color:var(--critical);margin-top:12px;font-size:13px}.masthead__metrics{border-top:1px solid var(--line);flex-wrap:wrap;gap:22px;margin-top:26px;padding-top:22px;display:flex}.metric strong{letter-spacing:-.02em;background:var(--brand-grad);color:#0000;-webkit-background-clip:text;background-clip:text;font-size:24px;font-weight:800;display:block}.metric span{color:var(--muted);text-transform:uppercase;letter-spacing:.07em;font-size:12px;font-weight:600}.search{align-items:center;display:flex;position:relative}.search__icon{opacity:.65;pointer-events:none;font-size:14px;position:absolute;left:14px}.search__input{border:1px solid var(--line);background:var(--surface);width:100%;color:var(--ink);border-radius:999px;padding:11px 16px 11px 40px;font-size:14px;transition:border-color .2s,box-shadow .2s,background .2s}.search__input::placeholder{color:var(--muted)}.search__input:focus{border-color:color-mix(in srgb, var(--brand-2) 60%, transparent);box-shadow:0 0 0 4px var(--glow);outline:none}.search__spinner{border:2px solid var(--grid);border-top-color:var(--brand-2);border-radius:50%;width:14px;height:14px;animation:.7s linear infinite spin;position:absolute;right:14px}.search__results{background:var(--surface-solid);border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--shadow-lg);z-index:70;max-height:360px;margin:0;padding:7px;list-style:none;animation:.18s both fade-up;position:absolute;top:calc(100% + 10px);left:0;right:0;overflow-y:auto}.search__result{text-align:left;border-radius:var(--r-sm);width:100%;color:inherit;background:0 0;border:0;gap:2px;padding:9px 11px;display:grid}.search__result.is-active,.search__result:hover{background:color-mix(in srgb, var(--brand-2) 12%, transparent)}.search__result-name{font-size:14px;font-weight:650}.search__result-meta{color:var(--muted);font-size:12px}.search__msg{color:var(--muted);padding:12px;font-size:13px}.search__msg--error{color:var(--critical)}.btn{border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:999px;align-items:center;gap:7px;padding:10px 18px;font-size:14px;font-weight:600;text-decoration:none;transition:transform .18s,box-shadow .18s,border-color .18s;display:inline-flex}.btn:hover:not(:disabled){border-color:var(--line-strong);box-shadow:var(--shadow);transform:translateY(-2px)}.btn:active:not(:disabled){transform:translateY(0)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn--primary{background:var(--brand-grad);color:#fff;box-shadow:0 10px 24px -12px var(--brand-2);border-color:#0000}.btn--ghost{background:0 0}.btn--ghost.is-on{border-color:color-mix(in srgb, var(--series-4) 60%, transparent);color:var(--series-4)}.chip{border:1px solid var(--line);background:var(--surface);color:var(--ink-2);border-radius:999px;align-items:center;gap:6px;padding:7px 14px;font-size:13px;font-weight:600;transition:transform .15s,color .15s,border-color .15s,background .15s;display:inline-flex}.chip small{color:var(--muted);font-size:11px;font-weight:500}.chip:hover:not(:disabled){color:var(--ink);border-color:var(--line-strong);transform:translateY(-1px)}.chip:disabled{opacity:.4;cursor:not-allowed}.chip.is-on{background:var(--brand-grad);color:#fff;box-shadow:0 8px 18px -12px var(--brand-2);border-color:#0000}.chip.is-on small{color:#ffffffbf}.chip--token button{color:inherit;opacity:.7;background:0 0;border:0;padding:0 0 0 3px;line-height:1}.chip--token button:hover{opacity:1}.chips{flex-wrap:wrap;gap:8px;margin-bottom:14px;display:flex}.swatch{vertical-align:middle;border-radius:3px;width:10px;height:10px;margin-right:7px;display:inline-block}.segmented{background:var(--surface-2);border:1px solid var(--line);border-radius:999px;gap:3px;padding:4px;display:inline-flex}.segmented button{color:var(--ink-2);background:0 0;border:0;border-radius:999px;padding:6px 14px;font-size:13px;font-weight:600;transition:background .2s,color .2s}.segmented button.is-on{background:var(--brand-grad);color:#fff}.hero{border-radius:var(--r-xl);grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:28px;padding:30px;display:grid;position:relative;overflow:hidden}.hero:before{content:"";background:linear-gradient(135deg, var(--hero-tint,transparent), transparent 58%);pointer-events:none;position:absolute;inset:0}.hero--clear{--hero-tint:#ffb02038}.hero--cloud{--hero-tint:#788cbe33}.hero--fog{--hero-tint:#8c96af3d}.hero--rain{--hero-tint:#2f7cf63d}.hero--snow{--hero-tint:#96c8ff38}.hero--storm{--hero-tint:#6d5cff42}.hero__main,.hero__stats{z-index:1;position:relative}.hero__head{flex-wrap:wrap;justify-content:space-between;gap:14px;display:flex}.hero__city{font-size:clamp(26px,3.6vw,38px)}.hero__place{color:var(--ink-2);margin-top:5px;font-size:14px}.hero__actions{gap:8px;display:flex}.hero__reading{align-items:center;gap:20px;margin:26px 0 14px;display:flex}.hero__glyph{filter:drop-shadow(0 10px 22px #00000038);font-size:72px;line-height:1;animation:5s ease-in-out infinite bob}@keyframes bob{0%,to{transform:translateY(0)}50%{transform:translateY(-7px)}}.hero__temp{letter-spacing:-.04em;background:var(--brand-grad);color:#0000;-webkit-background-clip:text;background-clip:text;font-size:clamp(48px,7.5vw,76px);font-weight:800;line-height:1}.hero__desc{margin-top:8px;font-size:18px;font-weight:700}.hero__feels,.hero__updated{color:var(--muted);margin-top:5px;font-size:13px}.hero__stats{grid-template-columns:repeat(auto-fit,minmax(148px,1fr));align-content:start;gap:11px;display:grid}.stat{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-md);padding:12px 14px;transition:transform .18s,border-color .18s}.stat:hover{border-color:var(--line-strong);transform:translateY(-2px)}.stat__label{text-transform:uppercase;letter-spacing:.07em;color:var(--muted);align-items:center;gap:6px;font-size:11px;font-weight:600;display:flex}.stat__value{letter-spacing:-.02em;margin-top:5px;font-size:20px;font-weight:700}.stat__hint{color:var(--ink-2);margin-top:3px;font-size:12px}.stat--good{box-shadow:inset 3px 0 0 var(--good)}.stat--warning{box-shadow:inset 3px 0 0 var(--warning)}.stat--serious{box-shadow:inset 3px 0 0 var(--serious)}.stat--critical{box-shadow:inset 3px 0 0 var(--critical)}.days{gap:5px;margin:0;padding:0;list-style:none;display:grid}.day{border-radius:var(--r-md);width:100%;color:inherit;text-align:left;background:0 0;border:1px solid #0000;grid-template-columns:minmax(0,116px) 30px minmax(0,1fr) minmax(0,66px) minmax(0,100px) minmax(0,1.4fr);align-items:center;gap:12px;padding:11px 14px;transition:background .18s,border-color .18s,transform .18s;display:grid}.day:hover{background:var(--surface-2);transform:translate(3px)}.day.is-selected{background:color-mix(in srgb, var(--brand-2) 10%, transparent);border-color:color-mix(in srgb, var(--brand-2) 34%, transparent)}.day__name strong{font-size:14px;font-weight:700;display:block}.day__name small{color:var(--muted);font-size:12px}.day__glyph{font-size:23px}.day__desc,.day__rain,.day__wind{color:var(--ink-2);font-size:13px}.day__rain{color:var(--brand-2);font-variant-numeric:tabular-nums;font-weight:600}.day__range{font-variant-numeric:tabular-nums;align-items:center;gap:9px;font-size:13px;display:flex}.day__low{color:var(--muted);text-align:right;min-width:48px}.day__high{min-width:48px;font-weight:700}.day__track{background:var(--grid);border-radius:999px;flex:1;height:7px;position:relative;overflow:hidden}.day__bar{background:linear-gradient(90deg, var(--brand-3), var(--brand-2), var(--series-4), var(--series-2));border-radius:999px;height:7px;transition:left .4s,width .4s;position:absolute;top:0}@container (width<=760px){.day{grid-template-columns:minmax(0,104px) 26px minmax(0,1fr) minmax(0,66px);row-gap:6px}.day__desc,.day__wind{display:none}.day__range{grid-column:1/-1}}.chart{width:100%;position:relative}.chart svg{display:block;overflow:visible}.chart svg:focus-visible{outline-offset:4px}.chart-grid{stroke:var(--grid);stroke-width:1px}.chart-axis{stroke:var(--axis);stroke-width:1px}.chart-tick{fill:var(--muted);font-variant-numeric:tabular-nums;font-size:11px}.chart-line{fill:none;stroke:var(--chart-color);stroke-width:2.25px;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 4px 10px color-mix(in srgb, var(--chart-color) 40%, transparent))}.chart-bar{fill:var(--chart-color);transition:opacity .15s}.chart-datalabel{fill:var(--ink-2);font-size:11px;font-weight:700}.chart-crosshair{stroke:var(--axis);stroke-width:1px;stroke-dasharray:3 4}.chart-marker{fill:var(--chart-color);stroke:var(--surface-solid);stroke-width:2.5px}.chart-empty{color:var(--muted);padding:26px 0;font-size:13px}.chart-tooltip{background:var(--surface-solid);border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--shadow-lg);pointer-events:none;z-index:5;min-width:160px;padding:10px 12px;font-size:12px;position:absolute;transform:translate(-50%,-100%)}.chart-tooltip__head{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:11px;font-weight:600}.chart-tooltip__value{letter-spacing:-.02em;margin:3px 0 7px;font-size:19px;font-weight:800}.chart-tooltip__row{color:var(--ink-2);justify-content:space-between;gap:14px;display:flex}.mini-chart{border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface-2);margin:0;padding:14px}.mini-chart figcaption{color:var(--ink-2);margin-bottom:8px;font-size:13px;font-weight:600}.hour-strip{scroll-snap-type:x proximity;gap:9px;padding:16px 2px 6px;display:flex;overflow-x:auto}.hour-strip::-webkit-scrollbar{height:6px}.hour-strip::-webkit-scrollbar-thumb{background:var(--line-strong);border-radius:999px}.hour{text-align:center;border-radius:var(--r-md);border:1px solid var(--line);background:var(--surface-2);scroll-snap-align:start;flex:none;width:92px;padding:12px 8px;transition:transform .18s,border-color .18s}.hour:hover{border-color:color-mix(in srgb, var(--brand-2) 40%, transparent);transform:translateY(-3px)}.hour__time{color:var(--muted);text-transform:uppercase;font-size:11px;font-weight:600}.hour__glyph{margin:4px 0;font-size:24px}.hour__temp{font-variant-numeric:tabular-nums;font-weight:800}.hour__rain{color:var(--brand-2);font-size:11px;font-weight:600}.hour__wind{color:var(--muted);font-size:11px}.table-wrap{border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface-2);overflow-x:auto}.table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:13px}.table th,.table td{text-align:left;border-bottom:1px solid var(--grid);white-space:nowrap;padding:9px 12px}.table thead th{background:var(--surface-solid);color:var(--muted);text-transform:uppercase;letter-spacing:.06em;z-index:1;font-size:11px;position:sticky;top:0}.table tbody tr:hover{background:var(--surface)}.table tbody th{font-weight:700}.card-grid{grid-template-columns:repeat(auto-fill,minmax(238px,1fr));gap:16px;display:grid}.city-card{border-radius:var(--r-lg);transition:transform .22s cubic-bezier(.16,1,.3,1),box-shadow .22s,border-color .22s;position:relative;overflow:hidden}.city-card:hover{border-color:color-mix(in srgb, var(--brand-2) 40%, transparent);box-shadow:var(--shadow-lg);transform:translateY(-5px)}.city-card:before{content:"";background:linear-gradient(155deg, var(--hero-tint,transparent), transparent 62%);pointer-events:none;position:absolute;inset:0}.city-card--clear{--hero-tint:#ffb02033}.city-card--cloud{--hero-tint:#788cbe2e}.city-card--fog{--hero-tint:#8c96af33}.city-card--rain{--hero-tint:#2f7cf638}.city-card--snow{--hero-tint:#96c8ff33}.city-card--storm{--hero-tint:#6d5cff3d}.city-card__link{color:inherit;padding:16px;text-decoration:none;display:block;position:relative}.city-card__fav{z-index:2;color:var(--muted);background:0 0;border:0;padding:4px;font-size:18px;line-height:1;transition:transform .2s,color .2s;position:absolute;top:10px;right:10px}.city-card__fav:hover{color:var(--series-4);transform:scale(1.2)}.city-card__fav.is-on{color:var(--series-4)}.city-card__head h3{padding-right:24px;font-size:15.5px}.city-card__head p{color:var(--muted);margin-top:3px;font-size:12px}.city-card__body{justify-content:space-between;align-items:center;gap:8px;margin:14px 0 10px;display:flex}.city-card__glyph{font-size:32px}.city-card__temp{font-variant-numeric:tabular-nums;letter-spacing:-.03em;font-size:28px;font-weight:800}.city-card__foot{color:var(--ink-2);justify-content:space-between;align-items:center;gap:8px;font-size:12px;display:flex}.badge{text-transform:uppercase;letter-spacing:.07em;border:1px solid var(--line);color:var(--muted);border-radius:999px;padding:3px 8px;font-size:10px;font-weight:700}.badge--major{color:var(--brand-2);border-color:color-mix(in srgb, var(--brand-2) 40%, transparent);background:color-mix(in srgb, var(--brand-2) 10%, transparent)}.badge--minor{color:var(--series-3);border-color:color-mix(in srgb, var(--series-3) 40%, transparent);background:color-mix(in srgb, var(--series-3) 10%, transparent)}.skeleton{background:linear-gradient(90deg, var(--grid), var(--surface-2), var(--grid));background-size:200% 100%;border-radius:8px;animation:1.3s linear infinite shimmer;display:inline-block}.skeleton--temp{width:72px;height:28px}.grid-2{grid-template-columns:repeat(auto-fit,minmax(min(340px,100%),1fr));align-items:start;gap:22px;display:grid}.stack{gap:22px;display:grid}.bullets,.steps{color:var(--ink-2);gap:10px;margin:0;padding-left:18px;font-size:14px;display:grid}.steps li{display:grid}.steps strong{color:var(--ink)}.pill-list{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.pill{background:var(--surface-2);border:1px solid var(--line);color:var(--ink);border-radius:999px;align-items:baseline;gap:6px;padding:7px 14px;font-size:13px;font-weight:600;text-decoration:none;transition:transform .15s,border-color .15s;display:inline-flex}.pill:hover{border-color:color-mix(in srgb, var(--brand-2) 45%, transparent);transform:translateY(-2px)}.pill small{color:var(--muted);font-weight:500}.result-count{color:var(--muted);font-size:13px}.pager{color:var(--muted);justify-content:center;align-items:center;gap:18px;font-size:13px;display:flex}.filters{border-radius:var(--r-lg);flex-wrap:wrap;align-items:flex-end;gap:14px;padding:18px;display:flex}.field{color:var(--muted);gap:6px;min-width:186px;font-size:12px;font-weight:600;display:grid}.field--wide{width:100%}.field input,.field select{border-radius:var(--r-sm);border:1px solid var(--line);background:var(--surface-solid);color:var(--ink);padding:10px 13px;font-size:14px;font-weight:500;transition:border-color .2s,box-shadow .2s}.field input:focus,.field select:focus{border-color:color-mix(in srgb, var(--brand-2) 60%, transparent);box-shadow:0 0 0 4px var(--glow);outline:none}.feedback{border-radius:var(--r-lg);color:var(--ink-2);align-items:center;gap:16px;padding:22px;font-size:14px;display:flex}.feedback--error{box-shadow:inset 3px 0 0 var(--critical), var(--shadow)}.feedback__title{color:var(--ink);font-weight:700}.spinner{border:2px solid var(--grid);border-top-color:var(--brand-2);border-radius:50%;width:22px;height:22px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@keyframes shimmer{to{background-position:-200% 0}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (width<=960px){.topbar__inner{grid-template-columns:1fr auto;grid-template-areas:"brand actions""search search";gap:12px}.brand{grid-area:brand}.topbar__actions{grid-area:actions}.topbar__search{grid-area:search}.brand small{display:none}.hero{grid-template-columns:1fr}.day{grid-template-columns:minmax(0,96px) 26px minmax(0,1fr) minmax(0,60px)}.day__wind{display:none}.day__range{grid-column:1/-1}}@media (width<=540px){.main{padding:18px 14px 56px}.masthead{padding:24px 18px}.hero,.panel{padding:18px}.day__desc{display:none}.masthead__metrics{gap:16px}}
