:root{--ws-cap-red:#dc143c;--ws-cap-orange:#ff6b35;--ws-cap-yellow:gold;--ws-cap-green:#90ee90;--ws-cap-unknown:gray;--ws-cap-red-chip:#b91c1c;--ws-cap-orange-chip:#ea580c;--ws-cap-yellow-chip:var(--ws-cap-yellow);--ws-cap-green-chip:var(--ws-cap-green);--ws-cap-red-chip-ink:#fff;--ws-cap-orange-chip-ink:#111314;--ws-cap-yellow-chip-ink:#111314;--ws-cap-green-chip-ink:#111314;--ws-cap-red-ink:var(--ws-cap-red-chip-ink);--ws-cap-orange-ink:var(--ws-cap-orange-chip-ink);--ws-cap-yellow-ink:var(--ws-cap-yellow-chip-ink);--ws-cap-green-ink:var(--ws-cap-green-chip-ink);--ws-cap-icon-plate:#111314;--ws-cap-icon-plate-pad:2px;--ws-cap-icon-plate-radius:3px;--ws-mark-ring-mix:55%;--ws-avalanche-1:#4caf50;--ws-avalanche-2:#ffeb3b;--ws-avalanche-3:#ff9800;--ws-avalanche-4:#f44336;--ws-avalanche-5:#212121;--ws-avalanche-unknown:#9e9e9e;--ws-avalanche-1-stroke:#2e7d32;--ws-avalanche-2-stroke:#f9a825;--ws-avalanche-3-stroke:#e65100;--ws-avalanche-4-stroke:#b71c1c;--ws-avalanche-5-stroke:#000;--ws-avalanche-size-1:#4caf50;--ws-avalanche-size-2:#ffc107;--ws-avalanche-size-3:#ff9800;--ws-avalanche-size-4:#f44336;--ws-avalanche-size-5:#b71c1c;--ws-avalanche-size-unknown:#78909c;--ws-aqi-1:#00e400;--ws-aqi-2:#ff0;--ws-aqi-3:#ff7e00;--ws-aqi-4:red;--ws-aqi-5:#8f3f97;--ws-aqi-6:#7e0023;--ws-aqi-nodata:#9e9e9e;--ws-road-greidfaert:#16a34a;--ws-road-halkublettir:#a3e635;--ws-road-halka:#facc15;--ws-road-flughalt:#fb923c;--ws-road-krap:#f59e0b;--ws-road-snjothekja:#38bdf8;--ws-road-thungfaert:#ea580c;--ws-road-thaefingur:#c2410c;--ws-road-faert-fjallabilum:#a855f7;--ws-road-ofaert-vedur:#dc2626;--ws-road-ofaert-annad:#dc2626;--ws-road-lokad:#7f1d1d;--ws-road-ekki-i-thjonustu:#9ca3af;--ws-road-othekkt:#d1d5db;--ws-vona-gray:#9e9e9e;--ws-vona-green:#4caf50;--ws-vona-yellow:#ffd600;--ws-vona-orange:#ff9800;--ws-vona-red:#f44336;--ws-vona-none:#bdbdbd;--ws-vona-yellow-ink:#3e2723;--ws-vals-0:var(--ws-vona-green);--ws-vals-1:var(--ws-vona-yellow);--ws-vals-2:var(--ws-vona-orange);--ws-vals-3:var(--ws-vona-red);--ws-quake-m5:#8b0000f2;--ws-quake-m4:#cc0000e6;--ws-quake-m3:#e60000e0;--ws-quake-m2:#ff5e00e6;--ws-quake-m1:#ffb000eb;--ws-quake-m0:#48c760f2;--ws-aurora-1:#00501440;--ws-aurora-5:#00a03266;--ws-aurora-10:#00dc508c;--ws-aurora-20:#00ff64a6;--ws-aurora-35:#32ff96bf;--ws-aurora-50:#64b4ffcc;--ws-aurora-70:#a064ffd9;--ws-aurora-100:#dc32ffe6;--ub-alert-green:var(--ws-cap-green);--ub-alert-yellow:var(--ws-cap-yellow);--ub-alert-orange:var(--ws-cap-orange);--ub-alert-red:var(--ws-cap-red);--ub-blue-900:#051230;--ub-blue-850:#0a233f;--ub-blue-800:#12354e;--ub-blue-700:#064f6e;--ub-blue-600:#005b8d;--ub-blue-500:#006eb8;--ub-blue-400:#5a82b3;--ub-blue-350:#5ea7de;--ub-blue-300:#97acc8;--ub-blue-200:#a5c8d1;--ub-blue-100:#bce4e5;--ub-blue-50:#ecf5fc;--ub-stone-950:#111314;--ub-stone-900:#212222;--ub-stone-800:#2e3a3d;--ub-stone-700:#34454c;--ub-stone-600:#55676b;--ub-stone-500:#657275;--ub-stone-400:#a2b0ad;--ub-stone-300:#b6bfc1;--ub-stone-200:#cdd2d3;--ub-stone-100:#e2e5e6;--ub-stone-50:#f1f4f5;--ub-ember-900:#3a1500;--ub-ember-800:#5b2701;--ub-ember-700:#793807;--ub-ember-600:#ae5224;--ub-ember-500:#c56127;--ub-ember-400:#f68c50;--ub-ember-300:#f3a257;--ub-ember-200:#f6c5ab;--ub-ember-100:#ffdbc5;--ub-ember-50:#ffecda;--ub-moss-900:#112f2c;--ub-moss-800:#1e4034;--ub-moss-700:#004f46;--ub-moss-600:#437742;--ub-moss-500:#648f7b;--ub-moss-400:#7ea293;--ub-moss-300:#b4cdc2;--ub-moss-200:#b5decc;--ub-moss-100:#d9e9e2;--ub-moss-50:#eaf7f1;--ub-clay-900:#3c1114;--ub-clay-800:#5c2225;--ub-clay-700:#82241f;--ub-clay-600:#ab2439;--ub-clay-500:#a94151;--ub-clay-400:#d37c7d;--ub-clay-300:#e9a1a1;--ub-clay-200:#fbc0bf;--ub-clay-100:#ffd7d6;--ub-clay-50:#ffe8e7;--ub-sand-900:#2b200c;--ub-sand-800:#45351b;--ub-sand-700:#644b1e;--ub-sand-600:#775f37;--ub-sand-500:#927950;--ub-sand-400:#c2ae93;--ub-sand-300:#c1b6a4;--ub-sand-200:#ebd3a2;--ub-sand-100:#efe3d0;--ub-sand-50:#fcf2e3;--ub-bg:var(--ub-stone-50);--ub-surface:#fff;--ub-surface-muted:var(--ub-stone-100);--ub-border:var(--ub-stone-200);--ub-border-strong:var(--ub-stone-300);--ub-ink:var(--ub-blue-900);--ub-ink-secondary:var(--ub-stone-700);--ub-ink-muted:var(--ub-stone-500);--ub-primary:var(--ub-blue-600);--ub-primary-hover:var(--ub-blue-700);--ub-primary-active:var(--ub-blue-800);--ub-link:var(--ub-blue-600);--ub-focus:var(--ub-blue-600);--ub-accent:var(--ub-ember-600);--ub-eco:var(--ub-moss-700);--ub-sponsored-bg:var(--ub-sand-200);--ub-sponsored-ink:var(--ub-sand-900);--ub-danger:var(--ub-clay-700);--ub-danger-bg:var(--ub-clay-50);--ub-danger-border:var(--ub-clay-200);--ub-success:var(--ub-moss-700);--ub-success-bg:var(--ub-moss-50);--ub-success-border:var(--ub-moss-200);--ub-warning:var(--ub-ember-700);--ub-warning-bg:var(--ub-ember-50);--ub-warning-border:var(--ub-ember-200);--ub-info:var(--ub-blue-700);--ub-info-bg:var(--ub-blue-50);--ub-info-border:var(--ub-blue-100);--ub-graticule:color-mix(in oklab, var(--ub-stone-200) 30%, transparent);--ub-ground-editorial:var(--ub-sand-50);--ub-ground-data:var(--ub-moss-50);--ub-ground-action:var(--ub-ember-50);--ub-ground-editorial-edge:var(--ub-sand-200);--ub-ground-data-edge:var(--ub-moss-200);--ub-ground-action-edge:var(--ub-ember-200);--ub-family-air:var(--ub-blue-600);--ub-family-earth:var(--ub-ember-600);--ub-family-water:var(--ub-moss-700);--ub-family-built:var(--ub-sand-700);--ub-family-ref:var(--ub-stone-600);--ub-ink-inverse:#fff;--ub-chrome-surface:var(--ub-blue-900);--ub-chrome-surface-raised:var(--ub-blue-800);--ub-chrome-surface-active:var(--ub-blue-700);--ub-chrome-border:var(--ub-blue-800);--ub-chrome-ink:#fff;--ub-chrome-ink-secondary:var(--ub-blue-100);--ub-chrome-ink-muted:var(--ub-blue-200);--ub-chrome-focus:var(--ub-blue-300);--ub-paper:#fff;--ub-void:#000;--ub-font-sans:var(--font-geist-sans,"Geist"), ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--ub-font-mono:var(--font-geist-mono,"Geist Mono"), ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;--ub-font-display:var(--font-geist-sans,"Geist"), ui-sans-serif, system-ui, sans-serif;--ub-text-2xs:10px;--ub-text-xs:11px;--ub-text-sm:12px;--ub-text-base:14px;--ub-text-md:15px;--ub-text-lg:16px;--ub-text-body:18px;--ub-text-xl:20px;--ub-text-2xl:24px;--ub-text-3xl:32px;--ub-text-4xl:44px;--ub-text-5xl:60px;--ub-type-body:var(--ub-text-lg);--ub-type-control:var(--ub-text-lg);--ub-type-label:var(--ub-text-base);--ub-type-small:var(--ub-text-sm);--ub-tracking-wordmark:.16em;--ub-tracking-eyebrow:.08em;--ub-tracking-tight:-.01em;--ub-leading-tight:1.2;--ub-leading-snug:1.35;--ub-leading-body:1.6;--ub-radius-sm:3px;--ub-radius:6px;--ub-radius-lg:10px;--ub-radius-full:9999px;--ub-elevation-0:none;--ub-elevation-1:0 1px 1px #0512300d, 0 2px 6px #05123012, 0 10px 20px -8px #0512301f;--ub-elevation-2:0 1px 2px #0512300f, 0 8px 18px #0512301a, 0 28px 44px -14px #0512302e;--ub-shadow-sm:var(--ub-elevation-1);--ub-shadow:var(--ub-elevation-1);--ub-shadow-lg:var(--ub-elevation-2)}.dark{--ub-bg:var(--ub-blue-850);--ub-surface:var(--ub-blue-800);--ub-surface-muted:var(--ub-blue-900);--ub-border:var(--ub-stone-700);--ub-border-strong:var(--ub-stone-600);--ub-ink:var(--ub-stone-100);--ub-ink-secondary:var(--ub-stone-300);--ub-ink-muted:var(--ub-stone-400);--ub-ink-inverse:var(--ub-blue-900);--ub-primary:var(--ub-blue-400);--ub-primary-hover:var(--ub-blue-300);--ub-primary-active:var(--ub-blue-200);--ub-link:var(--ub-blue-350);--ub-focus:var(--ub-blue-350);--ub-accent:var(--ub-ember-400);--ub-eco:var(--ub-moss-300);--ub-sponsored-bg:var(--ub-sand-800);--ub-sponsored-ink:var(--ub-sand-200);--ub-danger:var(--ub-clay-300);--ub-danger-bg:var(--ub-clay-900);--ub-danger-border:var(--ub-clay-700);--ub-success:var(--ub-moss-300);--ub-success-bg:var(--ub-moss-900);--ub-success-border:var(--ub-moss-700);--ub-warning:var(--ub-ember-300);--ub-warning-bg:var(--ub-ember-900);--ub-warning-border:var(--ub-ember-700);--ub-info:var(--ub-blue-100);--ub-info-bg:var(--ub-blue-700);--ub-info-border:var(--ub-blue-350);--ub-graticule:color-mix(in oklab, var(--ub-blue-800) 45%, transparent);--ub-ground-editorial:var(--ub-surface);--ub-ground-data:var(--ub-surface);--ub-ground-action:var(--ub-surface);--ub-ground-editorial-edge:var(--ub-blue-700);--ub-ground-data-edge:var(--ub-blue-700);--ub-ground-action-edge:var(--ub-blue-700);--ub-family-air:var(--ub-blue-350);--ub-family-earth:var(--ub-ember-300);--ub-family-water:var(--ub-moss-300);--ub-family-built:var(--ub-sand-200);--ub-family-ref:var(--ub-stone-300);--ub-elevation-1:inset 0 1px 0 #5a82b329, 0 1px 2px #05123080, 0 8px 18px -6px #0512308c;--ub-elevation-2:inset 0 1px 0 #5a82b33d, 0 8px 18px #0512308c, 0 28px 44px -14px #051230a6}:where(a,button,input,select,textarea,[tabindex]):focus-visible{outline:2px solid var(--ub-focus);outline-offset:2px}.ub-chrome,.ub-chrome-tokens{--ub-bg:var(--ub-chrome-surface);--ub-surface:var(--ub-chrome-surface);--ub-surface-muted:var(--ub-chrome-surface-raised);--ub-border:var(--ub-chrome-border);--ub-border-strong:var(--ub-blue-700);--ub-ink:var(--ub-chrome-ink);--ub-ink-secondary:var(--ub-chrome-ink-secondary);--ub-ink-muted:var(--ub-chrome-ink-muted);--ub-ink-inverse:var(--ub-blue-900);--ub-primary:var(--ub-blue-400);--ub-primary-hover:var(--ub-blue-300);--ub-primary-active:var(--ub-blue-200);--ub-link:var(--ub-chrome-focus);--ub-focus:var(--ub-chrome-focus);--ub-accent:var(--ub-ember-400);--ub-danger:var(--ub-clay-300);--ub-danger-bg:var(--ub-clay-900);--ub-danger-bg-hover:var(--ub-clay-800);--ub-danger-border:var(--ub-clay-700);--ub-success:var(--ub-moss-300);--ub-success-bg:var(--ub-moss-900);--ub-success-bg-hover:var(--ub-moss-800);--ub-success-border:var(--ub-moss-700);--ub-warning:var(--ub-ember-300);--ub-warning-bg:var(--ub-ember-900);--ub-warning-bg-hover:var(--ub-ember-800);--ub-warning-border:var(--ub-ember-700);--ub-info:var(--ub-blue-100);--ub-info-bg:var(--ub-blue-700);--ub-info-border:var(--ub-blue-350)}.ub-chrome{background:var(--ub-chrome-surface);color:var(--ub-chrome-ink)}@font-face{font-family:Geist;src:url(/fonts/geist-sans-variable.woff2)format("woff2");font-weight:100 900;font-display:swap}@font-face{font-family:Geist Mono;src:url(/fonts/geist-mono-variable.woff2)format("woff2");font-weight:100 900;font-display:swap}*{box-sizing:border-box}body{background:var(--ub-bg);color:var(--ub-ink);font-family:var(--ub-font-sans);font-size:var(--ub-type-body);line-height:var(--ub-leading-body);-webkit-font-smoothing:antialiased;margin:0}button,input{font:inherit}button{cursor:pointer;color:inherit;border:1px solid var(--ub-border);border-radius:var(--ub-radius);background:var(--ub-surface);min-height:44px;font-size:var(--ub-type-control);justify-content:center;align-items:center;gap:8px;padding:10px 14px;font-weight:600;transition:border-color .15s;display:inline-flex}button:hover:not(:disabled){background:var(--ub-surface-muted);border-color:var(--ub-border-strong)}button:disabled{cursor:wait;opacity:.65}a{color:var(--ub-link);text-underline-offset:3px}a:hover{text-decoration-thickness:2px}h1,h2,p{margin-top:0}h1{font-size:var(--ub-text-3xl);font-weight:700;line-height:var(--ub-leading-tight);letter-spacing:-.02em;text-wrap:balance;margin-bottom:16px}h2{font-size:var(--ub-text-xl);font-weight:600;line-height:var(--ub-leading-snug);text-wrap:balance}.app{grid-template-columns:240px minmax(0,1fr);min-height:100dvh;display:grid}.sidebar{background:var(--ub-bg);border-inline-end:1px solid var(--ub-border);flex-direction:column;height:100dvh;padding:36px 24px 24px;display:flex;position:sticky;top:0;overflow-y:auto}.brand{color:var(--ub-ink);font-size:var(--ub-text-xl);letter-spacing:.14em;font-weight:800;line-height:1.4;text-decoration:none}.brand span{font-size:var(--ub-type-label);letter-spacing:0;color:var(--ub-chrome-ink-secondary);margin-top:6px;font-weight:500;display:block}nav{gap:8px;margin-top:48px;display:grid}.nav-item{text-align:left;white-space:normal;overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto;background:0 0;border-color:#0000;justify-content:flex-start;gap:12px;font-weight:400;line-height:1.4}.nav-item svg{flex-shrink:0}.nav-item:hover:not(:disabled){background:var(--ub-chrome-surface-raised);border-color:var(--ub-chrome-border)}.nav-item.active{background:var(--ub-chrome-surface-active);border-color:var(--ub-chrome-border);box-shadow:inset 3px 0 0 var(--ub-chrome-focus);font-weight:500}.app-navigation>a.nav-item{border-radius:var(--ub-radius);min-height:44px;color:var(--ub-ink);font-size:var(--ub-type-control);border:1px solid #0000;align-items:center;gap:8px;padding:10px 14px;text-decoration:none;display:flex}.app-navigation>a.nav-item.active{border-color:var(--ub-chrome-border)}.app-navigation>a.nav-item:hover{background:var(--ub-chrome-surface-raised);border-color:var(--ub-chrome-border)}.app-navigation .demo-nav{margin-top:20px}.demo-nav small{color:var(--ub-ink-secondary);font-size:var(--ub-type-label);font-weight:400;display:block}.demo-card{border-block:1px solid var(--ub-border);max-width:720px;color:var(--ub-ink);margin-top:40px;padding:24px 0;text-decoration:none;display:block}.demo-card .eyebrow{color:var(--ub-link);margin-bottom:12px;display:block}.demo-card h2{font-size:var(--ub-text-2xl);margin-bottom:12px}.demo-card p{max-width:56ch;color:var(--ub-ink-secondary);margin-bottom:16px}.demo-card-action{min-height:44px;color:var(--ub-link);font-size:var(--ub-type-label);align-items:center;gap:12px;font-weight:500;display:inline-flex}.demo-card:hover .demo-card-action{text-decoration:underline}.app-demo>main{padding-inline:clamp(24px,3vw,48px)}.app-demo>main>.page-content{min-width:0}.sidebar-bottom{color:var(--ub-ink-secondary);margin-top:auto;padding-top:48px}.sidebar-bottom p{font-size:var(--ub-type-label)}.toolbar{gap:8px;margin-bottom:20px;display:flex}.theme-switcher{border:1px solid var(--ub-chrome-border);background:var(--ub-chrome-surface);border-radius:999px;align-items:center;gap:2px;padding:2px;display:inline-flex}.toolbar .theme-switcher button{width:30px;min-width:30px;height:44px;min-height:44px;color:var(--ub-chrome-ink-muted);background:0 0;border:1px solid #0000;border-radius:999px;padding:7px}.toolbar .theme-switcher button[aria-checked=true]{color:var(--ub-chrome-ink);background:var(--ub-chrome-surface-active);border-color:var(--ub-chrome-focus)}.toolbar .theme-switcher button:hover{color:var(--ub-chrome-ink);background:var(--ub-chrome-surface-raised)}.theme-switcher button:focus-visible{outline:2px solid var(--ub-chrome-focus);outline-offset:3px}main{min-width:0;padding:0 clamp(24px,4vw,64px)}.page-content{min-block-size:100svh}.session-loading{min-block-size:65svh;color:var(--ub-ink-secondary);place-items:center;display:grid}.topbar{border-bottom:1px solid var(--ub-border);min-height:80px;color:var(--ub-ink-secondary);font-size:var(--ub-type-label);justify-content:space-between;align-items:center;gap:16px;padding:24px 0;display:flex}.topbar-today{color:var(--ub-ink-secondary);flex:1;font-weight:600}.topbar-identity{color:var(--ub-ink);font-weight:500}.page-heading{align-items:flex-start;gap:20px;padding:40px 0 28px;display:flex}.page-heading>div{min-width:0}.page-heading h1{margin-bottom:8px}.page-heading .lead{margin-bottom:0}.page-meta{color:var(--ub-ink-secondary);font-size:var(--ub-type-label);margin:10px 0 0}.greeting{color:var(--ub-ink-secondary);font-size:var(--ub-text-xl);margin:0 0 6px;font-weight:500}.eyebrow{font-size:var(--ub-type-label);letter-spacing:var(--ub-tracking-eyebrow);color:var(--ub-ink-secondary);text-transform:uppercase;margin-bottom:16px;font-weight:500}.lead{font-size:var(--ub-type-body);color:var(--ub-ink-secondary);max-width:64ch}.panel{background:var(--ub-surface);border:1px solid var(--ub-border);border-radius:var(--ub-radius-lg);box-shadow:var(--ub-elevation-1);padding:28px}[data-family]{--fam:var(--ub-family-air);--fam-ground:var(--ub-blue-50);--fam-edge:var(--ub-blue-100);--fam-ink:var(--ub-blue-700)}[data-family=earth]{--fam:var(--ub-family-earth);--fam-ground:var(--ub-ember-50);--fam-edge:var(--ub-ember-200);--fam-ink:var(--ub-ember-700)}[data-family=water]{--fam:var(--ub-family-water);--fam-ground:var(--ub-moss-50);--fam-edge:var(--ub-moss-200);--fam-ink:var(--ub-moss-700)}[data-family=built]{--fam:var(--ub-family-built);--fam-ground:var(--ub-sand-50);--fam-edge:var(--ub-sand-200);--fam-ink:var(--ub-sand-700)}[data-family=ref]{--fam:var(--ub-family-ref);--fam-ground:var(--ub-stone-50);--fam-edge:var(--ub-stone-200);--fam-ink:var(--ub-stone-700)}.dark [data-family]{--fam-ground:color-mix(in oklab, var(--fam) 14%, var(--ub-surface));--fam-edge:transparent;--fam-ink:var(--fam)}.dataset-tile{background:var(--ub-surface);width:44px;height:44px;color:var(--fam-ink);border:1px solid var(--fam-edge);border-radius:12px;flex:none;place-items:center;display:grid}.page-heading .dataset-tile{background:var(--fam-ground);width:52px;height:52px;margin-top:4px}.dark .dataset-tile{background:color-mix(in oklab, var(--fam) 22%, var(--ub-surface));border-color:#0000}.nav-dot{background:var(--ub-blue-350);border-radius:50%;flex:none;width:10px;height:10px}.nav-dot[data-family=earth]{background:var(--ub-ember-300)}.nav-dot[data-family=water]{background:var(--ub-moss-300)}.nav-dot[data-family=built]{background:var(--ub-sand-200)}.dashboard-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:24px;display:grid}.dashboard-card{color:var(--ub-ink);text-align:left;background:var(--ub-surface);border:1px solid var(--ub-border);border-radius:var(--ub-radius-lg);box-shadow:var(--ub-elevation-1);white-space:normal;grid-template-rows:auto auto 1fr auto;justify-content:stretch;align-items:stretch;gap:0;padding:0;font-weight:400;text-decoration:none;transition:box-shadow .16s,transform .16s;display:grid;overflow:hidden}.dashboard-card:hover:not(:disabled){background:var(--ub-surface);border-color:var(--ub-border-strong);box-shadow:var(--ub-elevation-2);transform:translateY(-1px)}.card-band{background:var(--fam-ground);border-bottom:1px solid var(--fam-edge);align-items:flex-start;gap:14px;padding:18px 20px;display:flex}.card-title{gap:4px;min-width:0;display:grid}.card-title h2{font-size:var(--ub-text-xl);margin:0;line-height:1.3}.card-title>span{color:var(--ub-ink-secondary);font-size:var(--ub-type-label);-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.45;display:-webkit-box;overflow:hidden}.card-figure{flex-wrap:wrap;align-items:baseline;gap:6px 12px;padding:18px 20px 4px;display:flex}.card-figure strong{font-family:var(--ub-font-mono);letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:40px;font-weight:500;line-height:1.05}.card-figure small{font-size:var(--ub-type-label);color:var(--ub-ink-secondary);font-family:var(--ub-font-sans);margin-left:4px}.card-figure>span{color:var(--ub-ink-secondary);font-size:var(--ub-type-label)}.card-picture{align-self:end;padding:8px 20px 12px;display:block}.card-figure{box-sizing:border-box;min-height:66px}.card-picture[data-slot=chart]{box-sizing:border-box;min-height:124px}.card-picture[data-slot=note]{box-sizing:border-box;min-height:40px}.card-placeholder{color:var(--ub-border-strong)}.card-note{color:var(--ub-ink-secondary);font-size:var(--ub-type-label);padding-bottom:6px;display:block}.mini-chart{width:100%;height:auto;max-height:110px;display:block}.mini-axis{stroke:var(--ub-border);stroke-width:1px}.mini-mark{fill:var(--fam)}.mini-mark.is-faint{fill-opacity:.45}.mini-tick{fill:var(--ub-ink-muted);font-size:var(--ub-type-small);font-variant-numeric:tabular-nums}.card-foot{border-top:1px solid var(--ub-border);color:var(--ub-ink-secondary);font-size:var(--ub-type-label);justify-content:space-between;align-items:center;gap:12px;padding:12px 20px 14px;display:flex}.card-open{color:var(--ub-link);flex:none;align-items:center;gap:6px;font-weight:600;display:inline-flex}@media (prefers-reduced-motion:reduce){.dashboard-card,.dashboard-card:hover:not(:disabled){transition:none;transform:none}}.widget-grid{gap:24px;display:grid}.widget-grid>*,.dashboard-grid>*{min-width:0}.section-heading{justify-content:space-between;gap:20px;display:flex}.section-heading>div{min-width:0}.section-heading{align-items:flex-start}.section-heading h2{font-size:var(--ub-text-xl);margin-bottom:20px}.icon-button{flex-shrink:0;align-self:start;padding:10px}.metrics{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:16px;margin:8px 0 28px;display:grid}.metrics>div{background:var(--fam-ground,var(--ub-ground-data));border:1px solid var(--fam-edge,var(--ub-ground-data-edge));border-radius:var(--ub-radius);padding:16px}.metrics span{color:var(--ub-ink-secondary);font-size:var(--ub-type-label);margin-bottom:8px;line-height:1.4;display:block}.metrics strong{font-family:var(--ub-font-mono);font-size:var(--ub-text-3xl);font-variant-numeric:tabular-nums;font-weight:500;line-height:1.2}.metrics small{font-size:var(--ub-type-label);color:var(--ub-ink-secondary);margin-left:6px;font-weight:400}.metrics strong{display:block}.metrics .metric-note{color:var(--ub-ink);overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto;margin:6px 0 0}.chart{margin:24px 0}.chart svg{font-variant-numeric:tabular-nums;width:100%;max-height:none}.chart svg text{font-family:var(--ub-font-mono);font-size:var(--ub-type-small)}.chart svg .bar-label{font-family:var(--ub-font-sans);font-size:var(--ub-type-label)}.table-scroll{border:1px solid var(--ub-border);border-radius:var(--ub-radius);max-height:440px;overflow:auto}table{border-collapse:collapse;width:100%;font-size:var(--ub-type-label);font-variant-numeric:tabular-nums}th,td{text-align:left;border-bottom:1px solid var(--ub-border);white-space:nowrap;padding:12px 16px}th{color:var(--ub-ink-secondary);background:var(--ub-surface-muted);font-weight:500;position:sticky;top:0}td.cell-number{font-family:var(--ub-font-mono)}td.cell-time{white-space:nowrap}.day-row th{background:var(--ub-surface);color:var(--ub-ink);border-bottom:1px solid var(--ub-border-strong);padding-top:18px;font-weight:600;position:static}tbody tr:last-child td{border-bottom:0}tbody tr:nth-child(2n){background:color-mix(in oklab, var(--ub-surface-muted) 28%, var(--ub-surface))}tbody tr:hover{background:var(--ub-surface-muted)}.source{color:var(--ub-ink-secondary);font-size:var(--ub-type-label);flex-wrap:wrap;gap:8px 24px;padding-top:24px;line-height:1.6;display:flex}.source a{align-items:center;gap:4px;display:inline-flex}.notice{border-left:3px solid var(--ub-info-border);background:var(--ub-info-bg);color:var(--ub-info);border-radius:0 var(--ub-radius) var(--ub-radius) 0;font-size:var(--ub-type-body);margin:16px 0;padding:16px}.notice p:last-child{margin-bottom:0}.quiet-status{color:var(--ub-ink-secondary);font-size:var(--ub-type-label);margin:0 0 12px}.quiet-status:before{content:"";background:var(--ub-link);border-radius:50%;width:8px;height:8px;margin-right:8px;animation:1.4s ease-in-out infinite quiet-pulse;display:inline-block}@keyframes quiet-pulse{50%{opacity:.35}}@media (prefers-reduced-motion:reduce){.quiet-status:before{animation:none}}.empty{color:var(--ub-ink-secondary);padding:40px 24px}.empty svg{color:var(--ub-link)}.empty h2{color:var(--ub-ink);margin-top:16px}.page-footer{border-top:1px solid var(--ub-border);font-size:var(--ub-type-label);color:var(--ub-ink-secondary);flex-wrap:wrap;justify-content:space-between;gap:20px;margin-top:64px;padding:24px 0;display:flex}.page-footer>span:first-child{letter-spacing:var(--ub-tracking-eyebrow);font-weight:600;font-size:var(--ub-type-small)}.measurement-preference{max-width:52ch}.measurement-preference summary{cursor:pointer}.measurement-preference p{margin:12px 0}.login-layout{grid-template-columns:1fr 1fr;align-items:center;gap:64px;min-height:65svh;padding:48px 0;display:grid}.login-layout h1{font-size:var(--ub-text-4xl);max-width:16ch}.login-layout .lead{font-size:var(--ub-text-body);max-width:42ch}.login{border-top:3px solid var(--ub-link);width:100%;max-width:440px}.login h2{font-size:var(--ub-text-2xl);margin-bottom:24px}label{font-size:var(--ub-type-label);margin:20px 0;font-weight:500;display:block}input{border:1px solid var(--ub-border-strong);background:var(--ub-bg);width:100%;color:var(--ub-ink);border-radius:var(--ub-radius);font-size:var(--ub-text-lg);margin-top:8px;padding:12px;font-weight:400}input:hover{border-color:var(--ub-link)}.primary{background:var(--ub-primary);color:var(--ub-ink-inverse);border-color:var(--ub-primary);width:100%;font-size:var(--ub-type-control)}.primary:hover:not(:disabled){background:var(--ub-primary-hover);border-color:var(--ub-primary-hover)}.primary:active:not(:disabled){background:var(--ub-primary-active);border-color:var(--ub-primary-active)}.recovery{font-size:var(--ub-type-control);margin-top:20px;font-weight:400;display:inline-block}.skip{position:absolute;top:-100px}.skip:focus{background:var(--ub-surface);z-index:10;padding:12px;top:8px;left:8px}@media (prefers-reduced-motion:reduce){button{transition:none}}@media (width<=900px){.app{grid-template-columns:190px minmax(0,1fr)}main{padding:0 24px}.sidebar{padding:24px 16px}.login-layout{grid-template-columns:1fr;gap:24px}}@media (width<=600px){.app{display:block}.sidebar{gap:24px}.brand span{margin-left:16px;display:inline}nav{grid-template-columns:1fr;margin:0}.sidebar-bottom{align-items:center;gap:16px;padding:0;display:flex}.sidebar-bottom p{display:none}.toolbar{margin:0}.topbar{min-height:56px}.page-heading{padding-top:32px}.panel{padding:20px}h1{font-size:24px}}.wording-demo-nav small{color:var(--ub-ink-secondary);font-size:var(--ub-type-label);font-weight:400;display:block}@media (width<=760px){.app-navigation .wording-demo-nav small{margin-left:8px;display:inline}}.app.sidebar-collapsed{grid-template-columns:minmax(0,1fr)}.app .sidebar[hidden]{display:none}.topbar .sidebar-toggle{flex-shrink:0}a.primary{border-radius:var(--ub-radius);justify-content:center;align-items:center;min-height:44px;padding:10px 14px;text-decoration:none;display:inline-flex}.dataset-picture{grid-template-columns:minmax(0,2fr) minmax(220px,1fr);align-items:start;gap:16px;margin:0 0 24px;display:grid}.dataset-picture.is-single{grid-template-columns:minmax(0,1fr)}.dataset-picture figure{min-width:0;margin:0}.dataset-picture figcaption{color:var(--ub-ink-secondary);font-size:var(--ub-type-label);margin-top:8px;line-height:1.45}.data-map{border:1px solid var(--ub-border);border-radius:var(--ub-radius);position:relative;overflow:hidden}.data-map .forecast-map{min-height:0}.data-map-tip{z-index:3;border:1px solid var(--ub-border-strong);border-radius:var(--ub-radius);background:var(--ub-surface);max-width:280px;color:var(--ub-ink);box-shadow:var(--ub-elevation-2);font-size:var(--ub-type-label);pointer-events:none;padding:8px 10px;position:absolute}.data-map-note{color:var(--ub-ink-secondary);font-size:var(--ub-type-label);margin:0;position:absolute;inset:auto 12px 12px}.area-list{border:1px solid var(--fam-edge,var(--ub-border));border-radius:var(--ub-radius);background:var(--fam-ground,var(--ub-surface-muted));padding:16px}.area-list h3{font-size:var(--ub-type-body);margin:0 0 10px;font-weight:600}.area-list ol{gap:2px;margin:0;padding:0;list-style:none;display:grid}.area-list li{border-bottom:1px solid var(--fam-edge,var(--ub-border));font-size:var(--ub-type-label);grid-template-columns:minmax(0,1fr) auto auto;align-items:baseline;gap:10px;padding:8px 0;display:grid}.area-list li:last-child{border-bottom:0}.area-list li span{overflow-wrap:break-word}.area-list li strong{font-family:var(--ub-font-mono);font-size:var(--ub-type-body)}.area-list li small{color:var(--ub-ink-secondary);font-family:var(--ub-font-mono);font-size:var(--ub-type-label)}@media (width<=900px){.dataset-picture{grid-template-columns:minmax(0,1fr)}}th .sort-button{all:unset;box-sizing:border-box;cursor:pointer;min-height:28px;color:inherit;font:inherit;border-radius:4px;align-items:center;gap:6px;display:inline-flex}th .sort-button:hover{color:var(--ub-ink)}th .sort-button:focus-visible{outline:2px solid var(--ub-focus);outline-offset:2px}th .sort-idle{opacity:.4}th[aria-sort]{color:var(--ub-ink)}.skeleton{gap:24px;display:grid}.skeleton-heading{align-items:center;gap:16px;display:flex}.skeleton-heading>span:last-child{flex:1;gap:10px;display:grid}.skeleton-tile,.skeleton-line,.skeleton-metrics>span,.skeleton-block{border-radius:var(--ub-radius);background:var(--ub-surface-muted);animation:1.4s ease-in-out infinite skeleton-pulse;display:block}.skeleton-tile{width:52px;height:52px}.skeleton-line{width:min(420px,70%);height:14px}.skeleton-line.is-title{width:min(360px,60%);height:28px}.skeleton-panel{gap:20px;display:grid}.skeleton-metrics{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:16px;display:grid}.skeleton-metrics>span{height:96px}.skeleton-block{height:280px}@keyframes skeleton-pulse{50%{opacity:.55}}@media (prefers-reduced-motion:reduce){.skeleton *{animation:none}}.card-compare{flex-direction:column;align-items:stretch}.compare-tiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.compare-tile{border-radius:var(--ub-radius);min-height:44px;color:var(--ub-ink);font-size:var(--ub-type-label);align-items:flex-end;padding:8px 10px;font-weight:500;display:flex}.compare-temperature{background:linear-gradient(120deg, color-mix(in srgb, var(--ub-blue-500) 28%, var(--ub-surface)), color-mix(in srgb, var(--ub-ember-500) 34%, var(--ub-surface)))}.compare-wind{background:linear-gradient(120deg, color-mix(in srgb, var(--ub-moss-600) 22%, var(--ub-surface)), color-mix(in srgb, var(--ub-blue-500) 30%, var(--ub-surface)))}.compare-cloud{background:linear-gradient(120deg, var(--ub-surface-muted), color-mix(in srgb, var(--ub-ink-secondary) 24%, var(--ub-surface)))}.compare-pressure{background:linear-gradient(120deg, color-mix(in srgb, var(--ub-blue-500) 14%, var(--ub-surface)), color-mix(in srgb, var(--ub-blue-500) 40%, var(--ub-surface)))}.widget-grid{grid-template-columns:minmax(0,1fr)}.widget-grid>*,.dashboard-grid>*,.section-heading>div{min-width:0}.table-scroll{max-width:100%}@media (width<=1000px){.login-layout{grid-template-columns:minmax(0,1fr);gap:28px;min-height:auto}.login{max-width:480px}.section-heading>div,.dashboard-grid>*,.widget-grid>*{min-width:0}.section-heading h2,.dashboard-card h2,.page-heading h1{overflow-wrap:anywhere}}@media (width<=760px){.app{display:block}.sidebar{height:auto;padding:max(16px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) 16px max(16px, env(safe-area-inset-left));border-right:0;border-bottom:1px solid var(--ub-border);grid-template-rows:44px 58px;grid-template-columns:minmax(0,1fr) auto;gap:12px;display:grid;position:static;overflow:visible}.brand{letter-spacing:.1em;grid-area:1/1;align-self:center;min-height:44px;font-size:16px;line-height:1.2}.brand span{font-size:var(--ub-type-label);margin:4px 0 0;line-height:1.4;display:block}.sidebar-bottom{display:contents}.sidebar-bottom p{display:none}.toolbar{grid-area:1/2;align-self:center;gap:8px;margin:0;display:flex}.toolbar button{width:44px;height:44px;padding:10px}.toolbar .theme-switcher button{width:30px;min-width:30px;padding:7px}.sidebar-bottom>button{grid-area:2/2;align-self:start;max-width:128px;padding:10px 12px}nav{overscroll-behavior-x:contain;scrollbar-width:thin;grid-area:2/1/auto/-1;gap:8px;min-width:0;height:58px;margin:0;padding:2px 2px 6px;scroll-padding-inline:4px;display:flex;overflow:auto hidden}.sidebar:has(.sidebar-bottom>button) nav{grid-column:1}.app-navigation{-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 28px),#0000);mask-image:linear-gradient(90deg,#000 calc(100% - 28px),#0000)}.nav-item{white-space:nowrap;flex:none;font-size:14px}.app-navigation .demo-nav{margin-top:0}.app-navigation .demo-nav small{margin-left:8px;display:inline}.app-navigation>a.nav-item{padding-block:10px}.app-demo>main{padding-inline:max(16px, env(safe-area-inset-left)) max(16px, env(safe-area-inset-right))}main{min-height:calc(100dvh - 147px);padding:0 max(16px, env(safe-area-inset-right)) 0 max(16px, env(safe-area-inset-left));flex-direction:column;display:flex}button,input,.brand,.recovery,.source a,.page-footer a{min-height:44px}button{touch-action:manipulation}input{font-size:16px}.topbar{min-height:64px;font-size:var(--ub-type-label);align-items:flex-start;gap:12px;padding:18px 0}.topbar span{overflow-wrap:anywhere;min-width:0}.topbar span:first-child{flex:1}.topbar span:last-child{text-align:right;white-space:nowrap;text-overflow:ellipsis;max-width:38%;overflow:hidden}.page-heading{gap:14px;padding:24px 0 20px}.page-heading .dataset-tile{width:44px;height:44px}h1{font-size:clamp(26px,6.4vw,32px)}.login-layout{gap:20px;padding:28px 0 12px}.login-layout h1{font-size:clamp(30px,7.4vw,40px)}.login-layout .lead{margin-bottom:0}.login{max-width:none}.panel{padding:20px}.dashboard-grid,.widget-grid{gap:16px}.dashboard-card{min-height:0}.card-figure strong{font-size:32px}.section-heading{gap:12px}.section-heading h2{margin-bottom:16px}.icon-button{flex:0 0 44px;min-width:44px}.metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:12px 0 24px}.metrics>div{min-width:0;padding:12px}.metrics span{overflow-wrap:anywhere;font-size:var(--ub-type-label)}.metrics strong{font-size:28px}.metrics small{font-size:var(--ub-type-label)}.chart{min-width:0;margin:20px 0}.table-scroll{overscroll-behavior:contain;scrollbar-width:thin;max-width:100%;max-height:min(440px,60dvh)}table{font-size:14px}th,td{padding:12px}.source{font-size:var(--ub-type-label);gap:8px;padding-top:20px;display:grid}.source span,.source a{overflow-wrap:anywhere;min-width:0}.source a{justify-self:start;align-items:center}.notice{overflow-wrap:anywhere;padding:14px}.page-footer{padding-top:36px;padding-bottom:max(24px, env(safe-area-inset-bottom));font-size:var(--ub-type-label);gap:8px 20px;margin-top:auto}.page-footer span:nth-child(2){flex-basis:100%;order:1}.page-footer a,.recovery{align-items:center;display:inline-flex}}@media (width<=360px){.sidebar{column-gap:8px}.sidebar-bottom>button{font-size:var(--ub-type-control);padding-inline:10px}.panel{padding:16px}.metrics{gap:8px}.metrics>div{padding:10px}.metrics strong{font-size:26px}}
