:root{--font-ui:"IBM Plex Sans Variable", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;--font-data:"IBM Plex Mono", "Cascadia Mono", "SFMono-Regular", Consolas, monospace;--font-logo:"Cascadia Mono", "Roboto Mono", "SFMono-Regular", Consolas, monospace;--font-weight-regular:400;--font-weight-semibold:600;--font-weight-bold:700;--font-size-2xs:.625rem;--font-size-xs:.6875rem;--font-size-sm:.75rem;--font-size-body:.875rem;--font-size-md:1rem;--font-size-lg:1.125rem;--font-size-xl:1.25rem;--font-size-2xl:1.375rem;--font-size-reading:2rem;--color-brand-weather:#269287;--color-brand-lab:#ecb93d;--color-brand-success:#27643a;--color-brand-error:#ff8a80;--color-weather:var(--color-brand-weather);--color-weather-strong:#176d66;--color-lab:var(--color-brand-lab);--color-success:var(--color-brand-success);--color-error:var(--color-brand-error);--color-primary:var(--color-weather);--color-primary-strong:var(--color-weather-strong);--color-text:#333;--color-text-muted:#666;--color-border:#ddd;--color-surface:#fff;--color-surface-muted:#f5f5f5;--color-page:#f8fafb;--color-danger:var(--color-error);--color-danger-text:#a33a34;--chart-actual:#00695c;--chart-average:#337ab7;--chart-maximum:#c65332;--chart-minimum:#6b56a5;--chart-range:var(--color-weather-strong);--chart-period-average:var(--color-lab);--chart-station-1:#00796b;--chart-station-2:#d14900;--chart-station-3:#6f42c1;--chart-grid:#e8ecef;--focus-ring:0 0 0 3px #2692873d;--content-width:1180px;--sidebar-width:clamp(168px, 18vw, 220px);--mobile-header-height:72px;--mobile-navigation-height:62px;--radius-small:4px;--radius-medium:8px;--radius-logo:24px;--shadow-panel:0 1px 3px #18272d14;--shadow-navigation:0 -1px 3px #18272d14}.app-shell{min-height:100dvh}.app-shell--admin,.app-shell--admin .app-main{min-height:100dvh;padding-bottom:0}.app-sidebar{display:none}.mobile-header{z-index:20;min-height:calc(var(--mobile-header-height) + env(safe-area-inset-top));padding:env(safe-area-inset-top) 16px 0;border-bottom:1px solid var(--color-border);background:var(--color-surface);align-items:center;display:flex;position:sticky;top:0}.app-main{min-width:0;padding-bottom:calc(var(--mobile-navigation-height) + env(safe-area-inset-bottom))}.app-brand{text-decoration:none;display:block}.app-brand--mobile{align-items:center;gap:8px;width:min(100%,286px);display:flex}.mobile-header__app-icon{flex:0 0 36px;width:36px;height:36px;display:block}.app-brand--mobile .weather-lab-logo{flex:1;min-width:0}.weather-lab-logo{width:100%;height:auto;display:block}.weather-lab-logo__weather,.weather-lab-logo__lab{font-family:var(--font-logo);font-weight:700}.weather-lab-logo__weather{fill:var(--color-weather);letter-spacing:2px;font-size:34px}.weather-lab-logo__lab-surface{fill:var(--color-success);rx:var(--radius-small)}.weather-lab-logo__lab{fill:var(--color-lab);letter-spacing:1px;font-size:26px}.weather-lab-logo__degree{fill:var(--color-error)}.app-navigation{background:var(--color-surface)}.app-navigation a{min-height:48px;color:var(--color-text-muted);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);letter-spacing:.08em;place-items:center;text-decoration:none;display:grid}.app-navigation a.active{color:var(--color-primary)}.app-navigation--bottom{z-index:30;height:calc(var(--mobile-navigation-height) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);border-top:1px solid var(--color-border);box-shadow:var(--shadow-navigation);justify-content:space-evenly;align-items:stretch;gap:0;display:flex;position:fixed;bottom:0;left:0;right:0}.app-navigation--bottom a{width:min(24vw,72px);font-size:var(--font-size-xs);letter-spacing:.04em;grid-template-rows:24px auto;gap:2px;padding:8px 4px 4px;position:relative}.app-navigation--bottom a:before{border-radius:var(--radius-small);content:"";background:0 0;width:30px;height:3px;position:absolute;top:3px;left:50%;transform:translate(-50%)}.app-navigation--bottom a.active:before{background:var(--color-primary)}.app-navigation__icon{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8px;width:23px;height:23px}.content{max-width:var(--content-width);margin:0 auto;padding:24px 16px}.page-stack{gap:18px;display:grid}.panel{border:1px solid var(--color-border);border-radius:var(--radius-small);background:var(--color-surface-muted);padding:20px}.panel h1{font-size:var(--font-size-xl);margin:0 0 10px}.panel p{max-width:70ch;color:var(--color-text-muted);margin:0;line-height:1.5}.table-panel{border:1px solid var(--color-border);border-radius:var(--radius-small);background:var(--color-surface);padding:0;overflow:hidden}.table-panel__heading{color:var(--color-surface);background:var(--color-primary);font-size:var(--font-size-body);font-weight:var(--font-weight-semibold);text-align:center;margin:0;padding:10px 14px}.table-scroll{overflow-x:auto}.table-scroll--limited{max-height:440px;overflow-y:auto}.data-table{border-collapse:collapse;width:100%;font-size:var(--font-size-body);white-space:nowrap}.data-table th,.data-table td{border-bottom:1px solid var(--color-border);text-align:left;padding:9px 10px}.data-table th{background:var(--color-surface-muted);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.data-table tbody tr:last-child td{border-bottom:0}.type-data,.data-table td.data-table__data,.data-table td.data-table__number,.period-navigation strong,.station-panel__uid,.current-reading,.summary-grid strong,.summary-grid small{font-family:var(--font-data);font-variant-numeric:lining-nums tabular-nums}.data-table td.data-table__number{text-align:right}.latest-readings-table{min-width:610px}.latest-readings-table th{vertical-align:middle}.latest-readings-table .latest-readings__metric-column,.latest-readings-table .latest-readings__metric-cell{text-align:center;width:46px;min-width:46px;padding-left:7px;padding-right:7px}.latest-readings__station-column,.latest-readings__station-cell{width:1%;min-width:0}.latest-readings-table .latest-readings__value-column,.latest-readings-table .latest-readings__value-cell{text-align:center;width:96px;min-width:84px}.measurement-metric-icon{width:28px;height:28px;margin:0 auto;display:block}.measurement-metric-icon__frame{fill:var(--color-weather-strong)}.measurement-metric-icon__temperature{fill:var(--color-error)}.measurement-metric-icon__accent{fill:var(--color-lab)}.measurement-metric-icon__humidity{fill:var(--color-weather)}.measurement-metric-icon__humidity-depth{fill:var(--color-success)}.measurement-metric-icon--fallback{color:var(--color-surface);background:var(--color-weather);font-family:var(--font-data);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);border-radius:50%;place-items:center;display:grid}.latest-readings__station{font-weight:var(--font-weight-semibold)}.latest-readings__station--stale{color:var(--color-danger-text)}.latest-readings__value,.latest-readings__time{font-family:var(--font-data);font-variant-numeric:lining-nums tabular-nums;display:block}.latest-readings__value{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);line-height:1.15}.latest-readings__time{color:var(--color-primary);font-size:var(--font-size-2xs);font-weight:var(--font-weight-bold);margin-top:3px;line-height:1}.latest-readings-sort{width:100%;min-height:36px;color:inherit;font:inherit;font-weight:var(--font-weight-semibold);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;gap:5px;padding:0;display:inline-flex}.latest-readings-sort:hover,.latest-readings-sort:focus-visible{color:var(--color-primary-strong)}.latest-readings-sort:focus-visible{box-shadow:var(--focus-ring);outline:0}.latest-readings-sort__indicator{color:var(--color-primary);font-size:var(--font-size-2xs);line-height:1}.data-table th.data-table__chart-column,.data-table td.data-table__chart-column{text-align:center;width:56px;min-width:56px;box-shadow:-1px 0 0 var(--color-border);padding:5px;position:sticky;right:0}.data-table th.data-table__chart-column{z-index:2;color:var(--color-text);background:var(--color-surface-muted)}.data-table td.data-table__chart-column{z-index:1;background:var(--color-surface)}.chart-column-icon{fill:currentColor;width:21px;height:18px;margin:0 auto;display:block}.chart-selection-form{margin:0}.chart-checkbox{width:34px;height:34px;color:var(--color-text-muted);cursor:pointer;background:0 0;border:0;place-items:center;padding:0;display:inline-grid}.chart-checkbox__control{border:2px solid var(--color-border);border-radius:var(--radius-small);background:var(--color-surface);place-items:center;width:18px;height:18px;display:grid}.chart-checkbox__control:after{border-right:2px solid var(--color-surface);border-bottom:2px solid var(--color-surface);content:"";width:5px;height:9px;transform:translateY(-1px)rotate(45deg)scale(0)}.chart-checkbox:hover .chart-checkbox__control,.chart-checkbox:focus-visible .chart-checkbox__control,.chart-checkbox.checked .chart-checkbox__control{border-color:var(--color-primary)}.chart-checkbox.checked .chart-checkbox__control{background:var(--color-primary)}.chart-checkbox.checked .chart-checkbox__control:after{transform:translateY(-1px)rotate(45deg)scale(1)}.chart-checkbox:disabled{opacity:.35;cursor:not-allowed}.metadata-warning{color:var(--color-text-muted);font-size:var(--font-size-sm);display:block}.quality-warning{color:var(--color-danger-text);font-size:var(--font-size-sm);display:block}.home-grid{grid-template-columns:minmax(0,2fr) minmax(260px,1fr);gap:18px;display:grid}.chart-panel,.summary-panel,.archive-filter-panel,.archive-results-panel,.info-panel{border:1px solid var(--color-border);border-radius:var(--radius-medium);background:var(--color-surface);box-shadow:var(--shadow-panel)}.chart-panel{min-width:0;padding:14px}.chart-panel__header{justify-content:space-between;align-items:center;gap:12px;display:flex}.chart-panel__header h2{font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);margin:0}.chart-panel__period{font-family:var(--font-data);font-variant-numeric:lining-nums tabular-nums;font-weight:var(--font-weight-regular)}.station-chart-legend{min-height:28px;color:var(--color-text-muted);font-size:var(--font-size-xs);flex-wrap:wrap;justify-content:center;align-items:center;gap:6px 14px;margin:8px 4px 0;display:flex}.station-chart-legend>span{align-items:center;gap:5px;display:inline-flex}.station-chart-legend__swatch{border-radius:var(--radius-small);background:var(--station-chart-color);width:18px;height:2px;display:inline-block}.station-chart-color--1{--station-chart-color:var(--chart-station-1)}.station-chart-color--2{--station-chart-color:var(--chart-station-2)}.station-chart-color--3{--station-chart-color:var(--chart-station-3)}.weather-chart{width:100%;height:390px}.chart-mode-selector{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.chart-mode-option{min-height:36px;color:var(--color-text);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);cursor:pointer;align-items:center;gap:5px;display:inline-flex}.chart-mode-option input{width:16px;height:16px;accent-color:var(--color-primary);cursor:pointer;margin:0}.button,.period-navigation a,.period-navigation span{border:1px solid var(--color-border);border-radius:var(--radius-small);min-height:36px;color:var(--color-text);background:var(--color-surface);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);cursor:pointer;padding:8px 11px;text-decoration:none}.button--primary{border-color:var(--color-primary);color:var(--color-surface);background:var(--color-primary)}.button--compact{min-height:30px;font-size:var(--font-size-xs);padding:5px 8px}.summary-panel{text-align:center;padding:18px}.summary-panel h1{font-size:var(--font-size-2xl);margin:18px 0 2px}.summary-tabs__list{border-bottom:1px solid var(--color-border);margin:14px -18px 0;display:flex;overflow-x:auto}.summary-tabs__list button{min-width:max-content;min-height:38px;color:var(--color-text-muted);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);cursor:pointer;background:0 0;border:0;padding:7px 14px;position:relative}.summary-tabs__list button:after{border-radius:var(--radius-small) var(--radius-small) 0 0;content:"";background:0 0;height:3px;position:absolute;bottom:0;left:10px;right:10px}.summary-tabs__list button.active{color:var(--color-primary)}.summary-tabs__list button.active:after{background:var(--color-primary)}.summary-tabs__panel{min-height:250px}.station-panel__uid{color:var(--color-text-muted);font-size:var(--font-size-sm);margin-bottom:0}.current-reading{gap:3px;margin:16px 0 4px;display:grid}.current-reading small{color:var(--color-text-muted);font-size:var(--font-size-xs)}.current-reading strong{font-size:var(--font-size-reading);font-weight:var(--font-weight-semibold)}.period-navigation{grid-template-columns:42px 1fr 42px;align-items:center;gap:8px;display:grid}.period-navigation a,.period-navigation span{font-size:var(--font-size-lg);place-items:center;display:grid}.period-navigation span{opacity:.4;cursor:default}.summary-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:18px 0;display:grid}.summary-grid div{border-radius:var(--radius-small);background:var(--color-surface-muted);text-align:center;gap:4px;padding:10px 4px;display:grid}.summary-grid span,.summary-grid small{color:var(--color-text-muted);font-size:var(--font-size-xs)}.summary-grid strong{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold)}.quality-note{color:var(--color-danger-text);font-size:var(--font-size-sm)}.detail-list{font-size:var(--font-size-body);gap:8px;margin:0;display:grid}.detail-list div{text-align:left;grid-template-columns:minmax(90px,.7fr) minmax(120px,1.3fr);gap:10px;display:grid}.detail-list dt{color:var(--color-text-muted)}.detail-list dd{margin:0}.field{flex:1;gap:6px;display:grid}.field label{font-size:var(--font-size-sm);font-weight:var(--font-weight-bold)}.field select{border:1px solid var(--color-border);border-radius:var(--radius-small);background:var(--color-surface);min-height:38px;padding:7px 9px}.archive-filter-panel,.archive-results-panel{overflow:hidden}.archive-filter-header{border-bottom:1px solid var(--color-border);grid-template-columns:minmax(0,1fr) auto;display:grid}.archive-period-tabs{grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.archive-period-tabs button{min-height:42px;color:var(--color-text-muted);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);text-align:center;cursor:pointer;background:0 0;border:0;padding:11px 14px;position:relative}.archive-period-tabs button:after{border-radius:var(--radius-small) var(--radius-small) 0 0;content:"";background:0 0;height:3px;position:absolute;bottom:0;left:18px;right:18px}.archive-period-tabs button.active{color:var(--color-primary)}.archive-period-tabs button.active:after{background:var(--color-primary)}.archive-filter-toggle{border:0;border-left:1px solid var(--color-border);min-width:72px;color:var(--color-text-muted);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);cursor:pointer;background:0 0;justify-content:center;align-items:center;gap:5px;padding:0 10px;display:inline-flex}.archive-filter-toggle span{font-family:var(--font-data);font-size:var(--font-size-sm)}.archive-filter-form{gap:12px;padding:14px;display:grid}.archive-filter-form[hidden]{display:none}.archive-filter-fields{scrollbar-gutter:stable;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;min-width:0;padding-right:3px;display:grid;overflow-y:auto}.archive-filter-fields input{font-family:var(--font-data)}.archive-station-fieldset{border:0;min-width:0;margin:0;padding:0}.archive-station-fieldset legend{font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);margin-bottom:6px;padding:0}.archive-station-fieldset legend small{color:var(--color-text-muted);font-size:var(--font-size-xs);font-weight:var(--font-weight-regular)}.archive-station-options{scrollbar-gutter:stable;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:minmax(44px,auto);gap:6px;min-width:0;max-height:144px;padding-right:3px;display:grid;overflow-y:auto}.archive-station-options label{border:1px solid var(--color-border);border-radius:var(--radius-small);background:var(--color-surface);min-width:0;min-height:44px;font-size:var(--font-size-body);cursor:pointer;align-items:center;gap:7px;padding:5px 8px;display:flex}.archive-station-options label.disabled{opacity:.45;cursor:not-allowed}.archive-station-options input{width:16px;height:16px;accent-color:var(--color-primary);margin:0}.archive-station-options span{min-width:0;display:grid}.archive-station-options small,.archive-station-uid{color:var(--color-text-muted);font-family:var(--font-data);font-size:var(--font-size-xs);font-weight:var(--font-weight-regular)}.archive-filter-actions{scrollbar-gutter:stable;justify-content:flex-end;min-width:0;padding-right:3px;display:flex;overflow-y:auto}.archive-filter-actions .button{width:auto;padding-left:14px;padding-right:14px}.archive-filter-actions .button:disabled{opacity:.45;cursor:not-allowed}.archive-results-panel>.table-panel,.archive-results-panel>.chart-panel{box-shadow:none;border:0;border-radius:0}.archive-results-panel>.chart-panel{border-top:1px solid var(--color-border)}.archive-summary-table td:first-child{min-width:150px}.archive-summary-table td:first-child strong,.archive-summary-table td:first-child small{display:block}.archive-summary-table th:not(:first-child),.archive-summary-table td:not(:first-child){text-align:center}.archive-detail-tabs{border-bottom:1px solid var(--color-border);background:var(--color-surface);display:flex;overflow-x:auto}.archive-detail-tabs button{min-width:max-content;min-height:40px;color:var(--color-text-muted);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);cursor:pointer;background:0 0;border:0;padding:8px 14px;position:relative}.archive-detail-tabs button:after{border-radius:var(--radius-small) var(--radius-small) 0 0;content:"";background:0 0;height:3px;position:absolute;bottom:0;left:10px;right:10px}.archive-detail-tabs button.active{color:var(--color-primary)}.archive-detail-tabs button.active:after{background:var(--color-primary)}.archive-details .data-table th,.archive-details .data-table td{text-align:center}.info-panel{grid-template-columns:130px 1fr;gap:24px;padding:28px;display:grid}.info-mark{width:120px;height:120px;color:var(--color-lab);background:var(--color-success);font-size:var(--font-size-reading);font-weight:var(--font-weight-bold);border-radius:50%;place-items:center;display:grid}.empty-state{color:var(--color-text-muted);text-align:center;padding:60px 20px}.data-table__empty{color:var(--color-text-muted);text-align:center!important;padding:28px!important}.settings-panel,.auth-panel,.admin-heading{border:1px solid var(--color-border);border-radius:var(--radius-medium);background:var(--color-surface);box-shadow:var(--shadow-panel)}.settings-panel__header{padding:18px}.settings-panel__content{border-top:1px solid var(--color-border);grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;padding:18px;display:grid}.settings-panel__header h1{font-size:var(--font-size-xl);margin:0 0 4px}.settings-panel__header p{color:var(--color-text-muted);margin:0}.settings-panel__content h2,.auth-panel h1,.auth-panel h2,.admin-heading h1{font-size:var(--font-size-lg);margin:0 0 6px}.settings-panel__content p,.auth-panel>p,.admin-heading p{color:var(--color-text-muted);font-size:var(--font-size-body);margin:0 0 14px;line-height:1.45}.settings-options{gap:6px;display:grid}.settings-options--catalog{grid-template-columns:repeat(2,minmax(0,1fr))}.settings-options--limited{scrollbar-gutter:stable;grid-template-columns:1fr;max-height:284px;padding-right:4px;overflow-y:auto}.settings-options--limited label{min-height:52px}.settings-options label,.settings-fieldset label{min-width:0;font-size:var(--font-size-body);cursor:pointer;align-items:center;gap:8px;display:flex}.settings-options label{border:1px solid var(--color-border);border-radius:var(--radius-small);padding:8px}.settings-options label>span{min-width:0;display:grid}.settings-options small{color:var(--color-text-muted);font-family:var(--font-data);font-size:var(--font-size-xs)}.settings-options input,.settings-fieldset input{width:16px;height:16px;accent-color:var(--color-primary);margin:0}.settings-grid,.form-stack{gap:14px;display:grid}.settings-fieldset{border:1px solid var(--color-border);border-radius:var(--radius-small);gap:8px;margin:0;padding:10px;display:grid}.settings-fieldset legend{font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);padding:0 5px}.settings-fieldset--inline{flex-wrap:wrap;gap:10px 16px;display:flex}.settings-panel__content .settings-chart-note{border:1px solid var(--color-border);border-radius:var(--radius-small);background:var(--color-surface-muted);margin:0;padding:10px}.settings-actions{flex-wrap:wrap;grid-column:1/-1;align-items:center;gap:8px;display:flex}.settings-admin{border-top:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:20px;padding:18px;display:flex}.settings-admin h2{font-size:var(--font-size-md);margin:0 0 4px}.settings-admin p{max-width:70ch;color:var(--color-text-muted);font-size:var(--font-size-body);margin:0}.field input,.field select,.data-table select{border:1px solid var(--color-border);border-radius:var(--radius-small);min-height:38px;color:var(--color-text);background:var(--color-surface);font:inherit;padding:7px 9px}.auth-page{min-height:calc(100dvh - var(--mobile-header-height) - var(--mobile-navigation-height));place-items:center;display:grid}.auth-panel{width:min(100%,460px);padding:24px}.auth-panel--inline{width:auto}.auth-panel__footer,.privacy-note{color:var(--color-text-muted);font-size:var(--font-size-sm);line-height:1.45}.auth-panel__footer{text-align:center;margin:18px 0 0}.privacy-note{border-top:1px solid var(--color-border);margin:16px 0 0;padding-top:14px}.profile-page{max-width:900px}.profile-entry{margin:7vh auto 0}.profile-entry__actions,.admin-heading__actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.profile-entry__actions .button{place-items:center;display:inline-grid}.profile-actions{gap:18px;padding:18px;display:grid}.form-message{border-radius:var(--radius-small);font-size:var(--font-size-sm);margin:0;padding:9px 11px}.form-message--error{color:var(--color-danger-text);background:color-mix(in srgb, var(--color-error) 18%, var(--color-surface))}.form-message--success{color:var(--color-success);background:color-mix(in srgb, var(--color-success) 12%, var(--color-surface))}.admin-heading{justify-content:space-between;align-items:center;gap:20px;padding:18px;display:flex}.admin-heading p{margin:0}.admin-save{justify-self:end}.form-stack--row{grid-template-columns:repeat(2,minmax(0,1fr)) auto;align-items:end}.admin-search{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px;padding:18px;display:grid}.admin-account-grid{border-top:1px solid var(--color-border);grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;padding:18px;display:grid}.admin-account-grid h3{font-size:var(--font-size-md);margin:0 0 12px}.admin-shell{min-height:100dvh}.admin-sidebar{display:none}.admin-workspace{min-width:0}.admin-mobile-header{border-bottom:1px solid var(--color-border);background:var(--color-surface);align-items:center;min-height:62px;padding:10px 14px;display:flex}.admin-brand{align-items:center;gap:8px;width:min(100%,250px);text-decoration:none;display:flex}.admin-brand>img{flex:0 0 34px;width:34px;height:34px}.admin-brand .weather-lab-logo{min-width:0}.admin-mobile-navigation{border-bottom:1px solid var(--color-border);background:var(--color-surface);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.admin-mobile-navigation a{color:var(--color-text-muted);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);text-align:center;padding:11px 5px;text-decoration:none;position:relative}.admin-mobile-navigation a.active{color:var(--color-primary)}.admin-mobile-navigation a.active:after{border-radius:var(--radius-small) var(--radius-small) 0 0;background:var(--color-primary);content:"";height:3px;position:absolute;bottom:0;left:12px;right:12px}.admin-navigation{gap:6px;display:grid}.admin-navigation a{border-radius:var(--radius-small);min-height:48px;color:var(--color-text-muted);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);border-left:3px solid #0000;grid-template-columns:22px minmax(0,1fr);align-items:center;gap:10px;padding:0 12px;text-decoration:none;display:grid}.admin-navigation a.active{border-left-color:var(--color-primary);color:var(--color-primary);background:var(--color-surface-muted)}.admin-navigation svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8px;width:22px;height:22px}.status-badge{background:var(--color-surface-muted);min-height:24px;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);border-radius:999px;align-items:center;padding:3px 8px;display:inline-flex}.status-badge--public{color:var(--color-success);background:color-mix(in srgb, var(--color-success) 12%, var(--color-surface))}.status-badge--private{color:var(--color-primary-strong);background:color-mix(in srgb, var(--color-primary) 12%, var(--color-surface))}.status-badge--disabled{color:var(--color-danger-text);background:color-mix(in srgb, var(--color-error) 18%, var(--color-surface))}.owner-list,.owned-stations{gap:8px;display:grid}.owner-list__item{border:1px solid var(--color-border);border-radius:var(--radius-small);background:var(--color-surface-muted);justify-content:space-between;align-items:center;gap:12px;min-height:42px;padding:8px 10px;display:flex}.owner-list__item span,.owner-list__item strong,.owner-list__item small{min-width:0}.owner-list__item span:first-child{display:grid}.owner-list__item small,.owned-station small{color:var(--color-text-muted);font-family:var(--font-data);font-size:var(--font-size-xs)}.owner-list__link{color:inherit;text-decoration:none}.owner-form{margin-top:14px}.empty-copy{color:var(--color-text-muted);font-size:var(--font-size-body);margin:0}.profile-claim-form{grid-template-columns:minmax(0,1fr) auto;align-items:end}.owned-station{border:1px solid var(--color-border);border-radius:var(--radius-medium);padding:14px}.owned-station__header{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px;display:flex}.owned-station__header h3{font-size:var(--font-size-md);margin:0 0 2px}.station-create>summary,.station-editor>summary{cursor:pointer;width:fit-content;list-style:none}.station-create>summary::-webkit-details-marker{display:none}.station-editor>summary::-webkit-details-marker{display:none}.station-create[open]>summary{margin-bottom:14px}.station-editor{border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border);margin:12px 0 18px;padding:12px 0}.station-editor>summary{color:var(--color-primary);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);letter-spacing:.04em}.station-editor[open]>summary{margin-bottom:14px}.station-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.station-form__wide{grid-column:1/-1}.station-series{border:0;flex-wrap:wrap;gap:8px;margin:0;padding:0;display:flex}.station-series legend{color:var(--color-text-muted);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);margin-bottom:7px}.station-series__option{border:1px solid var(--color-border);border-radius:var(--radius-small);background:var(--color-surface-muted);cursor:pointer;align-items:center;gap:8px;min-height:42px;padding:8px 11px;display:flex}.station-series__option input{accent-color:var(--color-primary)}.station-series__option small{color:var(--color-text-muted);font-family:var(--font-data)}.station-owners h4,.integration-panel h3,.admin-station-details h3{font-size:var(--font-size-md);margin:0 0 10px}.admin-station-details{border-top:1px solid var(--color-border);padding:18px}.supporting-copy{color:var(--color-text-muted);font-size:var(--font-size-sm);margin:-4px 0 14px}.integration-panel{padding-bottom:18px}.integration-panel>:not(.settings-panel__header){margin-left:18px;margin-right:18px}.integration-facts{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:18px;margin-bottom:18px;display:grid}.integration-facts>div{border:1px solid var(--color-border);border-radius:var(--radius-small);background:var(--color-surface-muted);gap:3px;padding:10px;display:grid}.integration-facts span{color:var(--color-text-muted);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold)}.integration-facts strong{font-family:var(--font-data);font-size:var(--font-size-sm);overflow-wrap:anywhere}.integration-panel li,.integration-note{color:var(--color-text-muted);font-size:var(--font-size-sm);line-height:1.55}.integration-panel pre{border:1px solid var(--color-border);border-radius:var(--radius-small);color:var(--color-text);background:var(--color-surface-muted);font-family:var(--font-data);font-size:var(--font-size-xs);padding:14px;line-height:1.5;overflow-x:auto}.integration-panel code{font-family:var(--font-data)}.danger-zone{border-top:1px solid var(--color-border);padding-top:14px}.danger-zone label{color:var(--color-danger-text);font-size:var(--font-size-sm);align-items:center;gap:8px;display:flex}@media (width<=820px){.home-grid,.settings-panel__content{grid-template-columns:1fr}.weather-chart{height:340px}.form-stack--row,.admin-account-grid,.station-form,.integration-facts{grid-template-columns:1fr}.station-form__wide{grid-column:auto}}@media (width<=560px){.content{padding:14px 10px}.chart-panel__header{flex-direction:column;align-items:stretch}.archive-period-tabs button{font-size:var(--font-size-xs);padding-left:6px;padding-right:6px}.info-panel{grid-template-columns:1fr}.info-mark{width:90px;height:90px}.weather-chart{height:310px}.settings-options--catalog{grid-template-columns:1fr}.settings-actions,.settings-admin,.admin-heading{flex-direction:column;align-items:stretch}.admin-search,.profile-claim-form{grid-template-columns:1fr}}@media (width>=821px){.admin-shell{grid-template-columns:var(--sidebar-width) minmax(0, 1fr);display:grid}.admin-sidebar{border-right:1px solid var(--color-border);background:var(--color-surface);flex-direction:column;gap:24px;height:100dvh;padding:20px 12px;display:flex;position:sticky;top:0}.admin-mobile-header,.admin-mobile-navigation{display:none}}@media (orientation:portrait){.chart-panel{padding:10px 6px}.chart-panel__header{padding:0 4px}.chart-mode-selector{flex-wrap:nowrap;justify-content:space-between;gap:4px;width:100%;display:flex}.chart-mode-option{min-width:0;min-height:32px;font-size:var(--font-size-2xs);padding:4px 2px}.chart-mode-option input{width:14px;height:14px}.station-overview{white-space:nowrap;justify-content:center;align-items:center;gap:8px;margin:14px 0 4px;display:flex}.station-identity{text-align:center;justify-items:center;gap:1px;line-height:1.15;display:grid}.current-reading{align-items:baseline;gap:6px;display:flex}.summary-panel h1{font-size:var(--font-size-md);margin:0}.station-panel__uid{font-size:var(--font-size-2xs)}.current-reading{margin:0}.current-reading small{font-size:var(--font-size-2xs)}.current-reading strong{font-size:var(--font-size-2xl)}.summary-grid{gap:4px;margin:12px 0}.summary-grid div{padding:8px 2px}}@media (orientation:landscape) and (width>=821px){.settings-panel__section--latest{flex-direction:column;min-height:0;display:flex}.settings-panel__section--latest .settings-options--limited{flex:1 1 0;min-height:0;max-height:none}}@media (orientation:landscape){.app-shell{grid-template-columns:var(--sidebar-width) minmax(0, 1fr);display:grid}.app-sidebar{border-right:1px solid var(--color-border);background:var(--color-surface);flex-direction:column;gap:24px;height:100dvh;padding:20px 12px;display:flex;position:sticky;top:0}.app-brand--sidebar{width:100%}.app-navigation--sidebar{gap:6px;display:grid}.app-navigation--sidebar a{border-radius:var(--radius-small);text-transform:uppercase;border-left:3px solid #0000;grid-template-columns:23px minmax(0,1fr);place-items:center start;gap:10px;min-height:48px;padding:0 14px}.app-navigation--sidebar a.active{border-left-color:var(--color-primary);background:var(--color-surface-muted)}.mobile-header,.app-navigation--bottom{display:none}.app-main{padding-bottom:0}}@font-face{font-family:IBM Plex Sans Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(./ibm-plex-sans-latin-ext-wght-normal.CIII54If.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(./ibm-plex-sans-latin-wght-normal.IvpUvPa2.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(./ibm-plex-mono-latin-ext-400-normal.BmRBH3aV.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(./ibm-plex-mono-latin-400-normal.DMJ8VG8y.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(./ibm-plex-mono-latin-ext-600-normal.D38SheWl.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(./ibm-plex-mono-latin-600-normal.BgSNZQsw.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}*,:before,:after{box-sizing:border-box}html{font-family:var(--font-ui);font-weight:var(--font-weight-regular);color:var(--color-text);background:var(--color-page);font-synthesis:none;line-height:1.4}body{min-width:320px;margin:0}button,a,input,select{font:inherit}a{color:inherit}:focus-visible{box-shadow:var(--focus-ring);outline:none}h1,h2,p{margin-top:0}h1,h2{font-weight:var(--font-weight-semibold)}
