@font-face{font-family:"IBM Plex Serif";font-weight:400;font-display:swap;src:url(/assets/IBMPlexSerif-400-BIGslYFI.woff2) format("woff2")}@font-face{font-family:"IBM Plex Serif";font-weight:500;font-display:swap;src:url(/assets/IBMPlexSerif-500-REKAfBVG.woff2) format("woff2")}@font-face{font-family:"IBM Plex Serif";font-weight:600;font-display:swap;src:url(/assets/IBMPlexSerif-600-DAxitmSu.woff2) format("woff2")}@font-face{font-family:Geist;font-weight:100 900;font-display:swap;src:url(/assets/Geist-Variable-DHmDcw7S.woff2) format("woff2")}@font-face{font-family:IBM Plex Mono;font-weight:400;font-display:swap;src:url(/assets/IBMPlexMono-400-DMJ8VG8y.woff2) format("woff2")}@font-face{font-family:IBM Plex Mono;font-weight:500;font-display:swap;src:url(/assets/IBMPlexMono-500-DSY6xOcd.woff2) format("woff2")}:root{--font-body: "IBM Plex Serif", Georgia, serif;--font-data: "IBM Plex Mono", ui-monospace, monospace;--font-title: "Geist", ui-sans-serif, system-ui, sans-serif;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-bold: 600;--text-base: 15px;--text-ratio: 1.2;--line-height: 1.45;--tracking-tight: -.02em;--gray-0: #0a0a0a;--gray-1: #111111;--gray-2: #161616;--gray-3: #1a1a1a;--gray-4: #262626;--gray-5: #2e2e2e;--gray-6: #3a3a3a;--gray-7: #737373;--gray-8: #a3a3a3;--gray-9: #d4d4d4;--gray-10: #fafafa;--accent: #3b82f6;--amber-dark: #A32201;--positive: #1e9a5a;--negative: #f87171;--breaker-red: #ff2d2d;--hue: var(--caution);--caution: #fbbf24;--space-unit: 4px;--radius-base: 8px;--border-width: 1px;--content-max: 1100px;--rail-max: 420px;--section-inset: 13px;--motion: .15s;--bg-page: var(--gray-0);--bg-card: var(--gray-2);--bg-raised: var(--gray-3);--bg-panel: var(--gray-1);--bg-hover: var(--gray-1);--bg-scrim: color-mix(in srgb, #000 40%, transparent);--border: var(--gray-4);--border-strong: var(--gray-5);--border-hover: var(--gray-6);--text: var(--gray-10);--text-soft: var(--gray-9);--text-muted: var(--gray-8);--text-faint: var(--gray-7);--link: var(--accent);--chart-line: var(--accent);--chart-fill: color-mix(in srgb, var(--accent) 12%, transparent);--chart-grid: var(--gray-4);--chart-bar: color-mix(in srgb, var(--accent) 70%, var(--bg-card));--chart-bar-day: color-mix(in srgb, var(--accent) 70%, var(--bg-card));--chart-bar-night: var(--amber-dark);--drop-target: var(--accent);--chart-nodata: var(--gray-5);--status-ok: var(--positive);--status-warn: var(--caution);--status-error: var(--negative);--pace-ok: var(--status-ok);--pace-yellow: var(--caution);--pace-orange: var(--temp-warm);--pace-red: var(--temp-hot);--pace-mark: var(--text);--status-warn-bg: color-mix(in srgb, var(--caution) 8%, var(--bg-page));--status-warn-border: color-mix(in srgb, var(--caution) 35%, var(--bg-page));--focus-ring: var(--accent);--selected-border: var(--accent);--space-1: calc(var(--space-unit) * 1);--space-2: calc(var(--space-unit) * 2);--space-3: calc(var(--space-unit) * 3);--space-4: calc(var(--space-unit) * 4);--space-5: calc(var(--space-unit) * 6);--space-6: calc(var(--space-unit) * 8);--space-7: calc(var(--space-unit) * 12);--text-xs: calc(var(--text-base) / var(--text-ratio) / var(--text-ratio));--text-sm: calc(var(--text-base) / var(--text-ratio));--text-md: var(--text-base);--text-lg: calc(var(--text-base) * var(--text-ratio));--text-xl: calc(var(--text-base) * var(--text-ratio) * var(--text-ratio));--text-2xl: calc(var(--text-base) * var(--text-ratio) * var(--text-ratio) * var(--text-ratio));--radius-sm: calc(var(--radius-base) * .5);--radius-lg: calc(var(--radius-base) * 1.5);--radius-pill: 999px;--topbar-height: 57px;--greeting-size: clamp(2rem, 5vw, 3.25rem);--hv-on-bg: color-mix(in srgb, var(--accent) 22%, var(--bg-card));--hvac-temp-size: clamp(2.25rem, 8vw, 3rem);--hvac-cool: var(--temp-cool);--hvac-heat: var(--temp-warm);--greeting-weight: 600;--greeting-tracking: -.03em;--greeting-meta-size: clamp(1rem, 2vw, 1.375rem);--greeting-meta-weight: 400;--greeting-meta-tracking: -.01em;--shadow-pop: 0 8px 24px rgb(0 0 0 / .45);--card-padding: var(--space-4);--card-gap: var(--space-3);--card-min-width: 240px;--card-title-size: var(--text-sm);--card-value-size: var(--text-xl);--chart-height: 84px;--chart-stroke: 1.5;--panel-width: 440px;--button-height: 34px;--sb-icon-size: 22px;--sb-icon-size-big: 28px;--tile-icon: 52px;--tile-icon-min: 32px;--tile-min-w: 100px;--tile-height: 112px;--tile-gap: var(--space-2);--chead-size: var(--text-xs);--badge-size: 16px;--ibtn-size: 28px;--ibtn-icon: 16px;--sum-chart-aspect: 2.4;--sum-chart-min: 80px;--tile-name-size: var(--text-xs);--tile-state-size: var(--text-xs);--tile-on: var(--accent);--tile-off: var(--text-faint);--temp-cold: #a9d8ff;--wx-sun: #ffb02e;--wx-ray: #f8d96b;--wx-moon: #b3a6ff;--wx-cloud: #cfdcee;--wx-cloud-dark: #a9b9d0;--wx-rain: #4aa3ff;--wx-bolt: #fcd34d;--wx-snow: #d4e9ff;--wx-fog: #aebbd0;--wx-hot: #ff6a4d;--wx-wind: #5fd8c8;--temp-cool: #6ab4f0;--temp-mild: #f0a64e;--temp-warm: #ee7a3a;--temp-hot: #e0342b;--sb-garage-closed: #9aa5b4;--sb-garage-open: #4db3e8;--sb-lock-closed: var(--text);--sb-lock-open: var(--text);--sb-door-dim: .22;--sb-icon-color: var(--text-soft);--rustdesk-logo: #ece8df;--rustdesk-logo-hover: #ffffff;--rustdesk-logo-size: 20px;--rustdesk-logo-size-sm: 16px;--toggle-size: 20px;--button-pad-x: var(--space-3);--input-height: 42px;--toggle-width: 34px;--toggle-height: 18px;--camera-aspect: 16 / 9;--grid-row: 4px;--edit-bar-height: 40px;--resize-size: 40px;--edit-bar-bg: color-mix(in srgb, var(--bg-raised) 94%, transparent);--tile-min-width: 300px;--bar-radius: 1px;--hbar-height: 6px;--select-height: 30px;--state-size: var(--text-lg);--confirm-bg: color-mix(in srgb, var(--caution) 6%, var(--bg-panel));--axis-size: var(--text-xs);--axis-color: var(--text-faint);--axis-height: calc(var(--axis-size) * 2)}*{box-sizing:border-box}body{margin:0;background:var(--bg-page);color:var(--text);font:var(--font-weight-normal) var(--text-md)/var(--line-height) var(--font-body);-webkit-font-smoothing:antialiased}button{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.mono{font-family:var(--font-data)}.topbar{min-height:var(--topbar-height);border-bottom:var(--border-width) solid var(--border);display:flex;justify-content:space-between;align-items:center;gap:var(--space-4);padding:var(--space-2) max(var(--space-5),calc((100% - var(--content-max)) / 2 + var(--space-5)));font-family:var(--font-data);font-size:var(--text-sm)}.hello{margin:var(--space-6) 0 var(--space-6);text-align:center;display:flex;flex-direction:column;align-items:center;gap:var(--space-3)}.hello-text{margin:0;font:var(--greeting-weight) var(--greeting-size)/1.05 var(--font-title);letter-spacing:var(--greeting-tracking);color:var(--text);overflow-wrap:anywhere}.hello-meta{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;column-gap:var(--space-4);row-gap:var(--space-1);font:var(--greeting-meta-weight) var(--greeting-meta-size)/1.3 var(--font-title);letter-spacing:var(--greeting-meta-tracking);color:var(--text-soft)}.hello-meta>span+span:before{content:"";display:inline-block;width:3px;height:3px;border-radius:50%;background:var(--text-faint);vertical-align:middle;margin-right:var(--space-4)}.health{color:var(--text-muted)}.health .dot{margin-right:var(--space-2)}.attn{position:relative}.attn-btn{display:inline-flex;align-items:center;background:none;border:0;padding:var(--space-1) var(--space-2);margin-left:calc(var(--space-2) * -1);border-radius:var(--radius-base);color:var(--text);font:inherit;cursor:pointer}.attn-btn:hover,.attn-btn[aria-expanded=true]{background:var(--bg-raised)}.attn-btn:focus-visible,.attn-item:focus-visible{outline:2px solid var(--focus-ring)}.caret{width:0;height:0;margin-left:var(--space-2);border-left:4px solid transparent;border-right:4px solid transparent;border-top:5px solid var(--text-soft)}.attn-btn[aria-expanded=true] .caret{transform:rotate(180deg)}.attn-menu{position:absolute;left:0;top:calc(100% + var(--space-2));z-index:20;width:max-content;min-width:260px;max-width:min(420px,calc(100vw - 2 * var(--space-4)));display:flex;flex-direction:column;padding:var(--space-1);background:var(--bg-card);border:var(--border-width) solid var(--border-strong);border-radius:var(--radius-base);box-shadow:var(--shadow-pop)}.attn-item{display:flex;align-items:flex-start;gap:var(--space-2);text-align:left;background:none;border:0;padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);color:var(--text);font:inherit;cursor:pointer}.attn-item:hover{background:var(--bg-raised)}.attn-item .dot{margin:var(--space-1) 0 0;flex:none}.attn-text{display:flex;flex-direction:column;min-width:0}.attn-what{overflow-wrap:anywhere}.attn-card{font-size:var(--text-xs);color:var(--text-soft)}main{max-width:calc(var(--content-max) + 2 * var(--section-inset));margin:0 auto;padding:var(--space-6) var(--space-5) var(--space-7)}.search{border:var(--border-width) solid var(--border);border-radius:var(--radius-lg);padding:var(--space-1);margin-bottom:var(--space-6)}.search div{height:var(--input-height);background:var(--bg-raised);border:var(--border-width) solid var(--border-strong);border-radius:var(--radius-base);display:flex;align-items:center;padding:0 var(--space-3);gap:var(--space-2);color:var(--text-faint);font-size:var(--text-sm)}kbd{margin-left:auto;border:var(--border-width) solid var(--border-strong);border-radius:var(--radius-sm);padding:0 var(--space-2);font:var(--text-xs) var(--font-data);color:var(--text-muted)}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(var(--card-min-width),1fr));gap:var(--card-gap)}.card{background:var(--bg-card);border:var(--border-width) solid var(--border);border-radius:var(--radius-base);padding:var(--card-padding);cursor:pointer;text-align:left;display:flex;flex-direction:column;width:100%;transition:border-color var(--motion);position:relative;overflow:hidden}.card:hover{border-color:var(--border-hover)}.card[aria-pressed=true]{border-color:var(--selected-border)}.card .v{font:var(--font-weight-medium) var(--card-value-size) var(--font-data);margin-top:var(--space-2);display:flex;align-items:baseline;gap:var(--space-2)}.note{font-size:var(--text-sm);color:var(--text-muted)}.note.warn{color:var(--status-warn)}.note.error{color:var(--status-error)}.chartbox{position:relative;margin-top:var(--space-3);display:flex;flex-direction:column;flex:1 1 auto;min-height:calc(var(--chart-height) * .5)}.chart{width:100%;height:var(--chart-height);display:block;flex:1 1 auto;min-height:0}.ymax{position:absolute;top:0;left:0;font:var(--axis-size) var(--font-data);color:var(--axis-color);pointer-events:none}.axis{position:relative;height:var(--axis-height);font:var(--axis-size) var(--font-data);color:var(--axis-color);margin-top:var(--space-1)}.axis span{position:absolute;top:0;transform:translate(-50%);white-space:nowrap}.axis span:first-child{transform:none}.axis span:last-child{transform:translate(-100%)}.chart .grid-line{stroke:var(--chart-grid)}.chart .line{fill:none;stroke:var(--chart-line);stroke-width:var(--chart-stroke);vector-effect:non-scaling-stroke}.chart .fill{fill:var(--chart-fill)}.chart .nodata{fill:none;stroke:var(--chart-nodata);stroke-width:var(--chart-stroke)}.pill{position:absolute;left:50%;bottom:calc(var(--axis-height) + var(--chart-height) / 2 + var(--card-padding) - var(--space-1));transform:translate(-50%);border:var(--border-width) solid var(--border-hover);background:var(--bg-raised);border-radius:var(--radius-pill);padding:var(--space-1) var(--space-2);font:var(--text-xs) var(--font-data);color:var(--text-soft)}.banner{border:var(--border-width) solid var(--status-warn-border);background:var(--status-warn-bg);color:var(--status-warn);border-radius:var(--radius-base);padding:var(--space-3) var(--space-4);margin-bottom:var(--space-4);font-family:var(--font-data);font-size:var(--text-sm)}.scrim{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--bg-scrim);opacity:0;pointer-events:none;transition:opacity var(--motion)}.scrim.on{opacity:1;pointer-events:auto}.panel{position:fixed;top:0;right:0;bottom:0;width:var(--panel-width);max-width:100%;background:var(--bg-panel);border-left:var(--border-width) solid var(--border-strong);transform:translate(100%);transition:transform calc(var(--motion) * 1.5);padding:var(--space-5);overflow:auto;z-index:5}.panel.on{transform:none}.panel h3{margin:0 0 var(--space-1);font:var(--font-weight-bold) var(--text-lg) var(--font-body)}.panel .close{float:right;background:none;border:0;color:var(--text-muted);cursor:pointer;font:var(--text-sm) var(--font-data)}.panel .big{font:var(--font-weight-medium) var(--text-2xl) var(--font-data);margin:var(--space-4) 0}.rows{width:100%;border-collapse:collapse;margin-top:var(--space-4);font-size:var(--text-sm);color:var(--text-muted)}.rows td{padding:var(--space-2) 0;border-bottom:var(--border-width) solid var(--border)}.rows td:last-child{text-align:right;color:var(--text)}.live-switch{display:inline-flex;align-items:center;gap:var(--space-2);flex:none;margin-left:var(--space-2);cursor:pointer;color:var(--text-muted);font:var(--text-xs) var(--font-data);background:none;border:0;padding:0}.live-switch .track{width:var(--toggle-width);height:var(--toggle-height);border-radius:var(--radius-pill);background:var(--border-strong);position:relative;transition:background var(--motion)}.live-switch .track:after{content:"";position:absolute;top:2px;left:2px;width:calc(var(--toggle-height) - 4px);height:calc(var(--toggle-height) - 4px);border-radius:50%;background:var(--text);transition:transform var(--motion)}.live-switch[aria-checked=true]{color:var(--status-error)}.live-switch[aria-checked=true] .track{background:var(--status-error)}.live-switch[aria-checked=true] .track:after{transform:translate(calc(var(--toggle-width) - var(--toggle-height)))}.login{max-width:360px;margin:20vh auto 0;padding:var(--space-5);border:var(--border-width) solid var(--border);border-radius:var(--radius-lg);background:var(--bg-card)}.login h1{font:var(--font-weight-bold) var(--text-xl) var(--font-body);margin:0 0 var(--space-4);letter-spacing:var(--tracking-tight)}.login input{width:100%;height:var(--input-height);background:var(--bg-raised);border:var(--border-width) solid var(--border-strong);border-radius:var(--radius-base);color:var(--text);padding:0 var(--space-3);font:var(--text-md) var(--font-data)}.btn{height:var(--button-height);padding:0 var(--button-pad-x);border:var(--border-width) solid var(--border-strong);background:var(--bg-raised);border-radius:var(--radius-base);cursor:pointer;font:var(--text-sm) var(--font-data)}.btn.primary{margin-top:var(--space-3);width:100%}.err{color:var(--status-error);font:var(--text-sm) var(--font-data);margin-top:var(--space-2)}.dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--text-faint)}.dot.ok{background:var(--status-ok)}.dot.warn{background:var(--status-warn)}.dot.error{background:var(--status-error)}@media(max-width:700px){.panel{width:100%}.topbar{padding:var(--space-3) var(--space-4)}.health{white-space:nowrap}}.chart .bar{fill:var(--chart-bar);rx:var(--bar-radius)}.icon{background:var(--bg-raised);border:var(--border-width) solid var(--border-strong);border-radius:var(--radius-sm);color:var(--text-soft);cursor:pointer;padding:var(--space-1) var(--space-2);font:var(--text-xs) var(--font-data)}.icon:disabled{opacity:.3;cursor:default}.live-switch:disabled{opacity:.4;cursor:default}.sub,.panel h4{font:var(--font-weight-medium) var(--text-sm) var(--font-data);color:var(--text-muted);margin:var(--space-5) 0 var(--space-2);text-transform:uppercase;letter-spacing:.03em}.hint{margin:0 0 var(--space-3)}.hidden-list{list-style:none;padding:0;margin:0}.hidden-list li{display:flex;justify-content:space-between;align-items:center;padding:var(--space-2) 0;border-bottom:var(--border-width) solid var(--border)}.btn[aria-pressed=true]{border-color:var(--accent)}.btn:disabled{opacity:.5;cursor:default}.hbars{display:grid;gap:var(--space-2);font:var(--text-xs) var(--font-data)}.hbar{display:grid;grid-template-columns:minmax(0,1fr) 90px auto;gap:var(--space-2);align-items:center}.hl{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-soft)}.ht{height:var(--hbar-height);background:var(--bg-raised);border-radius:var(--radius-pill);overflow:hidden}.hf{display:block;height:100%;background:var(--chart-line)}.hv{color:var(--text-muted);min-width:5ch;text-align:right}.settings{display:grid;gap:var(--space-3)}.setting{display:flex;justify-content:space-between;align-items:center;font:var(--text-sm) var(--font-data)}select{height:var(--select-height);background:var(--bg-raised);color:var(--text);border:var(--border-width) solid var(--border-strong);border-radius:var(--radius-sm);padding:0 var(--space-2);font:var(--text-sm) var(--font-data)}.panel .acts{display:flex;gap:var(--space-2);margin-top:var(--space-4)}.partition{border:var(--border-width) solid var(--border);border-radius:var(--radius-base);padding:var(--space-3);margin-top:var(--space-3)}.partition-head{display:flex;justify-content:space-between;align-items:baseline;font:var(--text-sm) var(--font-data);color:var(--text-muted)}.state-big{font:var(--font-weight-medium) var(--state-size) var(--font-data);color:var(--text)}.state-big.ok{color:var(--status-ok)}.state-big.warn{color:var(--status-warn)}.state-big.error{color:var(--status-error)}.partition .acts{flex-wrap:wrap}.btn.caution{border-color:var(--status-warn-border);color:var(--status-warn)}.confirmbar{display:grid;gap:var(--space-3);border:var(--border-width) solid var(--status-warn-border);background:var(--confirm-bg);border-radius:var(--radius-base);padding:var(--space-3);margin-top:var(--space-3);font:var(--text-sm) var(--font-data)}.confirmbar input{height:var(--input-height);background:var(--bg-raised);border:var(--border-width) solid var(--border-strong);border-radius:var(--radius-base);color:var(--text);padding:0 var(--space-3);font:var(--text-md) var(--font-data)}.quick-confirm{display:grid;gap:var(--space-2);font:var(--text-sm) var(--font-data);border:var(--border-width) solid var(--status-warn-border);background:var(--confirm-bg);border-radius:var(--radius-base);padding:var(--space-3)}.quick-confirm input{height:var(--input-height);background:var(--bg-raised);border:var(--border-width) solid var(--border-strong);border-radius:var(--radius-base);color:var(--text);padding:0 var(--space-3);font:var(--text-md) var(--font-data)}.board.rail{grid-template-columns:repeat(4,minmax(0,1fr))}.board{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-rows:var(--grid-row);grid-auto-flow:dense;column-gap:var(--card-gap);row-gap:0}@media(max-width:700px){.board{grid-template-columns:repeat(4,minmax(0,1fr))}}.item.editing{outline:var(--border-width) dashed var(--border-strong);outline-offset:calc(var(--border-width) * -1);border-radius:var(--radius-base)}.item.editing .item-body{pointer-events:none;opacity:.5}.item.active{outline:calc(var(--border-width) * 2) solid var(--drop-target);z-index:2}.edit-bar{position:absolute;top:0;left:0;right:0;height:var(--edit-bar-height);display:flex;align-items:center;gap:var(--space-2);padding-right:var(--space-2);background:var(--edit-bar-bg);border-bottom:var(--border-width) solid var(--border-strong);border-radius:var(--radius-base) var(--radius-base) 0 0}.grip{flex:1;min-width:0;height:100%;display:flex;align-items:center;gap:var(--space-2);padding:0 var(--space-3);background:none;border:0;color:var(--text);cursor:grab;touch-action:none;user-select:none;-webkit-user-select:none;font:var(--text-sm) var(--font-data);text-align:left}.grip:active{cursor:grabbing}.edit-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.resize{position:absolute;right:0;bottom:0;width:var(--resize-size);height:var(--resize-size);display:grid;place-items:center;background:var(--edit-bar-bg);border:var(--border-width) solid var(--border-strong);border-radius:var(--radius-base) 0 var(--radius-base) 0;color:var(--text);cursor:nwse-resize;touch-action:none;user-select:none;-webkit-user-select:none}.grip:focus-visible,.resize:focus-visible{outline:2px solid var(--focus-ring)}.toggle{display:flex;align-items:center;gap:var(--space-3);font:var(--text-md) var(--font-data);cursor:pointer}.toggle input{width:var(--toggle-size);height:var(--toggle-size);accent-color:var(--accent)}.cmd{margin-top:var(--space-3);border:var(--border-width) solid var(--border-strong);border-radius:var(--radius-base);background:var(--bg-raised);padding:var(--space-3)}.cmdhead{display:flex;justify-content:space-between;align-items:center;gap:var(--space-3);font:var(--text-sm) var(--font-data);margin-bottom:var(--space-2)}.cmd code{display:block;font:var(--text-sm) var(--font-data);overflow-wrap:anywhere;-webkit-user-select:all;user-select:all}.approve{display:flex;gap:var(--space-2);margin-top:var(--space-2)}.approve input{flex:1;min-width:0;height:var(--input-height);background:var(--bg-raised);border:var(--border-width) solid var(--border-strong);border-radius:var(--radius-base);color:var(--text);padding:0 var(--space-3);font:var(--text-md) var(--font-data);text-transform:uppercase}.rdlogo{width:var(--rustdesk-logo-size);height:var(--rustdesk-logo-size);fill:var(--rustdesk-logo);display:block}a.btn.rdbtn{display:inline-flex;align-items:center;gap:var(--space-2);text-decoration:none;color:var(--text)}a.btn.rdbtn .rdlogo{width:var(--rustdesk-logo-size-sm);height:var(--rustdesk-logo-size-sm)}.glance{width:100%;margin-top:var(--space-2);font:var(--text-xs) var(--font-data);color:var(--text-soft);border-collapse:collapse}.glance td{padding:var(--space-1) 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:0}.glance td:first-child{width:55%}.glance td:last-child{text-align:right;color:var(--text)}.sbsite{margin-top:var(--space-5)}.sbsite:first-of-type{margin-top:var(--space-3)}.sbsite-h{margin-top:0}.sbcfg-h{font:var(--font-weight-medium) var(--text-xs) var(--font-data);color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;margin:var(--space-4) 0 var(--space-1)}.sbcfg{display:flex;justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap;border-top:var(--border-width) solid var(--border);padding:var(--space-2) 0;font:var(--text-sm) var(--font-data)}.sbcfg-ctl{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap}.sbcfg select{background:var(--bg-raised);border:var(--border-width) solid var(--border-strong);border-radius:var(--radius-base);color:var(--text);font:var(--text-sm) var(--font-data);padding:var(--space-1) var(--space-2)}.sbcheck{display:inline-flex;align-items:center;gap:var(--space-1);cursor:pointer}.sbcheck input{accent-color:var(--accent)}.sbicon{width:var(--sb-icon-size);height:var(--sb-icon-size);color:var(--sb-icon-color);flex:none;display:block}.sbicon.door.garage.closed{color:var(--sb-garage-closed)}.sbicon.door.garage.open{color:var(--sb-garage-open)}.sbicon.door.garage.unknown{color:var(--sb-garage-closed);opacity:.55}.sbicon.door.lock.closed{color:var(--sb-lock-closed)}.sbicon.door.lock.open{color:var(--sb-lock-open)}.sbicon.door.lock.unknown{color:var(--sb-lock-closed);opacity:.55}.sbicon .dim{fill:currentColor;fill-opacity:var(--sb-door-dim)}.card .t,.tile .t{font:var(--chead-size) var(--font-data);color:var(--text-soft);display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3);min-width:0}.card:not(.rich) .t{font-size:var(--card-title-size)}.ctitle{flex:1 1 auto;min-width:0;overflow-wrap:anywhere}.cnote{flex:none;max-width:55%;overflow-wrap:anywhere;text-align:right;color:var(--text-soft)}.cnote.ok{color:var(--status-ok)}.cnote.warn{color:var(--status-warn)}.cnote.error{color:var(--status-error)}.item{position:relative;min-width:0;align-self:start}.item-body{min-width:0}.item-body>.card,.item-body>.tile{box-sizing:border-box}.card.rich{cursor:pointer}.shape-tag{position:absolute;left:var(--space-2);bottom:var(--space-2);z-index:4;pointer-events:none;font:var(--text-xs) var(--font-data);color:var(--text);background:var(--edit-bar-bg);border:var(--border-width) solid var(--border-strong);border-radius:var(--radius-pill);padding:var(--space-1) var(--space-2)}.tile{display:flex;flex-direction:column;background:var(--bg-card);border:var(--border-width) solid var(--border);border-radius:var(--radius-base);padding:var(--card-padding);transition:border-color var(--motion)}.cam-frame{flex:none;width:100%;box-sizing:border-box;margin-top:var(--space-3);background:var(--bg-raised);border:var(--border-width) solid var(--border);border-radius:var(--radius-base);overflow:hidden;display:grid;place-items:center;color:var(--text-faint);font:var(--text-xs) var(--font-data)}.cam-frame img,.cam-frame video{width:100%;height:100%;object-fit:contain;display:block}.cam-meta{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);font:var(--text-xs) var(--font-data);color:var(--text-muted);margin-top:var(--space-2)}.cam-meta .warn{color:var(--status-warn)}.itiles{display:flex;flex-direction:column;gap:var(--tile-gap)}.itrow{display:flex;gap:var(--tile-gap)}.itile{position:relative;container-type:inline-size;flex:1 1 0;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:var(--space-1);padding:var(--space-2) var(--space-1);border:var(--border-width) solid var(--border);border-radius:var(--radius-base);background:var(--bg-raised);color:var(--text);text-align:center;font:var(--tile-state-size) var(--font-data)}.itile.view{background:none;border-style:dashed}.itile.act{border-color:var(--border-strong);cursor:pointer}.itile.act:hover:not(:disabled){border-color:var(--accent)}.itile.act:focus-visible{outline:2px solid var(--focus-ring)}.itile.act:disabled{opacity:.5;cursor:default}.itile-icon{position:relative;display:grid;place-items:center;width:clamp(var(--tile-icon-min),58cqw,var(--tile-icon));aspect-ratio:1;flex:none}.itile-icon .sbicon{width:100%;height:100%}.itile-name{flex:1 1 auto;max-width:100%;overflow-wrap:anywhere;line-height:1.2;font-size:var(--tile-name-size);color:var(--text-soft)}.itile-state{max-width:100%;display:flex;flex-direction:column;align-items:center;overflow-wrap:anywhere;line-height:1.25;font-size:var(--tile-state-size);color:var(--text)}.itile-state.ok{color:var(--status-ok)}.itile-state.warn{color:var(--status-warn)}.itile-state.error{color:var(--status-error)}.itile-state.off{color:var(--text-soft)}.itile-state.on,.itile.t-on .sbicon{color:var(--tile-on)}.itile.t-off .sbicon{color:var(--tile-off)}.itile.t-ok .sbicon{color:var(--status-ok)}.itile.t-warn .sbicon{color:var(--status-warn)}.itile.t-error .sbicon{color:var(--status-error)}.ibadge{position:absolute;top:calc(var(--space-1) * -1);right:calc(var(--space-2) * -1);width:var(--badge-size);height:var(--badge-size);display:grid;place-items:center;border-radius:var(--radius-pill);background:var(--bg-raised)}.ibadge .sbicon{width:100%;height:100%}.ibadge.warn .sbicon{color:var(--status-warn)}.ibadge.error .sbicon{color:var(--status-error)}.sbtag{font-weight:var(--font-weight-medium)}.itile-state .since{color:var(--text-soft)}.sbicon.pwr.on{color:var(--tile-on)}.sbicon.pwr.off{color:var(--tile-off)}.sbgroup{margin-top:var(--space-3);cursor:default}.itmsg{font-size:var(--text-xs);text-align:center;margin-top:var(--space-1)}.itsheet{position:absolute;top:0;right:0;bottom:0;left:0;z-index:3;display:flex;align-items:center;padding:var(--card-padding);border-radius:inherit;background:var(--bg-card);cursor:default}.itsheet>.quick-confirm{flex:1;margin:0}.sum{display:flex;flex-direction:column;gap:var(--space-3);margin-top:var(--space-3)}.sumtiles{display:flex;gap:var(--tile-gap)}.sum.tall .sumtiles{flex-direction:column}.sum.tall .sumtiles>.itile{flex:0 0 auto}.sum.wide{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:stretch}.sum.wide .sumtiles>.itile{flex:0 0 var(--tile-min-w)}.sumchart{display:flex;flex-direction:column;min-width:0}.chartcap{font:var(--text-xs) var(--font-data);color:var(--text-soft)}.sum .chartbox{margin-top:var(--space-1);min-height:0}.sum:not(.wide) .chart{height:auto;aspect-ratio:var(--sum-chart-aspect);flex:none}.sum.wide .chartbox{flex:1 1 auto}.sum.wide .chart{height:auto;min-height:var(--sum-chart-min);flex:1 1 auto}.chart-empty{position:absolute;left:0;right:0;top:0;bottom:var(--axis-height);display:grid;place-items:center;font:var(--text-xs) var(--font-data);color:var(--text-muted);pointer-events:none}.rcard{display:flex;flex-direction:column;gap:var(--space-2);margin-top:var(--space-3)}.rframe{width:100%;box-sizing:border-box;background:var(--bg-raised);border:var(--border-width) solid var(--border);border-radius:var(--radius-base);overflow:hidden;display:grid;place-items:center}.rframe img{width:100%;height:100%;object-fit:contain;display:block}.rframe.dim img{opacity:.45}.rempty{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);padding:var(--space-3);color:var(--text-soft);font:var(--text-xs) var(--font-data);text-align:center}.rempty .sbicon{width:var(--tile-icon);height:var(--tile-icon)}.rfoot{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-2);font:var(--text-xs) var(--font-data)}.rage{flex:1;min-width:0;overflow-wrap:anywhere;color:var(--text-soft);line-height:1.3;padding-top:var(--space-1)}.rage.warn{color:var(--status-warn)}.racts{display:flex;gap:var(--space-2);flex:none;align-items:center}.ibtn,a.rd{display:grid;place-items:center;width:var(--ibtn-size);height:var(--ibtn-size);box-sizing:border-box;padding:0;background:var(--bg-raised);border:var(--border-width) solid var(--border-strong);border-radius:var(--radius-sm);color:var(--text-soft);cursor:pointer;text-decoration:none}.ibtn .sbicon{width:var(--ibtn-icon);height:var(--ibtn-icon)}.ibtn:hover:not(:disabled),a.rd:hover{border-color:var(--accent)}.ibtn:disabled{opacity:.4;cursor:default}a.rd .rdlogo{width:var(--ibtn-icon);height:var(--ibtn-icon)}.itile.t-cool .sbicon{color:var(--hvac-cool)}.itile.t-heat .sbicon{color:var(--hvac-heat)}.itile-state .cool{color:var(--hvac-cool)}.itile-state .heat{color:var(--hvac-heat)}.hvscrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;display:grid;place-items:center;padding:var(--space-4);background:var(--bg-scrim)}.hvbox{width:min(420px,100%);max-height:calc(100vh - 2 * var(--space-4));overflow:auto;display:grid;gap:var(--space-4);padding:var(--space-5);background:var(--bg-card);border:var(--border-width) solid var(--border-strong);border-radius:var(--radius-base);box-shadow:var(--shadow-pop);font:var(--text-sm) var(--font-data);cursor:default}.hvhead{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3)}.hvname{font:var(--greeting-weight) var(--text-lg) var(--font-title);letter-spacing:-.01em}.hvnow{display:flex;align-items:baseline;gap:var(--space-3);color:var(--text-soft)}.hvnow b{font:var(--greeting-weight) var(--hvac-temp-size) var(--font-title);color:var(--text);letter-spacing:-.03em;line-height:1}.hvsec{display:grid;gap:var(--space-2)}.hvlbl{font-size:var(--text-xs);color:var(--text-soft)}.hvchips{display:flex;flex-wrap:wrap;gap:var(--space-2)}.hvchips .btn{flex:1 1 0;min-width:0}.hvstep{display:flex;align-items:center;gap:var(--space-3)}.hvstep .btn{width:var(--button-height);padding:0;font-size:var(--text-lg)}.hvstep output{flex:1;text-align:center;font:var(--greeting-weight) var(--text-xl) var(--font-title);letter-spacing:-.02em}.hvstep .which{width:5.5em;color:var(--text-soft);font-size:var(--text-xs)}.hvacts{display:flex;gap:var(--space-2);justify-content:flex-end}.hvmsg{color:var(--status-error)}.hvsum{color:var(--text)}.hvchips .btn[aria-pressed=true]{background:var(--hv-on-bg);border-color:var(--accent);color:var(--text);font-weight:var(--font-weight-medium)}.hvsteps{list-style:none;margin:var(--space-3) 0 0;padding:0;display:grid;gap:var(--space-3);font:var(--text-sm) var(--font-data);color:var(--text-soft)}.hvsteps a.btn{display:inline-flex;align-items:center;text-decoration:none;color:var(--text)}.hvpaste{width:100%;box-sizing:border-box;resize:vertical;background:var(--bg-raised);border:var(--border-width) solid var(--border-strong);border-radius:var(--radius-base);color:var(--text);padding:var(--space-2) var(--space-3);font:var(--text-xs) var(--font-data);overflow-wrap:anywhere}.hvbox .rows{width:100%}.panel .hint{margin-bottom:var(--space-6)}.hvsteps .acts{margin-top:var(--space-2)}.hvsteps b{color:var(--text);font-weight:var(--font-weight-medium);overflow-wrap:anywhere}.itile.hero{flex:1 1 100%;flex-direction:row;align-items:center;justify-content:center;gap:var(--space-4);padding:var(--space-3) var(--space-4);text-align:left}.itile.hero .itile-icon{width:calc(var(--tile-icon) * 1.25)}.itile-text{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-1);min-width:0}.itile.hero .itile-name{flex:none;font-size:var(--text-sm);color:var(--text)}.itile.hero .itile-state{align-items:flex-start;font-size:var(--text-sm)}.itile.hero .itile-state>span:first-child{font-size:var(--text-2xl);line-height:1.1;font-weight:var(--font-weight-medium)}.itile.small .itile-icon{width:clamp(20px,34cqw,28px)}.itile.small .itile-name{font-size:var(--text-xs)}.itile.small{padding-left:var(--space-2);padding-right:var(--space-2)}.lstrip{display:flex;flex-direction:column;gap:var(--space-2);margin-top:var(--tile-gap);padding:var(--space-2);border:var(--border-width) solid var(--border);border-radius:var(--radius-base);background:var(--bg-raised);min-height:72px;box-sizing:border-box;justify-content:center;overflow:hidden;min-width:0}.lstrip.off{opacity:.55}.lhead{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);min-width:0;flex-wrap:wrap}.lname{font-size:var(--text-xs);color:var(--text-soft);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;flex:1 1 6ch}.lpct{color:var(--text)}.lcolors{display:flex;gap:var(--space-2);flex:0 1 auto;min-width:0;max-width:100%;padding:2px}.lswatch{width:22px;max-width:100%;height:auto;aspect-ratio:1;flex:0 1 22px;min-width:14px;padding:0;border-radius:50%;border:var(--border-width) solid var(--border-strong);cursor:pointer;background:var(--text)}.lswatch.c-white{background:var(--text)}.lswatch.c-orange_red{background:color-mix(in srgb,var(--temp-hot) 60%,var(--temp-warm))}.lswatch.c-blue{background:var(--hvac-cool)}.lswatch.c-green{background:var(--status-ok)}.lswatch[aria-pressed=true]{outline:2px solid var(--text);outline-offset:1px}.lswatch:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.lswatch:disabled{cursor:default}.lrange{width:100%;max-width:100%;margin:0;accent-color:var(--accent);height:18px;box-sizing:border-box}.lrange:disabled{cursor:default}.evbody{min-width:0;margin-top:var(--space-3);cursor:default}.evgrid{display:grid;gap:var(--tile-gap)}.evtile{display:flex;flex-direction:column;align-items:center;gap:var(--space-1);padding:0;border:0;background:none;color:var(--text-soft);font:var(--tile-state-size) var(--font-data);cursor:pointer;min-width:0}.evpic{display:block;width:100%;aspect-ratio:1;border-radius:var(--radius-lg, 14px);overflow:hidden;background:var(--bg-raised);border:var(--border-width) solid var(--border)}.evpic img{display:block;width:100%;height:100%;object-fit:cover}.evtile:hover .evpic{border-color:var(--accent)}.evtile:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px;border-radius:var(--radius-base)}.evtime{font-size:var(--text-xs);line-height:1.2;letter-spacing:.02em;white-space:nowrap}.evmiss{display:grid;place-items:center;width:100%;height:100%;font-size:var(--text-xs);color:var(--text-faint)}.evbox{width:min(92vw,720px)}.evbig{display:block;width:100%;border-radius:var(--radius-base);margin-bottom:var(--space-3);background:var(--bg-raised)}.evcount{flex:1;min-width:0;text-align:center;font:var(--greeting-weight) var(--text-xl) var(--font-title);letter-spacing:-.02em;color:var(--text);background:var(--bg-raised);border:var(--border-width) solid var(--border-strong);border-radius:var(--radius-base);height:var(--button-height);-moz-appearance:textfield}.evcount::-webkit-outer-spin-button,.evcount::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.evcount:focus-visible{outline:2px solid var(--focus-ring)}.evlink,.evlink:visited{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;color:var(--text)}.hvstep+.note,.hvstep+.hint{margin-top:var(--space-3)}.note.ok{color:var(--status-ok)}.livetag{margin-left:auto;color:var(--status-error);font-size:var(--text-xs);letter-spacing:.06em}.cmd{margin:var(--space-2) 0;padding:var(--space-3);background:var(--bg-raised);border:var(--border-width) solid var(--border-strong);border-radius:var(--radius-base);font:var(--text-xs) var(--font-data);color:var(--text);white-space:pre-wrap;word-break:break-all}.fmdev{padding:var(--space-3) 0;border-top:var(--border-width) solid var(--border)}.fmhead{display:flex;align-items:center;gap:var(--space-2)}.fmhead .sbicon{width:20px;height:20px;flex:none}.fmname{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text)}.fmwho{font:var(--text-xs) var(--font-data);color:var(--text-muted)}.fmmeta{display:flex;flex-wrap:wrap;gap:var(--space-1) var(--space-3);margin:var(--space-1) 0 var(--space-2);font:var(--text-xs) var(--font-data);color:var(--text-muted)}.fmplace{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);margin-top:var(--space-2)}.fmin{flex:1;min-width:8ch;height:var(--button-height);padding:0 var(--space-2);color:var(--text);background:var(--bg-raised);border:var(--border-width) solid var(--border-strong);border-radius:var(--radius-base);font:var(--text-sm) var(--font-data)}.fmin.num{flex:none;width:7ch}.fmin:focus-visible{outline:2px solid var(--focus-ring)}.fmrad{display:flex;align-items:center;gap:var(--space-1);font:var(--text-xs) var(--font-data);color:var(--text-muted)}.fmplaceRow{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) 0}.fmplaceRow span:first-child{flex:1;color:var(--text)}.fmmeta span+span:before{content:"·";margin:0 var(--space-2);color:var(--text-muted)}.fmmeta{gap:var(--space-1) 0}.fmdev+.note.hint{margin-top:var(--space-3)}.uprofs{display:flex;flex-direction:column;gap:var(--space-3)}.uprof{display:flex;flex-direction:column;gap:0}.uprof+.uprof{padding-top:var(--space-3);border-top:var(--border-width) solid var(--border)}.uprof-head{display:flex;justify-content:space-between;align-items:baseline;gap:var(--space-3);font:var(--text-xs) var(--font-data);height:18px}.uprof-name{color:var(--text-soft);letter-spacing:.04em;text-transform:uppercase}.uprof-old{color:var(--status-warn)}.ulabel{display:flex;align-items:baseline;gap:var(--space-2);min-width:0;font:var(--text-xs) var(--font-data);color:var(--text-muted)}.uname{flex:none;color:var(--text-soft);font-size:var(--text-sm)}.ureset{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.upct{margin-left:auto;flex:none;font:var(--text-sm) var(--font-data);color:var(--pace-ok)}.upct.yellow{color:var(--pace-yellow)}.upct.orange{color:var(--pace-orange)}.upct.red{color:var(--pace-red)}.ubars{display:flex;flex-direction:column;gap:3px;margin:var(--space-1) 0}.umeter-track{position:relative;height:8px}.umeter-bar{height:8px;border-radius:var(--space-1);background:var(--chart-grid);overflow:hidden}.umeter-fill{display:block;height:100%;border-radius:var(--space-1);background:var(--pace-ok);transition:width .4s ease,background-color .4s ease}.umeter-fill.yellow{background:var(--pace-yellow)}.umeter-fill.orange{background:var(--pace-orange)}.umeter-fill.red{background:var(--pace-red)}.umeter-pace{position:absolute;top:0;bottom:0;width:2px;border-radius:1px;background:var(--pace-mark);pointer-events:none}.umeter-reset{font:var(--text-xs) var(--font-data);color:var(--text-muted)}.dot.pace-ok{background:var(--pace-ok)}.dot.pace-yellow{background:var(--pace-yellow)}.dot.pace-orange{background:var(--pace-orange)}.dot.pace-red{background:var(--pace-red)}.wxl,.wxf{white-space:nowrap}.wxf+.wxf:before{content:" ·";white-space:pre;color:var(--text-muted)}table.rows+.note.hint{margin-top:var(--space-3)}.login input.pin,.confirmbar input.pin,.quick-confirm input.pin{text-align:center;letter-spacing:.5em;font-family:var(--font-data);font-size:var(--text-lg)}.pinpad{display:flex;flex-direction:column;align-items:center;gap:var(--space-4);width:100%}.pindots{display:flex;gap:var(--space-3);justify-content:center;padding:var(--space-2) 0}.pindots span{width:14px;height:14px;border-radius:50%;border:var(--border-width) solid var(--text-muted);background:transparent;transition:background-color var(--motion) ease}.pindots span.on{background:var(--text);border-color:var(--text)}.pinkeys{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:60px;gap:var(--space-2);width:100%;max-width:300px}.pinkey{height:60px;margin:0;padding:0;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-base);border:var(--border-width) solid var(--border);background:var(--bg-raised);color:var(--text);font:var(--text-lg) var(--font-data);touch-action:manipulation;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none}.pinkey:active{background:var(--border-strong)}.pinkey.sub{background:transparent;border-color:transparent;color:var(--text-soft);font-size:var(--text-base)}.verse{margin:var(--space-3) 0 0;display:flex;flex-direction:column;gap:var(--space-2);cursor:default}.verse-text{margin:0;font:var(--text-md)/1.5 var(--font-body);color:var(--text);text-wrap:pretty}.verse-ref{font:var(--text-xs) var(--font-data);color:var(--text-muted)}.verse-ver{letter-spacing:.06em;margin-left:var(--space-1)}.verse-link{color:var(--text-soft);text-decoration:underline;text-underline-offset:2px}.verse-link:hover{color:var(--text)}.panel .verse{margin-bottom:var(--space-3)}.wx{container-type:inline-size;display:flex;flex-direction:column;gap:var(--space-3);margin-top:var(--space-3);cursor:default}.wx-hero{display:flex;align-items:center;justify-content:center;gap:var(--space-4);min-height:96px}.wx-hero .wxicon{width:72px;height:72px;flex:none}.wx-main{display:flex;flex-direction:column;gap:2px;min-width:0}.wx-temp{display:flex;align-items:baseline;gap:3px;font:var(--font-weight-bold) calc(var(--text-2xl) * 1.5)/1 var(--font-title);color:var(--text);letter-spacing:-.02em}.wx-unit{font:var(--font-weight-normal) var(--text-md)/1 var(--font-title);color:var(--text-muted);letter-spacing:0}.wx-phrase{font:var(--font-weight-bold) var(--text-md)/1.25 var(--font-title);color:var(--text);text-wrap:balance}.wx-sub{display:flex;flex-wrap:wrap;gap:0 var(--space-3);font:var(--font-weight-normal) var(--text-sm)/1.35 var(--font-title);color:var(--text-soft)}.wx-rain-txt{color:var(--wx-rain)}.wx-row{display:flex;gap:var(--space-2)}.wx-tile{flex:1 1 0;min-width:0;display:flex;flex-direction:column;align-items:center;gap:2px;padding:var(--space-2) var(--space-1);border-top:var(--border-width) solid var(--border);text-align:center}.wx-when{font:var(--font-weight-bold) var(--text-xs)/1.2 var(--font-title);color:var(--text);text-transform:uppercase;letter-spacing:.06em}.wx-at{font:var(--font-weight-normal) var(--text-xs)/1.2 var(--font-title);color:var(--text-muted)}.wx-tile .wxicon{width:40px;height:40px;margin:var(--space-1) 0}.wx-t{display:flex;align-items:baseline;justify-content:center;gap:3px;font:var(--font-weight-bold) var(--text-xl)/1.1 var(--font-title);color:var(--text)}.wx-p{font:var(--font-weight-normal) var(--text-xs)/1.2 var(--font-title);color:var(--wx-rain)}@container (min-width:460px){.wx{flex-direction:row;align-items:center}.wx-hero{flex:0 0 40%;justify-content:flex-start}.wx-row{flex:1 1 0}.wx-tile{border-top:0;border-left:var(--border-width) solid var(--border);min-height:0}}.wxicon{display:block;overflow:visible;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.wxicon .wx-sun{stroke:var(--wx-sun);fill:color-mix(in srgb,var(--wx-sun) 62%,transparent)}.wxicon .wx-ray{stroke:var(--wx-ray)}.wxicon .wx-moon{stroke:var(--wx-moon);fill:color-mix(in srgb,var(--wx-moon) 58%,transparent)}.wxicon .wx-cloud{stroke:var(--wx-cloud);fill:color-mix(in srgb,var(--wx-cloud) 58%,transparent)}.wxicon .wx-cloud.dark{stroke:var(--wx-cloud-dark);fill:color-mix(in srgb,var(--wx-cloud-dark) 55%,transparent)}.wxicon .wx-rain{stroke:var(--wx-rain);stroke-width:2}.wxicon .wx-bolt{stroke:var(--wx-bolt);stroke-width:2;fill:color-mix(in srgb,var(--wx-bolt) 70%,transparent)}.wxicon .wx-snow{stroke:var(--wx-snow)}.wxicon .wx-snow.dots{stroke-width:3.6}.wxicon .wx-fog{stroke:var(--wx-fog);stroke-width:2}.wxicon .wx-wind{stroke:var(--wx-wind);stroke-width:2}.wxicon .wx-hot{stroke:var(--wx-hot);fill:color-mix(in srgb,var(--wx-hot) 55%,transparent)}.cam-link{color:var(--text-faint);text-decoration:none;cursor:pointer}.cam-link:hover{border-color:var(--accent)}.cam-link:focus-visible{outline:2px solid var(--focus-ring)}.wx-hum{color:var(--text-muted)}.wxicon .wx-roof{stroke:var(--wx-sun)}.wxicon .wx-door{stroke:var(--wx-ray)}.mapframe{display:block;width:100%;height:240px;border:var(--border-width) solid var(--border);border-radius:var(--radius-base);background:var(--bg-raised);margin:var(--space-3) 0}.fmdev.picked{box-shadow:inset 2px 0 0 var(--accent);padding-left:var(--space-3)}.fmdev.off{opacity:.6}.personmap{margin-bottom:var(--space-4)}.sbdialog{padding:var(--space-4);width:min(360px,calc(100vw - 2 * var(--space-4)));background:var(--bg-panel);color:var(--text);border:var(--border-width) solid var(--border-strong);border-radius:var(--radius-lg);font:var(--text-sm) var(--font-data)}.sbdialog::backdrop{background:var(--bg-scrim)}.sbd-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.sbd-head h3{margin:0;font:var(--font-weight-medium) var(--text-lg) var(--font-body)}.sbd-head .close{background:none;border:0;color:var(--text-muted);cursor:pointer;font:var(--text-md) var(--font-data);padding:var(--space-2)}.sbd-state{display:flex;align-items:center;gap:var(--space-2);margin:var(--space-2) 0 var(--space-3);color:var(--text-soft)}.sbd-group{margin-top:var(--space-3)}.sbd-label{font-size:var(--text-xs);color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:var(--space-1)}.segs{display:flex;gap:var(--space-2)}.seg{flex:1 1 0;min-width:0;height:44px;padding:0 var(--space-2);background:var(--bg-raised);color:var(--text);border:var(--border-width) solid var(--border-strong);border-radius:var(--radius-base);font:var(--text-sm) var(--font-data);cursor:pointer}.seg.on{background:color-mix(in srgb,var(--accent) 28%,var(--bg-raised));border-color:var(--accent)}.seg:disabled{opacity:.5;cursor:default}.seg:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.section{margin-top:var(--space-5);padding:var(--space-4) calc(var(--section-inset) - var(--border-width)) var(--space-2);border:var(--border-width) solid var(--border);border-radius:var(--radius-lg);background:color-mix(in srgb,var(--bg-card) 35%,var(--bg-page))}.section-title{margin:var(--space-2) 0 0;text-align:right;font:var(--font-weight-normal) var(--text-xs) var(--font-data);letter-spacing:.06em;text-transform:uppercase;color:var(--text);opacity:.4}.header-cards{margin:var(--space-5) auto 0;padding:0 var(--section-inset);max-width:calc(var(--content-max) + 2 * var(--section-inset))}.header-hint{margin-top:var(--space-2)}.stage>.section:first-child,.stage-center>.section:first-child,.rail>.section:first-child{margin-top:var(--space-5)}.section-edit{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-3);margin-bottom:var(--space-3);padding-bottom:var(--space-3);border-bottom:var(--border-width) dashed var(--border-strong)}.section-edit-name{flex:1 1 8ch;min-width:0;font:var(--font-weight-medium) var(--text-sm) var(--font-data);color:var(--text)}.placeseg{display:inline-flex;border:var(--border-width) solid var(--border-strong);border-radius:var(--radius-base);overflow:hidden}.placeseg button{min-height:40px;padding:0 var(--space-3);background:var(--bg-raised);color:var(--text-soft);border:0;border-right:var(--border-width) solid var(--border-strong);font:var(--text-xs) var(--font-data);cursor:pointer}.placeseg button:last-child{border-right:0}.placeseg button.on{background:color-mix(in srgb,var(--accent) 28%,var(--bg-raised));color:var(--text)}.placeseg button:focus-visible{outline:2px solid var(--focus-ring);outline-offset:-2px}.section-move{display:flex;gap:var(--space-2)}.section-move .icon{min-width:40px;min-height:40px;background:var(--bg-raised);border:var(--border-width) solid var(--border-strong);border-radius:var(--radius-base);color:var(--text);cursor:pointer}.section-move .icon:disabled{opacity:.35;cursor:default}.section-empty{padding:var(--space-4);border:var(--border-width) dashed var(--border-strong);border-radius:var(--radius-base);color:var(--text-soft);font:var(--text-sm) var(--font-data)}.rail-hint{margin-top:var(--space-5)}.stage.rails{display:grid;grid-template-columns:minmax(0,var(--rail-max)) calc(var(--content-max) + 2 * var(--section-inset)) minmax(0,var(--rail-max));justify-content:center;gap:var(--space-5);align-items:start}.stage-center,.rail{min-width:0}main:has(.stage.rails){max-width:none}.secmove{position:relative;flex:none;display:inline-flex;align-items:center;height:calc(var(--edit-bar-height) - var(--space-2));padding:0 var(--space-2);background:var(--bg-raised);border:var(--border-width) solid var(--border-strong);border-radius:var(--radius-base);font:var(--text-xs) var(--font-data);color:var(--text);cursor:pointer;white-space:nowrap}.secmove select{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer;font-size:16px}.secmove:focus-within{outline:2px solid var(--focus-ring)}.grip{min-width:5ch}@media(max-width:700px){.section{padding-inline:var(--space-2);margin-top:var(--space-4)}.header-cards{padding:0}main{max-width:none}}.ploc{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-wrap:balance;text-align:center;max-width:100%}.sbdialog .note,.sbdialog .err{margin-top:var(--space-3)}.secmove.compact{padding:0 var(--space-1);min-width:calc(var(--edit-bar-height) - var(--space-2))}.secmove.compact span{margin:0 auto}.cdeg{font:var(--font-weight-normal) .6em/1 var(--font-data);color:var(--text-muted);letter-spacing:0;white-space:nowrap}.wx-t .cdeg{font-size:var(--text-xs)}.wx-temp .cdeg{font-size:var(--text-xs);margin-left:var(--space-1)}.fmmove{margin-left:auto;display:flex;gap:var(--space-1)}.fmmove .icon{min-width:36px;min-height:36px;background:var(--bg-raised);border:var(--border-width) solid var(--border-strong);border-radius:var(--radius-base);color:var(--text);cursor:pointer}.fmmove .icon:disabled{opacity:.35;cursor:default}.tile.compact{padding:var(--space-3) var(--card-padding)}.tile.compact .cam-meta{margin-top:var(--space-1)}.rcard.compact .rfoot{margin-top:0}.item.editing .uprofs{padding-top:var(--space-4)}.section-rename{display:flex;flex:1 1 220px;gap:var(--space-2);min-width:0}.section-rename input,.section-add input{flex:1 1 140px;min-width:0;height:40px;background:var(--bg-raised);border:var(--border-width) solid var(--border-strong);border-radius:var(--radius-base);color:var(--text);padding:0 var(--space-3);font:var(--text-sm) var(--font-data)}.section-add{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);margin:var(--space-4) auto 0;max-width:calc(var(--content-max) + 2 * var(--section-inset));padding:0 var(--section-inset)}.section-add input{max-width:320px}.section-confirm{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3);flex:1 1 100%;font:var(--text-sm) var(--font-data);color:var(--text)}.section-err{flex:1 1 100%}.pmap{position:relative;overflow:hidden;margin-top:var(--space-3);aspect-ratio:4/3;width:100%;background:var(--bg-raised);border:var(--border-width) solid var(--border);border-radius:var(--radius-base);cursor:default;isolation:isolate}.pmap-tiles{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden}.pmap-tiles img{position:absolute;max-width:none;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;filter:invert(1) hue-rotate(180deg) brightness(.85) contrast(.9) saturate(.7)}.pmap-me{position:absolute;z-index:3;width:14px;height:14px;margin:-7px 0 0 -7px;border-radius:50%;background:var(--accent);border:2px solid var(--text);box-shadow:0 0 0 6px color-mix(in srgb,var(--accent) 30%,transparent)}.pmap-p{position:absolute;z-index:2;width:0;height:0}.pmap-p.stale{opacity:.4}.pmap-dot{position:absolute;left:-4px;top:-4px;width:8px;height:8px;border-radius:50%;background:var(--text);opacity:.85;box-shadow:0 0 0 1px color-mix(in srgb,var(--bg-page) 70%,transparent)}.pmap-name{position:absolute;left:0;top:0;white-space:nowrap;font:var(--text-xs)/1 var(--font-data);color:var(--text);text-shadow:0 0 3px var(--bg-page),0 0 3px var(--bg-page),0 0 5px var(--bg-page);pointer-events:none}.pmap-cap,.pmap-attr{position:absolute;z-index:4;bottom:var(--space-1);font:var(--text-xs)/1 var(--font-data);color:var(--text);opacity:.55;text-shadow:0 0 3px var(--bg-page);pointer-events:none}.pmap-cap{top:var(--space-2);bottom:auto;left:var(--space-2)}.pmap-attr{right:var(--space-2);font-size:9px}.stage.rails .rail>.section:first-child{margin-top:calc(-1 * (var(--space-6) + 1.3 * var(--greeting-meta-size) + var(--space-3) / 2))}.stage.rails .stage-center>.header-cards+.section{margin-top:calc(var(--space-5) + var(--space-6))}.stage.halves{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3);align-items:start;padding:0 var(--space-2)}.stage.halves.one{grid-template-columns:minmax(0,1fr)}.stage.halves .section{padding-inline:var(--space-2)}.stage.halves .rail{min-width:0}.foot{display:flex;justify-content:center;flex-wrap:wrap;gap:var(--space-3);padding:var(--space-5) var(--space-5) var(--space-7);margin-top:var(--space-4);border-top:var(--border-width) solid var(--border)}.reset-ask{display:inline-flex;align-items:center;flex-wrap:wrap;justify-content:center;gap:var(--space-3);color:var(--text-muted)}.wx-row{flex-wrap:wrap}.wx-tile{flex:1 1 64px;justify-content:flex-start}.wx-when,.wx-at{max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@container (max-width:440px){.wx-tile{padding-inline:2px}.wx-when{font-size:10px;letter-spacing:.03em}.wx-at{font-size:10px}.wx-t{flex-direction:column;align-items:center;gap:0}.wx-t .cdeg{margin-left:0}.wx-tile .wxicon{width:32px;height:32px}}.push{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:var(--space-3);flex:1 1 100%}.push-state{display:inline-flex;align-items:center;font:var(--text-sm) var(--font-data);color:var(--text-soft)}.push-state .dot{margin-right:var(--space-2)}.areacams{display:flex;flex-wrap:wrap;gap:var(--space-2);margin:var(--space-3) 0}.areacams .btn.on,.areakinds .btn.on{background:color-mix(in srgb,var(--accent) 28%,var(--bg-raised));color:var(--text);border-color:var(--accent)}.areabox{position:relative;width:100%;margin-top:var(--space-3);background:var(--bg-raised);border:var(--border-width) solid var(--border);border-radius:var(--radius-base);touch-action:pan-y;-webkit-user-select:none;user-select:none}.areabox.drawing{cursor:crosshair;touch-action:none;outline:2px solid var(--accent)}.areabox img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:fill;display:block;pointer-events:none;border-radius:var(--radius-base)}.areabox svg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none}.areamiss{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;color:var(--text-muted);font:var(--text-sm) var(--font-data)}.areapoly{fill-opacity:1;stroke-width:2;vector-effect:non-scaling-stroke}.areapoly.sel{stroke-width:4}.h0{--hue:var(--caution)}.h1{--hue:var(--accent)}.h2{--hue:var(--positive)}.h3{--hue:var(--negative)}.h4{--hue:var(--text)}.h5{--hue:var(--text-soft)}.areapoly{fill:color-mix(in srgb,var(--hue) 22%,transparent);stroke:var(--hue)}.areapoly.sel{fill:color-mix(in srgb,var(--hue) 34%,transparent)}.areadraw{fill:none;stroke:var(--accent);stroke-width:3;stroke-dasharray:6 4;vector-effect:non-scaling-stroke}.areapt{position:absolute;width:14px;height:14px;margin:-7px 0 0 -7px;padding:0;border-radius:50%;background:var(--text);border:3px solid var(--hue);cursor:grab;touch-action:none;z-index:2;box-shadow:0 0 0 1px var(--bg-page)}.areapt.sel{width:18px;height:18px;margin:-9px 0 0 -9px}.areapt:after{content:"";position:absolute;top:-10px;right:-10px;bottom:-10px;left:-10px}.areapt.drawn{width:12px;height:12px;margin:-6px 0 0 -6px;border-color:var(--accent);pointer-events:none;cursor:crosshair}.areapt:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.arealabel{position:absolute;transform:translate(6px,6px);font:var(--font-weight-medium) var(--text-sm)/1 var(--font-data);color:var(--text);background:color-mix(in srgb,var(--hue) 55%,var(--bg-page));padding:3px 8px;border-radius:var(--radius-base);pointer-events:none;z-index:1;white-space:nowrap;max-width:60%;overflow:hidden;text-overflow:ellipsis}.arealabel.sel{outline:2px solid var(--hue)}.areadot{position:absolute;width:8px;height:8px;margin:-4px 0 0 -4px;border-radius:50%;background:var(--text);opacity:.8;pointer-events:none;box-shadow:0 0 0 1px var(--bg-page)}.areadot.person{background:var(--negative)}.areadot.vehicle{background:var(--accent)}.areadot.animal{background:var(--positive)}.areabar{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3);margin-top:var(--space-3)}.areadots{display:inline-flex;align-items:center;gap:var(--space-2);font:var(--text-sm) var(--font-data);color:var(--text-soft)}.areacard{margin-top:var(--space-3);padding:var(--space-3);border:var(--border-width) solid var(--border);border-radius:var(--radius-base);display:flex;flex-direction:column;gap:var(--space-3)}.areacard{border-left:4px solid var(--hue)}.areacard.sel{border-color:var(--hue)}.arearow{display:flex;gap:var(--space-3);align-items:center}.areaname,.areapark input{height:40px;background:var(--bg-raised);border:var(--border-width) solid var(--border-strong);border-radius:var(--radius-base);color:var(--text);padding:0 var(--space-3);font:var(--text-sm) var(--font-data);min-width:0}.areaname{flex:1 1 auto}.areakinds{display:flex;flex-wrap:wrap;gap:var(--space-2)}.areapark{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);font:var(--text-sm) var(--font-data);color:var(--text-soft)}.areapark input{width:9ch;text-align:center}.areaunit{white-space:nowrap}.areakey{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);margin-top:var(--space-2);font:var(--text-xs) var(--font-data);color:var(--text-soft)}.areakey .areadot{position:static;margin:0 0 0 var(--space-2)}.areabig{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;background:var(--bg-page);display:flex;flex-direction:column;align-items:center;gap:var(--space-3);padding:var(--space-3);overflow:auto}.areabigbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:var(--space-3);font:var(--text-sm) var(--font-data);color:var(--text-soft)}.areabigpic{max-width:100%;padding:var(--space-3)}.areabigpic .areabox{margin-top:0}.areapark .note{flex:1 1 100%}.names td:last-child{width:48%}.namein{width:100%;height:40px;background:var(--bg-raised);border:var(--border-width) solid var(--border-strong);border-radius:var(--radius-base);color:var(--text);padding:0 var(--space-3);font:var(--text-sm) var(--font-data);min-width:0}.nameadd{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-3);align-items:center}.nameadd .namein{flex:1 1 140px;width:auto}.names th{text-align:left;font:var(--text-xs) var(--font-data);color:var(--text-soft);font-weight:400;padding-bottom:var(--space-1)}.names td:first-child{overflow-wrap:anywhere}.pbat.low{color:var(--status-warn)}.pbolt{font-style:normal}.homerow{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);margin:0 0 var(--space-2);font:var(--text-xs) var(--font-data);color:var(--text-muted)}.homerow .homelabel{flex:1 1 100%}.homerow select{font:inherit}.conns{display:grid;grid-template-columns:1fr;gap:var(--space-4)}.conns.side{grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:var(--space-5)}.conns h4{margin:0 0 var(--space-2);font:var(--text-xs) var(--font-data);letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted)}.clist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.crow{display:flex;flex-wrap:wrap;align-items:baseline;gap:0 var(--space-2);min-height:24px;padding:2px 0;font:var(--text-sm) var(--font-data)}.crow .cname{min-width:0;overflow-wrap:anywhere}.cmark{flex:none;width:1.4em;text-align:center;font-size:var(--text-sm)}.cdetail{font:var(--text-xs) var(--font-data);color:var(--text-muted)}.crow .cdetail{min-width:0;overflow-wrap:anywhere;margin-left:calc(1.4em + var(--space-2))}.carow{padding:var(--space-2) 0;border-top:var(--border-width) solid var(--border)}.carow:first-child{border-top:0;padding-top:0}.cahead{display:flex;flex-wrap:wrap;align-items:baseline;gap:0 var(--space-2);font:var(--text-sm) var(--font-data)}.cahead .cname{flex:1 1 12ch;min-width:0;overflow-wrap:anywhere}.ckind{flex:none;font:var(--text-xs) var(--font-data);color:var(--text-muted);border:var(--border-width) solid var(--border);border-radius:var(--radius-base);padding:0 var(--space-1)}.carow>.cdetail{margin:0 0 0 1.4em}.shortcuts{display:flex;flex-direction:column;gap:var(--space-3);position:relative}.shortcut-btn{width:100%;min-height:56px;padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);border:var(--border-width) solid var(--border-strong);background:var(--bg-raised);color:var(--text);font:600 var(--text-lg)/1.2 var(--font-data);cursor:pointer;transition:background var(--motion),border-color var(--motion)}.shortcut-btn.on:hover:not(:disabled){background:color-mix(in srgb,var(--positive) 18%,var(--bg-raised))}.shortcut-btn.off{border-color:var(--positive)}.shortcut-btn.off:hover:not(:disabled){background:color-mix(in srgb,var(--status-warn) 16%,var(--bg-raised))}.shortcut-btn:disabled{opacity:.5;cursor:default}.shortcut-detail{margin-top:var(--space-1);font:var(--text-xs) var(--font-data);color:var(--text-muted);text-align:center}.shortcut-detail.warn{color:var(--status-warn)}.breakers{color:var(--breaker-red);font:700 var(--text-lg)/1.25 var(--font-data);margin-bottom:var(--space-2);text-align:center}.hvmsg.ok{color:var(--text-muted)}.breaker-dialog{max-width:min(92vw,420px);text-align:center}.breaker-dialog .breakers{font-size:var(--text-xl,calc(var(--text-lg) * 1.25));margin:var(--space-2) 0 var(--space-3)}.breaker-dialog .breakers{text-wrap:balance}.breaker-q{color:var(--text);margin-bottom:var(--space-4)}.breaker-dialog .acts{display:flex;justify-content:center;gap:var(--space-3)}.btn.danger{border-color:var(--breaker-red);color:var(--breaker-red);background:color-mix(in srgb,var(--breaker-red) 14%,transparent);font-weight:600}.btn.danger:hover{background:color-mix(in srgb,var(--breaker-red) 30%,transparent)}
