.pairing-incoming-dialog.svelte-v229kv{width:min(520px,100vw - 32px)}.pairing-incoming-action.svelte-v229kv{min-height:34px;font-size:var(--rz-font-button);font-weight:var(--rz-weight-button);letter-spacing:0;white-space:normal;padding:0 12px;line-height:1.2}.pairing-code.svelte-v229kv{text-align:center}.pairing-code.svelte-v229kv>strong:where(.svelte-v229kv){letter-spacing:0;font-variant-numeric:tabular-nums;font-size:28px}.pairing-calibration-scene.svelte-1f0v1cj{aspect-ratio:16/10;background:#0b1118;border:1px solid #7bb8d833;border-radius:6px;width:100%;min-height:280px;position:relative;overflow:hidden}svg.svelte-1f0v1cj{width:100%;height:100%;display:block}.calibration-gap.svelte-1f0v1cj{stroke:#fffc;stroke-width:2px;stroke-dasharray:7 6;vector-effect:non-scaling-stroke}.calibration-radar.svelte-1f0v1cj line:where(.svelte-1f0v1cj){stroke-width:3px;vector-effect:non-scaling-stroke}.calibration-radar.svelte-1f0v1cj circle:where(.svelte-1f0v1cj){fill:#111820;stroke-width:3px;vector-effect:non-scaling-stroke}.calibration-radar.svelte-1f0v1cj text:where(.svelte-1f0v1cj),.calibration-baseline-label.svelte-1f0v1cj{fill:#f2f7fb;paint-order:stroke;stroke:#060b10e0;stroke-width:3px;stroke-linejoin:round;letter-spacing:0;font-weight:700}.calibration-target.svelte-1f0v1cj>circle:where(.svelte-1f0v1cj):first-child{fill-opacity:.22;stroke-width:4px;vector-effect:non-scaling-stroke}.calibration-target.svelte-1f0v1cj>circle:where(.svelte-1f0v1cj):last-child{stroke:#f2f7fb;stroke-width:2px;vector-effect:non-scaling-stroke}.calibration-reference.svelte-1f0v1cj line:where(.svelte-1f0v1cj),.calibration-reference.svelte-1f0v1cj circle:where(.svelte-1f0v1cj){stroke:#25b8e6}.calibration-reference.svelte-1f0v1cj>circle:where(.svelte-1f0v1cj):last-child{fill:#25b8e6}.calibration-peer.svelte-1f0v1cj line:where(.svelte-1f0v1cj),.calibration-peer.svelte-1f0v1cj circle:where(.svelte-1f0v1cj){stroke:#ffb454}.calibration-peer.svelte-1f0v1cj>circle:where(.svelte-1f0v1cj):last-child{fill:#ffb454}.calibration-baseline.svelte-1f0v1cj{fill:#ffb45414;stroke:#ffb454e6;stroke-width:2px;stroke-dasharray:8 6;vector-effect:non-scaling-stroke}.calibration-sample.svelte-1f0v1cj circle:where(.svelte-1f0v1cj){fill:#111820eb;stroke:#f2f7fb;stroke-width:2px;vector-effect:non-scaling-stroke}.calibration-sample.svelte-1f0v1cj text:where(.svelte-1f0v1cj){fill:#f2f7fb;letter-spacing:0;font-weight:700}@media (width<=760px){.pairing-calibration-scene.svelte-1f0v1cj{aspect-ratio:4/3;min-height:0;max-height:52vh}}.pairing-calibration-backdrop.svelte-1s55bxb{background:#02080cd6}.pairing-calibration-panel.svelte-1s55bxb{background:#111820;grid-template-columns:minmax(280px,340px) minmax(0,880px);width:min(1240px,100vw - 32px);max-height:min(900px,100vh - 32px);overflow:hidden;box-shadow:0 28px 84px #0000009e}.pairing-calibration-sidebar.svelte-1s55bxb,.pairing-calibration-workspace.svelte-1s55bxb,.pairing-calibration-stage.svelte-1s55bxb,.pairing-calibration-status.svelte-1s55bxb{min-width:0}.pairing-calibration-sidebar.svelte-1s55bxb,.pairing-calibration-workspace.svelte-1s55bxb{overflow-y:auto}.pairing-calibration-workspace.svelte-1s55bxb,.pairing-calibration-stage.svelte-1s55bxb,.pairing-calibration-status.svelte-1s55bxb,.pairing-calibration-mobile-status.svelte-1s55bxb{gap:10px;display:grid}.pairing-calibration-mobile-status.svelte-1s55bxb{display:none}.pairing-calibration-progress.svelte-1s55bxb{gap:6px;margin:0;padding:0;list-style:none;display:grid}.pairing-calibration-progress.svelte-1s55bxb li:where(.svelte-1s55bxb){color:var(--rz-muted);font-size:var(--rz-font-help);border-left:2px solid #7bb8d833;padding:7px 8px}.pairing-calibration-progress.svelte-1s55bxb li[data-active=true]:where(.svelte-1s55bxb){color:#d7eefc;font-weight:var(--rz-weight-label);border-color:#06d6a0}.calibration-device-status.svelte-1s55bxb{background:#7bb8d80d;border:1px solid #7bb8d82e;border-radius:6px;grid-template-columns:10px minmax(0,1fr);align-items:center;gap:8px;min-width:0;padding:8px;display:grid}.calibration-device-status.svelte-1s55bxb>div:where(.svelte-1s55bxb){gap:2px;min-width:0;display:grid}.calibration-device-status.svelte-1s55bxb strong:where(.svelte-1s55bxb){overflow-wrap:anywhere;font-size:var(--rz-font-title-card)}.calibration-device-status.svelte-1s55bxb span:where(.svelte-1s55bxb){color:var(--rz-muted);font-size:var(--rz-font-help)}.calibration-swatch.svelte-1s55bxb{border-radius:50%;width:10px;height:10px}.calibration-reference.svelte-1s55bxb .calibration-swatch:where(.svelte-1s55bxb){background:#25b8e6}.calibration-peer.svelte-1s55bxb .calibration-swatch:where(.svelte-1s55bxb){background:#ffb454}.pairing-calibration-stage-heading.svelte-1s55bxb{justify-content:space-between;align-items:end;gap:12px;display:flex}.pairing-calibration-stage-heading.svelte-1s55bxb>div:where(.svelte-1s55bxb):first-child{gap:4px;min-width:0;display:grid}.pairing-calibration-stage-heading.svelte-1s55bxb strong:where(.svelte-1s55bxb){font-size:var(--rz-font-title-card)}.pairing-calibration-stage-heading.svelte-1s55bxb span:where(.svelte-1s55bxb){color:var(--rz-muted);font-size:var(--rz-font-help);line-height:1.5}.pairing-calibration-view-tabs.svelte-1s55bxb{background:#02080c57;border:1px solid #7bb8d833;border-radius:6px;flex:none;grid-template-columns:repeat(3,minmax(0,1fr));min-width:280px;padding:3px;display:grid}.pairing-calibration-view-tabs.svelte-1s55bxb button:where(.svelte-1s55bxb){min-height:34px;color:var(--rz-muted);font-size:var(--rz-font-help);background:0 0;border:0;padding:6px 9px}.pairing-calibration-view-tabs.svelte-1s55bxb button[data-selected=true]:where(.svelte-1s55bxb){color:#d7eefc;background:#7bb8d829}.calibration-summary.svelte-1s55bxb{margin:0}.pairing-calibration-actions.svelte-1s55bxb{z-index:2;background:#111820;border-top:1px solid #7bb8d82e;margin-top:auto;padding:12px;position:sticky;bottom:0}@media (width<=760px){.pairing-calibration-backdrop.svelte-1s55bxb{padding:0}.pairing-calibration-panel.svelte-1s55bxb{border-radius:0;grid-template-columns:1fr;width:100vw;height:100dvh;max-height:none;overflow-y:auto}.pairing-calibration-sidebar.svelte-1s55bxb,.pairing-calibration-workspace.svelte-1s55bxb{overflow:visible}.pairing-calibration-sidebar.svelte-1s55bxb{padding-bottom:0}.pairing-calibration-status.svelte-1s55bxb{display:none}.pairing-calibration-mobile-status.svelte-1s55bxb{display:grid}.pairing-calibration-stage-heading.svelte-1s55bxb{flex-direction:column;align-items:stretch}.pairing-calibration-view-tabs.svelte-1s55bxb{width:100%;min-width:0}.pairing-calibration-actions.svelte-1s55bxb{flex-wrap:wrap;bottom:0}.pairing-calibration-actions.svelte-1s55bxb button:where(.svelte-1s55bxb){flex:120px}}.pairing-setup-panel.svelte-16hx2op{background:#111820;grid-template-columns:minmax(300px,380px) minmax(0,760px);width:min(1160px,100vw - 32px);max-height:min(860px,100vh - 32px);overflow:auto;box-shadow:0 28px 84px #0000009e}.pairing-setup-backdrop.svelte-16hx2op{background:#02080cd1}.pairing-setup-workspace.svelte-16hx2op,.pairing-setup-stage.svelte-16hx2op,.pairing-setup-options.svelte-16hx2op,.pairing-setup-address.svelte-16hx2op{gap:10px;display:grid}.pairing-setup-scan-row.svelte-16hx2op{justify-content:space-between;align-items:center;gap:10px;display:flex}.pairing-setup-scan-row.svelte-16hx2op>span:where(.svelte-16hx2op){color:var(--rz-muted);font-size:var(--rz-font-help)}.pairing-setup-progress.svelte-16hx2op{gap:6px;margin:0;padding:0;list-style:none;display:grid}.pairing-setup-progress.svelte-16hx2op li:where(.svelte-16hx2op){color:var(--rz-muted);font-size:var(--rz-font-help);border-left:2px solid #7bb8d833;padding:7px 8px}.pairing-setup-progress.svelte-16hx2op li[data-active=true]:where(.svelte-16hx2op){color:#d7eefc;font-weight:var(--rz-weight-label);border-color:#06d6a0}.pairing-setup-options.svelte-16hx2op{grid-template-columns:repeat(2,minmax(0,1fr))}.pairing-setup-option.svelte-16hx2op,.pairing-setup-link.svelte-16hx2op{color:#d7eefc;text-align:left;background:#7bb8d80f;border:1px solid #7bb8d838;border-radius:6px;gap:4px;min-width:0;padding:10px;text-decoration:none;display:grid}.pairing-setup-option[data-selected=true].svelte-16hx2op{background:#06d6a01f;border-color:#06d6a09e}.pairing-setup-option.svelte-16hx2op strong:where(.svelte-16hx2op),.pairing-setup-link.svelte-16hx2op strong:where(.svelte-16hx2op){overflow-wrap:anywhere;font-size:var(--rz-font-title-card)}.pairing-floorplan-options.svelte-16hx2op img:where(.svelte-16hx2op){aspect-ratio:16/10;object-fit:contain;background:#1118205c;border-radius:4px;width:100%}.pairing-setup-option.svelte-16hx2op span:where(.svelte-16hx2op),.pairing-setup-link.svelte-16hx2op span:where(.svelte-16hx2op),.pairing-setup-address.svelte-16hx2op span:where(.svelte-16hx2op){overflow-wrap:anywhere;color:var(--rz-muted);font-size:var(--rz-font-help)}.pairing-setup-address.svelte-16hx2op input:where(.svelte-16hx2op){width:100%}.pairing-setup-complete-actions.svelte-16hx2op{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;display:grid}.pairing-setup-code.svelte-16hx2op{text-align:center;place-items:center}.pairing-setup-code.svelte-16hx2op strong:where(.svelte-16hx2op){letter-spacing:0;font-size:28px}@media (width<=760px){.pairing-setup-panel.svelte-16hx2op,.pairing-setup-options.svelte-16hx2op,.pairing-setup-complete-actions.svelte-16hx2op{grid-template-columns:1fr}}.pairing-workspace.svelte-673c1k{--pairing-main-width:680px;width:min(100%, calc(var(--rz-side-column-width) + var(--rz-page-gap) + var(--pairing-main-width)));gap:12px;margin:0 auto;display:grid}.pairing-section-heading.svelte-673c1k{justify-content:space-between;align-items:start;gap:12px;display:flex}.pairing-intro-card.svelte-673c1k{grid-template-columns:1fr}.pairing-intro-card.svelte-673c1k>div:where(.svelte-673c1k){gap:8px;display:grid}.pairing-intro-card.svelte-673c1k strong:where(.svelte-673c1k){font-size:var(--rz-font-title-section);font-weight:var(--rz-weight-title)}.pairing-intro-card.svelte-673c1k span:where(.svelte-673c1k),.pairing-section-heading.svelte-673c1k span:where(.svelte-673c1k),.pairing-disconnect-address.svelte-673c1k>span:where(.svelte-673c1k){color:#d7eefcad;font-size:var(--rz-font-help);line-height:1.45}.pairing-layout.svelte-673c1k{grid-template-columns:minmax(260px, var(--rz-side-column-width)) minmax(0, var(--pairing-main-width));gap:var(--rz-page-gap);align-items:start;min-width:0;display:grid}.pairing-side-column.svelte-673c1k,.pairing-main-column.svelte-673c1k,.pairing-device-list.svelte-673c1k,.pairing-list-section.svelte-673c1k,.pairing-disconnect-address.svelte-673c1k{gap:10px;min-width:0;display:grid}.pairing-disconnect-address.svelte-673c1k label:where(.svelte-673c1k){color:#d7eefcb8;font-size:var(--rz-font-label);font-weight:var(--rz-weight-label)}.pairing-disconnect-address.svelte-673c1k input:where(.svelte-673c1k){box-sizing:border-box;width:100%;min-height:34px}.pairing-return-link.svelte-673c1k{color:#d7eefc;min-height:34px;font-size:var(--rz-font-button);font-weight:var(--rz-weight-button);background:#06d6a01a;border:1px solid #06d6a052;border-radius:6px;place-items:center;padding:0 10px;text-decoration:none;display:grid}.pairing-cancel-button.svelte-673c1k{width:100%}.pairing-section-heading.svelte-673c1k>div:where(.svelte-673c1k){gap:4px;display:grid}.pairing-pending-section.svelte-673c1k{border-top:1px solid #7bb8d824;gap:10px;padding-top:12px;display:grid}.pairing-local-delete-warning.svelte-673c1k{color:#ffcc99e0;font-size:var(--rz-font-help);margin:0;line-height:1.45}.pairing-fallback-help.svelte-673c1k{color:#d7eefcad;font-size:var(--rz-font-help);margin:0;line-height:1.45}.pairing-section-heading.svelte-673c1k strong:where(.svelte-673c1k){font-size:var(--rz-font-title-card);font-weight:var(--rz-weight-title)}.pairing-device-row.svelte-673c1k{background:#11182066;border:1px solid #7bb8d829;border-radius:6px;grid-template-columns:minmax(0,1fr) minmax(240px,.9fr) auto;align-items:center;gap:12px;min-width:0;padding:11px 12px;display:grid}.pairing-device-row-offline.svelte-673c1k{background:#56161c61;border-color:#ff5a60db;animation:1.35s ease-in-out infinite svelte-673c1k-pairing-device-offline-pulse}@keyframes svelte-673c1k-pairing-device-offline-pulse{0%,to{border-color:#ff5a6094;box-shadow:0 0 0 1px #ff5a6014}50%{border-color:#ff5a60;box-shadow:0 0 0 1px #ff5a6057,0 0 18px #ff364052}}.pairing-device-copy.svelte-673c1k{gap:3px;min-width:0;display:grid}.pairing-device-copy.svelte-673c1k strong:where(.svelte-673c1k){text-overflow:ellipsis;font-size:var(--rz-font-title-card);font-weight:var(--rz-weight-title);overflow:hidden}.pairing-device-meta.svelte-673c1k{gap:4px;margin:0;display:grid}.pairing-device-meta.svelte-673c1k div:where(.svelte-673c1k){font-size:var(--rz-font-help);justify-content:space-between;gap:8px;display:flex}.pairing-device-meta.svelte-673c1k dt:where(.svelte-673c1k){color:#d7eefc94}.pairing-device-meta.svelte-673c1k dd:where(.svelte-673c1k){color:#e6f4ffe6;font-weight:var(--rz-weight-label);margin:0}.pairing-device-actions.svelte-673c1k{grid-template-columns:minmax(152px,176px);justify-content:end;gap:6px;display:grid}.pairing-device-actions.svelte-673c1k>button:where(.svelte-673c1k){white-space:normal;width:100%;min-height:34px;padding:6px 11px}.pairing-empty.svelte-673c1k,.pairing-unavailable.svelte-673c1k{align-content:center;min-height:96px}@media (width<=980px){.pairing-workspace.svelte-673c1k,.pairing-layout.svelte-673c1k{width:100%}.pairing-layout.svelte-673c1k{grid-template-columns:1fr}}@media (width<=680px){.pairing-section-heading.svelte-673c1k{flex-direction:column;align-items:stretch}.pairing-device-row.svelte-673c1k{grid-template-columns:1fr}.pairing-device-actions.svelte-673c1k{justify-self:end;width:min(100%,176px)}}@media (prefers-reduced-motion:reduce){.pairing-device-row-offline.svelte-673c1k{border-color:#ff5a60;animation:none;box-shadow:0 0 0 1px #ff5a6047}}.static-radar-reset-action.svelte-strrf2{border-top:1px solid #7bb8d829;justify-content:flex-start;padding-top:10px;display:flex}.static-radar-reset-dialog.svelte-strrf2{width:min(520px,100vw - 28px)}body{background:#0b1117;margin:0}.setup-shell.svelte-1bna7ay{box-sizing:border-box;color:#e8f0f6;background:linear-gradient(#0b1117,#0e161e);justify-content:center;align-items:center;min-height:100dvh;padding:clamp(14px,4vw,28px);font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;display:flex}.setup-wrap.svelte-1bna7ay{width:min(520px,100%)}.setup-topbar.svelte-1bna7ay{justify-content:flex-end;margin:0 0 8px;display:flex}.language-menu.svelte-1bna7ay{z-index:30;position:relative}.language-menu-button.svelte-1bna7ay{color:#d7eefcd1;min-width:92px;height:36px;font:inherit;background:#1118205c;border:1px solid #7bb8d83d;border-radius:8px;padding:0 12px;font-size:13px;font-weight:700}.language-menu-button.svelte-1bna7ay:after{content:"";vertical-align:middle;border-top:5px solid #d7eefcad;border-left:4px solid #0000;border-right:4px solid #0000;margin-left:8px;display:inline-block}.language-menu-list.svelte-1bna7ay{background:#141f29fa;border:1px solid #7bb8d838;border-radius:8px;gap:5px;min-width:142px;padding:7px;display:grid;position:absolute;top:calc(100% + 7px);right:0;box-shadow:0 14px 36px #00000057}.language-menu-list.svelte-1bna7ay button:where(.svelte-1bna7ay){color:#e8f0f6;width:100%;min-height:32px;font:inherit;text-align:left;background:0 0;border:1px solid #0000;border-radius:6px;padding:0 10px}.language-menu-list.svelte-1bna7ay button.active:where(.svelte-1bna7ay){color:#9ff3d9;background:#06d6a026;border-color:#06d6a06b}.setup-card.svelte-1bna7ay{box-sizing:border-box;background:#101923;border:1px solid #263849;border-radius:18px;width:100%;padding:22px;box-shadow:0 18px 50px #00000059}.complete-card.svelte-1bna7ay{gap:16px;display:grid}.eyebrow.svelte-1bna7ay{color:#19b394;margin:0 0 8px;font-size:13px;font-weight:700}.title.svelte-1bna7ay{margin:0 0 8px;font-size:25px;font-weight:800;line-height:1.2}.desc.svelte-1bna7ay{color:#91a4b5;margin:0 0 18px;font-size:14px;line-height:1.55}.notice.svelte-1bna7ay,.handoff-notice.svelte-1bna7ay{color:#b8f1e4;background:#19b39414;border:1px solid #19b39447;border-radius:12px;margin:0 0 16px;padding:12px 13px;font-size:13px;line-height:1.45}.handoff-notice.svelte-1bna7ay{color:#ffe4a3;background:#ffd16614;border-color:#ffd16652;gap:5px;display:grid}.status.svelte-1bna7ay,.info-grid.svelte-1bna7ay div:where(.svelte-1bna7ay){background:#0d151d;border:1px solid #263849;border-radius:12px;grid-template-columns:1fr auto;gap:8px 14px;margin:0 0 18px;padding:14px;display:grid}.info-grid.svelte-1bna7ay{gap:10px;display:grid}.info-grid.svelte-1bna7ay div:where(.svelte-1bna7ay){grid-template-columns:1fr;margin:0}.status.svelte-1bna7ay span:where(.svelte-1bna7ay),.info-grid.svelte-1bna7ay strong:where(.svelte-1bna7ay),label.svelte-1bna7ay,.field-label.svelte-1bna7ay{color:#91a4b5;font-size:13px}.status.svelte-1bna7ay b:where(.svelte-1bna7ay),.info-grid.svelte-1bna7ay span:where(.svelte-1bna7ay){text-align:right;overflow-wrap:anywhere;font-size:13px;font-weight:750}.info-grid.svelte-1bna7ay span:where(.svelte-1bna7ay){text-align:left;color:#e8f0f6}label.svelte-1bna7ay,.field-label.svelte-1bna7ay{margin:14px 0 7px;display:block}.networks.svelte-1bna7ay{box-sizing:border-box;gap:8px;max-height:36dvh;margin:8px 0;padding-right:2px;display:grid;overflow:hidden auto}.net.svelte-1bna7ay{box-sizing:border-box;color:#e8f0f6;text-align:left;width:100%;min-width:0;max-width:100%;min-height:50px;font:inherit;background:#152330;border:1px solid #263849;border-radius:12px;justify-content:space-between;align-items:center;gap:10px;padding:12px;display:flex}.net.svelte-1bna7ay span:where(.svelte-1bna7ay){text-overflow:ellipsis;white-space:nowrap;min-width:0;display:block;overflow:hidden}.net.svelte-1bna7ay small:where(.svelte-1bna7ay){color:#91a4b5;white-space:nowrap;flex:none}.net.selected.svelte-1bna7ay{border-color:#19b394;box-shadow:0 0 0 1px #19b394}.net.unsupported.svelte-1bna7ay{opacity:.62}.net-more.svelte-1bna7ay{color:#19b394;width:100%;max-width:100%;height:42px;font:inherit;background:0 0;border:1px dashed #263849;border-radius:12px;margin:0 0 12px;font-weight:750}input.svelte-1bna7ay{box-sizing:border-box;color:#e8f0f6;background:#0d151d;border:1px solid #263849;border-radius:12px;width:100%;height:46px;padding:0 13px;font-size:16px}input.svelte-1bna7ay:read-only{color:#b8f1e4}input.svelte-1bna7ay:focus{border-color:#19b394;outline:2px solid #19b39459}.ssid-row.svelte-1bna7ay{grid-template-columns:minmax(0,1fr) auto;gap:8px;display:grid}.icon-button.svelte-1bna7ay{color:#e8f0f6;background:#1a2a38;border:1px solid #263849;border-radius:12px;height:46px;padding:0 12px;font-weight:750}.actions.svelte-1bna7ay,.modal-actions.svelte-1bna7ay{gap:10px;margin-top:16px;display:flex}.btn.svelte-1bna7ay{color:#07110f;background:#19b394;border:0;border-radius:12px;flex:1;height:46px;font-size:15px;font-weight:750}.btn.secondary.svelte-1bna7ay{color:#e8f0f6;background:#1a2a38;border:1px solid #263849;flex:none}.btn.svelte-1bna7ay:disabled{opacity:.55}.message.svelte-1bna7ay{color:#91a4b5;min-height:22px;margin-top:13px;font-size:14px;line-height:1.45}.message.error.svelte-1bna7ay{color:#ff9b9b}.message.ok.svelte-1bna7ay{color:#7de2c8}.status-pill.svelte-1bna7ay{color:#7de2c8;background:#19b3941f;border-radius:999px;width:max-content;padding:6px 10px;font-size:12px;font-weight:800}.modal-backdrop.svelte-1bna7ay{background:#03080db8;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.modal.svelte-1bna7ay{color:#e8f0f6;background:#101923;border:1px solid #263849;border-radius:18px;gap:12px;width:min(460px,100%);padding:20px;display:grid;box-shadow:0 24px 70px #00000085}.modal.svelte-1bna7ay h2:where(.svelte-1bna7ay){margin:0;font-size:21px}.modal.svelte-1bna7ay p:where(.svelte-1bna7ay){color:#91a4b5;margin:0;font-size:14px;line-height:1.55}.key-box.svelte-1bna7ay{background:#0d151d;border:1px solid #263849;border-radius:12px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:10px;display:grid}.key-box.svelte-1bna7ay code:where(.svelte-1bna7ay){overflow-wrap:anywhere;color:#b8f1e4;font-size:13px}.key-box.svelte-1bna7ay button:where(.svelte-1bna7ay){color:#07110f;background:#19b394;border:0;border-radius:10px;height:36px;padding:0 12px;font-weight:750}.warning.svelte-1bna7ay{color:#ff9b9b;font-size:13px;line-height:1.45}.spinner.svelte-1bna7ay{border:3px solid #91a4b540;border-top-color:#19b394;border-radius:50%;justify-self:center;width:36px;height:36px;margin:8px;animation:.85s linear infinite svelte-1bna7ay-spin}@keyframes svelte-1bna7ay-spin{to{transform:rotate(360deg)}}@media (width<=640px){.setup-shell.svelte-1bna7ay{padding:max(12px, env(safe-area-inset-top)) max(12px, env(safe-area-inset-right)) max(16px, env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-left));align-items:flex-start}.setup-card.svelte-1bna7ay{border-radius:14px;padding:16px}.setup-wrap.svelte-1bna7ay{width:100%}.title.svelte-1bna7ay{font-size:22px}.status.svelte-1bna7ay b:where(.svelte-1bna7ay){text-overflow:ellipsis;white-space:nowrap;max-width:170px;overflow:hidden}.networks.svelte-1bna7ay{max-height:34dvh}.net.svelte-1bna7ay{min-height:54px;padding:13px 12px}.actions.svelte-1bna7ay{flex-direction:column-reverse}.btn.svelte-1bna7ay,.btn.secondary.svelte-1bna7ay{flex:none;width:100%;height:48px}}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:#d7eefc;--rz-zone-base-fill:#7bb8d814;--rz-zone-base-selected-fill:#7bb8d829;--rz-zone-detection-stroke:#ffd166f0;--rz-zone-filter-fill:#ff6b7a1a;--rz-zone-filter-stroke:#ff6b7ae6;--rz-zone-filter-strong-fill:#ff6b7a29;--rz-zone-filter-strong-stroke:#ff6b7af2;--rz-zone-reduced-fill:#7bb8d81f;--rz-zone-reduced-stroke:#7bb8d8e6;--rz-zone-reduced-strong-fill:#7bb8d829;--rz-zone-reduced-strong-stroke:#7bb8d8f2;--rz-zone-disabled-fill:#a0aeb80f;--rz-zone-disabled-stroke:#a0aeb89e;--rz-zone-exit-fill:#4ade801a;--rz-zone-exit-stroke:#4ade80db;--rz-zone-placeholder-fill:#7bb8d80d;--rz-zone-placeholder-stroke:#d7eefc7a;--rz-zone-label:#d7eefce0;--rz-zone-label-calibration:#ffd7dd;--rz-edit-edge-hit:#d7eefc03;--rz-edit-edge-hit-hover:#d7eefc8c;--rz-edit-handle-fill:#d7eefc;--rz-edit-handle-stroke:#1f2a33;--rz-edit-handle-selected-fill:#fff;--rz-edit-handle-selected-stroke:#58acd6;--rz-edit-stroke-width:2;--rz-edit-selected-stroke-width:3;--rz-font-title-app:20px;--rz-font-title-page:18px;--rz-font-title-section:16px;--rz-font-title-card:14px;--rz-font-button:13px;--rz-font-help:12px;--rz-font-label:11px;--rz-font-map-debug:12px;--rz-font-caption:12px;--rz-font-micro:11px;--rz-weight-title:800;--rz-weight-button:800;--rz-weight-label:700;--rz-page-gap:18px;--rz-side-column-width:320px;--rz-middle-column-width:320px;--rz-stage-max-width:980px;--rz-radar-stage-max-width:900px;background:#111820;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:#111820;min-width:320px;margin:0}button{color:#d7eefc;min-height:34px;font:inherit;font-size:var(--rz-font-button);font-weight:var(--rz-weight-button);cursor:pointer;background:#7bb8d81a;border:1px solid #7bb8d847;border-radius:6px}button:disabled{cursor:not-allowed;opacity:.46}.app-shell{grid-template-rows:auto auto 1fr;min-height:100vh;display:grid}.top-bar{background:#17222c;border-bottom:1px solid #7bb8d829;justify-content:space-between;align-items:center;gap:16px;padding:14px 18px;display:flex}.top-bar h1,.top-bar p{margin:0}.top-bar h1{font-size:var(--rz-font-title-app);font-weight:var(--rz-weight-title)}.top-bar p{color:#d7eefcad;font-size:var(--rz-font-help);margin-top:3px}.top-status-group{flex:none;align-items:center;gap:8px;display:flex}.demo-pill{color:#7de2c8;font-size:var(--rz-font-help);font-weight:var(--rz-weight-button);background:#19b3941f;border:1px solid #19b39457;border-radius:999px;padding:7px 10px}.demo-reset-button{color:#ffb3b3;min-height:30px;font-size:var(--rz-font-help);font-weight:var(--rz-weight-button);background:#e457571f;border:1px solid #e4575757;border-radius:999px;padding:6px 10px}.status-pill{text-align:center;min-width:82px;font-size:var(--rz-font-caption);font-weight:var(--rz-weight-label);border-radius:999px;flex:none;padding:7px 10px}.status-pill[data-tone=ok]{color:#9ff3d9;background:#06d6a026}.status-pill[data-tone=warn]{color:#ffe4a3;background:#ffd16626}.status-pill[data-tone=error]{color:#ffd7dd;background:#ff6b7a29}.fusion-status-pill{white-space:nowrap;min-width:0}@media (width<=560px){.top-bar{flex-wrap:wrap;align-items:flex-start}.top-status-group{margin-left:auto}}.toast{z-index:20;color:#ffd7dd;max-width:min(92vw,420px);font-size:var(--rz-font-button);font-weight:var(--rz-weight-label);opacity:0;pointer-events:none;background:#4e141ef5;border:1px solid #ff6b7ab3;border-radius:8px;padding:10px 14px;transition:opacity .16s,transform .16s;position:fixed;top:72px;left:50%;transform:translate(-50%,-8px);box-shadow:0 12px 34px #00000057}.toast[data-visible=true]{opacity:1;transform:translate(-50%)}.ha-setup-gate-backdrop{z-index:80;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#060a0fc2;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.ha-setup-gate-dialog{background:#17222c;border:1px solid #ffd16657;border-radius:8px;gap:14px;width:min(460px,100%);padding:22px;display:grid;box-shadow:0 24px 70px #00000080}.ha-setup-gate-dialog div{gap:5px;display:grid}.ha-setup-gate-dialog span{color:#ffe4a3;font-size:var(--rz-font-help);font-weight:var(--rz-weight-button)}.ha-setup-gate-dialog strong{color:#f6fbff;font-size:20px;line-height:1.2}.ha-setup-gate-dialog p{color:#d7eefcc2;margin:0;font-size:13px;line-height:1.55}.ha-setup-gate-dialog .ha-setup-gate-help{color:#ffe4a3d1}.ha-setup-gate-dialog a{color:#7de2c8;font-weight:var(--rz-weight-button)}.ha-setup-gate-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.ha-setup-gate-dialog button{color:#07110f;background:#19b394;border-color:#19b39475;min-height:42px;margin-top:2px}.app-tabs{background:#141f29;border-bottom:1px solid #7bb8d824;justify-content:space-between;align-items:center;gap:8px;padding:10px 18px;display:flex}.app-tab-list{flex-wrap:wrap;gap:8px;min-width:0;display:flex}.app-tabs button{color:#d7eefcb8;min-height:34px;font-size:var(--rz-font-button);font-weight:var(--rz-weight-button);background:#7bb8d812;border-color:#7bb8d833;padding:0 14px}.app-tabs button.active{color:#d7eefc;background:#7bb8d833;border-color:#7bb8d8b8}.language-menu{flex:none;position:relative}.language-menu-button{color:#d7eefcd1;background:#1118205c;border-color:#7bb8d83d;min-width:92px}.language-menu-button:after{content:"";vertical-align:middle;border-top:5px solid #d7eefcad;border-left:4px solid #0000;border-right:4px solid #0000;margin-left:8px;display:inline-block}.language-menu-list{z-index:30;background:#141f29fa;border:1px solid #7bb8d838;border-radius:8px;gap:5px;min-width:142px;padding:7px;display:grid;position:absolute;top:calc(100% + 7px);right:0;box-shadow:0 14px 36px #00000057}.language-menu-list button{text-align:left;justify-content:start;width:100%;min-height:32px;padding:0 10px}.language-menu-list button.active{color:#9ff3d9;background:#06d6a026;border-color:#06d6a06b}.tab-page{background:#111820;min-height:0;padding:18px}.tab-placeholder-panel{background:#17222c;border:1px solid #7bb8d82e;border-radius:8px;gap:8px;max-width:560px;padding:18px;display:grid}.tab-placeholder-panel strong{font-size:var(--rz-font-title-section);font-weight:var(--rz-weight-title)}.tab-placeholder-panel span{color:#d7eefcad;font-size:var(--rz-font-help)}.floorplan-panel{grid-template-columns:minmax(280px, 360px) minmax(0, var(--rz-stage-max-width));justify-content:center;gap:var(--rz-page-gap);width:min(100%, calc(360px + var(--rz-page-gap) + var(--rz-stage-max-width) + 36px));background:0 0;border:3px solid #7bb8d833;border-radius:8px;align-items:start;max-width:none;margin:0 auto;padding:18px;display:grid}.floorplan-panel.rooms-step{grid-template-columns:minmax(260px, 330px) minmax(220px, 300px) minmax(0, var(--rz-stage-max-width));width:min(100%, calc(330px + 300px + var(--rz-page-gap) * 2 + var(--rz-stage-max-width) + 36px))}.floorplan-stage{background:0 0;border:0;gap:10px;min-width:0;padding:0;display:grid;position:relative}.floorplan-stage img{object-fit:contain;background:#111820;border:1px solid #7bb8d838;border-radius:8px;width:100%;max-height:82vh;display:block}.floorplan-image-layer{touch-action:none;background:#111820;border:1px solid #7bb8d838;border-radius:8px;max-width:100%;margin:0 auto;position:relative;overflow:hidden}.floorplan-image-layer.manual{background:#f4f6f3}.floorplan-image-layer.panning{cursor:grabbing}.floorplan-base-svg{z-index:1;transform-origin:0 0;will-change:transform;width:100%;height:100%;display:block;position:relative}.floorplan-image-frame{border-radius:8px;max-width:100%;max-height:min(72vh,760px);display:inline-grid;position:relative;overflow:hidden}.floorplan-image-frame .floorplan-base-svg{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.floorplan-image-layer img{z-index:1;transform-origin:0 0;will-change:transform;position:relative}.floorplan-map-toolbar,.floorplan-zoom-controls{z-index:7;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);pointer-events:auto;background:#111820c7;border:1px solid #7bb8d83d;border-radius:7px;gap:6px;padding:6px;display:flex;position:absolute}.floorplan-map-toolbar{top:10px;left:10px}.editor-toolbar-label{color:#d7eefcc2;min-width:0;max-width:180px;font-size:var(--rz-font-help);font-weight:var(--rz-weight-label);text-overflow:ellipsis;white-space:nowrap;align-self:center;overflow:hidden}.floorplan-map-tool-panel{z-index:8;color:#d7eefc;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);pointer-events:auto;background:#111820d6;border:1px solid #06d6a057;border-radius:7px;gap:8px;width:min(300px,100% - 20px);padding:10px;display:grid;position:absolute;top:10px;right:10px}.floorplan-map-tool-panel strong{font-size:var(--rz-font-title-card);font-weight:var(--rz-weight-title)}.floorplan-map-tool-panel span{color:#d7eefcc2;font-size:var(--rz-font-help);line-height:1.45}.floorplan-map-tool-panel div{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.floorplan-map-tool-panel button{color:#e2fff8eb;min-height:32px;font-size:var(--rz-font-button);font-weight:var(--rz-weight-button);background:#06d6a024;border:1px solid #06d6a057;border-radius:6px;padding:0 10px}.floorplan-map-tool-panel button:disabled{cursor:not-allowed;opacity:.46}.floorplan-zoom-controls{bottom:10px;right:10px}.floorplan-map-toolbar button,.floorplan-zoom-controls button{color:#d7eefc;min-width:34px;min-height:30px;font-size:var(--rz-font-button);font-weight:var(--rz-weight-button);background:#7bb8d81a;border:1px solid #7bb8d838;border-radius:6px;padding:0 9px}.floorplan-map-toolbar button:hover:not(:disabled),.floorplan-zoom-controls button:hover:not(:disabled){background:#7bb8d82e;border-color:#7bb8d88c}.floorplan-map-toolbar button[data-active=true]{color:#e2fff6f5;background:#06d6a038;border-color:#06d6a080}.floorplan-candidate-layer{z-index:2;pointer-events:none;transform-origin:0 0;will-change:transform;width:100%;height:100%;position:absolute;inset:0}.floorplan-manual-grid,.floorplan-manual-grid line{pointer-events:none}.floorplan-manual-grid-minor{stroke:#e5e9e6}.floorplan-manual-grid-snap{stroke:#d2dad5}.floorplan-manual-grid-major{stroke:#aebcb4}.floorplan-automation-area-layer{z-index:4;pointer-events:none;transform-origin:0 0;will-change:transform;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.floorplan-automation-area{fill:#06d6a024;stroke:#06d6a0e0;stroke-width:var(--rz-edit-stroke-width);vector-effect:non-scaling-stroke}.floorplan-automation-area[data-editable=true]{cursor:move;pointer-events:auto}.floorplan-automation-area-group[data-selected=true] .floorplan-automation-area{fill:#06d6a038;stroke-width:var(--rz-edit-selected-stroke-width)}.floorplan-automation-area-group[data-enabled=false] .floorplan-automation-area{fill:#7bb8d814;stroke:#d7eefc7a;stroke-dasharray:5 5}.floorplan-automation-area-edge{cursor:copy;stroke:var(--rz-edit-edge-hit);stroke-linecap:round;stroke-width:14px;pointer-events:stroke;vector-effect:non-scaling-stroke}.floorplan-automation-area-point{cursor:grab;fill:var(--rz-edit-handle-fill);stroke:var(--rz-edit-handle-stroke);stroke-width:var(--rz-edit-stroke-width);pointer-events:auto;vector-effect:non-scaling-stroke}.floorplan-automation-area-point:active{cursor:grabbing}.floorplan-automation-area-point[data-active=true]{fill:var(--rz-edit-handle-selected-fill);stroke:var(--rz-edit-handle-selected-stroke);stroke-width:var(--rz-edit-selected-stroke-width)}.floorplan-radar-placement-layer{z-index:5;pointer-events:none;transform-origin:0 0;will-change:transform;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.floorplan-radar-placement{pointer-events:none}.floorplan-physical-wall-layer{z-index:2;pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.floorplan-physical-wall-layer line{stroke:#000;stroke-width:3px;stroke-linecap:square;vector-effect:non-scaling-stroke}.floorplan-radar-coverage{cursor:move;fill:#0000;stroke:#06d6a0f2;stroke-width:2px;stroke-linejoin:round;pointer-events:auto;vector-effect:non-scaling-stroke}.floorplan-radar-remote-band{fill:#a0aeb838;stroke:none;pointer-events:none}.floorplan-radar-wall-occlusion-layer{opacity:.6;pointer-events:none}.floorplan-radar-wall-occlusion{fill:#3c44507a;stroke:none;pointer-events:none}.floorplan-radar-occlusion-edge{cursor:pointer;fill:none;pointer-events:stroke;stroke-linecap:round;stroke-width:7px;vector-effect:non-scaling-stroke}.floorplan-radar-occlusion-edge.active{stroke:#ffd166db}.floorplan-radar-occlusion-edge.ignored{stroke:#ff6b7ae6;stroke-dasharray:5 5}.floorplan-radar-arc,.floorplan-radar-angle{fill:none;stroke:#e2fff861;stroke-width:1.25px;pointer-events:none;vector-effect:non-scaling-stroke}.floorplan-radar-rotation-line{stroke:#06d6a0e0;stroke-width:2px;stroke-dasharray:5 5;pointer-events:none;vector-effect:non-scaling-stroke}.floorplan-radar-zone{fill:var(--rz-zone-base-fill);stroke:var(--rz-zone-detection-stroke);stroke-width:var(--rz-edit-stroke-width);pointer-events:none;vector-effect:non-scaling-stroke}.floorplan-radar-zone[data-editable=true]{cursor:move;pointer-events:auto}.floorplan-radar-zone.selected{fill:var(--rz-zone-base-selected-fill);stroke-width:var(--rz-edit-selected-stroke-width)}.floorplan-radar-zone.filter,.floorplan-radar-zone.calibration{fill:var(--rz-zone-filter-fill);stroke:var(--rz-zone-filter-stroke)}.floorplan-radar-zone.reduced{fill:var(--rz-zone-reduced-fill);stroke:var(--rz-zone-reduced-stroke)}.floorplan-radar-zone.disabled{fill:var(--rz-zone-disabled-fill);stroke:var(--rz-zone-disabled-stroke)}.floorplan-radar-zone.exit{fill:var(--rz-zone-exit-fill);stroke:var(--rz-zone-exit-stroke)}.floorplan-radar-zone.placeholder{fill:var(--rz-zone-placeholder-fill);stroke:var(--rz-zone-placeholder-stroke);stroke-dasharray:5 5}.floorplan-radar-exit-line-display,.floorplan-radar-exit-line-edit{stroke:var(--rz-zone-exit-stroke);stroke-linecap:round;pointer-events:none;vector-effect:non-scaling-stroke}.floorplan-radar-exit-line-display{stroke-width:8px;filter:drop-shadow(0 0 8px #4ade8040)}.floorplan-radar-exit-line-display.selected,.floorplan-radar-exit-line-edit{stroke-width:10px}.floorplan-radar-exit-line-hit{cursor:move;stroke:#0000;stroke-linecap:round;stroke-width:24px;vector-effect:non-scaling-stroke}.floorplan-radar-exit-line-hit[data-editable=true]{pointer-events:stroke}.floorplan-radar-exit-line-handle{fill:#dcfce7;stroke:var(--rz-zone-exit-stroke)}.zone-handle,.floorplan-radar-zone-point,.floorplan-candidate-vertex.manual circle{cursor:grab;fill:var(--rz-edit-handle-fill);stroke:var(--rz-edit-handle-stroke);stroke-width:var(--rz-edit-stroke-width);vector-effect:non-scaling-stroke}.zone-handle,.floorplan-candidate-vertex.manual circle,.floorplan-radar-zone-point{pointer-events:auto}.zone-handle:active,.floorplan-radar-zone-point:active,.floorplan-candidate-vertex.manual circle:active{cursor:grabbing}.zone-handle.selected,.floorplan-radar-zone-point[data-active=true],.floorplan-candidate-vertex.manual circle[data-active=true]{fill:var(--rz-edit-handle-selected-fill);stroke:var(--rz-edit-handle-selected-stroke);stroke-width:var(--rz-edit-selected-stroke-width)}.zone-edge-hit,.floorplan-radar-zone-edge,.floorplan-candidate-edit-edge{cursor:copy;stroke:var(--rz-edit-edge-hit);stroke-linecap:round;stroke-width:14px;vector-effect:non-scaling-stroke}.floorplan-radar-zone-edge{pointer-events:auto}.zone-edge-hit,.floorplan-candidate-edit-edge{pointer-events:stroke}.floorplan-radar-sensor{cursor:move;fill:#ecfeffe6;stroke:#06d6a0f2;stroke-width:2px;pointer-events:auto;vector-effect:non-scaling-stroke}.floorplan-radar-origin{cursor:move;fill:#14b8a6f5;stroke:#042f2ef5;stroke-width:2px;pointer-events:auto;vector-effect:non-scaling-stroke}.floorplan-radar-target{pointer-events:none;transform-origin:0 0;will-change:transform;transition:transform .3s cubic-bezier(.2,.7,.2,1)}.floorplan-radar-target circle{fill:var(--target-color);stroke:#111820eb;stroke-width:2px;vector-effect:non-scaling-stroke}.floorplan-radar-target .target-fusion-ring{fill:none;stroke:#48c7fff5;stroke-width:2.5px}.floorplan-peer-radar{pointer-events:none}.floorplan-peer-radar polygon{fill:#111820b8;stroke:#48c7fff5;stroke-width:2px;vector-effect:non-scaling-stroke}.floorplan-peer-radar line{stroke:#48c7ffd1;stroke-linecap:round;stroke-width:2px;vector-effect:non-scaling-stroke}.floorplan-radar-target text{fill:#f8fbff;font-size:var(--rz-font-label);font-weight:var(--rz-weight-title);paint-order:stroke;stroke:#111820f2;stroke-width:4px;vector-effect:non-scaling-stroke}.floorplan-radar-target.static-uncertain circle{fill:#94a3aee6;stroke:#e2e8f0db}.floorplan-radar-target.static-uncertain text{fill:#e2e8f0eb}.floorplan-radar-rotate-handle{cursor:grab;fill:#06d6a0f5;stroke:#111820eb;stroke-width:2px;pointer-events:auto;vector-effect:non-scaling-stroke}.floorplan-radar-placement-layer[data-readonly=true] .floorplan-radar-coverage,.floorplan-radar-placement-layer[data-readonly=true] .floorplan-radar-sensor,.floorplan-radar-placement-layer[data-readonly=true] .floorplan-radar-origin,.floorplan-radar-placement-layer[data-readonly=true] .floorplan-radar-rotate-handle{cursor:default;pointer-events:none}.floorplan-radar-placement-label{fill:#d7eefc;font-size:var(--rz-font-map-debug);font-weight:var(--rz-weight-button);paint-order:stroke;pointer-events:none;stroke:#111820f2;stroke-width:4px;vector-effect:non-scaling-stroke}.floorplan-furniture-layer{z-index:6;pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.floorplan-furniture-object{cursor:default;pointer-events:none}.floorplan-furniture-layer[data-editable=true] .floorplan-furniture-object{cursor:move;pointer-events:auto}.floorplan-furniture-hitbox{fill:#ffd1660a;stroke:#0000;stroke-width:8px;vector-effect:non-scaling-stroke}.floorplan-furniture-object image{opacity:.88;pointer-events:none}.floorplan-furniture-selection{fill:#0000;stroke:#ffd166f5;stroke-dasharray:5 4;stroke-width:2px;pointer-events:none;vector-effect:non-scaling-stroke}.floorplan-furniture-resize-handle{cursor:nwse-resize;fill:#ffd166f5;stroke:#111820eb;stroke-width:2px;pointer-events:auto;vector-effect:non-scaling-stroke}.floorplan-furniture-resize-handle.ne,.floorplan-furniture-resize-handle.sw{cursor:nesw-resize}.floorplan-furniture-rotate-guide{stroke:#06d6a0e0;stroke-dasharray:4 4;stroke-width:2px;pointer-events:none;vector-effect:non-scaling-stroke}.floorplan-furniture-rotate-handle{cursor:grab;fill:#06d6a0f5;stroke:#111820eb;stroke-width:2px;pointer-events:auto;vector-effect:non-scaling-stroke}.floorplan-furniture-rotate-handle:active{cursor:grabbing}.floorplan-candidate-group{cursor:pointer;pointer-events:auto}.floorplan-candidate-group.outer-locked{cursor:crosshair;pointer-events:none}.floorplan-debug-candidate-group{pointer-events:none}.floorplan-debug-candidate-shape{fill:#ff6b7a14;stroke:#ff6b7ad1;stroke-width:2px;stroke-dasharray:3 5;vector-effect:non-scaling-stroke}.floorplan-candidate-shape{fill:#ffd1661a;stroke:#ffd166e6;stroke-width:2px;stroke-dasharray:7 5;vector-effect:non-scaling-stroke}.floorplan-room-size-bounds{pointer-events:none}.floorplan-room-size-bounds rect{fill:#ff4d6d0f;stroke:#ff4d6dfa;stroke-width:3px;stroke-dasharray:6 4;vector-effect:non-scaling-stroke}.floorplan-room-size-bounds.top rect{filter:drop-shadow(0 0 3px #111820cc)}.floorplan-room-size-bounds text{fill:#ff4d6d;font-size:var(--rz-font-map-debug);font-weight:var(--rz-weight-title);paint-order:stroke;pointer-events:none;stroke:#111820eb;stroke-width:4px;vector-effect:non-scaling-stroke}.floorplan-wall-mask-cells{pointer-events:none}.floorplan-wall-mask-cells rect{fill:#ff4d6d47;stroke:#ff4d6d73;stroke-width:.5px;vector-effect:non-scaling-stroke}.floorplan-wall-mask-cells rect.source-boundary{fill:#94a3b838;stroke:#94a3b86b}.floorplan-wall-mask-cells rect.source-threshold{fill:#ff4d6d47;stroke:#ff4d6d80}.floorplan-wall-mask-cells rect.source-attached-thin{fill:#48c7ff42;stroke:#48c7ff80}.floorplan-wall-mask-cells rect.source-parallel-thin{fill:#ffd16652;stroke:#ffd16699}.floorplan-wall-mask-cells rect.source-gap-closed{fill:#a855f747;stroke:#a855f78f}.floorplan-candidate-group.selected .floorplan-candidate-shape{fill:#06d6a024;stroke:#06d6a0f2;stroke-dasharray:none}.floorplan-candidate-group.merge-selected .floorplan-candidate-shape{fill:#48c7ff29;stroke:#48c7fff2;stroke-dasharray:4 3}.floorplan-candidate-group.confirmed .floorplan-candidate-shape{fill:#06d6a01c;stroke:#06d6a0d1}.floorplan-candidate-layer.focus-selected-candidate .floorplan-candidate-group:not(.selected) .floorplan-candidate-shape{opacity:.34}.floorplan-candidate-layer.focus-selected-candidate .floorplan-candidate-group.selected .floorplan-candidate-shape{fill:#06d6a033;stroke:#06d6a0fa;stroke-width:3px}.floorplan-candidate-edit-edge{pointer-events:stroke}.floorplan-candidate-edit-edge:hover{stroke:var(--rz-edit-edge-hit-hover)}.floorplan-candidate-vertex{pointer-events:auto}.floorplan-candidate-vertex circle{fill:var(--rz-edit-handle-fill);stroke:var(--rz-edit-handle-stroke);stroke-width:var(--rz-edit-stroke-width)}.floorplan-candidate-vertex.manual circle{cursor:grab}.floorplan-candidate-vertex.manual circle[data-active=true]{fill:var(--rz-edit-handle-selected-fill);stroke:var(--rz-edit-handle-selected-stroke);stroke-width:var(--rz-edit-selected-stroke-width)}.floorplan-candidate-vertex.manual circle:active{cursor:grabbing}.floorplan-candidate-vertex.locked circle{cursor:not-allowed;fill:var(--rz-zone-detection-stroke)}.floorplan-candidate-vertex text{fill:#fff;font-size:var(--rz-font-label);font-weight:var(--rz-weight-button);pointer-events:none;paint-order:stroke;stroke:#111820e6;stroke-width:3px}.floorplan-candidate-label,.floorplan-candidate-score,.floorplan-candidate-size,.floorplan-debug-candidate-label,.floorplan-debug-candidate-score{paint-order:stroke;stroke:#111820e0;stroke-width:4px;fill:#ffe4a3;font-size:var(--rz-font-map-debug);font-weight:var(--rz-weight-button);pointer-events:none;vector-effect:non-scaling-stroke}.floorplan-candidate-score,.floorplan-candidate-size,.floorplan-debug-candidate-score{fill:#d7eefcdb;font-size:var(--rz-font-label)}.floorplan-candidate-size{fill:#06d6a0eb}.floorplan-debug-candidate-label{fill:#ffd7dd}.floorplan-debug-candidate-score{fill:#ffd7ddd1}.floorplan-manual-draft-hit,.floorplan-split-draft-hit{fill:#0000;pointer-events:all}.floorplan-split-draft-hit{cursor:crosshair}.floorplan-split-draft-line{fill:none;stroke:#ffd166f5;stroke-width:4px;stroke-dasharray:8 6;pointer-events:none;vector-effect:non-scaling-stroke}.floorplan-split-draft-point circle{cursor:grab;fill:#ffd166;stroke:#111820e6;stroke-width:2px;pointer-events:auto;vector-effect:non-scaling-stroke}.floorplan-split-draft-point circle:active{cursor:grabbing}.floorplan-split-draft-point text{fill:#fff;font-size:var(--rz-font-label);font-weight:var(--rz-weight-button);paint-order:stroke;stroke:#111820eb;stroke-width:4px;pointer-events:none;vector-effect:non-scaling-stroke}.floorplan-split-draft-hover{pointer-events:none}.floorplan-split-draft-hover circle{fill:#ffd166f2;stroke:#fffffff5;stroke-width:2px;vector-effect:non-scaling-stroke}.floorplan-manual-draft-fill{fill:#48c7ff1a;stroke:#48c7ffe6;stroke-width:2px;stroke-dasharray:6 5;pointer-events:none;vector-effect:non-scaling-stroke}.floorplan-manual-outline{fill:none;stroke:#000;stroke-width:5px;pointer-events:none;vector-effect:non-scaling-stroke}.floorplan-manual-room-wall{fill:none;stroke:#000;stroke-width:3px;pointer-events:none;vector-effect:non-scaling-stroke}.floorplan-manual-draft-line{fill:none;stroke:#48c7fff2;stroke-width:2.5px;pointer-events:none;vector-effect:non-scaling-stroke}.floorplan-manual-draft-point circle{cursor:pointer;fill:#48c7ff;stroke:#111820db;stroke-width:2px;pointer-events:auto;vector-effect:non-scaling-stroke}.floorplan-manual-draft-point text{fill:#fff;font-size:var(--rz-font-label);font-weight:var(--rz-weight-button);paint-order:stroke;stroke:#111820eb;stroke-width:4px;pointer-events:none;vector-effect:non-scaling-stroke}.floorplan-metric-edge-label{fill:#f5fbf7;font-size:13px;font-weight:var(--rz-weight-button);paint-order:stroke;stroke:#14221bf0;stroke-width:4px;pointer-events:none;vector-effect:non-scaling-stroke}.floorplan-candidate-vertex circle.floorplan-vertex-hit,.floorplan-manual-draft-point circle.floorplan-vertex-hit{fill:#0000;stroke:#0000;stroke-width:0;pointer-events:auto}.floorplan-candidate-vertex circle.floorplan-vertex-marker,.floorplan-manual-draft-point circle.floorplan-vertex-marker{pointer-events:none}.floorplan-snap-edge,.floorplan-snap-wall{cursor:pointer;pointer-events:auto;stroke-linecap:round;vector-effect:non-scaling-stroke}.floorplan-snap-edge{stroke:#48c7ffe0;stroke-width:7px;stroke-dasharray:8 6}.floorplan-snap-edge.selected{stroke:#06d6a0fa;stroke-width:9px;stroke-dasharray:none}.floorplan-snap-wall{stroke:#ff7a59e6;stroke-width:5px}.floorplan-ocr-item{pointer-events:none}.floorplan-ocr-item rect{fill:#48c7ff14;stroke:#48c7fff2;stroke-width:2px;stroke-dasharray:5 4;vector-effect:non-scaling-stroke}.floorplan-ocr-item.room-label rect{fill:#06d6a01a;stroke:#06d6a0f2}.floorplan-ocr-item.dimension rect{fill:#ffd1661a;stroke:#ffd166f2}.floorplan-ocr-item text{fill:#d7eefc;font-size:var(--rz-font-label);font-weight:var(--rz-weight-button);paint-order:stroke;pointer-events:none;stroke:#111820f2;stroke-width:4px;vector-effect:non-scaling-stroke}.floorplan-ocr-divider{pointer-events:none}.floorplan-ocr-divider rect{fill:#8b5cf614;stroke:#8b5cf6c7;stroke-width:2px;stroke-dasharray:8 5;vector-effect:non-scaling-stroke}.floorplan-ocr-divider.missing rect{fill:#ef44440f;stroke:#ef4444b8}.floorplan-ocr-divider line{stroke:#a855f7fa;stroke-width:3px;stroke-linecap:round;vector-effect:non-scaling-stroke}.floorplan-ocr-divider text{fill:#f5f3ff;font-size:var(--rz-font-label);font-weight:var(--rz-weight-button);paint-order:stroke;stroke:#312053f5;stroke-width:4px;vector-effect:non-scaling-stroke}.floorplan-controls{background:0 0;border:0;gap:12px;min-width:0;padding:0;transition:opacity .18s,transform .22s;display:grid}.floorplan-panel.is-transitioning>*{opacity:0;transition:opacity .18s,transform .22s;transform:translate(-28px)}.floorplan-panel.is-transitioning.transition-back>*{transform:translate(28px)}.floorplan-middle-column,.floorplan-workspace-column{align-content:start;gap:12px;width:100%;min-width:0;display:grid}.floorplan-middle-column{animation:.24s both floorplan-step-slide-in}.floorplan-candidates{background:0 0;border:0;gap:12px;min-width:0;padding:0;display:grid}.floorplan-debug-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;min-width:0;display:grid}@keyframes floorplan-step-slide-in{0%{opacity:0;transform:translate(34px)}to{opacity:1;transform:translate(0)}}.floorplan-workflow-card>div:first-child{gap:8px;display:grid}.floorplan-workflow-card>div:first-child span{color:#d7eefcad;font-size:var(--rz-font-help);font-weight:400;line-height:1.45}.floorplan-controls strong{font-size:var(--rz-font-title-section);font-weight:var(--rz-weight-title)}.floorplan-controls span,.floorplan-candidates span,.floorplan-empty-note span,.floorplan-file-info span,.floorplan-status span{color:#d7eefcad;font-size:var(--rz-font-help);line-height:1.5}.floorplan-upload-button{color:#d7eefc;min-height:38px;font-size:var(--rz-font-button);font-weight:var(--rz-weight-button);cursor:pointer;background:#7bb8d814;border:1px dashed #7bb8d85c;border-radius:6px;place-items:center;display:grid}.floorplan-source-actions{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;display:grid}.floorplan-source-actions .floorplan-upload-button,.floorplan-source-actions button{width:100%;min-height:42px}.floorplan-source-status,.floorplan-manual-guide{gap:6px;min-width:0;display:grid}.floorplan-source-status span,.floorplan-source-help,.floorplan-manual-guide span{color:#d7eefcad;font-size:var(--rz-font-help);line-height:1.5}.floorplan-source-status[data-tone=error] strong{color:#ffb4bd}.floorplan-source-status[data-tone=ok] strong{color:#7de8c5}.floorplan-source-help{display:block}.floorplan-manual-guide{border-top:1px solid #7bb8d829;padding-top:10px}.floorplan-manual-guide>button,.floorplan-manual-guide-actions button{min-height:38px}.floorplan-manual-guide-actions{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;display:grid}.floorplan-outline-edit-edge{stroke:#06d6a0e6}.floorplan-outline-edit-vertex circle{fill:#06d6a0}.floorplan-clear-button{min-height:34px;font-size:var(--rz-font-button);font-weight:var(--rz-weight-button);padding:0 10px}.floorplan-fixed-text{font-size:var(--rz-font-help);line-height:1.45}.floorplan-step-button,.floorplan-next-button{text-align:center;place-items:center;gap:1px;width:100%;min-height:46px;padding:6px 12px;display:grid}.floorplan-step-button{background:#7bb8d81a;border-color:#7bb8d847}.floorplan-next-button{background:#06d6a01f;border-color:#06d6a05c}.floorplan-step-button span,.floorplan-next-button span{color:#d7eefc9e;font-size:var(--rz-font-caption);font-weight:var(--rz-weight-label);line-height:inherit}.floorplan-step-button strong,.floorplan-next-button strong{color:#d7eefc;font-size:var(--rz-font-button);font-weight:var(--rz-weight-button);line-height:inherit}.floorplan-next-button:hover:not(:disabled){background:#06d6a02e;border-color:#06d6a09e}.floorplan-step-actions{grid-template-columns:1fr 1fr;gap:8px;display:grid}.floorplan-save-status{color:#d7eefcc2;font-size:var(--rz-font-help);font-weight:var(--rz-weight-label);background:#7bb8d80f;border:1px solid #7bb8d82e;border-radius:6px;padding:9px 10px;line-height:1.45}.floorplan-save-status[data-tone=ok]{color:#dafff4f0;background:#06d6a01f;border-color:#06d6a059}.floorplan-save-status[data-tone=error]{color:#ffdde1f5;background:#ff6b7a1f;border-color:#ff6b7a61}.floorplan-save-status[data-tone=saving]{color:#ffedbef0;background:#ffd1661c;border-color:#ffd1665c}.floorplan-upload-button input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.floorplan-file-info,.floorplan-empty-note,.floorplan-status,.floorplan-workflow-card,.floorplan-analysis-card,.floorplan-split-card,.floorplan-manual-card,.floorplan-tool-card,.floorplan-furniture-card,.floorplan-edit-tool-card,.floorplan-candidate-card,.floorplan-total-size-card,.floorplan-radar-placement-card,.floorplan-debug{background:#7bb8d80f;border:1px solid #7bb8d829;border-radius:6px;gap:4px;padding:10px;display:grid}.floorplan-file-info strong,.floorplan-empty-note strong,.floorplan-status strong,.floorplan-analysis-card strong,.floorplan-split-card strong,.floorplan-manual-card strong,.floorplan-tool-card strong,.floorplan-furniture-card strong,.floorplan-edit-tool-card strong,.floorplan-candidate-card strong,.floorplan-total-size-card strong,.floorplan-radar-placement-card strong{overflow-wrap:anywhere;font-size:var(--rz-font-title-card);font-weight:var(--rz-weight-title)}.floorplan-analysis-card{background:#ffd16612;border-color:#ffd16638;gap:8px}.floorplan-split-card{background:#06d6a012;border-color:#06d6a03d;gap:8px}.floorplan-split-card span{color:#d7eefcad;font-size:var(--rz-font-help);line-height:1.45}.floorplan-edit-tool-card{background:#06d6a012;border-color:#06d6a03d;gap:10px}.floorplan-edit-tool-card[data-active=true]{background:#ffd16614;border-color:#ffd16657}.floorplan-edit-tool-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.floorplan-edit-tool-grid button{min-height:32px;font-size:var(--rz-font-caption);font-weight:var(--rz-weight-button);padding:0 9px}.floorplan-total-size-card{background:#48c7ff12;border-color:#48c7ff38;gap:8px}.floorplan-radar-placement-card{background:#06d6a012;border-color:#06d6a03d;gap:8px}.floorplan-total-size-card>span,.floorplan-radar-placement-card>span{color:#d7eefcad;font-size:var(--rz-font-help);line-height:1.45}.floorplan-radar-placement-card dl{gap:5px;margin:0;display:grid}.floorplan-radar-placement-card dl div{color:#d7eefcc2;font-size:var(--rz-font-help);font-weight:var(--rz-weight-label);grid-template-columns:minmax(72px,auto) 1fr;align-items:center;gap:8px;display:grid}.floorplan-radar-placement-card dt,.floorplan-radar-placement-card dd{margin:0}.floorplan-radar-placement-card dt{color:#9ff3d9d1}.floorplan-final-summary-list{color:#d7eefcb8;font-size:var(--rz-font-help);font-weight:var(--rz-weight-label);gap:5px;margin:2px 0 0;padding-left:18px;line-height:1.45;display:grid}.floorplan-radar-scale-control{background:#11182047;border:1px solid #06d6a02e;border-radius:6px;gap:7px;padding:8px;display:grid}.floorplan-radar-scale-control>div{grid-template-columns:auto max-content;align-items:center;gap:8px;display:grid}.floorplan-radar-scale-control>div:nth-child(2){grid-template-columns:32px 1fr 32px}.floorplan-radar-scale-control span{color:#d7eefcb3;font-size:var(--rz-font-help);font-weight:var(--rz-weight-label)}.floorplan-radar-scale-control strong{color:#9ff3d9f2;font-size:var(--rz-font-button);font-weight:var(--rz-weight-button)}.floorplan-radar-scale-control button{color:#d7eefc;width:32px;min-height:30px;font:inherit;font-weight:var(--rz-weight-button);background:#06d6a01a;border:1px solid #06d6a047;border-radius:6px;padding:0}.floorplan-radar-scale-control button:disabled{cursor:not-allowed;opacity:.42}.floorplan-radar-scale-control input[type=range]{accent-color:#06d6a0;width:100%}.floorplan-total-size-fields{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid}.floorplan-total-size-fields.reference-room{grid-template-columns:repeat(2,minmax(0,1fr))}.floorplan-total-size-fields label{gap:4px;display:grid}.floorplan-total-size-fields label span{color:#d7eefc9e;font-size:var(--rz-font-label);font-weight:var(--rz-weight-label)}.floorplan-total-size-fields input{color:#d7eefc;width:100%;min-height:32px;font:inherit;font-size:var(--rz-font-button);font-weight:var(--rz-weight-button);background:#1118209e;border:1px solid #48c7ff47;border-radius:6px;padding:0 8px}.floorplan-total-size-fields input:focus{border-color:#48c7ffc7;outline:none}.floorplan-total-size-card button{color:#e2f7fff0;min-height:32px;font-size:var(--rz-font-button);font-weight:var(--rz-weight-button);background:#48c7ff24;border:1px solid #48c7ff57;border-radius:6px;padding:0 10px}.floorplan-total-size-card button:disabled{cursor:not-allowed;opacity:.5}.floorplan-total-size-card em,.floorplan-radar-placement-card em{color:#d7eefca8;font-size:var(--rz-font-help);font-style:normal;font-weight:var(--rz-weight-label);line-height:1.45}.floorplan-radar-occlusion-toggle{width:100%;min-height:34px;font-size:var(--rz-font-caption);font-weight:var(--rz-weight-button)}.floorplan-radar-advanced-options{border-top:1px solid #7bb8d829;gap:8px;padding-top:10px;display:grid}.floorplan-radar-advanced-toggle{text-align:left;grid-template-columns:minmax(0,1fr) auto 24px;align-items:center;gap:8px;width:100%;min-height:40px;padding:0 10px;display:grid}.floorplan-radar-advanced-toggle>strong{color:#7de8c5e6;font-size:var(--rz-font-caption);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.floorplan-radar-advanced-toggle>span:last-child{text-align:center;font-size:18px}.floorplan-radar-advanced-content{gap:8px;min-width:0;padding:2px 0 0;display:grid}.floorplan-radar-advanced-content>span,.floorplan-radar-advanced-content>em{color:#d7eefcad;font-size:var(--rz-font-help);font-style:normal;line-height:1.5}.floorplan-radar-advanced-actions{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;display:grid}.floorplan-radar-advanced-actions button{min-height:38px;font-size:var(--rz-font-button);padding:0 9px}.floorplan-radar-occlusion-toggle[data-active=true]{color:#ffe4a3;background:#ffd16626;border-color:#ffd1667a}.floorplan-total-size-card em[data-tone=ok]{color:#9ff3d9eb}.floorplan-total-size-card em[data-tone=error]{color:#ffd7ddeb}.floorplan-switch-row{color:#d7eefcc7;min-height:32px;font-size:var(--rz-font-help);font-weight:var(--rz-weight-label);background:#1118203d;border:1px solid #06d6a02e;border-radius:6px;justify-content:space-between;align-items:center;gap:10px;padding:6px 8px;display:flex}.floorplan-switch-row input{accent-color:#06d6a0;width:34px;height:18px;margin:0}.floorplan-workflow-card{background:#7bb8d80b;border-color:#7bb8d833;gap:10px}.floorplan-workflow-card>.floorplan-status,.floorplan-workflow-card>.floorplan-analysis-card,.floorplan-workflow-card>.floorplan-split-card,.floorplan-workflow-card>.floorplan-manual-card,.floorplan-workflow-card>.floorplan-edit-tool-card,.floorplan-workflow-card>.floorplan-total-size-card,.floorplan-workflow-card>.floorplan-radar-placement-card,.floorplan-workflow-card>.floorplan-file-info,.floorplan-workflow-card>.floorplan-empty-note,.floorplan-workflow-card>.floorplan-debug{background-color:#11182038}.floorplan-analysis-log{background:#7bb8d80f;border-color:#7bb8d829}.floorplan-split-card,.floorplan-manual-card{gap:8px}.floorplan-split-card button,.floorplan-manual-card button{min-height:32px;font-size:var(--rz-font-button);font-weight:var(--rz-weight-button);padding:0 10px}.floorplan-manual-actions{grid-template-columns:1fr 1fr;gap:6px;display:grid}.floorplan-analysis-card button{min-height:32px;font-size:var(--rz-font-button);font-weight:var(--rz-weight-button);padding:0 10px}.floorplan-analysis-actions{grid-template-columns:1fr .72fr;gap:6px;display:grid}.floorplan-analysis-options{grid-template-columns:repeat(auto-fit,minmax(118px,1fr));gap:6px;display:grid}.floorplan-analysis-toggle{min-height:28px;color:var(--rz-muted);font-size:var(--rz-font-help);font-weight:var(--rz-weight-label);align-items:center;gap:8px;display:flex}.floorplan-analysis-toggle input{width:16px;height:16px;accent-color:var(--rz-accent)}.floorplan-debug-section-title{color:var(--rz-text);font-size:inherit;line-height:inherit;margin-top:8px;display:block}.floorplan-debug-note{color:var(--rz-muted);font-size:var(--rz-font-help);margin:8px 0 0}.floorplan-debug-download{align-self:flex-start;margin-top:8px}.floorplan-candidate-card{gap:8px}.floorplan-candidate-card ul{gap:6px;margin:0;padding:0;list-style:none;display:grid}.floorplan-candidate-card li{background:#7bb8d812;border:1px solid #0000;border-radius:6px;gap:7px;padding:7px;display:grid}.floorplan-candidate-card li.selected{background:#7bb8d821;border-color:#7bb8d89e}.floorplan-candidate-card li.merge-selected{background:#48c7ff1a;border-color:#48c7ff85}.floorplan-candidate-card li.confirmed{border-color:#06d6a052}.floorplan-candidate-card li.rejected{opacity:.62}.floorplan-candidate-select{text-align:left;background:0 0;border:0;gap:2px;width:100%;min-height:0;padding:0;display:grid}.floorplan-candidate-card li span,.floorplan-candidate-card li em,.floorplan-candidate-card>span{display:block}.floorplan-candidate-card li span{color:#d7eefcdb;font-size:var(--rz-font-button);font-weight:var(--rz-weight-button)}.floorplan-candidate-card li em{color:#d7eefc94;font-size:var(--rz-font-help);font-style:normal;line-height:1.45}.floorplan-candidate-card>span{color:#d7eefca8;font-size:var(--rz-font-help);line-height:1.5}.floorplan-door-card{background:#7bb8d80f;border:1px solid #7bb8d829;border-radius:6px;gap:8px;padding:10px;display:grid}.floorplan-door-card>strong{font-size:var(--rz-font-title-card);font-weight:var(--rz-weight-title)}.floorplan-door-card>span{color:#d7eefca8;font-size:var(--rz-font-help);line-height:1.5}.floorplan-door-card>span[data-tone=error]{color:#ffb4bd}.floorplan-door-kind-control{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.floorplan-door-kind-control button{min-height:34px;font-size:var(--rz-font-caption);font-weight:var(--rz-weight-button);padding:0 9px}.floorplan-door-kind-control button[data-active=true]{color:#eefffbf5;background:#06d6a029;border-color:#06d6a085}.floorplan-door-card ul{gap:6px;margin:0;padding:0;list-style:none;display:grid}.floorplan-door-card li{background:#11182047;border:1px solid #7bb8d82e;border-radius:6px;grid-template-columns:minmax(0,1fr) 32px;align-items:center;gap:8px;min-height:38px;padding:5px 5px 5px 9px;display:grid}.floorplan-door-card li[data-selected=true]{background:#06d6a01c;border-color:#06d6a094}.floorplan-door-select{color:#d7eefcdb;min-width:0;min-height:30px;font-size:var(--rz-font-button);font-weight:var(--rz-weight-button);text-align:left;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:0;padding:0 6px;overflow:hidden}.floorplan-door-remove{color:#ffb4bd;width:32px;min-width:32px;height:30px;min-height:30px;padding:0;font-size:20px;line-height:1}.floorplan-manual-door-layer{z-index:3;pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.floorplan-manual-door-layer[data-active=true]{pointer-events:auto;cursor:crosshair}.floorplan-manual-door-layer[data-active=true][data-snapped=true]{cursor:none}.floorplan-manual-door-hit{fill:#0000;pointer-events:auto}.floorplan-manual-door-opening{stroke:#6b7280;stroke-width:7px;stroke-linecap:round;vector-effect:non-scaling-stroke}.floorplan-manual-door{pointer-events:stroke;cursor:pointer}.floorplan-manual-door-layer[data-interactive=false] .floorplan-manual-door{pointer-events:none;cursor:default}.floorplan-manual-door.preview{opacity:.58;pointer-events:none}.floorplan-manual-door.selected .floorplan-manual-door-panel,.floorplan-manual-door.selected .floorplan-manual-door-swing,.floorplan-manual-door.selected .floorplan-manual-door-detail{stroke:#06d6a0}.floorplan-manual-door.selected{cursor:move}.floorplan-manual-door-panel{fill:none;stroke:#334155;stroke-width:2.2px;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.floorplan-manual-door-swing,.floorplan-manual-door-detail{fill:none;stroke:#94a3b8;stroke-width:1.6px;stroke-linecap:round;vector-effect:non-scaling-stroke}.floorplan-manual-door-post{fill:#334155;stroke:none;vector-effect:non-scaling-stroke}.floorplan-manual-door-resize-handle{fill:#d7eefc;stroke:#067a65;stroke-width:2px;vector-effect:non-scaling-stroke;pointer-events:all;cursor:ew-resize}.floorplan-candidate-editor{gap:6px;display:grid}.floorplan-candidate-editor input{color:#d7eefc;width:100%;min-height:30px;font:inherit;font-size:var(--rz-font-button);background:#1118209e;border:1px solid #7bb8d83d;border-radius:6px;padding:0 8px}.floorplan-candidate-editor input:focus{border-color:#7bb8d8c2;outline:none}.floorplan-candidate-editor div{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;display:grid}.floorplan-inline-tool-note{color:#d7eefcbd;min-height:30px;font-size:var(--rz-font-help);font-weight:var(--rz-weight-label);background:#06d6a014;border:1px solid #06d6a033;border-radius:6px;grid-column:1/-1;padding:7px 8px}.floorplan-room-info-editor{gap:8px}.floorplan-room-info-editor .floorplan-size-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.floorplan-room-info-editor .floorplan-size-fields.manual input{background:#ffd1661f;border-color:#ffd166b8}.floorplan-estimated-size{background:#48c7ff14;border:1px solid #48c7ff33;border-radius:6px;gap:3px;padding:8px;display:grid}.floorplan-estimated-size.pending{background:#ffd16612;border-color:#ffd16633}.floorplan-estimated-size span{color:#d7eefc94;font-size:var(--rz-font-label);font-weight:var(--rz-weight-label)}.floorplan-estimated-size strong{color:#e2f7fff0;font-size:var(--rz-font-button);font-weight:var(--rz-weight-button)}.floorplan-estimated-size em{color:#d7eefca8;font-size:var(--rz-font-help);font-style:normal;font-weight:var(--rz-weight-label)}.floorplan-size-fields label{gap:4px;display:grid}.floorplan-size-fields label span{color:#d7eefc94;font-size:var(--rz-font-label);font-weight:var(--rz-weight-label)}.floorplan-candidate-editor button{min-height:30px;font-size:var(--rz-font-caption);font-weight:var(--rz-weight-button);padding:0 6px}.floorplan-status[data-tone=ok]{background:#06d6a017;border-color:#06d6a05c}.floorplan-status[data-tone=ok] strong{color:#9ff3d9}.floorplan-status[data-tone=error]{background:#ff6b7a17;border-color:#ff6b7a6b}.floorplan-status[data-tone=error] strong{color:#ffd7dd}.floorplan-debug{font-size:var(--rz-font-help);gap:9px;line-height:1.45}.floorplan-debug summary{cursor:pointer;color:#d7eefcd1;font-size:inherit;line-height:inherit;font-weight:var(--rz-weight-button)}.floorplan-debug dl{gap:6px;margin:0;display:grid}.floorplan-debug dl div{grid-template-columns:105px minmax(0,1fr);gap:8px;display:grid}.floorplan-debug dt,.floorplan-debug dd{font-size:inherit;line-height:inherit;margin:0}.floorplan-debug dt{color:#d7eefc80}.floorplan-debug dd{overflow-wrap:anywhere;color:#d7eefcd1;font-weight:var(--rz-weight-label)}.floorplan-debug ul{color:#d7eefca8;font-size:inherit;line-height:inherit;gap:4px;margin:0;padding-left:16px;display:grid}.floorplan-ocr-text-preview{color:#d7eefcb8;max-height:128px;font-size:inherit;line-height:inherit;white-space:pre-wrap;background:#11182042;border:1px solid #7bb8d824;border-radius:6px;margin:0;padding:8px 10px;overflow:auto}.floorplan-ocr-modal-backdrop{z-index:80;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#060a0ea8;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.floorplan-ocr-modal{width:min(440px,100%);color:var(--rz-text);background:#111820;border:1px solid #7bb8d83d;border-radius:8px;gap:12px;padding:16px;display:grid;box-shadow:0 24px 80px #0000006b}.floorplan-ocr-modal header div,.floorplan-ocr-modal footer{gap:5px;display:grid}.floorplan-ocr-modal header strong{font-size:var(--rz-font-title-section);font-weight:var(--rz-weight-title);line-height:1.35}.floorplan-ocr-modal header span,.floorplan-ocr-result-summary,.floorplan-ocr-error,.floorplan-ocr-log-list{font-size:var(--rz-font-help);line-height:1.45}.floorplan-ocr-modal header span,.floorplan-ocr-log-list{color:#d7eefcad}.floorplan-ocr-progress{background:#d7eefc1a;border-radius:999px;height:9px;overflow:hidden}.floorplan-ocr-progress span{border-radius:inherit;background:linear-gradient(90deg,#7bb8d8,#06d6a0);height:100%;transition:width .18s;display:block}.floorplan-ocr-progress-label{color:#d7eefcc7;font-size:var(--rz-font-help);font-weight:var(--rz-weight-button);text-align:right}.floorplan-ocr-result-summary{color:#9ff3d9eb;font-weight:var(--rz-weight-button);background:#06d6a014;border:1px solid #06d6a038;border-radius:6px;padding:8px 10px}.floorplan-ocr-error{color:#ffd7dd;font-weight:var(--rz-weight-button);background:#ff6b7a17;border:1px solid #ff6b7a47;border-radius:6px;padding:8px 10px}.floorplan-ocr-log-list{gap:4px;max-height:128px;margin:0;padding-left:18px;display:grid;overflow:auto}.floorplan-preview{aspect-ratio:1.35;background-color:#111820;background-image:linear-gradient(90deg,#7bb8d814 1px,#0000 1px),linear-gradient(0deg,#7bb8d814 1px,#0000 1px),none;background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:28px 28px;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;border:1px solid #7bb8d838;border-radius:8px;position:relative;overflow:hidden}.floorplan-room{color:#d7eefcb8;font-size:var(--rz-font-help);font-weight:var(--rz-weight-button);background:#7bb8d814;border:2px solid #d7eefc8a;place-items:center;display:grid;position:absolute}.floorplan-room.living{width:48%;height:42%;top:28%;left:24%}.floorplan-room.room-a{width:26%;height:26%;top:12%;left:8%}.floorplan-room.room-b{width:24%;height:28%;top:14%;right:8%}.floorplan-radar-dot{border:3px solid #06d6a0;border-radius:999px;width:14px;height:14px;position:absolute;top:58%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 8px #06d6a01f}.stats-panel{gap:12px;width:100%;display:grid}.stats-header{justify-content:space-between;align-items:start;gap:16px;width:100%;display:flex}.stats-header h2,.stats-header p{margin:0}.stats-header h2{font-size:var(--rz-font-title-page);font-weight:var(--rz-weight-title)}.stats-header p{color:#d7eefca8;font-size:var(--rz-font-help);margin-top:4px}.stats-info-card,.stats-state-card{background:#7bb8d812;border:1px solid #7bb8d82e;border-radius:8px;width:100%;padding:12px 14px}.stats-info-card summary{cursor:pointer;color:#d7eefcd1;font-size:var(--rz-font-button);font-weight:var(--rz-weight-button)}.stats-info-card p{color:#d7eefca8;font-size:var(--rz-font-help);margin:9px 0 0;line-height:1.5}.stats-state-card{gap:4px;display:grid}.stats-state-card strong{font-size:var(--rz-font-title-card);font-weight:var(--rz-weight-title)}.stats-state-card span{color:#d7eefca8;font-size:var(--rz-font-help)}.stats-state-card.error{background:#ff6b7a1a;border-color:#ff6b7a6b}.stats-state-card.empty{background:#ffd16614;border-color:#ffd16647}.stats-main-layout{grid-template-columns:minmax(260px, var(--rz-side-column-width)) minmax(0, var(--rz-radar-stage-max-width));width:min(100%, calc(var(--rz-side-column-width) + 14px + var(--rz-radar-stage-max-width) + 36px));justify-content:center;align-items:start;gap:14px;min-height:min(72vh,760px);margin:0 auto;display:grid}.stats-main-layout[data-detail=true]{grid-template-columns:minmax(260px, var(--rz-side-column-width)) minmax(280px, var(--rz-middle-column-width)) minmax(0, var(--rz-radar-stage-max-width));width:min(100%, calc(var(--rz-side-column-width) + var(--rz-middle-column-width) + var(--rz-radar-stage-max-width) + 24px + 36px));gap:12px}.stats-control-column,.stats-middle-column,.stats-main-column{gap:12px;min-width:0;display:grid}.stats-control-column{align-content:start}.stats-middle-column{animation:.22s both floorplan-step-slide-in}.stats-summary-grid,.stats-detail-grid{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;width:100%;display:grid}.stats-detail-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}.stats-card{background:#17222c;border:1px solid #7bb8d82e;border-radius:8px;gap:10px;min-width:0;padding:14px;display:grid}.stats-card.summary>div:first-child{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.stats-overview-card .stats-overview-title{gap:6px;display:grid}.stats-overview-card .stats-overview-title strong{font-size:var(--rz-font-title-section)}.stats-overview-card .stats-overview-title span{line-height:1.45}.stats-overview-summary{padding-top:0}.stats-overview-card button{width:100%;min-height:34px;font-size:var(--rz-font-button);font-weight:var(--rz-weight-button)}.stats-card strong{font-size:var(--rz-font-title-card);font-weight:var(--rz-weight-title)}.stats-card span,.stats-empty{color:#d7eefc9e;font-size:var(--rz-font-help)}.stats-debug-card{align-content:start}.stats-debug-card summary{cursor:pointer;justify-content:space-between;align-items:center;gap:10px;list-style:none;display:flex}.stats-debug-card summary::-webkit-details-marker{display:none}.stats-debug-card summary span{color:#ffe4a3;font-size:var(--rz-font-label);font-weight:var(--rz-weight-label);background:#ffd1661f;border-radius:999px;padding:3px 7px}.stats-debug-card[open] summary{border-bottom:1px solid #7bb8d81f;padding-bottom:8px}.stats-performance-card{background:linear-gradient(135deg,#06d6a01f,#7bb8d80f),#17222c;border:1px solid #06d6a03d;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;gap:16px;max-width:1120px;padding:16px;display:grid}.stats-performance-card>div:first-child{gap:5px;display:grid}.stats-performance-card span{color:#9ff3d9;font-size:var(--rz-font-help);font-weight:var(--rz-weight-button);text-transform:uppercase}.stats-performance-card strong{font-size:var(--rz-font-title-section);font-weight:var(--rz-weight-title)}.stats-performance-card dl{grid-template-columns:repeat(3,auto);gap:12px;margin:0;display:grid}.stats-performance-card dt,.stats-performance-card dd{margin:0}.stats-performance-card dt{color:#d7eefc8f;font-size:var(--rz-font-label)}.stats-performance-card dd{color:#d7eefc;font-size:var(--rz-font-title-section);font-weight:var(--rz-weight-title);margin-top:3px}.stats-performance-compact{background:linear-gradient(135deg,#06d6a01a,#7bb8d80a),#17222c;border-color:#06d6a038}.stats-performance-compact>span{line-height:1.45}.stats-period-selector{background:#0a141cb3;border:1px solid #7bb8d829;border-radius:8px;gap:8px;margin-top:auto;padding:12px;display:grid}.stats-period-selector>strong{font-size:var(--rz-font-title-card);font-weight:var(--rz-weight-title)}.stats-chart-card{max-width:none}.stats-selected-detail{align-content:start}.stats-heatmap-placeholder,.stats-heatmap-column{align-content:start;justify-items:stretch;gap:12px;width:100%;min-width:0;display:grid}.heatmap-period-tabs{grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;display:grid}.heatmap-period-tabs button{min-height:30px;font-size:var(--rz-font-label);font-weight:var(--rz-weight-button);padding:0 6px}.heatmap-period-tabs button[data-active=true]{color:#e2fff8f0;background:#06d6a029;border-color:#06d6a07a}.heatmap-preview{box-sizing:border-box;background:radial-gradient(circle at 50% 100%,#7bb8d829 0 1px,#0000 2px),radial-gradient(circle at 50% 100%,#0000 0 24%,#7bb8d82e 24.2% 24.8%,#0000 25%),radial-gradient(circle at 50% 100%,#0000 0 48%,#7bb8d824 48.2% 48.8%,#0000 49%),radial-gradient(circle at 50% 100%,#0000 0 72%,#7bb8d81a 72.2% 72.8%,#0000 73%),#111820;border:1px solid #7bb8d82e;border-radius:8px;justify-self:stretch;width:100%;height:min(72vh,760px);min-height:420px;position:relative;overflow:hidden}.heatmap-preview:after{content:"";z-index:1;pointer-events:none;background:#a0aeb829;position:absolute;inset:10px 14px 18px;-webkit-mask-image:radial-gradient(circle at 50% 100%,#0000 0 56%,#000 57% 74%,#0000 75%);mask-image:radial-gradient(circle at 50% 100%,#0000 0 56%,#000 57% 74%,#0000 75%)}.stats-main-layout[data-detail=true] .heatmap-preview{height:min(72vh,760px)}.stats-heatmap-status{max-width:min(72%,440px)}.stats-heatmap-detail-row{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;animation:.22s both floorplan-step-slide-in;display:grid}.stats-heatmap-detail-row .stats-card{align-content:start}.stats-heatmap-detail-row .stats-debug-card summary{align-items:start;display:grid}.heatmap-grid{gap:1px;display:grid;position:absolute;inset:10px 14px 18px;-webkit-mask-image:radial-gradient(circle at 50% 100%,#000 0 74%,#0000 75%);mask-image:radial-gradient(circle at 50% 100%,#000 0 74%,#0000 75%)}.heatmap-grid i{background:#06d6a0;border-radius:1px;min-width:0;min-height:0;display:block;box-shadow:0 0 10px #06d6a047}.heatmap-distance-label{z-index:3;color:#d7eefcb8;font-size:var(--rz-font-label);font-weight:var(--rz-weight-label);pointer-events:none;background:#111820b8;border:1px solid #7bb8d833;border-radius:999px;padding:2px 5px;line-height:1;position:absolute;left:50%;transform:translate(-50%)}.heatmap-distance-label-2m{bottom:calc(12px + 18%)}.heatmap-distance-label-4m{bottom:calc(12px + 36%)}.heatmap-distance-label-6m{bottom:calc(12px + 54%)}.heatmap-distance-label-8m{bottom:calc(12px + 72%)}.heatmap-sensor{z-index:3;clip-path:polygon(50% 0,0 100%,100% 100%);background:#7bb8d8;width:18px;height:16px;position:absolute;bottom:12px;left:50%;transform:translate(-50%)}.stats-chart-header{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.stats-chart{gap:12px;display:grid}.stats-chart-row{grid-template-columns:82px minmax(0,1fr);align-items:center;gap:12px;display:grid}.stats-chart-row>strong{color:#d7eefcd1;font-size:var(--rz-font-help)}.stats-bars{gap:6px;display:grid}.stats-bar-line{grid-template-columns:42px minmax(0,1fr) 36px;align-items:center;gap:8px;display:grid}.stats-bar-line span,.stats-chart-header span{color:#d7eefc94;font-size:var(--rz-font-label)}.stats-bar-line strong{text-align:right;color:#d7eefcdb;font-size:var(--rz-font-help)}.stats-bar-track{background:#7bb8d81f;border-radius:999px;height:8px;overflow:hidden}.stats-bar-track i{border-radius:inherit;background:#7bb8d8;height:100%;display:block}.stats-bar-line[data-tone=filter] .stats-bar-track i{background:#ff6b7a}.stats-bar-line[data-tone=reduced] .stats-bar-track i{background:#ffd166}.stats-bar-line[data-tone=zone] .stats-bar-track i{background:#06d6a0}.stats-numbers,.stats-meta{gap:8px;margin:0;display:grid}.stats-numbers{grid-template-columns:repeat(3,1fr)}.stats-numbers div,.stats-meta div{gap:2px;min-width:0;display:grid}.stats-numbers dt,.stats-meta dt{color:#d7eefc8f;font-size:var(--rz-font-label)}.stats-numbers dd,.stats-meta dd{color:#d7eefc;font-weight:var(--rz-weight-button);margin:0}.stats-numbers dd{font-size:20px}.stats-rank-list{gap:7px;margin:0;padding:0;list-style:none;display:grid}.stats-rank-list li{background:#7bb8d814;border-radius:6px;justify-content:space-between;align-items:center;gap:10px;padding:8px 9px;display:flex}.stats-rank-list strong{color:#9ff3d9;font-size:var(--rz-font-button)}.workspace{grid-template-columns:260px minmax(0,1fr);min-height:0;display:grid}.workspace.zone-workspace{grid-template-columns:minmax(260px, var(--rz-side-column-width)) minmax(0, var(--rz-radar-stage-max-width));width:min(100%, calc(var(--rz-side-column-width) + 10px + var(--rz-radar-stage-max-width) + 36px));justify-content:center;align-items:start;gap:10px;min-height:min(72vh,760px);margin:0 auto;padding:18px;transition:gap .18s,width .18s}.workspace.zone-workspace.edit-step{grid-template-columns:minmax(260px, var(--rz-side-column-width)) minmax(240px, var(--rz-middle-column-width)) minmax(0, var(--rz-radar-stage-max-width));width:min(100%, calc(var(--rz-side-column-width) + var(--rz-middle-column-width) + var(--rz-radar-stage-max-width) + 24px + 36px));gap:12px}.side-panel{background:#15202a;border-right:1px solid #7bb8d824;align-content:start;gap:18px;padding:16px;display:grid}.zone-workspace .side-panel{background:0 0;border-right:0;gap:12px;padding:0}.zone-workflow-panel{min-height:min(72vh,760px)}.zone-summary-list{gap:7px;margin:0;display:grid}.zone-summary-list div{font-size:var(--rz-font-help);justify-content:space-between;align-items:center;gap:10px;display:flex}.zone-summary-list dt{color:#d7eefc94}.zone-summary-list dd{color:#e6f4ffe6;font-weight:var(--rz-weight-label);margin:0}.zone-detail-panel{min-width:0;animation:.24s both floorplan-step-slide-in}.zone-detail-panel>section{background:#0a141cb3;border:1px solid #7bb8d829;border-radius:8px;gap:12px;padding:12px;display:grid}.static-radar-tuning-panel .panel-help,.static-radar-tuning-loading,.static-radar-tuning-error{color:#d7eefcad;font-size:var(--rz-font-help);margin:0;line-height:1.5}.static-radar-tuning-error{color:#ffb4bd}.static-radar-gate-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid}.static-radar-gate-list button{text-align:left;gap:2px;min-width:0;min-height:62px;padding:6px;display:grid}.static-radar-gate-list button[data-active=true]{background:#50a5d23d;border-color:#82d8ffb8}.static-radar-gate-list button.detected{border-color:#45e38fdb;box-shadow:inset 0 0 0 1px #45e38f52}.static-radar-gate-list strong,.static-radar-gate-list span,.static-radar-gate-list small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.static-radar-gate-list strong{color:#f5fbff}.static-radar-gate-list span,.static-radar-gate-list small{color:#d7eefc9e;font-size:var(--rz-font-label)}.static-radar-gate-detail{gap:7px;margin:0;display:grid}.static-radar-gate-detail div,.static-radar-sensitivity-control>span{justify-content:space-between;align-items:center;gap:10px;display:flex}.static-radar-gate-detail dt{color:#d7eefc94;font-size:var(--rz-font-help)}.static-radar-gate-detail dd{color:#e6f4ffeb;font-size:var(--rz-font-help);font-weight:var(--rz-weight-label);margin:0}.static-radar-gate-detail dd.detected{color:#73f5ad}.static-radar-sensitivity-control{gap:8px;display:grid}.static-radar-sensitivity-control strong,.static-radar-sensitivity-control output{font-size:var(--rz-font-help)}.static-radar-sensitivity-control input{width:100%}.zone-map-panel{min-width:0}.zone-map-panel .radar-host{align-content:start;place-items:start;min-height:min(72vh,760px);padding:0}.side-panel section{gap:10px;display:grid}.side-panel h2{color:#d7eefcbd;font-size:var(--rz-font-title-section);font-weight:var(--rz-weight-title);margin:0}.zone-list{gap:8px;display:grid}.zone-list-item{text-align:left;background:#7bb8d814;border:1px solid #7bb8d82e;border-radius:8px;justify-content:space-between;align-items:center;gap:8px;width:100%;padding:9px 10px;transition:border-color .12s,background .12s;display:flex}.zone-list-item strong,.zone-list-item span,.zone-list-item em{display:block}.zone-list-item strong{font-size:var(--rz-font-title-card);font-weight:var(--rz-weight-title)}.zone-list-item span,.zone-list-item em{color:#d7eefc9e;font-size:var(--rz-font-label);font-style:normal}.zone-list-item.detection{border-color:#ffd16657}.zone-list-item.filter{border-color:#ff6b7a57}.zone-list-item.reduced{border-color:#7bb8d86b}.zone-list-item.disabled{opacity:.68;border-color:#a0aeb847}.zone-list-item.exit{border-color:#4ade8057}.zone-list-item.placeholder{opacity:.78;border-style:dashed}.zone-list-item.selected{background:#7bb8d82e;border-color:#7bb8d8bd}.zone-add-button{color:#d7eefcd1;border-style:dashed;width:100%;min-height:38px}.zone-add-area{gap:6px;display:grid}.zone-add-area p,.empty-zone-message{color:#d7eefc9e;font-size:var(--rz-font-help);margin:0;line-height:1.45}.zone-type-card{background:#7bb8d812;border:1px solid #7bb8d82e;border-radius:8px;gap:10px;margin-top:10px;padding:10px;display:grid}.zone-type-card strong,.zone-type-card span{display:block}.zone-type-card strong{font-size:var(--rz-font-title-card);font-weight:var(--rz-weight-title)}.zone-name-field{gap:5px;display:grid}.floorplan-automation-area-enabled{color:#d7eefcc2;min-height:34px;font-size:var(--rz-font-help);font-weight:var(--rz-weight-label);align-items:center;gap:8px;display:flex}.floorplan-automation-area-enabled input{margin:0}.zone-name-field input{color:#d7eefc;width:100%;min-height:34px;font:inherit;background:#1118209e;border:1px solid #7bb8d83d;border-radius:6px;padding:0 9px}.zone-name-field input:focus{border-color:#7bb8d8c2;outline:none}.zone-type-card span,.panel-help{color:#d7eefc9e;font-size:var(--rz-font-help);margin:0}.zone-type-buttons{grid-template-columns:repeat(auto-fit,minmax(72px,1fr));gap:6px;display:grid}.zone-type-placeholder{color:#d7eefc9e;font-size:var(--rz-font-help);grid-column:1/-1;line-height:1.45}.zone-type-button{min-height:30px;font-size:var(--rz-font-caption);font-weight:var(--rz-weight-button);padding:0 8px}.zone-type-button.detection.selected{border-color:var(--rz-zone-detection-stroke);background:#ffd1662e}.zone-type-button.filter.selected{border-color:var(--rz-zone-filter-stroke);background:#ff6b7a2e}.zone-type-button.reduced.selected{border-color:var(--rz-zone-reduced-stroke);background:#7bb8d82e}.zone-type-button.disabled.selected{border-color:var(--rz-zone-disabled-stroke);background:#a0aeb829}.zone-type-button.exit.selected{border-color:var(--rz-zone-exit-stroke);background:#4ade8029}.danger-button{color:#ffd7dd;background:#ff6b7a1a;border-color:#ff6b7a85}.calibration-card{background:#ff6b7a12;border:1px solid #ff6b7a3d;border-radius:8px;gap:9px;padding:10px;display:grid}.calibration-card strong,.calibration-card span{display:block}.calibration-card strong{font-size:var(--rz-font-title-card);font-weight:var(--rz-weight-title)}.calibration-card span,.calibration-card p{color:#d7eefc9e;font-size:var(--rz-font-help);margin:0;line-height:1.45}.calibration-button{background:#ff6b7a1f;border-color:#ff6b7a7a}.calibration-result{background:#11182061;border:1px solid #7bb8d833;border-radius:6px;gap:6px;padding:8px;display:grid}.calibration-result.ok{border-color:#06d6a057}.calibration-result.warn{border-color:#ffd16657}.calibration-result.error{border-color:#ff6b7a6b}.calibration-result pre{color:#d7eefcbd;font-size:var(--rz-font-label);white-space:pre-wrap;margin:0;line-height:1.35;overflow:auto}.calibration-list{gap:6px;display:grid}.calibration-list-item{background:#1118204d;border:1px solid #ff6b7a33;border-radius:6px;justify-content:space-between;align-items:center;gap:8px;padding:6px 8px;display:flex}.calibration-list-item>span{min-width:0}.calibration-list-item.reduced{border-color:#7bb8d861}.calibration-list-item.disabled{opacity:.62;border-color:#a0aeb852}.calibration-list-item.selected{background:#ffd1661f;border-color:#ffd1669e}.calibration-list-item span em{color:#d7eefc85;font-size:var(--rz-font-label);margin-top:2px;font-style:normal;display:block}.calibration-list-actions{flex:none;align-items:center;gap:5px;max-width:58%;display:flex}.calibration-list-item select{color:#d7eefc;min-width:72px;max-width:96px;height:26px;font:inherit;font-size:var(--rz-font-label);font-weight:var(--rz-weight-label);background:#111820db;border:1px solid #7bb8d852;border-radius:6px;padding:0 22px 0 8px}.calibration-list-item select:focus{border-color:#ffd166b3;outline:none}.calibration-list-item button{min-height:26px;font-size:var(--rz-font-label);border-color:#ff6b7a6b;flex:none;padding:0 8px}.calibration-dialog-backdrop{z-index:50;background:#050c12ad;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.calibration-dialog{background:#15202a;border:1px solid #ff6b7a57;border-radius:10px;width:min(560px,100%);max-height:calc(100vh - 40px);overflow:auto;box-shadow:0 24px 72px #00000073}.calibration-dialog-header{border-bottom:1px solid #ff6b7a2e;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex}.calibration-dialog-header strong,.calibration-dialog-header span{display:block}.calibration-dialog-header strong{font-size:var(--rz-font-title-section);font-weight:var(--rz-weight-title)}.calibration-dialog-header span{color:#d7eefca8;font-size:var(--rz-font-help);margin-top:3px}.calibration-dialog-close{flex:none;width:32px;min-height:32px;padding:0;font-size:20px;line-height:1}.calibration-dialog-body{gap:12px;padding:14px;display:grid}.calibration-progress{gap:7px;display:grid}.calibration-progress-header{color:#d7eefcc7;font-size:var(--rz-font-help);justify-content:space-between;gap:12px;display:flex}.calibration-progress-track{background:#7bb8d829;border-radius:999px;height:9px;overflow:hidden}.calibration-progress-fill{border-radius:inherit;background:linear-gradient(90deg,#ff6b7a,#ffd166);height:100%;transition:width .2s}.calibration-work,.calibration-log{background:#11182057;border:1px solid #7bb8d82e;border-radius:8px;gap:8px;padding:10px;display:grid}.calibration-work strong,.calibration-log strong{font-size:var(--rz-font-title-card);font-weight:var(--rz-weight-title)}.calibration-work ul{color:#d7eefcb8;font-size:var(--rz-font-help);gap:4px;margin:0;padding-left:18px;display:grid}.calibration-log pre{color:#d7eefcc7;max-height:150px;font-size:var(--rz-font-label);white-space:pre-wrap;margin:0;line-height:1.45;overflow:auto}.calibration-dialog-actions{justify-content:flex-end;gap:8px;display:flex}.backup-workspace{--rz-backup-result-width:620px;width:min(100%, calc(var(--rz-side-column-width) + var(--rz-page-gap) + var(--rz-backup-result-width)));gap:12px;margin:0 auto;display:grid}.backup-section-row{grid-template-columns:minmax(260px, var(--rz-side-column-width)) minmax(0, var(--rz-backup-result-width));justify-content:center;gap:var(--rz-page-gap);align-items:start;min-width:0;display:grid}.backup-side-panel,.backup-result-panel{align-content:start;gap:12px;min-width:0;display:grid}.backup-section-divider{background:linear-gradient(90deg,#0000,#7bb8d84d,#0000);width:min(58%,520px);height:1px;margin:2px auto}.danger-zone-row{--rz-danger-zone-line:#ff6b7a57;--rz-danger-zone-bg:#ff6b7a12}.danger-zone-card{border-color:var(--rz-danger-zone-line);background:linear-gradient(#ff6b7a14,#0e151cf0)}.danger-zone-card>div:first-child strong{color:#ffd7dd}.danger-zone-tools{grid-template-columns:1fr 1fr}.danger-reset-options{gap:10px}.danger-reset-options .danger-button{width:100%}.api-key-value{color:#d7eefc;overflow-wrap:anywhere;-webkit-user-select:all;user-select:all;background:#0f172a47;border-radius:6px;max-width:100%;padding:10px 12px;font-family:ui-monospace,SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:12px;line-height:1.5;display:block}.backup-empty-state{text-align:center;align-content:center;min-height:120px}.backup-empty-state strong,.backup-empty-state span{display:block}.backup-empty-state strong{line-height:1.35}.dashboard-workspace{width:min(100%, calc(var(--rz-side-column-width) + var(--rz-middle-column-width) + var(--rz-radar-stage-max-width) + var(--rz-page-gap) * 2 + 36px));gap:14px;margin:0 auto;display:grid}.dashboard-intro-card{grid-template-columns:minmax(0,1fr) minmax(260px,360px);align-items:start}.dashboard-intro-summary{min-width:0}.dashboard-status-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;min-width:0;display:grid}.dashboard-status-card{align-content:space-between;min-height:108px}.dashboard-status-card>div{gap:8px;display:grid}.dashboard-status-card span{color:#d7eefc9e;font-size:var(--rz-font-help)}.dashboard-status-card strong{color:#d7eefc;font-size:clamp(20px,2.2vw,30px);font-weight:var(--rz-weight-title);line-height:1.1}.dashboard-status-card small{color:#d7eefca3;font-size:var(--rz-font-help)}.dashboard-status-card[data-tone=ok]{background:#1bd1a114;border-color:#1bd1a161}.dashboard-main-grid{grid-template-columns:minmax(0, var(--rz-radar-stage-max-width)) minmax(340px, 420px);justify-content:center;align-items:start;gap:14px;min-width:0;display:grid}.dashboard-visual-panel{min-width:0}.dashboard-side-stack{align-content:start;gap:10px;min-width:0;display:grid}.dashboard-metric-card,.dashboard-tuning-card{gap:8px}.dashboard-zone-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;min-width:0;display:grid}.dashboard-zone-summary-grid>div{align-content:start;gap:7px;min-width:0;display:grid}.dashboard-zone-summary-grid>div+div{border-left:1px solid #7bb8d824;padding-left:12px}.dashboard-zone-summary-grid>div>strong{overflow-wrap:anywhere;color:#e6f4ffe6;font-size:var(--rz-font-label);font-weight:var(--rz-weight-label)}.dashboard-secondary-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.dashboard-note{color:#ffd166c7;font-size:var(--rz-font-help);margin:0;line-height:1.45}.dashboard-tuning-card>span{color:#d7eefc9e;font-size:var(--rz-font-help);line-height:1.45}.dashboard-tuning-actions{flex-wrap:wrap;gap:8px;display:flex}.dashboard-tuning-actions button{flex:130px}.dashboard-tuning-section{justify-items:center;gap:10px;display:grid}.dashboard-tuning-toggle{min-width:112px}.dashboard-tuning-control-card{grid-template-columns:minmax(0,1fr) auto;align-items:center}.dashboard-visual-frame{place-items:center;min-height:clamp(420px,68vh,760px);display:grid;position:relative;overflow:hidden}.dashboard-visual-status{color:#d7eefcc2;font-size:var(--rz-font-help);background:#09131ab8;border:1px solid #7bb8d838;border-radius:6px;align-items:center;gap:8px;padding:6px 9px;display:flex;position:absolute;top:12px;right:12px}.dashboard-visual-status strong{color:#d7eefc;font-weight:var(--rz-weight-label)}.dashboard-visual-placeholder{color:#d7eefc9e;text-align:center;justify-items:center;gap:6px;padding:20px;display:grid}.dashboard-visual-placeholder strong{color:#d7eefc;font-size:var(--rz-font-title)}.dashboard-visual-placeholder span{max-width:360px;font-size:var(--rz-font-help);line-height:1.45}.dashboard-radar-preview{place-items:center;width:min(100%,900px);display:grid}.dashboard-radar-preview .radar-scene{width:100%;max-height:min(58vh,560px)}.dashboard-radar-preview .svelte-shell-placeholder{width:min(520px,100%)}.dashboard-floorplan-preview{place-items:center;width:100%;display:grid;position:relative;overflow:hidden}.dashboard-floorplan-preview .floorplan-image-frame{max-height:min(72vh,760px)}.dashboard-floorplan-room-layer{z-index:2;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.dashboard-floorplan-room{fill:#1bd1a114;stroke:#1bd1a1a3;stroke-width:2px;vector-effect:non-scaling-stroke}.dashboard-floorplan-room-label{fill:#d7eefc;paint-order:stroke;stroke:#040a0ec7;stroke-width:4px;stroke-linejoin:round;font-size:13px;font-weight:var(--rz-weight-label);text-anchor:middle;dominant-baseline:central;pointer-events:none}.dashboard-dialog-backdrop{z-index:90;background:#02080c8c;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.dashboard-control-dialog{gap:12px;width:min(92vw,420px)}.floorplan-delete-dialog.firmware-completion-dialog .dashboard-dialog-heading strong{color:#bff6e7}.floorplan-delete-dialog.firmware-completion-dialog .dashboard-dialog-heading span{color:#d7eefcc2}.dashboard-dialog-heading{gap:4px;display:grid}.floorplan-delete-dialog .dashboard-dialog-heading strong{color:#ffd7dd;font-size:var(--rz-font-title-section);font-weight:var(--rz-weight-title)}.floorplan-delete-dialog .dashboard-dialog-heading span{color:#ffd7ddc7;font-size:var(--rz-font-help);line-height:1.45}.dashboard-dialog-section{gap:8px;display:grid}.dashboard-dialog-section>strong{color:#d7eefc;font-size:var(--rz-font-label);font-weight:var(--rz-weight-label)}.dashboard-dialog-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.dashboard-dialog-section>label{color:#d7eefc;font-size:var(--rz-font-label);font-weight:var(--rz-weight-label)}.dashboard-timezone-select{color:#d7eefc;width:100%;min-height:38px;font:inherit;font-size:var(--rz-font-control);background:#111820f5;border:1px solid #7bb8d852;border-radius:6px;padding:0 34px 0 10px}.dashboard-timezone-select:focus{border-color:#7ed3ffb8;outline:none}.dashboard-timezone-warning{background:#ff6b7a14;border:1px solid #ff6b7a57;border-radius:8px;gap:5px;padding:10px 12px;display:grid}.dashboard-timezone-warning strong{color:#ffd7dd;font-size:var(--rz-font-label)}.dashboard-timezone-warning span{color:#ffd7ddc7;font-size:var(--rz-font-help);line-height:1.45}.dashboard-dialog-close-button{min-width:96px;min-height:36px;padding-inline:14px}.diagnostic-log-download-button{color:#d7efff;min-width:120px;min-height:36px;font-size:var(--rz-font-control);background:#7ed3ff1f;border:1px solid #7ed3ff47;border-radius:6px;justify-content:center;align-items:center;padding-inline:14px;font-weight:700;text-decoration:none;display:inline-flex}.diagnostic-log-download-button:hover{background:#7ed3ff2e;border-color:#7ed3ff7a}.diagnostic-dialog{width:min(92vw,560px);max-height:min(760px,88vh);overflow:auto}.diagnostic-dialog .dashboard-dialog-heading strong{color:#ffe4a3}.diagnostic-dialog .dashboard-dialog-heading span{color:#d7eefcb8}.diagnostic-empty{color:#d7eefcb8;font-size:var(--rz-font-help);background:#0c141c7a;border:1px solid #7bb8d82e;border-radius:8px;padding:12px}.diagnostic-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.diagnostic-summary-grid article{background:#0c141c7a;border:1px solid #7bb8d82e;border-radius:8px;gap:4px;min-width:0;padding:10px;display:grid}.diagnostic-summary-grid span,.diagnostic-list dt{color:#d7eefc94;font-size:var(--rz-font-help)}.diagnostic-summary-grid strong,.diagnostic-list dd{color:#d7eefc;min-width:0;font-size:var(--rz-font-button);font-weight:var(--rz-weight-button);overflow-wrap:anywhere;margin:0}.diagnostic-section{gap:8px;display:grid}.diagnostic-section>strong{color:#ffe4a3;font-size:var(--rz-font-label);font-weight:var(--rz-weight-label)}.diagnostic-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0;display:grid}.diagnostic-list div{background:#7bb8d80f;border:1px solid #7bb8d824;border-radius:8px;gap:4px;min-width:0;padding:9px 10px;display:grid}@media (width<=640px){.diagnostic-summary-grid,.diagnostic-list{grid-template-columns:1fr}}.demo-blocker-backdrop{z-index:95;background:#02080c94;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.demo-blocker-dialog{background:#0d161ef5;border:1px solid #ff6b7a42;border-radius:8px;gap:14px;width:min(92vw,420px);padding:16px;display:grid;box-shadow:0 18px 50px #00000052}.demo-blocker-dialog>div:not(.demo-blocker-actions){gap:6px;display:grid}.demo-blocker-dialog strong{color:#ffd7dd;font-size:var(--rz-font-title-section);font-weight:var(--rz-weight-title)}.demo-blocker-dialog span{color:#ffd7ddc7;font-size:var(--rz-font-help);line-height:1.45}.demo-blocker-dialog button{justify-self:end;min-width:96px;min-height:36px}.demo-blocker-dialog .demo-blocker-actions{justify-content:flex-end;gap:8px;display:flex}.demo-blocker-dialog .demo-blocker-actions button{justify-self:auto}.backup-empty-state span{max-width:360px;margin:0 auto}.backup-message{gap:6px}.backup-message strong,.backup-message span{overflow-wrap:anywhere;display:block}.backup-message.blocked,.backup-message.error{border-color:#ff6b7a6b}.backup-message.warning{border-color:#ffd16661}.backup-message.ready,.backup-message.imported,.backup-message.exported{border-color:#06d6a052}.backup-summary div{min-width:0}.backup-system-sections{gap:12px;display:grid}.backup-system-section{gap:7px;min-width:0;display:grid}.backup-system-section>strong{color:#d7eefc;font-size:var(--rz-font-title-card);font-weight:var(--rz-weight-title)}.backup-system-list div{min-width:0}.backup-system-list dd{text-align:right;overflow-wrap:anywhere}.wifi-strength{vertical-align:-1px;grid-template-columns:repeat(4,6px);align-items:end;gap:2px;margin-right:6px;display:inline-grid}.wifi-strength span{background:#7bb8d838;border-radius:2px;width:6px}.wifi-strength span:first-child{height:5px}.wifi-strength span:nth-child(2){height:7px}.wifi-strength span:nth-child(3){height:9px}.wifi-strength span:nth-child(4){height:11px}.wifi-strength span.active{background:#06d6a0e0;box-shadow:0 0 8px #06d6a038}.backup-issues{font-size:var(--rz-font-help);border-radius:6px;gap:6px;padding:8px;line-height:1.45;display:grid}.backup-issues.error{color:#ffd7dd;background:#ff6b7a14;border:1px solid #ff6b7a6b}.backup-issues.warn{color:#ffe4a3;background:#ffd16614;border:1px solid #ffd1665c}.backup-issues strong{font-size:var(--rz-font-title-card);font-weight:var(--rz-weight-title)}.backup-issues ul{gap:5px;margin:0;padding-left:16px;display:grid}.backup-issues li{overflow-wrap:anywhere}.backup-import-options{gap:8px}.backup-import-options>strong{color:#d7eefc;font-size:var(--rz-font-title-card);font-weight:var(--rz-weight-title)}.backup-import-options label{color:#d7eefcc7;font-size:var(--rz-font-help);align-items:center;gap:8px;display:flex}.backup-import-options label.disabled{opacity:.48}.backup-import-options input{accent-color:#06d6a0}.backup-restore-progress{gap:9px}.backup-restore-progress-header{justify-content:space-between;align-items:center;gap:8px;display:flex}.backup-restore-progress-header span{color:#d7eefcb8;font-size:var(--rz-font-help);font-weight:var(--rz-weight-label)}.backup-restore-progress ol{gap:6px;margin:0;padding:0;list-style:none;display:grid}.backup-restore-progress li{background:#11182047;border:1px solid #7bb8d824;border-radius:6px;grid-template-columns:minmax(74px,auto) 1fr;align-items:center;gap:8px;min-width:0;padding:7px 8px;display:grid}.backup-restore-progress li span{color:#d7eefc;font-size:var(--rz-font-help);font-weight:var(--rz-weight-label)}.backup-restore-progress li small{color:#d7eefca3;min-width:0;font-size:var(--rz-font-help);overflow-wrap:anywhere;line-height:1.35}.backup-restore-progress li[data-status=active]{background:#ffd16612;border-color:#ffd1665c}.backup-restore-progress li[data-status=done]{background:#06d6a012;border-color:#06d6a04d}.backup-restore-progress li[data-status=error]{background:#ff6b7a14;border-color:#ff6b7a6b}.backup-confirm{background:#ffd16612;border:1px solid #ffd16647;gap:8px}.backup-confirm p{color:#d7eefcb8;font-size:var(--rz-font-help);margin:0;line-height:1.45}.backup-confirm div{grid-template-columns:1fr .7fr;gap:6px;display:grid}.firmware-update-status{background:#7bb8d812;border:1px solid #7bb8d82e;border-radius:8px;align-content:center;gap:8px;min-height:120px;padding:12px;display:grid}.firmware-update-status.active{background:#ffd16612;border-color:#ffd16652}.firmware-update-status.success{background:#06d6a014;border-color:#06d6a052}.firmware-update-status.error{background:#ff6b7a14;border-color:#ff6b7a6b}.firmware-update-status strong{color:#d7eefc;font-size:var(--rz-font-title-card);font-weight:var(--rz-weight-title)}.firmware-update-status span,.firmware-update-status small{color:#d7eefcb8;font-size:var(--rz-font-help);line-height:1.45}.firmware-progress-track{background:#7bb8d829;border-radius:999px;height:9px;overflow:hidden}.firmware-progress-track i{border-radius:inherit;background:linear-gradient(90deg,#06d6a0b8,#82d8ffe6);height:100%;transition:width .16s;display:block}.map-panel{grid-template-rows:1fr auto;min-width:0;display:grid}.map-toolbar-status{color:#d7eefc9e;font-size:var(--rz-font-help);justify-content:flex-end;align-items:center;gap:8px;display:flex}.radar-scene-frame .map-toolbar-status{z-index:7;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#111820b8;border:1px solid #7bb8d82e;border-radius:7px;max-width:min(46%,360px);padding:6px 8px;position:absolute;top:12px;right:12px}.save-status{color:#d7eefcb8;font-weight:var(--rz-weight-label);border:1px solid #7bb8d82e;border-radius:999px;padding:4px 8px}.save-status[data-save-state=pending],.save-status[data-save-state=queued]{color:#ffe4a3;border-color:#ffd1665c}.save-status[data-save-state=saving]{color:#d7eefc;border-color:#7bb8d86b}.save-status[data-save-state=saved]{color:#83f5d5;border-color:#06d6a052}.save-status[data-save-state=error]{color:#ffd7dd;border-color:#ff6b7a80}.radar-host{place-items:center;min-height:0;padding:0 16px 18px;display:grid;position:relative}.zone-map-panel .radar-host{padding:0}.radar-scene-frame{background:#1f2a33;border:1px solid #7bb8d82e;border-radius:8px;width:100%;max-width:900px;min-height:min(72vh,760px);padding:56px 12px 38px;display:grid;position:relative}.map-status-line{z-index:6;color:#d7eefc9e;font-size:var(--rz-font-help);text-align:right;background:#11182094;border:1px solid #7bb8d829;border-radius:999px;margin:0;padding:5px 8px;position:absolute;bottom:10px;right:14px}.debug-panel{background:#0c141cb8;border:1px solid #ffd16633;border-radius:10px;gap:10px;margin:0 14px 14px;padding:12px;display:grid}.debug-panel-header{flex-wrap:wrap;align-items:baseline;gap:8px;display:flex}.debug-panel-header strong{color:#ffe4a3;font-size:var(--rz-font-title-card);font-weight:var(--rz-weight-title)}.debug-panel-header span{color:#d7eefc9e;font-size:var(--rz-font-help)}.debug-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:8px;display:grid}.debug-grid article{background:#1f2a33b8;border:1px solid #7bb8d82e;border-radius:8px;gap:5px;min-width:0;padding:10px;display:grid}.debug-grid article.filtered{background:#50222a47;border-color:#ff6b7a57}.debug-grid article.inactive{opacity:.68}.debug-grid article strong{color:#fff;font-size:var(--rz-font-title-card);font-weight:var(--rz-weight-title)}.debug-grid article span{color:#ffe4a3;font-size:var(--rz-font-help);font-weight:var(--rz-weight-label)}.debug-grid article code,.debug-grid article small{overflow-wrap:anywhere;color:#d7eefcb8;font-size:var(--rz-font-label);line-height:1.45}.radar-scene{background:0 0;border:0;border-radius:0;width:100%;height:auto}.radar-scene-hit{fill:#0000}.radar-scene.static-radar-tuning .web-zone{opacity:.16;pointer-events:none}.static-radar-tuning-layer path{fill:#48c7ff52;fill-opacity:calc(.18 + var(--gate-sensitivity) * .42);stroke:#82d8ff94;stroke-width:1.5px;cursor:pointer;transition:fill-opacity .12s,stroke .12s,stroke-width .12s}.static-radar-tuning-layer path:hover,.static-radar-tuning-layer path.selected{stroke:#9fe7ff;stroke-width:4px}.static-radar-tuning-layer path.detected{stroke:#45e38f;stroke-width:6px;filter:drop-shadow(0 0 5px #45e38f9e)}.static-radar-tuning-layer path.detected.selected{stroke:#73f5ad;stroke-width:7px}.static-radar-tuning-layer text{fill:#ebf9fff0;font-size:var(--rz-font-map-debug);font-weight:var(--rz-weight-label);text-anchor:middle;paint-order:stroke;stroke:#081118e6;stroke-width:4px;pointer-events:none}.svelte-shell-placeholder{text-align:center;background:#7bb8d812;border:1px dashed #7bb8d852;border-radius:8px;gap:8px;width:min(520px,100%);padding:18px;display:grid}.svelte-shell-placeholder strong,.svelte-shell-placeholder span{display:block}.svelte-shell-placeholder strong{font-size:var(--rz-font-title-page);font-weight:var(--rz-weight-title)}.svelte-shell-placeholder span{color:#d7eefcad;font-size:var(--rz-font-help);line-height:1.5}.svelte-boot .radar-host{min-height:420px}.svelte-boot-card{text-align:center;background:#7bb8d814;border:1px solid #7bb8d83d;border-radius:8px;gap:8px;width:min(520px,100%);padding:18px;display:grid}.svelte-boot-card strong,.svelte-boot-card span{display:block}.svelte-boot-card strong{font-size:var(--rz-font-title-page);font-weight:var(--rz-weight-title)}.svelte-boot-card span{color:#d7eefcad;font-size:var(--rz-font-help);line-height:1.5}.beam{fill:#58acd63d;stroke:#7bb8d8a6;stroke-width:1.4px}.remote-range-band{fill:#a0aeb833;stroke:none;pointer-events:none}.grid line,.grid path{fill:none;stroke:#7bb8d861;stroke-width:1px;pointer-events:none}.grid text{fill:#d7eefc8c;font-size:var(--rz-font-label);text-anchor:middle;paint-order:stroke;stroke:#1f2a33b8;stroke-width:3px;pointer-events:none}.grid .distance-label{text-anchor:start}.sensor{fill:#fff}.target circle{fill:var(--target-color);stroke:#ffffffd1;stroke-width:1.5px}.target{transform-origin:0 0;will-change:transform;transition:transform .3s cubic-bezier(.2,.7,.2,1)}.target .target-fusion-ring{fill:none;stroke:#48c7fff5;stroke-width:2.5px}.target.filtered circle{fill:#b4bec6b8;stroke:#ff6b7aeb;stroke-dasharray:3 3}.target.reduced circle{stroke:#ffd166f5;stroke-dasharray:4 3}.target.static-uncertain circle{fill:#94a3aee6;stroke:#e2e8f0db}.target.static-uncertain text{fill:#e2e8f0eb}.target text{fill:#fff;font-size:var(--rz-font-map-debug);font-weight:var(--rz-weight-label);text-anchor:middle;paint-order:stroke;stroke:#00000073;stroke-width:3px}.floorplan-manual-draft-hover{pointer-events:none}.floorplan-manual-draft-hover circle{fill:#48c7ffeb;stroke:#fffffff5;stroke-width:2px}.target.filtered text{fill:#ebeff2e6}@media (prefers-reduced-motion:reduce){.target,.floorplan-radar-target{transition:none}}.web-zone polygon{fill:var(--rz-zone-base-fill);stroke-width:var(--rz-edit-stroke-width);stroke-dasharray:8 5;pointer-events:all}.web-zone.detection polygon{stroke:var(--rz-zone-detection-stroke)}.web-zone.filter polygon{fill:var(--rz-zone-filter-fill);stroke:var(--rz-zone-filter-stroke)}.web-zone.reduced polygon{fill:var(--rz-zone-reduced-fill);stroke:var(--rz-zone-reduced-stroke)}.web-zone.calibration polygon{fill:var(--rz-zone-filter-strong-fill);stroke:var(--rz-zone-filter-strong-stroke);stroke-dasharray:3 4;cursor:help;pointer-events:all}.web-zone.calibration.reduced polygon{fill:var(--rz-zone-reduced-strong-fill);stroke:var(--rz-zone-reduced-strong-stroke)}.web-zone.calibration text{fill:var(--rz-zone-label-calibration)}.web-zone.disabled polygon{fill:var(--rz-zone-disabled-fill);stroke:var(--rz-zone-disabled-stroke)}.web-zone.exit polygon{fill:var(--rz-zone-exit-fill);stroke:var(--rz-zone-exit-stroke)}.web-zone.exit .exit-line-display{stroke:var(--rz-zone-exit-stroke);stroke-width:8px;stroke-linecap:round;filter:drop-shadow(0 0 8px #4ade8040);pointer-events:none}.web-zone.exit.selected .exit-line-display{stroke-width:10px}.web-zone.exit .exit-line-hit{stroke:#0000;stroke-width:24px;stroke-linecap:round;cursor:move;pointer-events:all}.web-zone.exit .exit-line-handle{fill:#dcfce7;stroke:var(--rz-zone-exit-stroke);stroke-width:3px}.web-zone.placeholder polygon{fill:var(--rz-zone-placeholder-fill);stroke:var(--rz-zone-placeholder-stroke);stroke-dasharray:5 5}.web-zone.selected polygon{fill:var(--rz-zone-base-selected-fill);stroke-width:var(--rz-edit-selected-stroke-width);stroke-dasharray:none;cursor:move}.web-zone.owner-required polygon,.web-zone.owner-required.selected polygon{cursor:help}.zone-edge-hit:hover{stroke:var(--rz-edit-edge-hit-hover);stroke-width:6px}.web-zone text{fill:var(--rz-zone-label);font-size:var(--rz-font-map-debug);font-weight:var(--rz-weight-label);pointer-events:none;paint-order:stroke;stroke:#00000080;stroke-width:3px}.protected-zone-dialog-backdrop{z-index:45;background:#050c128f;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.protected-zone-dialog{background:#15202a;border:1px solid #ffd16657;border-radius:10px;gap:10px;width:min(430px,100%);padding:16px;display:grid;box-shadow:0 20px 58px #0000006b}.protected-zone-dialog strong{font-size:var(--rz-font-title-section);font-weight:var(--rz-weight-title)}.protected-zone-dialog p{color:#d7eefcb8;font-size:var(--rz-font-help);margin:0;line-height:1.55}.protected-zone-dialog button{justify-self:end;min-width:68px}.protected-zone-dialog-actions{justify-content:flex-end;gap:8px;display:flex}.floorplan-stored-loading{color:#e6f4ffeb;min-height:min(72vh,760px);font-size:var(--rz-font-title-section);font-weight:var(--rz-weight-title);grid-column:1/-1;place-content:center;place-items:center;gap:12px;display:grid}.floorplan-loading-spinner{border:3px solid #7bb8d833;border-top-color:#82d8ffeb;border-radius:50%;width:34px;height:34px;animation:.8s linear infinite floorplan-loading-spin}@keyframes floorplan-loading-spin{to{transform:rotate(360deg)}}.floorplan-stored-panel{grid-template-columns:minmax(260px, var(--rz-side-column-width)) minmax(0, var(--rz-stage-max-width));width:min(100%, calc(var(--rz-side-column-width) + 14px + var(--rz-stage-max-width)));justify-content:center;align-items:start;gap:14px;min-height:min(72vh,760px);margin:0 auto;display:grid}.floorplan-stored-panel.edit-step{grid-template-columns:minmax(260px, var(--rz-side-column-width)) minmax(240px, var(--rz-middle-column-width)) minmax(0, var(--rz-stage-max-width));width:min(100%, calc(var(--rz-side-column-width) + var(--rz-middle-column-width) + var(--rz-stage-max-width) + 32px));gap:16px}.floorplan-stored-controls{align-content:start;gap:12px;display:grid}.floorplan-stored-summary{gap:7px;margin:0;display:grid}.floorplan-stored-controls .floorplan-workflow-card>div:first-child span{font-size:var(--rz-font-help);line-height:1.45}.floorplan-stored-summary div{font-size:var(--rz-font-help);justify-content:space-between;align-items:center;gap:10px;display:flex}.floorplan-stored-summary dt{color:#d7eefc94}.floorplan-stored-summary dd{color:#e6f4ffe6;font-weight:var(--rz-weight-label);margin:0}.floorplan-stored-summary .dashboard-platform-id{overflow-wrap:anywhere;text-align:right;max-width:68%}.firmware-summary div{grid-template-columns:max-content minmax(0,1fr);display:grid}.firmware-summary dt{white-space:nowrap}.firmware-summary dd{overflow-wrap:anywhere;text-align:right;min-width:0}.alpha-firmware-control{border-top:1px solid #7bb8d829;gap:7px;padding-top:12px;display:grid}.alpha-firmware-control label{cursor:pointer;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:9px;display:grid}.alpha-firmware-control label>span{gap:4px;display:grid}.alpha-firmware-control strong{color:#d7eefc;font-size:var(--rz-font-label)}.alpha-firmware-control small{color:#d7eefca8;font-size:var(--rz-font-help);line-height:1.45}.alpha-firmware-control>small.active{color:#ffd166}.floorplan-stored-tools{background:#0a141cb3;border:1px solid #7bb8d829;border-radius:8px;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:12px;display:grid}.floorplan-stored-tools button{min-height:34px;font-size:var(--rz-font-button);font-weight:var(--rz-weight-button)}.floorplan-stored-tools button[data-active=true]{color:#e6f6ff;background:#50a5d238;border-color:#82d8ff94}.zone-tool-hint,.zone-tool-hint button{width:100%}.zone-tool-hint{display:block}.floorplan-stored-edit-mode-tools{background:#0a141cb3;border:1px solid #7bb8d829;border-radius:8px;gap:8px;padding:12px;display:grid}.floorplan-stored-edit-mode-tools button{min-height:34px;font-size:var(--rz-font-button);font-weight:var(--rz-weight-button)}.floorplan-stored-edit-mode-tools button[data-active=true]{color:#e2fff8f0;background:#06d6a029;border-color:#06d6a075}.floorplan-stored-middle-column{min-width:0}.floorplan-stored-save-status{align-self:end;max-height:80px;transition:opacity .18s,transform .18s,max-height .18s,padding .18s,border-width .18s;overflow:hidden}.floorplan-stored-save-status strong,.floorplan-stored-save-status span{font-size:var(--rz-font-help);line-height:1.35}.floorplan-stored-save-status[data-visible=false]{opacity:0;border-width:0;max-height:0;padding-top:0;padding-bottom:0;transform:translateY(-6px)}.floorplan-stored-tool-placeholder{background:#0a141cb3;border:1px solid #7bb8d829;border-radius:8px;gap:8px;padding:12px;display:grid}.floorplan-stored-tool-placeholder strong{font-size:var(--rz-font-title-card);font-weight:var(--rz-weight-title)}.floorplan-stored-tool-placeholder span{color:#d7eefca6;font-size:var(--rz-font-help);line-height:1.5}.floorplan-tool-card,.floorplan-furniture-card{background:#ffd16612;border-color:#ffd16638;gap:10px}.floorplan-tool-card>span,.floorplan-tool-card em,.floorplan-furniture-card>span,.floorplan-furniture-card em{color:#d7eefca8;font-size:var(--rz-font-help);font-style:normal;line-height:1.45}.floorplan-furniture-palette{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.floorplan-furniture-target{background:#06d6a01a;border:1px solid #06d6a052;border-radius:7px;gap:3px;padding:8px 10px;display:grid}.floorplan-furniture-target span{color:#d7eefc9e;font-size:var(--rz-font-label)}.floorplan-furniture-target strong{color:#eefffbf2;font-size:var(--rz-font-caption);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.floorplan-furniture-palette button,.floorplan-tool-list-item,.floorplan-furniture-list-item{color:#f4fcffeb;min-height:54px;font-size:var(--rz-font-caption);font-weight:var(--rz-weight-button);background:#11182057;border:1px solid #ffd1663d;border-radius:7px;place-items:center;gap:5px;padding:8px;display:grid}.floorplan-furniture-palette button:hover,.floorplan-tool-list-item:hover,.floorplan-furniture-list-item:hover{background:#ffd1661f;border-color:#ffd16680}.floorplan-furniture-palette img{object-fit:contain;filter:drop-shadow(0 2px 5px #00000061);width:42px;height:28px}.floorplan-tool-list,.floorplan-furniture-list{gap:6px;display:grid}.floorplan-tool-list-item,.floorplan-furniture-list-item{text-align:left;grid-template-columns:1fr auto;justify-items:stretch;min-height:36px}.floorplan-tool-list-item[data-active=true],.floorplan-furniture-list-item[data-active=true]{background:#06d6a029;border-color:#06d6a085}.floorplan-tool-list-item small,.floorplan-furniture-list-item small{color:#d7eefc94;font-size:var(--rz-font-label)}.floorplan-stored-workspace{min-width:0}.floorplan-stored-preview{color:#e6f4ffe0;text-align:center;place-items:start;gap:8px;min-height:min(72vh,760px);display:grid}.floorplan-stored-preview span{color:#d7eefc94;font-size:var(--rz-font-help)}.floorplan-stored-empty{place-content:center}.floorplan-stored-room-shape{fill:#43d2b229;stroke:#23e0c6cc;stroke-width:2px;vector-effect:non-scaling-stroke}.floorplan-stored-room-label{paint-order:stroke;stroke:#070d12e0;stroke-width:5px;fill:#eefbff;font-size:var(--rz-font-title-page);font-weight:var(--rz-weight-title);text-anchor:middle;dominant-baseline:central;pointer-events:none}.floorplan-delete-dialog-backdrop{z-index:80;background:#050c12a3;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.floorplan-delete-dialog{background:#171f27;border:1px solid #ff6b7a75;border-radius:10px;gap:12px;width:min(440px,100%);padding:16px;display:grid;box-shadow:0 24px 68px #00000080}.floorplan-delete-dialog strong{color:#ffd7dd;font-size:var(--rz-font-title-section);font-weight:var(--rz-weight-title)}.floorplan-delete-dialog p{color:#ffd7dddb;font-size:var(--rz-font-help);margin:0;line-height:1.55}.floorplan-delete-error{color:#ffd7dd;font-size:var(--rz-font-help);background:#ff6b7a1a;border:1px solid #ff6b7a61;border-radius:8px;padding:8px 10px}.floorplan-delete-dialog-actions{justify-content:flex-end;gap:8px;display:flex}@media (width<=980px){.floorplan-panel,.floorplan-stored-panel,.floorplan-panel.rooms-step,.workspace.zone-workspace,.workspace.zone-workspace.edit-step{grid-template-columns:1fr}.zone-workflow-panel{min-height:0}.backup-section-row{grid-template-columns:minmax(0,1fr)}.floorplan-debug-row,.stats-main-layout{grid-template-columns:1fr}.stats-main-layout[data-detail=true]{grid-template-columns:1fr;width:100%}.stats-heatmap-placeholder,.stats-heatmap-column{position:static}.stats-heatmap-detail-row,.dashboard-intro-card,.dashboard-main-grid,.dashboard-secondary-grid{grid-template-columns:1fr}.dashboard-status-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=760px){.stats-performance-card{grid-template-columns:1fr}.stats-performance-card dl{grid-template-columns:repeat(3,minmax(0,1fr))}.workspace{grid-template-columns:1fr}.side-panel{border-bottom:1px solid #7bb8d824;border-right:0}.dashboard-status-grid{grid-template-columns:1fr}.dashboard-visual-frame{min-height:320px}}
