:root{--bg:#eff1f3;--bg-2:#f5f6f8;--surface:#fbfcfd;--surface-2:#f4f6f8;--surface-3:#edf2f6;--border:#cfd7df;--ring:#bcc7d2;--shadow:0 8px 22px rgba(10,25,40,.09);--radius:16px;--ink:#1a2430;--ink-strong:#16202b;--muted:#5a6675;--muted-2:#718095;--blue-900:#15344f;--blue-800:#1b4668;--blue-700:#1e5a83;--blue-600:#216f9f;--blue-500:#2b86b9;--blue-300:#7fb1d7;--blue-200:#c2d8e8;--brand-red:#c74248;--brand-red-d:#a93a40;--good:#2b8a68;--warn:#c08525;--bad:#c53a3f;--link:var(--blue-600);--focus:#bf3c43;--fs-xs:14px;--fs-sm:15px;--fs-md:clamp(16px,1.6vw,17px);--fs-lg:clamp(18px,2vw,20px);--fs-xl:clamp(22px,3vw,26px);--fs-xxl:clamp(30px,6vw,40px);--lh-1:1.15;--lh-2:1.35;--lh-3:1.55;--tap:44px}*{box-sizing:border-box}body,html{height:100%;margin:0;display:flex;flex-direction:column;min-height:100svh}body{margin:0;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Inter,Helvetica Neue,Arial,Noto Sans,Apple Color Emoji,Segoe UI Emoji;font-size:var(--fs-md);line-height:var(--lh-3);color:var(--ink);background:radial-gradient(1200px 600px at 85% -10%,rgba(25,45,70,.05) 0,rgba(25,45,70,0) 55%),linear-gradient(180deg,var(--bg) 0,var(--bg-2) 640px,var(--bg) 100%)}@media (prefers-contrast:more){:root{--border:#b8c2cc;--ring:#98a6b5}}.site-header{position:-webkit-sticky;position:sticky;top:0;z-index:20;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;grid-gap:12px;gap:12px;background:#fbfbfc;border-bottom:1px solid var(--border);box-shadow:0 1px 0 rgba(0,0,0,.04);padding:calc(14px + env(safe-area-inset-top)) clamp(12px,4vw,28px) 14px;background-clip:padding-box}.site-header .header-left h1{margin:0;font-size:var(--fs-lg);font-weight:700;color:var(--blue-900);letter-spacing:.2px;line-height:var(--lh-1)}.site-header .header-logo{justify-self:center;display:inline-flex;align-items:center;justify-content:center;height:46px}.site-header .header-logo img{height:100%;width:auto;display:block}.site-header .header-right{justify-self:end}.site-header .updated{font-size:var(--fs-sm);color:var(--muted)}.site-header a{text-decoration:none;color:inherit}.site-header a:focus-visible{outline:3px solid var(--focus);outline-offset:3px;border-radius:8px}@media (max-width:720px){.site-header{grid-template-columns:1fr 1fr;padding:calc(10px + env(safe-area-inset-top)) clamp(10px,4vw,18px) 10px}.site-header .header-logo{display:none}.site-header .header-left h1{font-size:17px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.site-header .updated{font-size:13px;justify-self:end}}.wrap{max-width:1250px;margin:22px auto 28px;padding:0 clamp(12px,3vw,24px) 40px;flex:1 1}.grid{display:grid;grid-template-columns:1.4fr .8fr;grid-gap:18px;gap:18px}@media (max-width:980px){.grid{grid-template-columns:1fr}}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.card .head{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;background:var(--surface-2);border-bottom:1px solid var(--border);color:var(--blue-800);font-weight:700;font-size:var(--fs-md);letter-spacing:.2px}.card .body{padding:18px}.wind-layout{display:grid;grid-template-columns:1fr;grid-gap:16px;gap:16px}.dial-wrap{display:grid;grid-template-columns:380px 1fr;grid-gap:20px;gap:20px;align-items:center}@media (max-width:860px){.dial-wrap{grid-template-columns:1fr}}.stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:14px;gap:14px}@media (max-width:600px){.stats{grid-template-columns:1fr}}.stat{background:var(--surface-2);border:1.5px solid var(--brand-red);border-radius:14px;padding:14px}.stat h3{margin:0 0 8px;font-size:var(--fs-sm);color:var(--muted);letter-spacing:.35px;text-transform:uppercase}.big,.stat h3{font-weight:700}.big{font-size:var(--fs-xxl);line-height:var(--lh-1);color:var(--ink-strong);letter-spacing:-.005em}.sub{font-size:var(--fs-md);color:var(--muted);line-height:var(--lh-2)}.temp-main-row{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.feels-like-block{display:flex;flex-direction:column;gap:1px;padding-bottom:3px;padding-left:14px;border-left:2px solid var(--border);margin-left:4px}.feels-like-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--muted);line-height:1}.feels-like-val{font-size:var(--fs-xl);font-weight:700;color:var(--blue-800);line-height:var(--lh-1);letter-spacing:-.01em}.badge{font-size:var(--fs-sm);padding:5px 10px;border-radius:999px;border:1px solid var(--ring);color:var(--blue-900);background:var(--surface-3);font-weight:700}.badge.ok{border-color:color-mix(in srgb,var(--good) 45%,var(--ring));color:#11533a;background:#e8f3ef}.badge.warn{border-color:color-mix(in srgb,var(--warn) 45%,var(--ring));color:#644607;background:#fff2df}.dial{width:100%;max-width:380px;aspect-ratio:1/1;display:block;margin:auto}.dial-title{font-size:var(--fs-sm);color:var(--muted);margin:0 0 8px 4px;letter-spacing:.4px}svg.dial circle[cx="50"][cy="50"][r="46"]{fill:#ffffff!important;stroke:#808b97!important;stroke-width:1.2px!important}svg.dial #g stop:first-child,svg.dial #g stop:last-child{stop-color:#ffffff!important}svg.dial circle[cx="50"][cy="50"][r="2.4"]{fill:#6a7786!important}svg.dial text{fill:#111111!important;font-weight:700!important}svg.dial #needle polygon:first-of-type{fill:#d86a6f!important}svg.dial #needle polygon:nth-of-type(2){fill:#c74248!important}svg.dial #needle line,svg.dial #needle path{stroke:#111111!important;stroke-width:1px!important}svg.dial #overlay{mix-blend-mode:multiply}@media (max-width:560px){svg.dial>g:last-of-type>text{font-size:6px!important}}.table{display:grid;grid-template-columns:1.1fr .9fr;grid-gap:12px;gap:12px}.label{color:var(--muted);font-weight:600}.val{font-weight:700;color:var(--blue-900)}a{color:var(--link);text-underline-offset:3px}a.btn{display:inline-flex;align-items:center;justify-content:center;min-height:var(--tap);padding:9px 16px;font-weight:700;font-size:var(--fs-md);border-radius:12px;text-decoration:none;color:#fff;background:var(--brand-red);border:1px solid var(--brand-red-d);box-shadow:0 6px 16px rgba(199,66,72,.1);transition:filter .15s ease,transform .02s ease,box-shadow .15s ease}a.btn:hover{filter:brightness(.99);box-shadow:0 8px 18px rgba(199,66,72,.14)}a.btn:active{transform:translateY(1px)}a.btn.btn--secondary{background:var(--blue-600);border-color:#1b5e87;box-shadow:0 6px 16px rgba(33,111,159,.12)}a.btn.btn--secondary:hover{box-shadow:0 8px 18px rgba(33,111,159,.18)}a.btn.btn--text{background:transparent;color:var(--blue-700);border:1px solid var(--border)}.info{margin-top:18px;padding:14px;background:var(--surface-2);border-radius:12px;border:1px solid var(--border)}.info h3{font-weight:700;color:var(--muted);letter-spacing:.35px;text-transform:uppercase}.info h3,.info p{margin:0 0 8px;font-size:var(--fs-sm)}.footer{text-align:center;padding:16px;font-size:var(--fs-sm);color:var(--muted);background:linear-gradient(0deg,rgba(16,24,32,.05),rgba(16,24,32,0));border-top:1px solid var(--border)}.switch-ios{display:flex;align-items:center;gap:12px;-webkit-user-select:none;-moz-user-select:none;user-select:none}.switch-caption{margin-left:8px}.switch-caption,.switch-side{font-size:var(--fs-sm);color:var(--muted)}.switch-side{letter-spacing:.02em}.switch-off{text-align:right}.switch-off,.switch-on{min-width:2ch}.ios-switch{position:relative;display:inline-block;line-height:0}.ios-switch input{position:absolute;opacity:0;width:0;height:0}.ios-switch .track{--w:58px;--h:34px;--pad:3px;width:var(--w);height:var(--h);background:#d2d8de;border-radius:9999px;display:inline-block;position:relative;box-shadow:inset 0 0 0 1px rgba(0,0,0,.05);transition:background-color .18s ease,box-shadow .18s ease}.ios-switch .thumb{--size:calc(var(--h) - var(--pad) * 2);position:absolute;top:var(--pad);left:var(--pad);width:var(--size);height:var(--size);border-radius:9999px;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.22),0 4px 10px rgba(0,0,0,.1);transition:transform .18s ease;will-change:transform}.ios-switch input:checked+.track{background:#32c05f;box-shadow:inset 0 0 0 1px rgba(0,0,0,.03)}.ios-switch input:checked+.track .thumb{transform:translateX(calc(58px - 34px))}.ios-switch input:focus-visible+.track{outline:3px solid var(--focus);outline-offset:4px}.ios-switch input:disabled+.track{opacity:.6;filter:grayscale(.1);cursor:not-allowed}.ios-switch input:disabled+.track .thumb{box-shadow:0 1px 2px rgba(0,0,0,.16)}@media (prefers-reduced-motion:reduce){.ios-switch .thumb,.ios-switch .track{transition:none}}.modal{position:fixed;inset:0;display:none;align-items:center;justify-content:center;z-index:999}.modal.is-open{display:flex}.modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.6)}.modal-content{position:relative;background:var(--surface-2,#0f1720);padding:1rem;border-radius:16px;max-width:90vw;max-height:90vh;box-shadow:0 10px 40px rgba(0,0,0,.7);border:1px solid var(--border,#1a2532)}.modal-content img{max-width:100%;max-height:80vh;display:block}.modal-close{position:absolute;top:15px;right:20px;background:transparent;border:none;color:#ffffff;font-size:2.2rem;line-height:1;cursor:pointer}.err-banner{position:fixed;left:0;right:0;top:0;padding:8px 12px;background:#7a1e1e;color:#fff;font:600 14px/1.2 system-ui;z-index:9999;text-align:center}.range-tabs{display:flex;gap:8px;margin-bottom:22px;flex-wrap:wrap}.range-tab{padding:8px 22px;border:1.5px solid var(--border);border-radius:999px;background:var(--surface);color:var(--muted);font-size:var(--fs-sm);font-weight:600;cursor:pointer;line-height:var(--lh-1);transition:background-color .14s,border-color .14s,color .14s}.range-tab:hover{border-color:var(--blue-300);color:var(--blue-800);background:var(--surface-3)}.range-tab.active{background:var(--blue-800);border-color:var(--blue-800);color:#fff}.wrap--wide{max-width:860px;width:100%;box-sizing:border-box}.chart-stack{display:flex;flex-direction:column;gap:28px}.chart-body{padding:18px 8px 14px}@media (max-width:480px){.chart-body{padding:10px 0 6px}.range-tab{padding:7px 16px;font-size:13px}}.chart-tooltip{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:10px 14px;box-shadow:0 4px 18px rgba(10,25,40,.1);min-width:150px;font-size:var(--fs-sm)}.chart-tooltip-label{color:var(--muted);font-size:12px;margin:0 0 6px}.chart-tooltip-row{display:flex;justify-content:space-between;align-items:baseline;gap:14px;margin:2px 0}.chart-placeholder{display:flex;align-items:center;justify-content:center;height:200px;color:var(--muted);font-size:var(--fs-sm)}.wind-dir-panel{position:relative;padding:8px 0 4px}.wind-dir-arrows{display:flex;align-items:flex-end;gap:0;overflow:hidden}.wind-dir-cell{display:flex;flex-direction:column;align-items:center;flex:1 1;min-width:0;padding:6px 1px 0;border-radius:6px;cursor:default;transition:background .1s}.wind-dir-cell.hovered,.wind-dir-cell:hover{background:var(--surface-3)}.wind-dir-tick{font-size:10px;color:var(--muted);margin-top:5px;white-space:nowrap;overflow:hidden;text-overflow:clip;height:14px;line-height:14px;text-align:center;width:100%}@media (max-width:480px){.wind-dir-tick{font-size:9px}.wind-dir-cell{padding:4px 0 0}}.chart-placeholder-loading{opacity:.6;animation:pulse 1.4s ease-in-out infinite}.chart-placeholder-error{color:var(--bad)}@keyframes pulse{0%,to{opacity:.4}50%{opacity:.9}}