.editor-global-header{z-index:20;background:var(--bg-panel);flex-shrink:0;width:100%;min-width:0;position:relative}.editor-header-context{border-bottom:1px solid var(--border);align-items:center;gap:16px;min-width:0;min-height:48px;padding:7px 10px;display:flex}.editor-header-identity{flex:0 280px;gap:2px;min-width:100px;display:grid}.editor-header-layout-name{text-overflow:ellipsis;white-space:nowrap;color:var(--text);font-size:13px;font-weight:650;overflow:hidden}.editor-header-stage{color:var(--text-dim);font-size:10px}.editor-global-header button:focus-visible,.editor-global-header a:focus-visible,.editor-global-header summary:focus-visible{outline-offset:2px;outline:2px solid #91c9ff}.editor-camera-setup-progress{min-width:0;color:var(--text);flex:none;margin-left:auto;font-size:11px}.editor-setup-wide{align-items:center;gap:12px;display:flex}.editor-setup-label{color:var(--text-dim);font-size:10px}.editor-setup-counts{align-items:center;gap:14px;margin:0;display:flex}.editor-setup-counts>div{flex-direction:row-reverse;align-items:baseline;gap:5px;display:flex}.editor-setup-counts dt{color:var(--text-dim);font-size:10px}.editor-setup-counts dd{font-variant-numeric:tabular-nums;color:#a9cfff;margin:0;font-size:14px;font-weight:650}.editor-setup-counts [data-setup-state=ongoing] dd{color:#f3cf88}.editor-setup-counts [data-setup-state=completed] dd{color:#85d8c5}.editor-setup-saved-count,.editor-setup-exceptions,.editor-setup-unavailable{color:var(--text-dim);font-size:10px}.editor-setup-compact{display:none;position:relative}.editor-setup-compact summary{cursor:pointer;color:#9ee3d5;font-variant-numeric:tabular-nums;background:#5ac9b50b;border:1px solid #5ac9b548;border-radius:6px;align-items:center;gap:7px;padding:6px 9px;list-style:none;display:flex}.editor-setup-compact summary::-webkit-details-marker{display:none}.editor-setup-compact summary:hover,.editor-setup-compact[open] summary{border-color:#85d8c5}.editor-setup-details{z-index:50;border:1px solid var(--border);background:var(--bg-panel);white-space:normal;border-radius:8px;width:min(310px,100vw - 20px);padding:14px;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 12px 32px #0006}.editor-setup-details strong{margin-bottom:12px;font-size:12px;display:block}.editor-setup-details p{color:var(--text-dim);margin:10px 0 0;font-size:11px;line-height:1.5}@media (width<=1000px){.editor-setup-wide{display:none}.editor-setup-compact{display:block}.editor-header-context{gap:12px}.editor-header-identity{flex:auto}}@media (width<=560px){.editor-header-context{flex-wrap:wrap;gap:8px 12px}.editor-header-identity{flex:100px;max-width:calc(100% - 128px)}}.properties-panel.camera-inspector{--inspector-muted:color-mix(in srgb, var(--text) 70%, var(--bg-panel));box-sizing:border-box;background:linear-gradient(180deg, #4488ff14, transparent 190px), var(--bg-panel);width:100%;min-height:100%;color:var(--text);border-left:0;flex:1 0 auto;padding:16px 14px}.camera-inspector-header{border-bottom:1px solid var(--border);padding:2px 2px 14px}.camera-inspector-kicker{color:var(--accent);letter-spacing:.12em;text-transform:uppercase;font-size:10px;font-weight:800}.camera-inspector-title-row{align-items:flex-start;gap:10px;min-width:0;margin-top:8px;display:flex}.camera-inspector-title .camera-inspector-status{margin:7px 0 0}.camera-inspector-title{flex:1;min-width:0}.camera-inspector-icon{background:#4488ff21;border:1px solid #4488ff73;border-radius:9px;flex:none;place-items:center;width:36px;height:36px;font-size:18px;display:grid}.properties-panel.camera-inspector h3{color:var(--text);margin:0;font-size:15px;line-height:1.3}.camera-inspector-title-row p{max-width:218px;color:var(--inspector-muted);text-overflow:ellipsis;white-space:nowrap;margin:3px 0 0;font-size:12px;overflow:hidden}.camera-inspector-status{white-space:nowrap;border-radius:999px;flex:none;align-items:center;margin-left:auto;padding:3px 7px;font-size:10px;font-weight:700;line-height:1.3;display:inline-flex}.camera-inspector-status.is-linked{color:#5de28a;background:#5de28a1a;border:1px solid #5de28a52}.camera-inspector-status.is-pending{color:#ffd166;background:#ffd1661a;border:1px solid #ffd16652}.camera-inspector-section{border-bottom:1px solid #7d8caa2e;padding:16px 2px}.camera-inspector-section-heading{justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:11px;display:flex}.properties-panel.camera-inspector .camera-inspector-section-heading h4{color:var(--text);letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:11px;font-weight:800}.camera-inspector-section-heading span{color:var(--inspector-muted,var(--text-dim));white-space:nowrap;font-size:10px}.properties-panel.camera-inspector .camera-field{min-width:0;color:var(--inspector-muted);margin:0 0 10px;font-size:12px;display:block}.properties-panel.camera-inspector .camera-field input,.properties-panel.camera-inspector .camera-field select{box-sizing:border-box;border:1px solid var(--border);background:var(--bg-input);width:100%;color:var(--text);font:inherit;border-radius:7px;margin-top:5px;padding:8px 9px;font-size:12px;display:block}.properties-panel.camera-inspector .camera-field input:focus,.properties-panel.camera-inspector .camera-field select:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 2px #4488ff29}.camera-field-row{gap:8px;margin-bottom:10px;display:flex}.camera-field-row>.camera-field{flex:1;margin-bottom:0}.properties-panel.camera-inspector .camera-slider{color:var(--inspector-muted);margin:0 0 13px;font-size:12px;display:block}.camera-slider-value{float:right;color:var(--text);font-variant-numeric:tabular-nums}.properties-panel.camera-inspector .camera-slider input[type=range]{width:100%;accent-color:var(--accent);background:0 0;border:0;margin-top:9px;padding:0;display:block}.camera-inspector-secondary-action{border:1px dashed var(--border);background:var(--bg-input);width:100%;min-height:32px;color:var(--text);cursor:pointer;border-radius:5px;margin:0 0 2px;padding:7px 9px;font-size:11px;font-weight:700}.camera-inspector-secondary-action:hover{border-color:var(--accent);color:var(--accent)}.camera-inspector-mount{box-sizing:border-box;width:100%;color:var(--text-dim);text-align:left;background:#8a8f981f;border:1px solid #8a8f988c;border-radius:5px;align-items:center;gap:8px;margin:0 0 11px;padding:8px 9px;font-size:11px;display:flex}.camera-inspector-mount>span{flex:1;min-width:0}.camera-inspector-mount-action{color:var(--text);cursor:pointer;border-color:#8a8f98a6;justify-content:center;font-weight:700}.camera-inspector-mount-action:hover{border-color:var(--accent);color:var(--accent)}button.camera-inspector-toggle{border:1px solid var(--border);background:var(--bg-input);width:100%;min-height:52px;color:var(--text);cursor:pointer;text-align:left;border-radius:6px;align-items:center;gap:9px;padding:9px 10px;display:flex}button.camera-inspector-toggle:hover,button.camera-inspector-toggle:focus-visible{border-color:var(--accent);outline:none}button.camera-inspector-toggle.is-active{background:#ff77661f;border-color:#f76}.camera-inspector-toggle-icon{border:1px solid var(--border);width:25px;height:25px;color:var(--text-dim);border-radius:50%;flex:none;place-items:center;font-size:13px;display:grid}.camera-inspector-toggle.is-active .camera-inspector-toggle-icon{color:#f76;border-color:#ff7766b3}.camera-inspector-toggle-text{flex:1;gap:2px;min-width:0;display:grid}.camera-inspector-toggle-text strong{color:var(--text);font-size:11px}.camera-inspector-toggle-text small{color:var(--inspector-muted);font-size:11px}.camera-inspector-toggle-state{color:var(--text-dim);font-size:9px;font-weight:800}.camera-inspector-toggle.is-active .camera-inspector-toggle-state{color:#f76}.camera-inspector-help{color:var(--text-dim);margin:12px 2px 10px;font-size:10px;line-height:1.45}.camera-inspector-actions{z-index:2;border-top:1px solid var(--border);background:color-mix(in srgb, var(--bg-panel) 94%, transparent);backdrop-filter:blur(8px);grid-template-columns:1fr 1fr;gap:8px;margin:0 -14px -16px;padding:12px 14px;display:grid;position:sticky;bottom:0}.camera-inspector-actions button{cursor:pointer;border-radius:7px;min-height:38px;font-size:12px;font-weight:800}.camera-inspector-save{border:1px solid var(--accent);background:var(--accent);color:#fff}.camera-inspector-save:hover{background:var(--accent-hover)}.camera-inspector-delete{color:var(--danger);background:#ee556617;border:1px solid #ee5566a6}.camera-inspector-delete:hover{border-color:var(--danger);background:var(--danger);color:#fff}.camera-inspector-actions button:focus-visible{outline-offset:3px;outline:2px solid #91c9ff}.camera-inspector-actions button:disabled{opacity:.6;cursor:wait}.camera-delete-dialog{border:1px solid var(--border);background:var(--bg-panel);width:min(440px,100vw - 32px);color:var(--text);border-radius:16px;margin:auto;padding:24px;box-shadow:0 24px 80px #0008}.camera-delete-dialog::backdrop{backdrop-filter:blur(4px);background:#070c18b8}.camera-delete-dialog h2{margin-bottom:14px;font-size:20px}.camera-delete-name{overflow-wrap:anywhere;color:#ffd866;display:block}.camera-delete-dialog p{color:var(--text-dim);margin-top:12px;font-size:13px;line-height:1.7}.camera-delete-dialog p[role=alert]{color:#ffacac}.camera-delete-actions{justify-content:flex-end;gap:10px;margin-top:24px;display:flex}.camera-delete-actions button{cursor:pointer;background:var(--bg-input);color:var(--text);border:1px solid var(--border);border-radius:8px;padding:10px 14px}.camera-delete-actions .camera-inspector-delete{color:#ffb4b4;background:#71263655;border-color:#b85663}.camera-delete-actions button:disabled{opacity:.55;cursor:wait}.camera-delete-actions button:focus-visible{outline-offset:3px;outline:2px solid #ffd866}.camera-planning-fields{--planning-muted:color-mix(in srgb, var(--text,#e0e0f0) 70%, var(--bg-panel,#1a1a2e));min-width:0}.camera-planning-fields p{margin:0}.camera-planning-fields .planning-muted,.camera-planning-fields small{color:var(--planning-muted);font-size:11px;line-height:1.5}.camera-planning-fields .planning-muted{margin-top:8px}.camera-planning-fields .planning-field-label{color:var(--planning-muted);margin-bottom:6px;font-size:12px;display:block}.camera-planning-fields input[type=number],.camera-planning-fields .inspector-picker-search{box-sizing:border-box;border:1px solid var(--border);background:color-mix(in srgb, var(--bg-input) 60%, var(--bg-panel));min-width:0;color:var(--text);font:inherit;border-radius:7px;margin:0;padding:8px 9px;font-size:12px}.camera-planning-fields input:focus-visible,.camera-planning-fields button:focus-visible{outline-offset:2px;outline:2px solid #91c9ff}.camera-planning-fields button:disabled{cursor:not-allowed;opacity:.55}.camera-planning-fields input[aria-invalid=true]{border-color:#edb967}.camera-planning-fields .planning-notice,.planning-notice{color:var(--text);overflow-wrap:anywhere;background:#4488ff0b;border:1px solid #579cff40;border-radius:8px;margin:0 0 10px;padding:10px 11px;font-size:12px;line-height:1.6}.planning-notice.is-warning{background:#edb9670c;border-color:#edb96755}.planning-notice p+p{margin-top:6px}.planning-notice button{border:1px solid var(--border);background:var(--bg-input);color:var(--text);cursor:pointer;border-radius:6px;margin-top:8px;padding:6px 8px;font-size:11px}.camera-planning-header{color:var(--text);gap:7px;margin-top:14px;display:grid}.camera-planning-header small{color:var(--inspector-muted);font-size:10px;line-height:1.5}.planning-header-allocation{border-top:1px solid var(--border);gap:8px;padding-top:10px;font-size:11px;display:grid}.planning-allocation-heading{color:var(--text);justify-content:space-between;align-items:center;font-weight:600;display:flex}.planning-allocation-inactive{color:#edc17e;font-size:10px;font-weight:400}.planning-allocation-counts{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0;display:grid}.planning-allocation-counts>div{flex-direction:column-reverse;gap:3px;min-width:0;display:flex}.planning-allocation-counts dt{color:var(--inspector-muted);font-size:10px;font-weight:400}.planning-allocation-counts dd{color:var(--text);font-variant-numeric:tabular-nums;margin:0;font-size:18px;font-weight:600}.planning-allocation-available dd{color:#85d8c5}.camera-planning-fields .planning-source-fps{justify-content:space-between;align-items:center;gap:12px;margin:14px 0 0;display:flex}.planning-source-fps>span{gap:3px;display:grid}.planning-source-fps strong{color:var(--text);font-size:12px;font-weight:500}.camera-planning-fields .planning-source-fps input{text-align:center;flex:0 0 76px;width:76px}.inspector-picker{min-width:0}.inspector-picker-trigger{border:1px solid var(--border);background:color-mix(in srgb, var(--bg-input) 60%, var(--bg-panel));width:100%;min-height:44px;color:var(--text);text-align:left;cursor:pointer;border-radius:8px;justify-content:space-between;align-items:center;gap:10px;padding:10px;display:flex}.inspector-picker-trigger:hover,.inspector-picker-trigger[aria-expanded=true]{border-color:var(--accent)}.inspector-choice-copy{overflow-wrap:anywhere;flex:1;gap:4px;min-width:0;display:grid}.inspector-choice-copy strong{font-size:13px;font-weight:600;line-height:1.5}.inspector-choice-copy .inspector-choice-suffix{white-space:nowrap;font-size:11px;font-weight:400}.inspector-picker-chevron{color:#8dbdff;flex:none}.inspector-picker-menu{background:var(--bg-dark);border:1px solid #4488ff65;border-radius:9px;margin-top:7px;padding:7px}.camera-planning-fields .inspector-picker-search{width:100%;margin-bottom:6px;display:block}.inspector-picker-options{overscroll-behavior:contain;scrollbar-width:thin;max-height:232px;overflow-y:auto}.inspector-picker-option{width:100%;color:var(--text);text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;align-items:center;gap:6px;padding:9px 7px;display:flex}.inspector-picker-option:hover:not(:disabled){background:#4488ff15}.inspector-picker-option[aria-selected=true]{background:#4488ff1c;border-color:#48f5}.inspector-choice-check{color:#8dbdff}.planning-free-standing{background:#5ac9b507;border:1px solid #5ac9b536;border-radius:8px;align-items:center;gap:10px;padding:10px;display:flex}.planning-free-standing strong{color:var(--text);font-size:12px;font-weight:600}.planning-free-standing p{color:var(--planning-muted);margin-top:3px;font-size:11px;line-height:1.5}.planning-mount-icon{color:#82d7c8;background:#5ac9b517;border-radius:6px;flex:0 0 30px;place-items:center;height:30px;font-size:21px;display:grid}.camera-planning-fields .planning-offset{gap:5px;margin:12px 0;display:grid}.camera-planning-fields .planning-offset input{width:100%}.camera-planning-fields .planning-facts{grid-template-columns:1fr 1fr;gap:8px;margin-top:12px;display:grid}.planning-facts>div{background:color-mix(in srgb, var(--bg-input) 40%, transparent);border-radius:7px;min-width:0;padding:10px}.planning-facts dt{color:var(--planning-muted);margin-bottom:6px;font-size:11px}.planning-facts dd{color:var(--text);font-variant-numeric:tabular-nums;font-size:16px;font-weight:600}.planning-facts dd span{color:var(--planning-muted);font-size:11px;font-weight:400}.camera-planning-fields .planning-save-note{color:#97bfff;margin-top:8px;font-size:11px;line-height:1.5}.planning-options{gap:7px;margin-top:12px;display:grid}.planning-option{background:color-mix(in srgb, var(--bg-input) 35%, transparent);border:1px solid #0000;border-radius:8px;padding:6px 9px}.planning-option.is-selected{background:#4488ff0c;border-color:#4488ff38}.planning-option.needs-attention{background:#e8b7650b;border-color:#e8b76580}.planning-analytics-context{color:var(--planning-muted);font-size:11px;line-height:1.5}.planning-analytics-context strong{color:var(--text);font-weight:500}.planning-analytics-notice{color:#edc17e;background:#e8b7650b;border-left:2px solid #edc17e;margin-top:10px;padding:8px 10px;font-size:11px;line-height:1.5}.planning-analytics-notice p+p{margin-top:4px}.planning-option-row{justify-content:space-between;align-items:center;gap:6px;min-height:30px;display:flex}.camera-planning-fields .planning-option-toggle{min-width:0;color:var(--text);cursor:pointer;flex:1;align-items:center;gap:8px;margin:0;font-size:13px;font-weight:500;line-height:1.4;display:flex}.camera-planning-fields .planning-option-toggle input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent);cursor:pointer;flex:0 0 16px;margin:0;padding:0;display:block}.planning-option-toggle:has(input:disabled){cursor:not-allowed}.planning-option.is-unavailable .planning-option-toggle span{color:var(--planning-muted)}.planning-option-status{color:var(--planning-muted);white-space:nowrap;font-size:10px}.planning-option:not(.is-unavailable) .planning-option-status{color:#85d8c5}.planning-option.needs-attention .planning-option-status{color:#edc17e;font-weight:600}.planning-option.needs-attention .planning-option-toggle span{color:var(--text)}.planning-option-details{margin-left:24px}.planning-option-details summary{min-height:22px;color:var(--planning-muted);cursor:pointer;justify-content:space-between;align-items:center;gap:8px;font-size:11px;list-style:none;display:flex}.planning-option-details summary::-webkit-details-marker{display:none}.planning-option-details summary:hover{color:var(--text)}.planning-option-details summary:focus-visible{outline-offset:2px;border-radius:3px;outline:2px solid #91c9ff}.planning-details-chevron{color:#8dbdff;font-size:15px}.planning-option-details[open] .planning-details-chevron{transform:rotate(180deg)}.planning-option-details:not([open]) .planning-option-reason{display:none}.camera-planning-fields .planning-option-reason{border-top:1px solid var(--border);overflow-wrap:anywhere;margin-top:5px;padding-top:5px;font-size:11px;line-height:1.5;display:block}.planning-condition{gap:2px;padding:4px 0;display:grid}.planning-condition-heading{align-items:center;gap:5px;display:flex}.planning-condition-heading strong{font-size:11px;font-weight:500}.planning-condition-heading>span:last-child{margin-left:auto;font-size:10px}.planning-condition.is-pass .planning-condition-heading{color:#85d8c5}.planning-condition.is-pass>span:last-child{color:var(--planning-muted)}.planning-condition.is-fail .planning-condition-heading,.planning-option.needs-attention .planning-option-reason,.camera-planning-fields .planning-option-error{color:#edc17e}.camera-planning-fields .planning-option-error{margin:6px 0 0 24px;display:block}.camera-planning-fields .planning-catalog-note{color:var(--planning-muted);overflow-wrap:anywhere;margin-top:12px;font-size:10px}.planning-validation-feedback{z-index:40;border:1px solid var(--border);background:var(--bg-panel);max-width:min(520px,80vw);max-height:65vh;color:var(--text);border-radius:10px;padding:16px;position:fixed;top:80px;left:335px;overflow:auto;box-shadow:0 12px 40px #0008}.planning-validation-feedback>button{float:right}.planning-validation-feedback p{color:var(--text-dim);font-size:12px}.planning-validation-feedback li{margin-block:6px}.inspector-heading{justify-content:space-between;align-items:center;gap:10px;margin-bottom:14px;display:flex}.inspector-heading h3{min-width:0;margin:0}.inspector-dismiss{border:1px solid var(--border);width:32px;height:32px;color:var(--text);cursor:pointer;background:0 0;border-radius:7px;flex:0 0 32px;place-items:center;margin:0 0 0 auto;padding:0;display:grid}.inspector-dismiss:hover{background:#4488ff18;border-color:#8dbdff}.inspector-dismiss:focus-visible{outline-offset:2px;outline:2px solid #91c9ff}.draft-recovery-dialog{border:1px solid var(--border);width:min(480px,100vw - 32px);max-height:calc(100dvh - 40px);color:var(--text);background:var(--bg-panel);border-radius:18px;margin:auto;padding:0;overflow-y:auto;box-shadow:0 24px 80px #00000073}.draft-recovery-dialog::backdrop{backdrop-filter:blur(4px);background:#070c18ad}.draft-recovery-content{padding:28px 28px 22px}.draft-recovery-icon{border:1px solid color-mix(in srgb, var(--accent) 35%, var(--border));width:46px;height:46px;color:var(--accent);background:color-mix(in srgb, var(--accent) 10%, var(--bg-panel));border-radius:14px;place-items:center;margin-bottom:20px;font-size:27px;display:grid}.draft-recovery-eyebrow{color:var(--accent);letter-spacing:.08em;text-transform:uppercase;margin-bottom:8px;font-size:10px;font-weight:650}.draft-recovery-dialog h2{letter-spacing:-.03em;margin-bottom:12px;font-size:22px;line-height:1.3}#draft-recovery-description{color:var(--text-dim);margin-bottom:18px;font-size:13px;line-height:1.7}.draft-recovery-layout{border:1px solid var(--border);background:var(--bg-input);border-radius:10px;gap:7px;padding:14px 16px;display:grid}.draft-recovery-layout span{color:var(--text-dim);font-size:10px}.draft-recovery-layout strong{overflow-wrap:anywhere;font-size:13px;font-weight:600}.draft-recovery-note{color:var(--text-dim);margin-top:16px;font-size:12px;line-height:1.65}.draft-recovery-footer{border-top:1px solid var(--border);padding:18px 28px 24px}.draft-recovery-footer p{color:var(--text-dim);margin-bottom:16px;font-size:11px;line-height:1.6}.draft-recovery-actions{justify-content:flex-end;gap:10px;display:flex}.draft-recovery-actions button{cursor:pointer;border-radius:9px;padding:11px 16px;font-size:12px;font-weight:600;transition:background .15s}.draft-recovery-discard{background:var(--bg-input);border:1px solid var(--border);color:var(--text-dim)}.draft-recovery-discard:hover{color:var(--text);background:var(--bg-panel)}.draft-recovery-restore{border:1px solid var(--accent);background:var(--accent);color:#fff}.draft-recovery-restore:hover{background:var(--accent-hover)}.draft-recovery-actions button:focus-visible{outline:2px solid var(--accent);outline-offset:3px}@media (width<=480px){.draft-recovery-content{padding:22px}.draft-recovery-footer{padding:18px 22px 22px}.draft-recovery-actions button{flex:1}}.toolbar-planning-action,.toolbar-planning-action>.tool-btn{flex:none}.editor-version-panel{z-index:30;box-sizing:border-box;border:1px solid var(--border);width:min(480px,100vw - 28px);max-height:calc(100% - 24px);color:var(--text);background:var(--bg-panel);border-radius:10px;flex-direction:column;padding:16px;display:flex;position:absolute;top:12px;right:14px;overflow:hidden;box-shadow:0 18px 48px #0000006b}.editor-version-panel-header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.editor-version-panel-header>div{gap:4px;min-width:0;display:grid}.editor-version-eyebrow{color:var(--accent);letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:10px;font-weight:700}.editor-version-panel h2{margin:0;font-size:16px}.editor-version-panel-header span,.editor-version-note,.editor-version-empty,.editor-version-loading{color:var(--text-dim);font-size:11px}.editor-version-panel{background:#141b2c;border-color:#39445d;border-radius:16px;width:min(440px,100vw - 28px);padding:20px;box-shadow:0 20px 64px #0008}.editor-version-panel h2{letter-spacing:-.02em;font-size:18px;font-weight:650}.editor-version-panel-header{margin-bottom:16px}.editor-version-panel-header>div{gap:7px}.editor-version-panel-header>div>span{overflow-wrap:anywhere;font-size:12px}.editor-version-close{background:0 0;border-radius:8px;width:32px;height:32px}.editor-version-close:hover{background:#26334c}.editor-version-close:focus-visible{outline-offset:3px;outline:2px solid #8bb4ff}.editor-version-summary{color:#c3d2e9;background:#23324b;border-radius:9px;justify-content:space-between;align-items:center;margin:0 0 16px;padding:11px 13px;font-size:12px;display:flex}.editor-version-summary strong{color:#edf5ff;font-size:13px}.editor-version-list{scrollbar-width:thin;scrollbar-color:#526381 transparent;gap:10px}.editor-version-row{background:#1b2539;border-radius:11px;gap:14px;padding:12px 14px}.editor-version-row.viewing{background:#20324e;border-color:#79aaff;box-shadow:inset 3px 0 #79aaff}.editor-version-row.current:not(.viewing){border-color:#466459}.editor-version-open{gap:8px;padding:2px 0}.editor-version-label{gap:7px}.editor-version-row small{color:#aebcd1;white-space:normal;font-size:11px;line-height:1.5}.editor-version-current,.editor-version-viewing{letter-spacing:.025em;padding:3px 7px;font-size:9px}.editor-version-row-hint{color:#9db9e2;font-size:11px;line-height:1.4;display:block}.editor-version-actions .tool-btn{background:0 0;border-color:#536583;border-radius:7px;min-height:34px;padding:7px 12px;font-size:12px}.editor-version-actions .tool-btn:hover:not(:disabled){background:#31415d;border-color:#91b3e7}.editor-version-note{border-top:1px solid #303c52;margin:16px 0 0;padding-top:13px;font-size:11px;line-height:1.7}.editor-version-close{border:1px solid var(--border);width:30px;height:30px;color:var(--text);background:var(--bg-input);cursor:pointer;border-radius:6px;flex:none;place-items:center;font-size:18px;display:grid}.editor-version-note{margin:12px 0;line-height:1.5}.editor-version-notice,.editor-version-error{border:1px solid var(--border);border-radius:6px;margin:0 0 10px;padding:8px 10px;font-size:11px;line-height:1.4}.editor-version-notice{color:#b4f5d7;background:#12372c;border-color:#2d8568}.editor-version-error{color:#ffc4be;background:#351a23;border-color:#803b46}.editor-version-list{gap:7px;min-height:0;padding-right:2px;display:grid;overflow:auto}.editor-version-row{border:1px solid var(--border);background:var(--bg-input);border-radius:7px;justify-content:space-between;align-items:center;gap:12px;padding:9px;display:flex}.editor-version-row.current{border-color:#77e4b573}.editor-version-row.viewing{border-color:#8bb4ff;box-shadow:inset 3px 0 #8bb4ff}.editor-version-row:not(.viewing):has(.editor-version-open:not(:disabled)){cursor:pointer}.editor-version-row:not(.viewing):has(.editor-version-open:not(:disabled)):hover{border-color:#8bb4ff}.editor-version-open{color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;flex:1;padding:4px 0}.editor-version-open:disabled{cursor:default;opacity:1}.editor-version-open:focus-visible{outline-offset:4px;border-radius:3px;outline:2px solid #8bb4ff}.editor-version-viewing{color:#d4e4ff;text-transform:uppercase;background:#3b6cc044;border-radius:999px;padding:2px 6px;font-size:9px;font-weight:700}.editor-version-label{flex-wrap:wrap}.editor-version-details{gap:4px;min-width:0;display:grid}.editor-version-label{align-items:center;gap:8px;display:flex}.editor-version-label strong{font-size:12px}.editor-version-current{color:#b7f5d9;text-transform:uppercase;background:#256c542e;border:1px solid #77e4b561;border-radius:999px;padding:2px 6px;font-size:9px;font-weight:700}.editor-version-row small{color:var(--text-dim);text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.editor-version-actions{flex:none;gap:6px;display:flex}.editor-version-actions .tool-btn{flex:none}.editor-version-empty,.editor-version-loading{margin:0;padding:10px 0}@media (width<=640px){.editor-version-panel{width:calc(100vw - 16px);max-height:calc(100% - 16px);padding:12px;top:8px;right:8px}.editor-version-row{align-items:flex-start}}.home{color:#e6ecff;box-sizing:border-box;background:radial-gradient(1200px 600px at 20% 0,#1a2338 0%,#0b0f1a 60%);min-height:100vh;padding:32px 48px 64px;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif}.home-center{justify-content:center;align-items:center;display:flex}.home-center-inner{text-align:center}.home-auth-status{text-align:center;color:#aebbd4;max-width:420px;line-height:1.6}.home-auth-status button:focus-visible{outline-offset:4px;outline:2px solid #93c5fd}.home-center-inner h1{letter-spacing:-.5px;margin:0 0 12px;font-size:38px}.home-poweredby{color:#8ea0c4;letter-spacing:.25px;align-items:center;gap:8px;font-size:12px;display:flex;position:fixed;bottom:20px;right:28px}.home-poweredby img{width:auto;height:24px;display:block}.home-cta-center{flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;display:flex}.home-hero{justify-content:space-between;align-items:center;gap:32px;margin-bottom:32px;display:flex}.home-hero h1{letter-spacing:-.5px;margin:0;font-size:34px}.home-hero .tagline{color:#8ea0c4;margin:4px 0 0;font-size:14px}.home-cta{gap:12px;display:flex}.btn{border-radius:10px;padding:12px 22px;font-size:14px;font-weight:600;text-decoration:none;transition:transform 80ms,background .12s;display:inline-block}.btn:hover{transform:translateY(-1px)}.btn-primary{color:#fff;background:#3b82f6}.btn-primary:hover{background:#2563eb}.home .btn:disabled{opacity:.45;cursor:not-allowed;transform:none}.btn-secondary{color:#e6ecff;background:0 0;border:1px solid #346}.btn-secondary:hover{background:#1a2338}.home-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;display:grid}.card{background:#111726;border:1px solid #1e2a44;border-radius:14px;padding:18px 20px}.card h2{color:#8ea0c4;text-transform:uppercase;letter-spacing:1px;margin:0 0 12px;font-size:15px}.card dl{grid-template-columns:auto 1fr;gap:6px 16px;margin:0;font-size:13px;display:grid}.card dt{color:#8ea0c4}.card dd{color:#e6ecff;margin:0;font-family:ui-monospace,Consolas,monospace}.ok{color:#4ade80;font-weight:600}.err{color:#f87171}.errors{color:#f87171;padding-left:18px;font-size:12px}.layouts{max-height:240px;margin:0;padding:0;list-style:none;overflow-y:auto}.layouts li{border-radius:8px;justify-content:space-between;align-items:center;padding:8px 10px;font-size:13px;display:flex}.layouts li:hover{background:#1a2338}.layouts li a{color:#60a5fa;font-size:12px;text-decoration:none}.phases{counter-reset:phase;margin:0;padding:0;font-size:13px;list-style:none}.phases li{color:#8ea0c4;padding:6px 0 6px 18px;position:relative}.phases li:before{content:"○";color:#346;position:absolute;left:0}.phases li.done{color:#4ade80}.phases li.done:before{content:"✓";color:#4ade80}.phases li.active{color:#e6ecff;font-weight:600}.phases li.active:before{content:"●";color:#3b82f6}.setup-page{box-sizing:border-box;height:100vh;min-height:0;color:var(--text);background:var(--bg-dark);flex-direction:column;font-family:inherit;display:flex;position:relative;overflow:hidden}.setup-header,.setup-progress,.setup-workspace-grid,.setup-zone-editor{max-width:none;margin:0}.setup-header{box-sizing:border-box;background:var(--bg-panel);border-bottom:1px solid var(--border);flex:none;align-items:center;gap:10px;min-height:54px;padding:6px 12px;display:flex;overflow:hidden}.setup-header h1,.setup-panel-heading h2,.setup-zone-editor h2{color:var(--text);margin:0}.setup-header h1{letter-spacing:0;font-size:16px;font-weight:600}.setup-home-link{color:var(--text);border:1px solid var(--border);background:var(--bg-input);border-radius:4px;padding:5px 10px;font-size:12px;text-decoration:none}.setup-home-link:hover{background:var(--accent);border-color:var(--accent);color:#fff}.setup-eyebrow{color:var(--accent);letter-spacing:.08em;text-transform:uppercase;margin:0 0 5px;font-size:10px;font-weight:700}.setup-header-event{min-width:0;color:var(--text-dim);flex:360px;align-items:center;gap:8px;font-size:11px;display:flex}.setup-header-event label{color:var(--text-dim);flex:none;align-items:center;gap:6px;font-weight:600;display:flex}.setup-header-event select{flex:0 0 190px;width:190px;min-width:0}.setup-zone-editor-form label{color:var(--text-dim);gap:5px;font-weight:600;display:grid}.setup-header-event select,.setup-page input,.setup-page textarea,.setup-page select{box-sizing:border-box;border:1px solid var(--border);background:var(--bg-input);width:100%;color:var(--text);font:inherit;border-radius:3px;padding:6px 8px;font-size:12px}.setup-page input:focus,.setup-page textarea:focus,.setup-page select:focus{border-color:var(--accent);outline:none}.setup-page textarea{resize:vertical;min-height:72px}.setup-progress{box-sizing:border-box;background:0 0;border:0;flex-wrap:nowrap;flex:none;align-items:stretch;gap:4px;min-height:0;padding:0;display:flex}.setup-progress>div{border:1px solid var(--border);background:var(--bg-panel);border-radius:3px;gap:2px;min-width:110px;padding:6px 9px;display:grid}.setup-header .setup-progress>div{min-width:72px;padding:4px 6px}.setup-progress strong{color:var(--text);font-size:12px}.setup-progress span{color:var(--text-dim);white-space:nowrap;font-size:9px}.setup-progress>p{color:#ffd68b;white-space:nowrap;border-left:2px solid #f0b34a;align-self:center;margin:0;padding:4px 7px;font-size:10px}.setup-workspace-grid{flex:auto;grid-template-rows:minmax(0,1fr);grid-template-columns:220px minmax(0,1fr);align-items:stretch;gap:0;min-height:0;display:grid;overflow:hidden}.setup-queue-panel,.setup-map-panel,.setup-inspector-panel,.setup-zone-editor,.setup-right-rail{background:var(--bg-panel);box-shadow:none;border:0;border-radius:0}.setup-queue-panel,.setup-map-panel,.setup-inspector-panel{box-sizing:border-box;height:100%;min-height:0;padding:10px}.setup-queue-panel{border-right:1px solid var(--border);overflow:hidden}.setup-map-panel{border-right:1px solid var(--border);background:var(--canvas-bg)}.setup-right-rail{flex-direction:column;min-width:0;height:100%;min-height:0;display:flex;overflow:hidden}.setup-right-rail .setup-inspector-panel{flex:auto;height:auto;min-height:0;overflow:auto}.setup-panel-heading{justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:14px;display:flex}.setup-panel-heading h2{font-size:13px}.setup-field-label{color:var(--text-dim);margin:9px 0 5px;font-size:11px;font-weight:600;display:block}.setup-queue-list{gap:7px;margin-top:14px;display:grid}.setup-queue-row{text-align:left;border:1px solid var(--border);background:var(--bg-input);color:var(--text);cursor:pointer;border-radius:3px;justify-content:space-between;gap:8px;padding:8px;display:flex}.setup-queue-row:hover,.setup-queue-row:focus-visible,.setup-queue-row-selected{border-color:var(--accent);background:#48f3;outline:none}.setup-queue-row strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.setup-queue-row small{color:var(--text-dim)}.setup-status{white-space:nowrap;border:1px solid #0000;border-radius:999px;align-self:start;align-items:center;gap:6px;padding:5px 8px;font-size:10px;font-weight:750;line-height:1.2;display:inline-flex}.setup-status:before{content:"";background:currentColor;border-radius:50%;flex:0 0 6px;width:6px;height:6px}.setup-status-good{color:#a9efc9;background:#18604373;border-color:#5ecf9466}.setup-status-warn{color:#ffdfa2;background:#6843166e;border-color:#e9b0536b}.setup-status-bad{color:#ffb9b2;background:#6f272e6e;border-color:#ef706d6e}.setup-status-waived{color:#d8c5ff;background:#4b35786b;border-color:#aa86ed6e}.setup-muted,.setup-help-text,.setup-readonly-line{color:var(--text-dim);font-size:12px;line-height:1.5}.setup-map-panel{flex-direction:column;min-width:0;display:flex;overflow:hidden}.setup-secondary-button,.setup-primary-button{border:1px solid var(--border);color:var(--text);background:var(--bg-input);cursor:pointer;font:inherit;border-radius:3px;padding:5px 9px;font-size:12px}.setup-secondary-button:hover{background:var(--accent);border-color:var(--accent);color:#fff}.setup-primary-button{border-color:var(--accent);background:var(--accent);color:#fff;font-weight:700}.setup-primary-button:hover{background:var(--accent-hover)}.setup-primary-button:disabled,.setup-secondary-button:disabled{opacity:.45;cursor:not-allowed}.setup-map-canvas{border:1px solid var(--border);background:var(--canvas-bg);touch-action:none;border-radius:0;flex:auto;min-height:0;position:relative;overflow:hidden}.setup-map-render{background:var(--canvas-bg);width:100%;height:100%;min-height:0;display:block}.setup-map-hit-layer{pointer-events:none;width:100%;height:100%;display:block;position:absolute;inset:0}.setup-map-hit{pointer-events:auto;fill:#0000;stroke:#0000;cursor:pointer;outline:none}.setup-map-hit:focus-visible{outline:none}.setup-map-zone-hit,.setup-map-camera-hit{fill:#0000;stroke:#0000}.setup-map-calibration-preview-host{z-index:4;pointer-events:none;position:absolute;inset:0;overflow:hidden}.setup-map-calibration-preview-host:has(.setup-map-calibration-preview.is-editing):before{z-index:0;backdrop-filter:blur(2px);content:"";pointer-events:none;background:#0408126b;position:absolute;inset:0}.setup-map-calibration-preview{z-index:1;box-sizing:border-box;pointer-events:auto;background:#0a0e1bfa;border:1px solid #90b0ff85;border-radius:16px;grid-template-rows:auto minmax(0,1fr) auto;width:min(1120px,100% - 48px);height:min(82vh,760px);max-height:min(84%,820px);display:grid;position:absolute;top:50%;left:50%;overflow:hidden;transform:translate(-50%,-50%);box-shadow:0 28px 78px #0000009e,0 0 0 1px #97b5ff14,0 0 52px #3d69c829}.setup-map-source-preview{z-index:1;box-sizing:border-box;pointer-events:none;background:#0a0e1bf5;border:1px solid #78a8ff85;border-radius:11px;width:clamp(240px,34%,460px);max-height:min(44%,350px);position:absolute;top:16px;right:16px;overflow:hidden;box-shadow:0 14px 34px #0000006b,0 0 0 2px #3969cc1f}.setup-map-source-preview .setup-map-calibration-preview-heading{gap:8px;min-height:0;padding:7px 9px}.setup-map-source-preview .setup-map-calibration-preview-heading strong{font-size:10px}.setup-map-source-preview .setup-map-calibration-preview-heading span{font-size:8px}.setup-map-calibration-preview-heading{background:linear-gradient(110deg,#1b2643fa,#0f1525fa);border-bottom:1px solid #78a8ff29;justify-content:space-between;align-items:center;gap:14px;min-width:0;min-height:58px;padding:9px 14px;display:flex}.setup-map-calibration-preview-title{align-items:center;gap:10px;min-width:0;display:flex}.setup-map-calibration-preview-title>div{gap:3px;min-width:0;display:grid}.setup-map-calibration-preview-reticle{color:#9ec0ff;background:#5d84d821;border:1px solid #78a8ff47;border-radius:10px;flex:none;place-items:center;width:34px;height:34px;font-size:21px;line-height:1;display:grid}.setup-map-calibration-preview-heading strong{color:#f2f5ff;letter-spacing:.01em;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:760;overflow:hidden}.setup-map-calibration-preview-title h3{color:#f2f5ff;margin:0;font-size:13px;line-height:1.5}.setup-map-calibration-preview-title h3:focus-visible{outline-offset:3px;border-radius:3px;outline:2px solid #9ec0ff}.setup-map-calibration-preview-heading span{color:#9aa9c9;text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.setup-map-calibration-preview-status{color:#c1d1f2;background:#35487433;border:1px solid #78a8ff33;border-radius:999px;flex:none;align-items:center;gap:7px;min-height:28px;padding:0 10px;font-size:10px;font-weight:700;display:inline-flex}.setup-map-calibration-preview-status i{background:#8db5ff;border-radius:50%;width:7px;height:7px;box-shadow:0 0 10px #8db5ff8f}.setup-map-calibration-preview-status.is-ready{color:#a8f0cd;background:#256c5429;border-color:#77e4b540}.setup-map-calibration-preview-status.is-ready i{background:#77e4b5;box-shadow:0 0 10px #77e4b580}.setup-map-source-preview>img{aspect-ratio:16/10;object-fit:contain;background:#080b14;width:100%;min-width:0;max-height:min(68vh,640px);display:block}.setup-map-calibration-preview-body{background:radial-gradient(#1c294485,#070a12 82%);min-width:0;min-height:0;padding:10px;overflow:hidden}.setup-map-calibration-preview .setup-calibration-view{aspect-ratio:auto;background:#080b12;border:1px solid #a6bce626;border-radius:10px;height:100%;min-height:0;max-height:none;box-shadow:inset 0 0 0 1px #ffffff06}.setup-map-calibration-preview-toolbar{background:#0f1422fa;border-top:1px solid #78a8ff24;justify-content:space-between;align-items:center;gap:14px;min-width:0;min-height:62px;padding:8px 12px;display:flex}.setup-map-calibration-tool-label{align-items:center;gap:9px;min-width:0;display:flex}.setup-map-calibration-tool-label>svg{box-sizing:border-box;color:#87e8bd;fill:#77e4b51f;stroke:currentColor;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;background:#287d5f24;border:1px solid #77e4b538;border-radius:9px;flex:none;width:30px;height:30px;padding:6px}.setup-map-calibration-tool-label>div{gap:3px;min-width:0;display:grid}.setup-map-calibration-tool-label strong{color:#e8f4ef;font-size:11px}.setup-map-calibration-tool-label small{color:#8290a9;text-overflow:ellipsis;white-space:nowrap;font-size:9px;overflow:hidden}.setup-map-calibration-preview-actions{flex:none;gap:7px;display:flex}.setup-preview-tool-button{color:#cbd4e8;cursor:pointer;min-height:34px;font:inherit;background:#2a334b9e;border:1px solid #8a9dc938;border-radius:8px;padding:0 12px;font-size:10px;font-weight:700}.setup-preview-tool-button:hover:not(:disabled){background:#41527c99;border-color:#a1b9f48c}.setup-preview-tool-button.is-primary{color:#baf5dc;background:#2e856445;border-color:#77e4b56b}.setup-preview-tool-button:disabled{opacity:.4;cursor:not-allowed}.setup-inspector-panel{overflow:auto}.setup-inspector-section{border-top:1px solid var(--border);margin-top:12px;padding-top:10px}.setup-inspector-section h3{color:var(--accent);margin:0 0 8px;font-size:12px}.setup-position-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.setup-position-grid label,.setup-inline-fields label{color:var(--text-dim);gap:4px;font-size:11px;font-weight:600;display:grid}.setup-action-row{flex-wrap:wrap;gap:7px;margin-top:10px;display:flex}.setup-safe-status{color:var(--text-dim);margin:7px 0;font-size:12px;line-height:1.5}.setup-inline-fields{grid-template-columns:1fr 1fr;gap:8px;margin-bottom:9px;display:grid}.setup-alert{border-radius:6px;margin:10px 0;padding:9px 10px;font-size:12px;line-height:1.45}.setup-alert-error,.setup-inline-error{color:#ffc4be;background:#351a23;border:1px solid #803b46}.setup-alert-success{color:#b4f5d7;background:#12372c;border:1px solid #2d8568}.setup-alert-warning{color:#ffe2a8;background:#352b16;border:1px solid #80652e}.setup-state-card{border:1px solid var(--border);background:var(--bg-panel);max-width:720px;color:var(--text-dim);border-radius:4px;gap:11px;margin:72px auto;padding:22px;line-height:1.5;display:grid}.setup-state-card strong{color:var(--text);font-size:16px}.setup-state-error{border-color:var(--danger)}.setup-zone-editor{border-top:1px solid var(--border);flex:none;grid-template-columns:1fr;gap:8px;min-height:0;margin:0;padding:10px;display:grid;overflow:auto}.setup-right-rail .setup-zone-editor h2{font-size:13px}.setup-zone-editor p{color:var(--text-dim);font-size:12px;line-height:1.5}.setup-zone-editor-form{align-content:start;gap:9px;display:grid}.setup-zone-editor-form input{margin-top:2px}.setup-inline-error{margin:0;padding:8px;font-size:12px}.setup-status-bar{box-sizing:border-box;background:var(--bg-panel);border-top:1px solid var(--border);min-height:24px;color:var(--text-dim);white-space:nowrap;flex:none;align-items:center;gap:20px;padding:4px 12px;font-size:11px;display:flex;overflow:hidden}.setup-edit-layout-button{border:1px solid var(--accent);color:#fff;background:var(--accent);cursor:pointer;border-radius:3px;align-items:center;margin-left:auto;padding:5px 10px;font-size:12px;font-weight:700;text-decoration:none;display:inline-flex}.setup-edit-layout-button:hover{background:var(--accent-hover)}@media (width<=1180px){.setup-workspace-grid{grid-template-columns:220px minmax(0,1fr)}.setup-workspace-grid-with-inspector{grid-template-columns:220px minmax(0,1fr) 280px}}@media (width<=760px){.setup-page{padding:0}.setup-header{flex-direction:column;align-items:flex-start;height:auto;max-height:none;overflow:visible}.setup-header-event{flex-direction:column;flex:none;align-items:flex-start;width:100%}.setup-header .setup-progress{flex-wrap:wrap;width:100%}.setup-workspace-grid{flex-direction:column;display:flex}.setup-queue-panel,.setup-map-panel,.setup-inspector-panel{box-sizing:border-box;width:100%;min-height:0}.setup-workspace-grid{overflow:auto}.setup-map-canvas,.setup-map-render{min-height:360px}.setup-map-calibration-preview{border-radius:12px;width:calc(100% - 20px);max-height:min(90%,760px)}.setup-map-source-preview{width:min(68%,360px);max-height:40%;top:10px;right:10px}.setup-map-calibration-preview-heading{min-height:50px;padding:7px 9px}.setup-map-calibration-preview-reticle{width:30px;height:30px}.setup-map-calibration-preview-body{padding:7px}.setup-map-calibration-preview .setup-calibration-view{min-height:160px}.setup-map-calibration-preview-toolbar{gap:8px;min-height:56px;padding:7px}.setup-map-calibration-tool-label small{max-width:180px}.setup-preview-tool-button{min-height:32px;padding:0 8px}.setup-map-source-preview>img{max-height:min(58vh,460px)}.setup-right-rail,.setup-right-rail .setup-inspector-panel{height:auto;overflow:visible}.setup-status-bar{overflow-x:auto}}@media (width<=560px){.setup-map-calibration-preview-toolbar{flex-direction:column;align-items:stretch}.setup-map-calibration-tool-label small{white-space:normal;max-width:none}.setup-map-calibration-preview-actions{grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.setup-preview-tool-button{min-width:0;padding:0 5px}}.setup-page{--setup-surface:#121626f5;--setup-surface-raised:#1b2035f5;--setup-surface-soft:#282f4c8f;--setup-line:#889bd32e;--setup-line-strong:#889bd357;--setup-blue:#78a8ff;--setup-cyan:#64d9e7;--setup-green:#77e4b5;--setup-amber:#f4c266;--setup-shadow:0 18px 44px #0003;letter-spacing:.01em;background:#0a0d17}.setup-page button,.setup-page input,.setup-page textarea,.setup-page select{transition:border-color .16s,background .16s,box-shadow .16s,transform .16s}.setup-header{z-index:3;box-sizing:border-box;border-bottom:1px solid var(--setup-line-strong);background:linear-gradient(#191d34fc,#111423fc);grid-template-columns:auto minmax(220px,250px) auto minmax(0,1fr) auto;align-items:center;gap:0 12px;height:60px;min-height:60px;padding:8px 14px;display:grid;position:relative;box-shadow:0 8px 26px #00000029}.setup-header-primary{align-items:center;gap:13px;min-width:0;display:flex}.setup-home-link{border:1px solid var(--setup-line-strong);color:#edf2ff;background:#1f2540d1;border-radius:9px;justify-content:center;align-items:center;min-width:56px;height:34px;padding:0 12px;font-size:11px;font-weight:700;text-decoration:none;display:inline-flex}.setup-home-link:hover{border-color:var(--setup-blue);color:#fff;background:#567ed547;transform:translateY(-1px)}.setup-header-event{width:100%;min-width:0}.setup-header-event label{gap:4px;display:grid}.setup-select-label{color:#929cbd;letter-spacing:.11em;text-transform:uppercase;font-size:9px;font-weight:700}.setup-header-event select{border-color:var(--setup-line-strong);background:#222845e0;border-radius:8px;width:100%;min-width:0;height:34px;padding:0 10px;font-size:11px;font-weight:650}.setup-header-event select:focus{border-color:var(--setup-blue);box-shadow:0 0 0 3px #78a8ff21}.setup-header-map-controls-host{flex:none;align-items:center;min-width:0;display:flex}.setup-header-map-controls{align-items:center;gap:5px;display:flex}.setup-header-map-controls button{border:1px solid var(--setup-line-strong);min-height:31px;color:var(--text);cursor:pointer;font:inherit;background:#1f2640e6;border-radius:8px;padding:0 9px;font-size:10px;font-weight:680}.setup-header-map-controls button:hover{border-color:var(--setup-blue);color:#fff;background:#4a6fbb61;transform:translateY(-1px)}.setup-header-map-controls .setup-map-toggle.active{border-color:var(--setup-blue);background:#5384e2db;box-shadow:0 5px 14px #3f69ca3d}.setup-header .setup-progress{justify-self:end;gap:5px;margin-left:0}.setup-header .setup-progress>div{box-sizing:border-box;border:1px solid var(--setup-line);background:#1b2035cc;border-radius:9px;flex:0 0 88px;width:88px;min-width:88px;min-height:43px;padding:7px 8px}.setup-header .setup-progress strong{color:#f1f4ff;font-size:12px;font-weight:760}.setup-header .setup-progress span{color:#8994b5;letter-spacing:.02em;white-space:normal;font-size:8px;line-height:1.1}.setup-header .setup-progress>p{border-left:2px solid var(--setup-amber);color:#f5d18a;margin-left:2px;font-size:9px}.setup-header-actions{justify-self:end;align-items:center;gap:6px;display:flex}.setup-stage-nav{align-items:center;gap:5px;display:flex}.setup-stage-nav a{box-sizing:border-box;white-space:nowrap;align-items:center;min-height:31px;text-decoration:none;display:inline-flex}.setup-edit-layout-button{background:linear-gradient(#6d9fff,#4d7fe5);border-radius:9px;height:34px;margin-left:0;padding:0 13px;font-size:11px;box-shadow:0 7px 18px #3767da40}.setup-edit-layout-button:hover{background:linear-gradient(#80aeff,#5b8df2);transform:translateY(-1px)}.setup-workspace-grid{grid-template-columns:248px minmax(0,1fr)}.setup-workspace-grid-with-inspector{grid-template-columns:248px minmax(0,1fr) 352px}.setup-queue-panel,.setup-map-panel,.setup-inspector-panel{padding:14px}.setup-queue-panel{border-right:1px solid var(--setup-line);background:linear-gradient(#131728fa,#0d111efa);flex-direction:column;padding:14px;display:flex;overflow:hidden}.setup-map-panel{border-right:1px solid var(--setup-line);background:#090c15;padding:8px 10px}.setup-right-rail{background:linear-gradient(#131728fc,#0d111efc)}.setup-right-rail .setup-inspector-panel{padding:16px}.setup-rail-heading{border-bottom:1px solid var(--setup-line);justify-content:space-between;align-items:flex-start;gap:10px;padding:2px 1px 11px;display:flex}.setup-rail-heading h2{color:#f0f3ff;letter-spacing:-.01em;margin:0;font-size:16px}.setup-search-wrap{align-items:center;display:flex;position:relative}.setup-search-wrap>span{color:#8390b3;pointer-events:none;font-size:18px;line-height:1;position:absolute;left:10px;transform:translateY(-1px)}.setup-search-wrap input{border-color:var(--setup-line-strong);background:#222845c7;border-radius:8px;height:34px;padding:0 10px 0 29px;font-size:11px}.setup-search-wrap input:focus{border-color:var(--setup-blue);box-shadow:0 0 0 3px #78a8ff1c}.setup-queue-list{flex:auto;grid-auto-rows:max-content;align-content:start;gap:6px;min-height:0;margin:12px 0 0;padding:0;list-style:none;overflow:hidden}.setup-queue-list>li{min-width:0}.setup-inspector-panel::-webkit-scrollbar{width:8px}.setup-inspector-panel::-webkit-scrollbar-thumb{background:#7d97d661 padding-box padding-box;border:2px solid #0000;border-radius:10px}.setup-queue-row{--row-accent:#e6b15f;box-sizing:border-box;border:1px solid var(--setup-line);background:#1c223ab8;border-radius:10px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;width:100%;height:76px;padding:9px 10px 9px 14px;display:grid;position:relative;box-shadow:0 4px 12px #00000014}.setup-queue-row:before{background:var(--row-accent);content:"";border-radius:0 3px 3px 0;width:3px;position:absolute;top:10px;bottom:10px;left:0}.setup-queue-row-good{--row-accent:#79d9a6}.setup-queue-row-bad{--row-accent:#ef7773}.setup-queue-row-waived{--row-accent:#b69af2}.setup-queue-row:hover,.setup-queue-row:focus-visible,.setup-queue-row-selected{background:linear-gradient(100deg,#4265b07a,#263459e0);border-color:#78a8ffcc;outline:none;box-shadow:0 8px 18px #2140812e}.setup-queue-row-selected{box-shadow:0 0 0 1px #78a8ff40,0 8px 18px #21408133}.setup-queue-row-main{justify-items:start;gap:6px;min-width:0;display:grid}.setup-queue-row-main strong{color:#f0f3ff;text-overflow:ellipsis;white-space:normal;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:11px;font-weight:720;line-height:1.25;display:-webkit-box;overflow:hidden}.setup-queue-chevron{color:#9baedb;font-size:20px;line-height:1}.setup-queue-row .setup-status{box-sizing:border-box;max-width:100%;padding:4px 7px;font-size:9px}.setup-queue-pagination{border-top:1px solid var(--setup-line);flex:none;justify-content:space-between;align-items:center;gap:8px;margin-top:10px;padding-top:10px;display:flex}.setup-queue-pagination span{color:#8994b5;font-variant-numeric:tabular-nums;text-align:center;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:9px;overflow:hidden}.setup-queue-pagination .setup-secondary-button{min-width:32px;min-height:30px;padding:0 8px;font-size:16px;line-height:1}.setup-secondary-button,.setup-primary-button{border-color:var(--setup-line-strong);background:#1f2640e6;border-radius:8px;min-height:31px;padding:0 10px;font-size:10px;font-weight:680}.setup-secondary-button:hover{border-color:var(--setup-blue);color:#fff;background:#4a6fbb61;transform:translateY(-1px)}.setup-primary-button{background:linear-gradient(#668ff0,#4e76ce);border-color:#6f9fff;box-shadow:0 6px 14px #3e64c12e}.setup-primary-button:hover{background:linear-gradient(#79a5ff,#5c87e2);transform:translateY(-1px)}.setup-primary-button:disabled,.setup-secondary-button:disabled{transform:none}.setup-map-canvas{box-shadow:inset 0 0 0 1px #0c0f1ca3, var(--setup-shadow);border:1px solid #788fd052;border-radius:12px}.setup-inspector-panel{scrollbar-color:#7d97d673 transparent;scrollbar-width:thin}.setup-inspector-heading{border-bottom:1px solid var(--setup-line);justify-content:space-between;align-items:flex-start;gap:12px;padding:2px 0 14px;display:flex}.setup-inspector-identity{min-width:0}.setup-inspector-identity .setup-eyebrow{color:var(--setup-cyan);margin-bottom:4px}.setup-inspector-identity h2{color:#f3f5ff;letter-spacing:-.025em;text-overflow:ellipsis;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:19px;font-weight:760;line-height:1.12;display:-webkit-box;overflow:hidden}.setup-inspector-identity p:last-child{color:#8994b5;margin-top:4px;font-size:10px}.setup-inspector-heading .setup-status{white-space:normal;flex:0 auto;max-width:150px;margin-top:3px;font-size:10px}.setup-inspector-section{border:1px solid var(--setup-line);background:linear-gradient(145deg,#1e243dc2,#14192cbd);border-radius:11px;margin-top:12px;padding:13px}.setup-inspector-section h3{color:#dfe6ff;letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:7px;margin:0 0 11px;font-size:11px;font-weight:760;display:flex}.setup-inspector-section h3:before{background:var(--setup-blue);content:"";border-radius:50%;width:5px;height:5px;box-shadow:0 0 0 3px #78a8ff1f}.setup-inspector-section input,.setup-inspector-section textarea,.setup-inspector-section select{border-color:var(--setup-line-strong);background:#0e12209e;border-radius:8px;font-size:11px}.setup-inspector-section input:focus,.setup-inspector-section textarea:focus,.setup-inspector-section select:focus{border-color:var(--setup-blue);box-shadow:0 0 0 3px #78a8ff1a}.setup-position-grid{gap:7px}.setup-position-grid label,.setup-inline-fields label{color:#909bbb;letter-spacing:.02em;font-size:9px}.setup-position-grid input{height:31px;padding:0 8px}.setup-position-sliders{gap:12px;margin-top:13px;display:grid}.setup-position-slider{color:#909bbb;font-size:11px;display:block}.setup-position-slider-value{float:right;color:var(--text);font-variant-numeric:tabular-nums}.setup-inspector-section .setup-position-slider input[type=range]{width:100%;height:auto;box-shadow:none;accent-color:var(--accent);cursor:pointer;background:0 0;border:0;border-radius:0;margin-top:7px;padding:0;display:block}.setup-inspector-section textarea{min-height:66px;line-height:1.4}.setup-action-row{gap:7px;margin-top:11px}.setup-camera-change-actions,.setup-rtsp-actions{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;display:grid}.setup-camera-change-actions>button,.setup-rtsp-actions>button{width:100%;min-width:0;min-height:36px}.setup-rtsp-actions>button:only-child{grid-column:1/-1}.setup-resolution-action{width:100%;min-height:36px;margin-top:10px}.setup-confirm-actions{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:7px;margin-top:13px;display:grid}.setup-confirm-actions>button{width:100%;min-width:0;min-height:36px}.setup-confirm-actions .setup-editor-danger{color:#ffb4bc;border-color:#ff6f7766}.setup-confirm-actions .setup-editor-danger:hover:not(:disabled){border-color:var(--danger);color:#fff;background:var(--danger)}.setup-safe-status{color:#a7b2d0;margin:0 0 6px;font-size:11px}.setup-safe-status strong{color:#edf1ff}.setup-help-text,.setup-readonly-line{color:#8994b5;font-size:10px;line-height:1.5}.setup-readonly-line{margin-bottom:11px}.setup-rtsp-current{border:1px solid var(--setup-line-strong);background:#0c1120a6;border-radius:9px;gap:5px;padding:8px 10px;display:grid}.setup-rtsp-current-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px;display:flex}.setup-rtsp-current-heading strong{font-size:10px}.setup-rtsp-current-heading>span{color:#96a3c1;font-size:9px}.setup-rtsp-check-status{font-size:9px;font-weight:700}.setup-rtsp-check-status.is-good{color:#9ce9bf}.setup-rtsp-check-status.is-bad,.setup-rtsp-check-error{color:#ffb9b2!important}.setup-rtsp-current code{overflow-wrap:anywhere;color:#dce7ff;font-size:11px}.setup-rtsp-current p{color:#96a3c1;margin:0;font-size:9px;line-height:1.45}.setup-rtsp-empty{margin:0 0 10px}.setup-rtsp-input-help{margin:7px 0 0}.setup-rtsp-actions>button{white-space:normal;height:auto;padding:6px 8px;line-height:1.2}.setup-rtsp-replacement-note{margin:8px 0 0}.setup-action-feedback{border:1px solid var(--setup-line);color:#c8d2ed;background:#0e122080;border-radius:8px;margin-top:10px;padding:8px 9px;font-size:10px;line-height:1.45}.setup-action-feedback-pending{color:#c9dcff;background:#355ba62e;border-color:#78a8ff5c}.setup-action-feedback-success{color:#b7f5d9;background:#256c542e;border-color:#77e4b56b}.setup-action-feedback-warning{color:#ffe0a1;background:#75501633;border-color:#f4c2666b}.setup-action-feedback-error{color:#ffc4be;background:#5d222b40;border-color:#ff6f7775}.setup-toast{z-index:1000;border:1px solid var(--setup-line-strong);pointer-events:none;border-radius:9px;max-width:min(300px,100vw - 40px);padding:9px 13px;font-size:11px;line-height:1.4;position:fixed;bottom:20px;right:20px;box-shadow:0 10px 28px #00000057}.setup-toast-success{color:#b7f5d9;background:#12372c}.setup-alert{border-radius:9px}.setup-inspector-empty{flex-direction:column;justify-content:center;align-items:flex-start;padding:26px 20px;display:flex}.setup-empty-icon{width:42px;height:42px;color:var(--setup-blue);background:#4e7bdb24;border:1px solid #78a8ff52;border-radius:13px;place-items:center;margin:12px 0 16px;font-size:20px;display:grid;box-shadow:0 10px 22px #274a962e}.setup-inspector-empty h2{color:#f0f3ff;letter-spacing:-.025em;margin:0 0 7px;font-size:20px}.setup-inspector-empty .setup-muted{max-width:240px;margin:0;font-size:11px}.setup-status-bar{border-top-color:var(--setup-line);color:#7482a4;background:#111524fa;gap:16px;min-height:27px;padding:5px 14px;font-size:9px}.setup-status-bar span:before{color:#536383;content:"•";margin-right:5px}@media (width<=1380px){.setup-header{grid-template-columns:auto minmax(190px,1fr) auto minmax(0,1fr) auto;column-gap:10px;padding-inline:12px}.setup-workspace-grid{grid-template-columns:230px minmax(0,1fr)}.setup-workspace-grid-with-inspector{grid-template-columns:230px minmax(0,1fr) 320px}}@media (width<=1020px){.setup-header{flex-wrap:wrap;height:auto;min-height:60px;display:flex;overflow:visible}.setup-header-primary{flex:none}.setup-header-event{flex:210px}.setup-header-map-controls-host{order:3}.setup-header .setup-progress{order:4;width:100%;margin-left:0;overflow-x:auto}.setup-header-actions{order:5;margin-left:auto}.setup-workspace-grid{grid-template-columns:220px minmax(0,1fr)}.setup-workspace-grid-with-inspector{grid-template-columns:220px minmax(0,1fr) 300px}}@media (width<=760px){.setup-header{align-items:stretch;height:auto;min-height:0;padding:11px}.setup-header-primary,.setup-header-event{min-width:0}.setup-header-map-controls-host{width:100%;overflow-x:auto}.setup-header-map-controls{min-width:max-content}.setup-header-actions{margin-left:0}.setup-header-actions .setup-edit-layout-button{width:100%}.setup-header .setup-progress{flex-wrap:nowrap;padding-bottom:2px}.setup-header .setup-progress>div{flex:0 0 74px}.setup-queue-panel,.setup-map-panel,.setup-inspector-panel{padding:12px}}.setup-right-rail .setup-camera-inspector{flex-direction:column;gap:0;height:100%;min-height:0;display:flex;overflow:hidden;padding:12px!important}.setup-camera-inspector .setup-inspector-heading{flex:none;padding-bottom:10px}.setup-inspector-tabs{z-index:2;flex:none;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;margin:10px 0 0;display:grid;position:relative}.setup-inspector-tab{border:1px solid var(--setup-line);color:#bac5df;cursor:pointer;text-align:center;background:#181e33c7;border-radius:8px;align-content:center;gap:3px;min-width:0;min-height:43px;padding:5px 4px;display:grid;position:relative}.setup-inspector-tab span{text-overflow:ellipsis;white-space:nowrap;font-size:10px;font-weight:740;overflow:hidden}.setup-inspector-tab small{color:#8290af;text-overflow:ellipsis;white-space:nowrap;font-size:8px;overflow:hidden}.setup-inspector-tab:hover:not([aria-disabled=true]),.setup-inspector-tab:focus-visible{border-color:#78a8ffb3;outline:none}.setup-inspector-tab.is-active{color:#f2f5ff;background:linear-gradient(#4570c57a,#2a417480);border-color:#78a8ffcc;box-shadow:inset 0 0 0 1px #78a8ff24}.setup-inspector-tab.is-active small{color:#c1d4ff}.setup-inspector-tab[aria-disabled=true]{opacity:.55;cursor:not-allowed}.setup-inspector-tab[aria-disabled=true]:hover,.setup-inspector-tab[aria-disabled=true]:focus-visible{opacity:1}.setup-inspector-tab[data-tooltip]:hover:after,.setup-inspector-tab[data-tooltip]:focus-visible:after{z-index:5;border:1px solid var(--setup-line-strong);color:#edf1ff;content:attr(data-tooltip);text-align:center;white-space:normal;pointer-events:none;background:#202941;border-radius:6px;width:max-content;max-width:min(220px,85vw);padding:6px 8px;font-size:10px;font-weight:500;line-height:1.35;position:absolute;top:calc(100% + 7px);left:50%;transform:translate(-50%);box-shadow:0 5px 16px #00000059}.setup-inspector-tab:first-child[data-tooltip]:after{left:0;transform:none}.setup-inspector-tab:last-child[data-tooltip]:after{left:auto;right:0;transform:none}.setup-inspector-tabpanel{overscroll-behavior:contain;scrollbar-color:#7d97d673 transparent;scrollbar-width:thin;flex:auto;min-width:0;min-height:0;margin-top:9px;overflow:auto}.setup-inspector-tabpanel:focus-visible{outline-offset:-1px;outline:1px solid #78a8ff8c}.setup-inspector-setup-content[hidden]{display:none}.setup-inspector-form{background:0 0;border:0;min-width:0;height:auto;padding:0;overflow:visible}.setup-inspector-form .setup-inspector-section:first-of-type{margin-top:0}.setup-inspector-form .setup-camera-metadata-actions{flex-wrap:wrap}.setup-calibration-workflow{align-content:start;gap:10px;min-width:0;display:grid}.setup-page [hidden],.setup-map-calibration-preview[hidden]{display:none!important}.setup-workflow-steps{justify-content:space-between;gap:4px;margin:0 0 12px;padding:0;list-style:none;display:flex}.setup-workflow-steps li{color:#8c9dbb;justify-items:center;gap:4px;font-size:9px;display:grid}.setup-workflow-steps li span{border:1px solid #344665;border-radius:50%;place-items:center;width:23px;height:23px;display:grid}.setup-workflow-steps .is-current{color:#d4e7ff;font-weight:700}.setup-workflow-steps .is-current span{background:#254b7e;border-color:#8bbaff}.setup-workflow-steps .is-past span{color:#a8f0cd;border-color:#568875}.setup-workflow-cta{z-index:5;border-top:1px solid var(--setup-line-strong);background:#101727;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;margin-top:8px;padding:12px 0 4px;display:flex;position:sticky;bottom:0}.setup-workflow-cta>div,.setup-workflow-cta>small{color:#adbbd3;flex:180px;font-size:11px;line-height:1.5}.setup-image-workflow-controls{border-top:1px solid var(--setup-line-strong);color:#c9d5e9;background:#101727;max-height:38vh;padding:10px 14px;font-size:12px;overflow:auto}.setup-image-workflow-controls p{margin:0 0 8px;line-height:1.4}.setup-image-roi-tools{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.setup-image-grid-tools{grid-template-columns:auto minmax(180px,1fr) auto;align-items:center;gap:18px;display:grid}.setup-image-grid-tools .setup-scale-panel{margin:0;padding:8px 10px}.setup-map-calibration-preview:has(.setup-image-workflow-controls){height:min(84vh,800px)}.setup-map-calibration-preview-host:has(.setup-map-calibration-preview.is-editing:not([hidden])):before{pointer-events:none}.setup-map-calibration-preview-host:not(:has(.setup-map-calibration-preview:not([hidden]))):before{display:none}.setup-preparation-preview .setup-stage-source{flex-direction:column;height:100%;display:flex}.setup-preparation-preview .setup-stage-source>img{object-fit:contain;flex:1;min-height:0;max-height:none}.setup-preparation-preview .setup-stage-source-empty{flex:1}.setup-preparation-preview>.setup-stage-lock-note{padding:6px 14px}.setup-queue-calibration-label{color:#b0c6e9;font-size:9px}.setup-rtsp-current small{color:#9caccc;margin-top:5px;font-size:10px;display:block}.setup-page #rtsp-url{text-overflow:clip;width:100%;min-width:0}@media (width<=760px){.setup-image-grid-tools{grid-template-columns:1fr auto;gap:8px}.setup-image-grid-tools .setup-overlay-toggle{grid-column:1/-1}.setup-workflow-cta{gap:7px}.setup-workflow-cta>.setup-primary-button{flex:160px}.setup-image-workflow-controls{padding:8px}}.setup-stage-next{border:1px dashed var(--setup-line-strong);color:#aab7d2;background:#181e336b;border-radius:9px;margin:0;padding:9px 10px;font-size:10px;line-height:1.4}.setup-calibration-image-actions{flex-wrap:wrap;gap:7px;margin-top:8px;display:flex}.setup-calibration-image-actions>button{flex:130px;min-height:34px}.setup-stage-panel{min-width:0;padding:1px 0 8px}.setup-stage-panel-heading{justify-content:space-between;align-items:flex-start;gap:8px;min-width:0;margin-bottom:7px;display:flex}.setup-stage-panel-heading>div{min-width:0}.setup-stage-panel-heading .setup-eyebrow{margin-bottom:3px;font-size:8px}.setup-stage-panel-heading h3{color:#f0f3ff;text-overflow:ellipsis;margin:0;font-size:15px;overflow:hidden}.setup-stage-status{color:#f4d18c;text-overflow:ellipsis;white-space:nowrap;background:#75501629;border:1px solid #f4c26657;border-radius:999px;flex:none;max-width:112px;margin-top:2px;padding:4px 6px;font-size:8px;font-weight:760;overflow:hidden}.setup-stage-status.is-ready{color:#a8f0cd;background:#256c542b;border-color:#77e4b557}.setup-stage-status.is-attention{color:#ffc4be;background:#5d222b33;border-color:#ff6f775c}.setup-stage-description{color:#8994b5;margin:0 0 10px;font-size:10px;line-height:1.45}.setup-stage-error{color:#ffc4be;overflow-wrap:anywhere;background:#5d222b3d;border:1px solid #ff6f7761;border-radius:8px;gap:3px;margin:8px 0;padding:8px;font-size:10px;line-height:1.4;display:grid}.setup-stage-failure span{color:#d8aab4}.setup-stage-source{border:1px solid var(--setup-line-strong);background:#080b14;border-radius:9px;min-width:0;overflow:hidden}.setup-stage-source>img{object-fit:contain;width:100%;max-height:32vh;display:block}.setup-stage-source-empty{color:#8994b5;text-align:center;place-content:center;gap:7px;min-height:160px;padding:18px 12px;display:grid}.setup-stage-source-empty>span{color:var(--setup-blue);font-size:25px}.setup-stage-source-empty strong{color:#e6ecff;font-size:11px}.setup-stage-source-empty small{overflow-wrap:anywhere;max-width:245px;font-size:9px;line-height:1.45}.setup-stage-caption{color:#8994b5;background:#161d31e0;padding:6px 8px;font-size:8px;display:block}.setup-stage-actions{gap:7px;min-width:0;margin-top:10px;display:grid}.setup-stage-actions>button{white-space:normal;width:100%;min-height:36px}.setup-stage-actions>small{color:#8994b5;font-size:9px;line-height:1.4}.setup-stage-loading,.setup-stage-lock-note{color:#8994b5;margin:8px 0;font-size:10px;line-height:1.45}.setup-calibration-view{aspect-ratio:4/3;border:1px solid var(--setup-line-strong);background:#080b14;border-radius:9px;place-items:center;width:100%;min-width:0;max-height:33vh;display:grid;position:relative;overflow:hidden}.setup-calibration-view img{object-fit:contain;width:100%;min-width:0;height:100%;min-height:0;display:block;position:absolute;inset:0}.setup-calibration-view .setup-calibration-source{z-index:1}.setup-calibration-view .setup-calibration-overlay{z-index:2;pointer-events:none}.setup-calibration-roi-layer{z-index:3;background:0 0;border:0;outline:none;display:block;position:absolute;overflow:hidden}.setup-calibration-roi-layer.is-readonly{pointer-events:none}.setup-calibration-roi-layer.is-editable{pointer-events:auto;touch-action:none;user-select:none;outline:none}.setup-calibration-roi-layer.is-editable.is-drawing{cursor:crosshair}.setup-calibration-roi-layer.is-editable:focus-visible{filter:drop-shadow(0 0 4px #77e4b58c)}.setup-calibration-roi-layer.is-dragging,.setup-calibration-roi-layer.is-dragging *{cursor:grabbing!important}.setup-calibration-roi-polygon{fill:#4ddcae29;stroke:#69efbd;stroke-width:2.5px;stroke-linejoin:round}.setup-calibration-roi-line-halo{fill:none;stroke:#031014e0;stroke-width:8px;stroke-linecap:round;stroke-linejoin:round}.setup-calibration-roi-line{fill:none;stroke:#69efbd;stroke-width:2.5px;stroke-dasharray:8 5;stroke-linecap:round;stroke-linejoin:round}.setup-calibration-roi-point{fill:#f4fff9;stroke:#137c61;stroke-width:2px;filter:drop-shadow(0 1px 2px #000c);pointer-events:none}.setup-calibration-roi-point.is-start{fill:#ffd77d;stroke:#a66b12;stroke-width:2.5px}.setup-calibration-roi-point.is-current{fill:#75ecc0;stroke:#075b48}.setup-calibration-roi-hit-target{fill:#0000;stroke:none;pointer-events:all}.setup-calibration-roi-vertex,.setup-calibration-roi-midpoint{cursor:grab}.setup-calibration-roi-vertex-dot{fill:#f7fffb;stroke:#075b48;stroke-width:2px;filter:drop-shadow(0 1px 3px #000000e6);pointer-events:none}.setup-calibration-roi-vertex-dot.is-start{fill:#ffe08a;stroke:#895809}.setup-calibration-roi-midpoint-dot{fill:#75ecc0;stroke:#063d31;stroke-width:1.5px;opacity:.9;pointer-events:none;filter:drop-shadow(0 1px 2px #000000d9)}.setup-calibration-roi-midpoint:hover .setup-calibration-roi-midpoint-dot{transform-box:fill-box;transform-origin:50%;opacity:1;transform:scale(1.35)}.setup-stage-error>.setup-secondary-button{justify-self:start;margin-top:4px}.setup-overlay-controls{color:#aeb9d4;gap:8px;min-width:0;margin-top:9px;font-size:9px;display:grid}.setup-overlay-toggle{align-items:center;gap:6px;display:flex}.setup-overlay-toggle input[type=checkbox]{width:auto;margin:0}.setup-scale-panel{border:1px solid var(--setup-line);background:#12182ad1;border-radius:9px;min-width:0;margin-top:10px;padding:9px}.setup-scale-heading{justify-content:space-between;align-items:center;gap:8px;min-width:0;display:flex}.setup-scale-heading>div{gap:3px;min-width:0;display:grid}.setup-scale-heading strong{color:#e6ecff;font-size:11px}.setup-scale-heading small{color:#8994b5;font-size:8px;line-height:1.35}.setup-scale-heading output{color:#8de8bc;flex:none;font-size:17px;font-weight:800}.setup-scale-adjustment{align-items:center;gap:7px;margin:9px 0;display:flex}.setup-scale-adjustment input{flex:1;min-width:0;margin:0}.setup-scale-adjustment button{flex:0 0 28px;min-width:28px;padding:4px;font-size:16px}.setup-scale-error{color:#ffb4b4;margin-top:7px;font-size:9px;line-height:1.4;display:block}.setup-roi-panel{background:#14363657;border:1px solid #59d9ad47;border-radius:9px;gap:8px;min-width:0;margin-top:10px;padding:9px;display:grid}.setup-roi-heading{justify-content:space-between;align-items:flex-start;gap:8px;min-width:0;display:flex}.setup-roi-heading>div{gap:3px;min-width:0;display:grid}.setup-roi-heading strong{color:#e6fff5;font-size:11px}.setup-roi-heading small{color:#a3c5be;font-size:8px;line-height:1.4}.setup-roi-heading output{color:#8de8bc;flex:none;font-size:9px;font-weight:800}.setup-roi-status{color:#f4d18c;background:#75501624;border:1px solid #f4c26640;border-radius:7px;padding:7px;font-size:9px;line-height:1.35}.setup-roi-status.is-ready{color:#a8f0cd;background:#256c5429;border-color:#77e4b54d}.setup-roi-actions{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid}.setup-roi-actions>button{min-width:0;min-height:32px;padding:6px 5px;font-size:9px}.setup-inspector-tabpanel input[type=range]{accent-color:#4e8aff;cursor:pointer;touch-action:pan-y;width:100%;min-width:0;max-width:100%;height:24px;margin:7px 0;padding:0;display:block}@media (width<=760px){.setup-right-rail .setup-camera-inspector{height:min(78vh,900px);min-height:460px;overflow:hidden}.setup-inspector-tabpanel{overflow:auto}.setup-calibration-view,.setup-stage-source>img{max-height:42vh}}*{box-sizing:border-box;margin:0;padding:0}:root{--bg-dark:#0f0f1a;--bg-panel:#1a1a2e;--bg-input:#252540;--border:#335;--text:#e0e0f0;--text-dim:#889;--accent:#48f;--accent-hover:#59f;--danger:#f45;--canvas-bg:#080814}:root.light-mode{--bg-dark:#f2f3f7;--bg-panel:#fff;--bg-input:#eceff5;--border:#cfd4df;--text:#1a1c22;--text-dim:#5a6070;--accent:#2a6dd6;--accent-hover:#1e57b5;--danger:#d93646;--canvas-bg:#e8ebf2}.event-dialog-backdrop{z-index:100000;background:#04050eb8;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.event-dialog{background:var(--bg-panel);width:min(420px,100%);color:var(--text);border:1px solid #709eff80;border-radius:12px;padding:22px;box-shadow:0 18px 60px #00000073}.event-dialog h2{margin-bottom:7px;font-size:18px}.event-dialog p{color:var(--text-dim);margin-bottom:18px;font-size:12px}.event-dialog label{color:var(--text-dim);margin-bottom:6px;font-size:11px;display:block}.event-dialog input,.event-dialog select{border:1px solid var(--border);background:var(--bg-input);width:100%;color:var(--text);border-radius:6px;outline:none;padding:10px 12px;font-size:14px}.event-dialog input:focus,.event-dialog select:focus{border-color:var(--accent);box-shadow:0 0 0 2px #48f3}.event-dialog-progress{color:var(--text-dim);margin-top:14px;font-size:12px}.event-dialog-progress-label{align-items:center;gap:8px;display:flex}.event-dialog-spinner{border:2px solid #709eff59;border-top-color:var(--accent);border-radius:50%;width:13px;height:13px;animation:.8s linear infinite event-dialog-spin;display:inline-block}.event-dialog-progress-track{background:#709eff2e;border-radius:4px;height:5px;margin-top:9px;overflow:hidden}.event-dialog-progress-fill{border-radius:inherit;background:var(--accent);height:100%;transition:width .15s}@keyframes event-dialog-spin{to{transform:rotate(360deg)}}.event-dialog-actions{justify-content:flex-end;gap:8px;margin-top:20px;display:flex}.event-library-loading{align-items:center;gap:9px;display:inline-flex}.event-library-spinner{border:2px solid #709eff4d;border-top-color:var(--accent);border-radius:50%;flex:none;width:16px;height:16px;animation:.8s linear infinite event-library-spin;display:inline-block}@keyframes event-library-spin{to{transform:rotate(360deg)}}.phase-controls{background:#4488ff0f;border:1px solid #4488ff40;border-radius:6px;flex-direction:column;gap:6px;padding:10px;display:flex}.phase-controls h3{text-transform:uppercase;letter-spacing:.5px;color:var(--text-dim);margin:0 0 2px;font-size:11px}.phase-btn{border:1px solid var(--border);background:var(--bg-input);color:var(--text);cursor:pointer;text-align:left;border-radius:5px;padding:8px 10px;font-size:12px;font-weight:600;transition:all .15s}.phase-btn:hover:not(:disabled){background:var(--accent);border-color:var(--accent);color:#fff}.phase-btn:disabled{opacity:.5;cursor:not-allowed}.phase-btn-sub{color:var(--text-dim);margin-top:2px;font-size:10px;font-weight:400;display:block}.phase-btn:hover:not(:disabled) .phase-btn-sub{color:#ffffffd9}.theme-toggle{background:var(--bg-input);border:1px solid var(--border);color:var(--text);cursor:pointer;border-radius:4px;padding:4px 10px;font-size:12px}.theme-toggle:hover{background:var(--accent);color:#fff;border-color:var(--accent)}body{background:var(--bg-dark);color:var(--text);font-family:Segoe UI,system-ui,-apple-system,sans-serif;overflow:hidden}#root{width:100%;height:100vh}.app{flex-direction:column;width:100vw;height:100vh;display:flex}.toolbar{background:var(--bg-panel);border-bottom:1px solid var(--border);white-space:nowrap;scrollbar-width:thin;flex-wrap:nowrap;flex-shrink:0;align-items:center;gap:clamp(2px,.35vw,6px);width:100%;min-width:0;min-height:clamp(32px,2.5vw,38px);padding:clamp(2px,.25vw,4px) clamp(4px,.6vw,10px);display:flex;overflow:auto hidden}.toolbar-group{flex:auto;gap:clamp(2px,.25vw,4px);min-width:max-content;display:flex}.toolbar>.tool-btn,.toolbar-group>.tool-btn{flex:auto;min-width:max-content}.tool-btn{border:1px solid var(--border);background:var(--bg-input);color:var(--text);cursor:pointer;white-space:nowrap;border-radius:4px;padding:clamp(3px,.25vw,4px) clamp(5px,.5vw,8px);font-size:clamp(10px,.7vw,12px);line-height:1.15;transition:all .15s}.toolbar::-webkit-scrollbar{height:4px}.toolbar::-webkit-scrollbar-thumb{background:var(--border);border-radius:999px}.tool-btn:hover{background:var(--accent);border-color:var(--accent)}.tool-btn.active{background:var(--accent);border-color:var(--accent-hover);color:#fff}.tool-btn:disabled{opacity:.4;cursor:not-allowed}.tool-btn.danger-btn{border-color:#533}.tool-btn.danger-btn:hover:not(:disabled){background:var(--danger);border-color:var(--danger)}.toast-region{top:max(16px, env(safe-area-inset-top));right:max(16px, env(safe-area-inset-right));z-index:200000;pointer-events:none;flex-direction:column;align-items:stretch;gap:10px;width:min(390px,100vw - 32px);display:flex;position:fixed}.toast{color:#e8efff;pointer-events:auto;background:#151d31;border:1px solid #33466f;border-left:3px solid #6f9dff;border-radius:10px;grid-template-columns:24px minmax(0,1fr) 24px;align-items:start;gap:10px;padding:12px 10px 12px 12px;animation:.18s ease-out toast-enter;display:grid;box-shadow:0 14px 36px #00000061}.toast-mark{color:#dbe7ff;background:#6f9dff2e;border-radius:50%;place-items:center;width:24px;height:24px;font-size:13px;font-weight:800;display:grid}.toast-message{min-width:0;padding-top:3px;font-size:12px;line-height:1.45}.toast-dismiss{color:#9fb1d5;cursor:pointer;background:0 0;border:0;border-radius:5px;width:24px;height:24px;padding:0;font-size:18px;line-height:1}.toast-dismiss:hover{color:#fff;background:#ffffff1a}.toast-success{border-left-color:#43d96b}.toast-success .toast-mark{color:#43d96b;background:#43d96b26}.toast-error{border-left-color:#e56}.toast-error .toast-mark{color:#ff8390;background:#ee556629}.toast-warning{border-left-color:#f1b24b}.toast-warning .toast-mark{color:#f1b24b;background:#f1b24b29}@keyframes toast-enter{0%{opacity:0;transform:translate(18px,-6px)}to{opacity:1;transform:translate(0,0)}}@media (prefers-reduced-motion:reduce){.toast{animation:none}}.main-area{flex:1;display:flex;overflow:hidden}.editor-left-sidebar,.editor-right-sidebar{flex-direction:column;min-height:0;display:flex;overflow:hidden}.editor-left-panel-scroll,.editor-right-panel-scroll{overscroll-behavior:contain;touch-action:pan-y;-webkit-overflow-scrolling:touch;scrollbar-gutter:stable;flex:auto;min-width:0;min-height:0;overflow:hidden auto}.editor-planning-inspector{background:var(--bg-panel);flex:0 0 320px;width:320px}.editor-left-sidebar{border-right:1px solid var(--border);min-width:280px}.editor-right-sidebar{border-left:1px solid var(--border)}.zone-boundary-overlay{z-index:2;pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:hidden}.zone-boundary-preview{fill:#4ade800f;stroke:#4ade80;stroke-width:2px;pointer-events:none}.zone-boundary-corner,.zone-boundary-midpoint{pointer-events:all;cursor:grab;touch-action:none;outline:none}.zone-boundary-hit{fill:#0000;stroke:none}.zone-boundary-dot{fill:#f4fff8;stroke:#15803d;stroke-width:2px;pointer-events:none}.zone-boundary-midpoint-dot{fill:#4ade80;stroke:#14532d;stroke-width:1.5px;pointer-events:none}.zone-boundary-corner:focus-visible .zone-boundary-dot,.zone-boundary-midpoint:focus-visible .zone-boundary-midpoint-dot{stroke:#fff;stroke-width:3px}.zone-boundary-hint{z-index:3;color:#d9fbe5;pointer-events:none;background:#111827e8;border-radius:8px;max-width:90%;margin:0;padding:7px 12px;font-size:11px;position:absolute;bottom:12px;left:50%;transform:translate(-50%)}.map-object-details-eyebrow{color:var(--text-dim);text-transform:uppercase;letter-spacing:.08em;font-size:10px}.map-object-details-heading{align-items:flex-start;gap:12px;margin-bottom:20px;display:flex}.map-object-details-heading>div{flex:1;min-width:0}.map-object-details-heading .inspector-dismiss{margin-top:0}.map-object-details-heading h3{margin-bottom:0}.map-object-details-eyebrow{color:#ffd866}.zone-inspector-heading .inspector-eyebrow,.zone-inspector-heading .zone-inspector-icon{color:#4ade80}.camera-selection-category{color:#e879f9;margin:5px 0;font-size:10px;display:block}.map-object-details h3{color:var(--text);overflow-wrap:anywhere;margin:10px 0 20px;font-size:15px;line-height:1.5}.map-object-details dl{margin:0}.map-object-details dl>div{border-bottom:1px solid var(--border);justify-content:space-between;gap:16px;padding:11px 0;display:flex}.map-object-details dt{color:var(--text-dim);font-size:12px}.map-object-details dd{text-align:right;max-width:65%;color:var(--text);overflow-wrap:anywhere;margin:0;font-size:12px}.event-loading-stage{background:var(--bg);flex-direction:column;justify-content:center;align-items:center;gap:24px;min-height:100dvh;padding:24px;display:flex}.event-loading-card{border:1px solid var(--border);background:var(--bg-panel);text-align:center;border-radius:14px;width:min(420px,100%);padding:32px 24px}.event-loading-card .event-library-spinner{width:28px;height:28px;display:inline-block}.event-loading-card h1{margin:18px 0 8px;font-size:20px}.event-loading-card p{color:var(--text-dim);margin:0;line-height:1.5}.editor-right-panel-scroll,.editor-right-panel-scroll *,.layout-category-list{scrollbar-width:thin;scrollbar-color:#526381 #151b2b}.editor-right-panel-scroll::-webkit-scrollbar{width:7px;height:7px}.editor-right-panel-scroll ::-webkit-scrollbar{width:7px;height:7px}.layout-category-list::-webkit-scrollbar{width:7px;height:7px}.editor-right-panel-scroll::-webkit-scrollbar-track{background:#151b2b}.editor-right-panel-scroll ::-webkit-scrollbar-track{background:#151b2b}.layout-category-list::-webkit-scrollbar-track{background:#151b2b}.editor-right-panel-scroll::-webkit-scrollbar-thumb{background:#526381;border:2px solid #151b2b;border-radius:8px}.editor-right-panel-scroll ::-webkit-scrollbar-thumb{background:#526381;border:2px solid #151b2b;border-radius:8px}.layout-category-list::-webkit-scrollbar-thumb{background:#526381;border:2px solid #151b2b;border-radius:8px}.editor-right-panel-scroll::-webkit-scrollbar-thumb:hover{background:#7794bd}.editor-right-panel-scroll ::-webkit-scrollbar-thumb:hover{background:#7794bd}.layout-category-list::-webkit-scrollbar-thumb:hover{background:#7794bd}.editor-left-panel-scroll{scrollbar-gutter:auto;flex-direction:column;display:flex;overflow:hidden}.layout-summary-panel{--navigator-accent:#69d6cb;background:linear-gradient(165deg, #192436 0, var(--bg-panel) 240px);flex-direction:column;flex:auto;min-width:0;min-height:0;display:flex;overflow:hidden}.layout-overview-heading{flex:none;padding:16px 16px 12px}.layout-navigator-title-row{align-items:center;gap:12px;display:flex}.layout-navigator-title-row h2{flex:1;min-width:0}.layout-overview-heading h2{text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:650;overflow:hidden}.layout-navigator-summary{color:#a3b3c8;font-variant-numeric:tabular-nums;margin-top:5px;font-size:11px}.zone-measurements dt{color:var(--text-dim);margin-bottom:6px;font-size:10px}.layout-inventory-tools{flex:none;padding:0 16px 10px}.layout-inventory-tools input{width:100%;min-width:0;color:var(--text);background:#121c2c;border:1px solid #35445b;border-radius:7px;padding:9px 10px;font-size:12px}.layout-inventory-tools input:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.layout-navigator-filters{border-bottom:1px solid var(--border);flex:none;gap:4px;padding:0 16px 12px;display:flex}.layout-navigator-filters button{min-width:0;color:var(--text-dim);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:5px;flex:1;padding:6px 4px;font-size:11px}.layout-navigator-filters button:hover{background:var(--bg-input);color:var(--text)}.layout-navigator-filters button[aria-pressed=true]{color:#9af2e7;background:#203b43;border-color:#386568;font-weight:650}.layout-category-list{overscroll-behavior:contain;scrollbar-gutter:stable;flex:auto;min-height:0;padding:5px 0;overflow:hidden auto}.layout-category+.layout-category{border-top:1px solid color-mix(in srgb, var(--border) 50%, transparent)}.layout-category>summary{cursor:pointer;align-items:center;gap:8px;padding:10px 16px;font-size:12px;font-weight:600;list-style:none;display:flex}.layout-category{--category-accent:#88baff}.layout-category[data-tone=zone]{--category-accent:#92dfb1}.layout-category[data-tone=entry]{--category-accent:#69d6cb}.layout-category[data-tone=exit]{--category-accent:#e5bb84}.layout-category>summary:before{content:"";background:var(--category-accent);border-radius:50%;flex:none;order:1;width:5px;height:5px}.layout-category>summary>span:not([aria-hidden]){order:2}.layout-category>summary small{order:3}.layout-category[open]>summary{color:var(--category-accent);background:color-mix(in srgb, var(--category-accent) 8%, transparent)}.layout-category>summary::-webkit-details-marker{display:none}.layout-category>summary>span:not([aria-hidden]){flex:1;min-width:0}.layout-category>summary small{color:var(--text-dim);white-space:nowrap;font-variant-numeric:tabular-nums;margin-left:auto;font-size:11px;font-weight:500}.layout-category-arrow{color:var(--text-dim);transition:transform .12s}.layout-category[open]>summary>.layout-category-arrow{transform:rotate(90deg)}.layout-object-group{margin:1px 0}.layout-object-group>summary{cursor:pointer;border-radius:4px;align-items:center;gap:8px;padding:8px;list-style:none;display:flex}.layout-object-group>summary::-webkit-details-marker{display:none}.layout-object-group>summary .layout-item-name{flex:1;min-width:0;font-size:11px}.layout-object-group>summary small{color:var(--text-dim);white-space:nowrap;font-variant-numeric:tabular-nums;margin-left:auto;font-size:11px}.layout-group-arrow{color:var(--text-dim);transition:transform .12s}.layout-object-group[open]>summary,.layout-object-group>summary:hover,.layout-category>summary:hover{background:var(--bg-input)}.layout-object-group[open]>summary>.layout-group-arrow{transform:rotate(90deg)}.layout-group-locate{color:var(--text-dim);cursor:pointer;background:0 0;border:0;border-radius:4px;align-items:center;gap:6px;margin:5px 0 3px 24px;padding:4px 6px;font-size:10px;display:inline-flex}.layout-group-locate:hover{background:var(--bg-input);color:var(--text)}.layout-group-locate:disabled{opacity:.5;cursor:default}.layout-object-group>summary:focus-visible,.layout-group-locate:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.layout-item-list{padding:0 8px 5px 12px;list-style:none}.layout-object-group>.layout-item-list{padding:0 0 4px 18px}.layout-item{width:100%;min-width:0;color:var(--text);border-radius:4px;align-items:center;display:flex}.layout-item:hover{background:var(--bg-input)}.layout-item.is-selected{background:color-mix(in srgb, var(--navigator-accent) 12%, var(--bg-panel));box-shadow:inset 2px 0 var(--navigator-accent)}.layout-item-label{min-width:0;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;flex-direction:column;flex:1;gap:2px;padding:6px 8px;display:flex}.layout-item-locate{width:28px;height:28px;color:var(--text-dim);cursor:pointer;background:0 0;border:0;border-radius:4px;flex:none;place-items:center;margin-right:3px;font-size:17px;display:grid}.layout-item-locate:hover{color:var(--accent);background:var(--bg-input)}.layout-item button:disabled{cursor:default;opacity:.55}.layout-item button:focus-visible,.layout-navigator-filters button:focus-visible,.layout-report-download:focus-visible,.layout-category>summary:focus-visible,.layout-list-pagination button:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.layout-item-name{white-space:nowrap;text-overflow:ellipsis;width:100%;font-size:11px;line-height:1.4;display:block;overflow:hidden}.layout-item-source{color:var(--text-dim);font-size:10px;line-height:1.3}.layout-list-empty{color:var(--text-dim);padding:4px 16px 12px;font-size:11px;line-height:1.6}.layout-list-pagination{align-items:center;gap:4px;padding:5px 8px 10px 24px;display:flex}.layout-list-pagination span{color:var(--text-dim);font-variant-numeric:tabular-nums;margin-right:auto;font-size:10px}.layout-list-pagination button{width:25px;height:25px;color:var(--text);cursor:pointer;background:0 0;border:0;border-radius:4px;font-size:16px}.layout-list-pagination button:hover:not(:disabled){background:var(--bg-input)}.layout-list-pagination button:disabled{opacity:.4;cursor:default}.layout-report-download{color:#9af2e7;cursor:pointer;background:#203b43;border:1px solid #386568;border-radius:8px;flex:none;place-items:center;width:32px;height:32px;display:grid}.layout-report-download:hover{border-color:var(--navigator-accent);color:#d3fff8;background:#2b5057}.inspector-hint{color:var(--text-dim);margin:10px 0 14px;font-size:11px;line-height:1.6}.inspector-button{border:1px solid var(--border);background:var(--bg-input);width:100%;color:var(--text);cursor:pointer;border-radius:8px;justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;font-size:11px;display:flex}.inspector-button:hover{border-color:var(--accent)}.editor-selected-properties{position:relative}.editor-draft-status{border-top:1px solid var(--border);color:var(--text-dim);flex-shrink:0;padding:12px 18px;font-size:10px;line-height:1.5}.editor-draft-status.is-error{color:var(--danger)}.editor-planning-inspector .properties-panel{border-left:0;width:100%;padding:18px;overflow:visible}.zone-inspector{padding:12px 18px 18px}.zone-inspector-heading{align-items:center;gap:10px;margin-bottom:22px;display:flex}.zone-inspector-icon{border:1px solid var(--border);width:36px;height:36px;color:var(--accent);border-radius:10px;place-items:center;font-size:24px;display:grid}.inspector-eyebrow{color:var(--text-dim);margin-bottom:4px;font-size:10px}.zone-inspector h2{font-size:15px;font-weight:650}.zone-inspector label{color:var(--text-dim);font-size:11px;display:block}.zone-inspector input:not([type=checkbox]){background:var(--bg-input);border:1px solid var(--border);width:100%;color:var(--text);border-radius:8px;margin-top:7px;padding:10px 11px;font-size:12px;display:block}.zone-inspector input:focus-visible,.inspector-button:focus-visible,.layout-summary-panel summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.zone-name-field{margin-bottom:18px}.zone-measurements{grid-template-columns:1fr 1fr;gap:12px;margin:0 0 20px;display:grid}.zone-measurements>div{background:color-mix(in srgb, var(--accent) 7%, var(--bg-panel));border-radius:10px;padding:12px}.zone-measurements dd{margin:0;font-size:18px;font-weight:600}.zone-measurements small{color:var(--text-dim);font-size:11px}.zone-inspector-section{border-top:1px solid var(--border);margin-top:16px;padding-top:16px}.zone-inspector-section h3{margin-bottom:12px;font-size:12px;font-weight:600}.zone-field-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.zone-inspector label.zone-label-toggle{color:var(--text);justify-content:space-between;align-items:center;gap:12px;margin:0 0 14px;display:flex}.zone-label-toggle input{accent-color:var(--accent);width:16px;height:16px}.zone-coverage-status{color:var(--success);font-size:11px}@media (width<=900px){.editor-planning-inspector{flex-basis:270px;width:270px}}.left-sidebar{background:var(--bg-panel);border-right:1px solid var(--border);flex-direction:column;flex-shrink:0;width:220px;display:flex;overflow-y:auto}.scene-tree{flex:1;padding:8px;overflow-y:auto}.scene-tree h3{color:var(--accent);margin-bottom:8px;font-size:13px}.scene-tree ul{list-style:none}.tree-item{cursor:pointer;border-radius:3px;align-items:center;gap:4px;margin-bottom:2px;padding:4px 6px;font-size:12px;display:flex}.tree-item:hover{background:var(--bg-input)}.tree-item.selected{border:1px solid var(--accent);background:#48f3}.tree-name{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.tree-type{color:var(--text-dim);font-size:10px}.tree-delete{color:var(--danger);cursor:pointer;opacity:.5;background:0 0;border:none;padding:0 4px;font-size:12px}.tree-delete:hover{opacity:1}.canvas-wrapper{flex:1;position:relative;overflow:hidden}.editor-canvas{width:100%;height:100%;display:block}.measure-bar{border-top:2px solid var(--accent);z-index:10;background:#141428f2;padding:10px 16px;position:absolute;bottom:0;left:0;right:0}.measure-bar-inner{flex-wrap:wrap;align-items:center;gap:20px;display:flex}.measure-label{color:var(--accent);letter-spacing:1px;background:#4488ff26;border-radius:3px;padding:3px 8px;font-size:11px;font-weight:700}.measure-live{color:#fa0;font-size:13px}.measure-live strong{color:#fc4}.measure-inputs{flex:1;align-items:center;gap:12px;display:flex}.measure-inputs label{color:var(--text-dim);white-space:nowrap;align-items:center;gap:6px;font-size:12px;display:flex}.measure-inputs input{background:var(--bg-input);border:1px solid var(--border);width:90px;color:var(--text);border-radius:4px;padding:5px 8px;font-size:14px;font-weight:700}.measure-inputs input:focus{border-color:var(--accent);background:#2a2a50;outline:none}.measure-hint{color:var(--text-dim);margin-left:auto;font-size:11px}.properties-panel{background:var(--bg-panel);border-left:1px solid var(--border);flex-shrink:0;width:240px;padding:8px;overflow-y:auto}.properties-panel h3{color:var(--accent);margin-bottom:8px;font-size:13px}.properties-panel h4{color:var(--text-dim);margin:10px 0 6px;font-size:12px}.properties-panel label{color:var(--text-dim);margin-bottom:6px;font-size:11px;display:block}.properties-panel input,.properties-panel select{background:var(--bg-input);border:1px solid var(--border);width:100%;color:var(--text);border-radius:3px;margin-top:2px;padding:4px 6px;font-size:12px;display:block}.properties-panel input:focus,.properties-panel select:focus{border-color:var(--accent);outline:none}.prop-row{align-items:center;gap:4px;margin-bottom:4px;display:flex}.prop-key{color:var(--accent);min-width:50px;font-size:11px}.prop-row input{flex:1}.prop-row button{color:var(--danger);cursor:pointer;background:0 0;border:none;font-size:12px}.prop-add{gap:4px;margin-top:6px;display:flex}.prop-add input{flex:1;min-width:0}.prop-add button{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:3px;padding:4px 8px;font-size:11px}.status-bar{background:var(--bg-panel);border-top:1px solid var(--border);color:var(--text-dim);flex-shrink:0;align-items:center;gap:20px;padding:4px 12px;font-size:11px;display:flex}.context-menu-overlay{z-index:100;position:fixed;inset:0}.context-menu{background:var(--bg-panel);border:1px solid var(--border);z-index:101;border-radius:6px;min-width:180px;padding:4px 0;position:fixed;box-shadow:0 8px 24px #00000080}.context-menu button{width:100%;color:var(--text);text-align:left;cursor:pointer;background:0 0;border:none;padding:7px 14px;font-size:12px;display:block}.context-menu button:hover{background:var(--accent);color:#fff}.context-menu-divider{background:var(--border);height:1px;margin:4px 0}.context-menu-danger{color:var(--danger)!important}.context-menu-danger:hover{background:var(--danger)!important;color:#fff!important}.empty-msg{color:var(--text-dim);font-size:11px;font-style:italic}.sim-nav-link{background:var(--accent);color:#fff;z-index:50;opacity:.8;border-radius:4px;padding:5px 12px;font-size:11px;text-decoration:none;transition:opacity .15s;position:fixed;bottom:28px;right:12px}.sim-nav-link:hover{opacity:1}.sim-toolbar{align-items:center;gap:6px;margin-left:auto;display:flex}.sim-divider{background:var(--border);width:1px;height:24px;margin:0 4px}.sim-play-btn{font-weight:600;color:#fff!important;background:#2a4!important;border-color:#2a4!important}.sim-play-btn:hover:not(:disabled){background:#3c5!important}.sim-speed-select{background:var(--bg-input);border:1px solid var(--border);color:var(--text);cursor:pointer;border-radius:4px;padding:4px 6px;font-size:11px}.sim-speed-select:focus{border-color:var(--accent);outline:none}.sim-heatmap-lbl{color:var(--text-dim);cursor:pointer;white-space:nowrap;align-items:center;gap:3px;font-size:11px;display:flex}.sim-heatmap-lbl input{accent-color:var(--accent)}.sim-time-display{color:var(--accent);min-width:40px;font-family:monospace;font-size:13px;font-weight:700}.sim-agent-count{color:var(--text-dim);white-space:nowrap;font-size:11px}.sim-panel{width:260px}.sim-panel h4{color:var(--text-dim);text-transform:uppercase;letter-spacing:.5px;margin:12px 0 6px;font-size:11px}.sim-panel-time{color:var(--accent);margin-bottom:8px;font-family:monospace;font-size:28px;font-weight:700}.sim-panel-row{gap:6px;margin-bottom:8px;display:flex}.sim-panel-btn{border:1px solid var(--border);background:var(--bg-input);color:var(--text);cursor:pointer;border-radius:4px;flex:1;padding:6px 10px;font-size:12px;transition:all .15s}.sim-panel-btn:hover{border-color:var(--accent);background:#48f3}.sim-panel-btn-danger{border-color:#533}.sim-panel-btn-danger:hover{color:#fff;background:var(--danger)!important;border-color:var(--danger)!important}.sim-panel-label{color:var(--text-dim);margin-bottom:4px;font-size:11px;display:block}.sim-panel-speeds{flex-wrap:wrap;gap:3px;margin-bottom:8px;display:flex}.sim-speed-chip{border:1px solid var(--border);background:var(--bg-input);color:var(--text-dim);cursor:pointer;border-radius:3px;padding:3px 8px;font-size:10px;transition:all .15s}.sim-speed-chip:hover{background:#48f3}.sim-speed-chip.active{background:var(--accent);border-color:var(--accent);color:#fff}.sim-panel-check{color:var(--text-dim);cursor:pointer;align-items:center;gap:6px;margin-bottom:8px;font-size:12px;display:flex}.sim-panel-check input{accent-color:var(--accent)}.sim-stats-grid{grid-template-columns:1fr 1fr;gap:6px;margin-bottom:8px;display:grid}.sim-stat-box{background:var(--bg-input);border-radius:4px;padding:6px 8px}.sim-stat-label{color:var(--text-dim);text-transform:uppercase;font-size:9px;display:block}.sim-stat-value{font-family:monospace;font-size:16px;font-weight:700}.sim-stat-unit{color:var(--text-dim);font-size:10px;font-weight:400}.sim-zone-list{flex-direction:column;gap:4px;display:flex}.sim-zone-row{align-items:center;gap:6px;font-size:11px;display:flex}.sim-zone-name{text-overflow:ellipsis;white-space:nowrap;width:55px;color:var(--text-dim);overflow:hidden}.sim-zone-bar-bg{background:var(--bg-input);border-radius:3px;flex:1;height:6px;overflow:hidden}.sim-zone-bar{border-radius:3px;height:100%;transition:width .3s}.sim-zone-val{text-align:right;width:28px;color:var(--text);font-family:monospace;font-size:10px}.sim-alerts{flex-direction:column;gap:3px;max-height:120px;display:flex;overflow-y:auto}.sim-alert{border-left:3px solid;border-radius:3px;padding:3px 6px;font-size:10px}.sim-alert-warning{color:#fc4;background:#ffaa001a;border-left-color:#fa0}.sim-alert-danger{color:#f67;background:#ff44551a;border-left-color:#f45}.sim-alert-critical{color:#f44;background:#ff000026;border-left-color:red;font-weight:600}.sim-alert-time{opacity:.6;margin-right:4px;font-family:monospace}.sim-slider{margin-bottom:8px}.sim-slider-head{color:var(--text-dim);justify-content:space-between;margin-bottom:2px;font-size:10px;display:flex}.sim-slider-val{color:var(--accent);font-family:monospace;font-weight:600}.sim-slider input[type=range]{appearance:none;background:var(--border);border-radius:2px;outline:none;width:100%;height:4px}.sim-slider input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;background:var(--accent);cursor:pointer;border-radius:50%;width:12px;height:12px}.sim-legend{color:var(--text-dim);flex-direction:column;gap:3px;font-size:10px;display:flex}.sim-legend-row{align-items:center;gap:6px;display:flex}.sim-legend-sw{border-radius:2px;flex-shrink:0;width:16px;height:10px}.setup-point-row{background:var(--bg-input);border-radius:4px;align-items:center;gap:6px;margin-bottom:4px;padding:4px 6px;font-size:11px;display:flex}.setup-point-icon{text-align:center;width:16px;font-size:12px;font-weight:700}.setup-point-label{color:var(--text);flex:1}.setup-rate-label{color:var(--text-dim);align-items:center;gap:2px;font-size:10px;display:flex}.setup-rate-input{background:var(--bg-dark);border:1px solid var(--border);width:42px;color:var(--text);text-align:center;border-radius:3px;padding:2px 4px;font-size:11px}.setup-rate-input:focus{border-color:var(--accent);outline:none}.setup-remove-btn{color:var(--danger);cursor:pointer;opacity:.5;background:0 0;border:none;padding:0 4px;font-size:13px}.setup-remove-btn:hover{opacity:1}.component-palette{border-bottom:1px solid var(--border);flex-shrink:0;max-height:50vh;padding:8px;overflow-y:auto}.component-palette h3{color:var(--accent);margin-bottom:6px;font-size:13px}.planning-palette{max-height:none;padding:12px 10px}.planning-palette h3{margin:0 0 10px}.planning-palette-action{border-color:var(--border);border-radius:7px;gap:9px;min-height:56px;margin-top:6px;padding:9px 8px}.planning-palette-action.is-active{border-color:var(--accent);background:var(--bg-input)}.planning-palette-action:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.planning-palette-icon{border:1px solid var(--border);border-radius:6px;flex:0 0 28px;place-items:center;width:28px;height:28px;font-size:21px;display:grid}.planning-palette-icon.zone-icon{color:#4f8}.planning-palette-icon.camera-icon{color:var(--accent)}.planning-palette-copy{gap:4px;min-width:0;display:grid}.planning-palette-copy strong{font-size:12px}.planning-palette-copy small{color:var(--text-dim);font-size:10px;line-height:1.35}.palette-category{margin-bottom:2px}.palette-cat-btn{width:100%;color:var(--text);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:3px;align-items:center;gap:6px;padding:5px 6px;font-size:11px;font-weight:600;display:flex}.palette-cat-btn:hover{background:var(--bg-input)}.palette-cat-arrow{width:10px;color:var(--text-dim);font-size:8px}.palette-cat-count{color:var(--text-dim);margin-left:auto;font-size:9px;font-weight:400}.palette-items{padding:2px 0 4px 8px}.palette-item{width:100%;color:var(--text);cursor:pointer;text-align:left;background:0 0;border:1px solid #0000;border-radius:3px;align-items:center;gap:6px;padding:4px 6px;font-size:11px;transition:all .1s;display:flex}.palette-item:hover{background:var(--bg-input);border-color:var(--border)}.palette-swatch{border:2px solid;border-radius:3px;flex-shrink:0;width:18px;min-width:18px;height:14px}.palette-item-name{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.palette-item-size{color:var(--text-dim);white-space:nowrap;font-family:monospace;font-size:9px}.simulator-page{background:var(--bg-dark);flex-direction:column;width:100vw;height:100vh;display:flex}.sim-header{background:var(--bg-panel);border-bottom:1px solid var(--border);flex-shrink:0;align-items:center;gap:16px;padding:8px 16px;display:flex}.sim-back-link{color:var(--accent);border:1px solid var(--border);border-radius:4px;flex-shrink:0;padding:4px 10px;font-size:13px;text-decoration:none;transition:all .15s}.sim-back-link:hover{background:var(--accent);color:#fff}.sim-title{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:16px;font-weight:600;overflow:hidden}.sim-layout-name{color:var(--accent);font-weight:400}.sim-header-controls{flex-shrink:0;align-items:center;gap:16px;display:flex}.sim-heatmap-toggle{color:var(--text-dim);cursor:pointer;align-items:center;gap:6px;font-size:12px;display:flex}.sim-heatmap-toggle input{accent-color:var(--accent)}.sim-shortcut-hint{color:var(--text-dim);opacity:.5;white-space:nowrap;font-size:10px}.sim-body{flex:1;display:flex;overflow:hidden}.sim-sidebar{background:var(--bg-panel);border-right:1px solid var(--border);flex-direction:column;flex-shrink:0;gap:12px;width:290px;padding:12px;display:flex;overflow-y:auto}.sim-sidebar-right{border-right:none;border-left:1px solid var(--border);width:260px}.sim-canvas-wrapper{background:var(--canvas-bg);flex:1;position:relative;overflow:hidden}.sim-canvas{cursor:crosshair;width:100%;height:100%;display:block}.sim-canvas-placeholder{text-align:center;pointer-events:none;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.placeholder-icon{color:#48f3;margin-bottom:12px;font-size:48px}.placeholder-title{color:#dce1f066;margin-bottom:6px;font-size:20px;font-weight:600}.placeholder-subtitle{color:var(--text-dim);font-size:13px}.sim-btn{border:1px solid var(--border);background:var(--bg-input);color:var(--text);cursor:pointer;white-space:nowrap;border-radius:4px;padding:6px 12px;font-size:12px;transition:all .15s}.sim-btn:hover:not(:disabled){border-color:var(--accent);background:#48f3}.sim-btn:disabled{opacity:.4;cursor:not-allowed}.sim-btn-primary{background:var(--accent);border-color:var(--accent);color:#fff}.sim-btn-primary:hover:not(:disabled){background:var(--accent-hover)}.sim-btn-danger{border-color:#533}.sim-btn-danger:hover:not(:disabled){background:var(--danger);border-color:var(--danger);color:#fff}.layout-picker h3,.sim-config h3,.layout-info-panel h3{color:var(--accent);margin-bottom:8px;font-size:13px}.picker-row{align-items:center;gap:6px;margin-bottom:8px;display:flex}.picker-select{background:var(--bg-input);border:1px solid var(--border);color:var(--text);border-radius:4px;flex:1;min-width:0;padding:6px 8px;font-size:12px}.picker-select:focus{border-color:var(--accent);outline:none}.picker-error{color:var(--danger);margin-top:4px;font-size:11px}.layout-info-panel{background:#4488ff08;border:1px solid #4488ff1a;border-radius:6px;padding:10px}.layout-info-grid{grid-template-columns:repeat(4,1fr);gap:4px;margin-bottom:8px;display:grid}.info-chip{background:var(--bg-input);border-radius:4px;flex-direction:column;align-items:center;padding:4px 2px;display:flex}.info-chip-count{color:var(--text);font-family:monospace;font-size:14px;font-weight:700}.info-chip-label{text-transform:uppercase;letter-spacing:.5px;color:var(--text-dim);font-size:8px}.info-chip-spawn .info-chip-count{color:#fa0}.info-chip-exit .info-chip-count{color:#00dc64}.layout-info-size{text-align:center;color:var(--text-dim);margin-bottom:8px;font-family:monospace;font-size:11px}.info-section h4{text-transform:uppercase;letter-spacing:.5px;color:var(--text-dim);margin:8px 0 4px;font-size:10px}.info-item{border-radius:3px;align-items:center;gap:6px;padding:3px 4px;font-size:11px;display:flex}.info-item:hover{background:#ffffff08}.info-dot{border-radius:50%;flex-shrink:0;width:6px;height:6px}.spawn-dot{background:#fa0}.exit-dot{background:#00dc64}.zone-dot{background:var(--accent)}.info-item-name{text-overflow:ellipsis;white-space:nowrap;color:var(--text);flex:1;overflow:hidden}.info-item-detail{color:var(--text-dim);white-space:nowrap;font-family:monospace;font-size:10px}.info-warnings{margin-top:8px}.info-warning{color:#fa0;background:#ffaa0014;border-left:2px solid #fa0;border-radius:2px;margin-bottom:4px;padding:4px 6px;font-size:10px;line-height:1.3}.playback-controls{border-top:1px solid var(--border);border-bottom:1px solid var(--border);flex-direction:column;gap:8px;padding:10px 0;display:flex}.playback-row{align-items:center;gap:6px;display:flex}.playback-time-stack{flex:1;min-width:0}.playback-time{color:var(--text);font-family:monospace;font-size:20px;font-weight:700;display:block}.playback-subtime{color:var(--text-dim);margin-top:2px;font-size:10px;display:block}.playback-speed{color:var(--accent);font-size:14px;font-weight:600}.playback-label{color:var(--text-dim);font-size:11px}.speed-buttons{flex-wrap:wrap;gap:3px;display:flex}.speed-btn{border:1px solid var(--border);background:var(--bg-input);color:var(--text-dim);cursor:pointer;border-radius:3px;padding:3px 7px;font-size:10px;transition:all .15s}.speed-btn:disabled{cursor:wait;opacity:.55}.speed-btn:hover{background:#48f3}.speed-btn.active{background:var(--accent);border-color:var(--accent);color:#fff}.timeline-bar-panel{background:#4488ff0a;border:1px solid #4488ff26;border-radius:6px;padding:10px}.timeline-bar-head{justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:8px;display:flex}.timeline-bar-title{text-transform:uppercase;letter-spacing:.5px;color:var(--text-dim);font-size:11px}.timeline-bar-subtitle{color:var(--text);margin-top:2px;font-family:monospace;font-size:13px}.timeline-phase-chip{color:var(--accent);white-space:nowrap;background:#4488ff1f;border-radius:999px;padding:3px 8px;font-size:10px;font-weight:600}.timeline-track{background:#171a2e;border-radius:999px;height:22px;position:relative;overflow:hidden}.timeline-track.clickable{cursor:pointer}.timeline-track.is-seeking{cursor:wait;opacity:.85}.timeline-scene{background:#ffffff14;border:1px solid #ffffff0f;border-radius:999px;position:absolute;top:3px;bottom:3px}.timeline-scene.active{background:#ffb93c2e;border-color:#ffb93c66}.timeline-progress{background:linear-gradient(90deg,#4488ff59,#4488ffbf);position:absolute;top:0;bottom:0;left:0}.timeline-thumb{background:#fff;border-radius:999px;width:4px;margin-left:-2px;position:absolute;top:2px;bottom:2px;box-shadow:0 0 0 2px #4488ff59}.timeline-labels{color:var(--text-dim);justify-content:space-between;margin-top:6px;font-family:monospace;font-size:10px;display:flex}.timeline-jumps{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.timeline-jump-btn{color:var(--text);cursor:pointer;background:#0c0f1cb3;border:1px solid #4488ff2e;border-radius:999px;padding:4px 8px;font-family:monospace;font-size:10px;transition:background .15s,border-color .15s,color .15s}.timeline-jump-btn:hover:not(:disabled){color:#fff;background:#4488ff29;border-color:#4488ff6b}.timeline-jump-btn:disabled{cursor:wait;opacity:.55}.timeline-event-card{background:#080a1480;border:1px solid #ffffff0f;border-radius:6px;margin-top:8px;padding:8px}.timeline-event-time{color:var(--accent);margin-bottom:2px;font-family:monospace;font-size:10px}.timeline-event-title{color:var(--text);margin-bottom:3px;font-size:11px;font-weight:600}.timeline-event-desc{color:var(--text-dim);font-size:10px;line-height:1.4}.sim-config{padding-top:8px}.config-slider{margin-bottom:10px}.config-slider-header{justify-content:space-between;align-items:center;margin-bottom:4px;display:flex}.config-slider-label{color:var(--text-dim);font-size:11px}.config-slider-value{color:var(--accent);font-family:monospace;font-size:11px;font-weight:600}.config-slider input[type=range]{appearance:none;background:var(--border);border-radius:2px;outline:none;width:100%;height:4px}.config-slider input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;background:var(--accent);cursor:pointer;border-radius:50%;width:14px;height:14px}.stats-panel h3{color:var(--accent);margin-bottom:8px;font-size:13px}.stats-panel h4{color:var(--text-dim);text-transform:uppercase;letter-spacing:.5px;margin:12px 0 6px;font-size:10px}.stats-empty{color:var(--text-dim);font-size:12px;font-style:italic}.stats-time{color:var(--text);text-align:center;padding:4px 0 2px;font-family:monospace;font-size:24px;font-weight:700}.stats-phase{text-align:center;color:var(--accent);font-size:12px;font-weight:600}.stats-elapsed{text-align:center;color:var(--text-dim);border-bottom:1px solid var(--border);margin-bottom:8px;padding:4px 0 8px;font-size:10px}.stats-scene-card{background:#4488ff0d;border:1px solid #4488ff1f;border-radius:6px;margin-bottom:8px;padding:8px}.stats-scene-label{color:var(--accent);margin-bottom:4px;font-size:11px;font-weight:600}.stats-scene-desc{color:var(--text-dim);font-size:10px;line-height:1.4}.stats-grid{grid-template-columns:1fr 1fr;gap:6px;display:grid}.stat-item{background:var(--bg-input);border-radius:4px;padding:6px 8px}.stat-label{color:var(--text-dim);text-transform:uppercase;letter-spacing:.3px;margin-bottom:2px;font-size:9px;display:block}.stat-value{font-family:monospace;font-size:18px;font-weight:700;display:block}.stat-value-blue{color:var(--accent)}.stat-value-green{color:#00dc64}.zone-counts{flex-direction:column;gap:4px;display:flex}.zone-count-row{background:var(--bg-input);border-radius:4px;justify-content:space-between;align-items:center;gap:8px;padding:5px 8px;display:flex}.zone-count-val{color:var(--text);white-space:nowrap;font-family:monospace;font-size:11px;font-weight:600}.zone-densities{flex-direction:column;gap:4px;display:flex}.zone-density-row{align-items:center;gap:6px;font-size:11px;display:flex}.zone-name{text-overflow:ellipsis;white-space:nowrap;width:60px;color:var(--text-dim);font-size:10px;overflow:hidden}.density-bar-wrapper{background:var(--bg-input);border-radius:4px;flex:1;height:8px;overflow:hidden}.density-bar{border-radius:4px;height:100%;transition:width .3s}.zone-density-val{text-align:right;width:36px;font-family:monospace;font-size:10px;font-weight:600}.timeline-summary{background:#080a148c;border:1px solid #ffffff0d;border-radius:6px;flex-direction:column;gap:4px;padding:8px;display:flex}.timeline-summary-time{color:var(--accent);font-family:monospace;font-size:10px}.timeline-summary-phase{color:var(--text);font-size:11px;font-weight:600}.timeline-summary-event{color:var(--text);font-size:10px;line-height:1.4}.timeline-summary-meta{color:var(--text-dim);font-size:10px;line-height:1.4}.timeline-zones{flex-direction:column;gap:6px;margin-top:8px;display:flex}.timeline-zone-card{background:#ffffff08;border:1px solid #ffffff0d;border-radius:6px;padding:7px 8px}.timeline-zone-head{justify-content:space-between;align-items:center;gap:8px;margin-bottom:4px;display:flex}.timeline-zone-name{color:var(--text);font-size:11px;font-weight:600}.timeline-zone-density{color:var(--accent);font-family:monospace;font-size:10px}.timeline-zone-detail{color:var(--text-dim);font-size:10px;line-height:1.4}.alerts-list{flex-direction:column;gap:3px;max-height:200px;display:flex;overflow-y:auto}.alert-item{border-radius:3px;align-items:flex-start;gap:6px;padding:4px 6px;font-size:10px;display:flex}.alert-warning{background:#ffaa0014;border-left:3px solid #fa0}.alert-danger{background:#ff643214;border-left:3px solid #ff6432}.alert-critical{background:#ff28281f;border-left:3px solid #ff2828}.alert-time{color:var(--text-dim);white-space:nowrap;min-width:32px;font-family:monospace}.alert-msg{color:var(--text);word-break:break-word;line-height:1.3}.heatmap-legend{flex-direction:column;gap:3px;display:flex}.legend-row{color:var(--text-dim);align-items:center;gap:8px;font-size:10px;display:flex}.legend-swatch{border-radius:2px;flex-shrink:0;width:16px;height:10px}.sim-stage-control{border-top:1px solid #ffffff0f;flex-direction:column;gap:8px;padding:10px 12px;display:flex}.sim-stage-control h3{letter-spacing:.04em;text-transform:uppercase;color:var(--text-dim);margin:0 0 4px;font-size:12px}.stage-empty{color:var(--text-dim);opacity:.7;font-size:11px}.stage-mode{background:#0000004d;border-radius:6px;gap:4px;padding:3px;display:flex}.stage-mode-btn{color:var(--text-dim);cursor:pointer;background:0 0;border:none;border-radius:4px;flex:1;padding:5px 8px;font-size:11px;font-weight:600;transition:background .15s,color .15s}.stage-mode-btn:hover{color:#e8ecf6}.stage-mode-btn.active{color:#cfe0ff;background:#4488ff38}.stage-status{background:#ffffff0a;border-radius:4px;align-items:center;gap:6px;padding:6px 8px;font-size:11px;display:flex}.stage-status.on{color:#b4f0c4;background:#3cc8781f}.stage-status.off{color:var(--text-dim)}.stage-dot{background:#888;border-radius:50%;width:8px;height:8px}.stage-status.on .stage-dot{background:#5ce39a;box-shadow:0 0 6px #5ce39a}.stage-track{color:#ffd28a;text-transform:uppercase;font-size:10px;font-weight:600}.stage-field{color:var(--text-dim);flex-direction:column;gap:3px;font-size:10px;display:flex}.stage-field input,.stage-field select{color:#e8ecf6;background:#00000059;border:1px solid #ffffff14;border-radius:4px;padding:5px 6px;font-size:11px}.stage-btn{cursor:pointer;border:none;border-radius:4px;padding:7px 10px;font-size:11px;font-weight:600;transition:background .15s}.stage-btn-drop{color:#c0f0d2;background:#44c87840}.stage-btn-drop:hover{background:#44c87866}.stage-btn-remove{color:#f5c8c8;background:#dc505038}.stage-btn-remove:hover{background:#dc505061}.stage-tracks{grid-template-columns:repeat(2,1fr);gap:4px;display:grid}.stage-track-btn{color:var(--text-dim);cursor:pointer;background:#ffffff0d;border:1px solid #ffffff0f;border-radius:4px;padding:5px 6px;font-size:10px;font-weight:600}.stage-track-btn:hover{color:#e8ecf6;background:#ffffff1a}.stage-track-btn.active{color:#ffd28a;background:#ffb43c38;border-color:#ffb43c80}.stage-hint{color:var(--text-dim);opacity:.75;font-size:10px;font-style:italic;line-height:1.4}.stage-list{background:#00000040;border-radius:4px;flex-direction:column;gap:3px;padding:6px 8px;display:flex}.stage-list-label{letter-spacing:.06em;text-transform:uppercase;color:var(--text-dim);margin-bottom:2px;font-size:9px}.stage-list-row{color:var(--text-dim);cursor:pointer;align-items:center;gap:6px;padding:2px 0;font-size:11px;display:flex}.stage-list-row.active{color:#ffd28a;font-weight:600}.stage-list-row input{margin:0}.stage-list-name{flex:1}.stage-list-status{letter-spacing:.05em;color:var(--text-dim);background:#ffffff0d;border-radius:3px;padding:1px 5px;font-size:9px;font-weight:700}.stage-list-row.active .stage-list-status{color:#ffd28a;background:#ffb43c40}.alert-clickable{cursor:pointer;transition:background .12s,transform 80ms}.alert-clickable:hover{background:#ffffff14;transform:translate(2px)}.alert-clickable:after{content:"📍";opacity:.4;margin-left:auto;font-size:10px}.alert-clickable:hover:after{opacity:1}.event-picker-page{color:#e6ecff;background:radial-gradient(900px 500px at 20% 0,#1a2338 0%,#0b0f1a 65%);justify-content:center;align-items:flex-start;min-height:100vh;padding:72px 24px 58px;display:flex;position:relative;overflow-x:hidden}.event-picker-header{color:#e6ecff;letter-spacing:-.5px;border-bottom:1px solid #709eff47;justify-content:space-between;align-items:center;gap:20px;padding-bottom:10px;font-size:18px;font-weight:700;display:flex;position:absolute;top:14px;left:24px;right:24px}.event-picker-upload{color:#fff;background:var(--accent);border:1px solid var(--accent-hover);cursor:pointer;border-radius:7px;flex:none;justify-content:center;align-items:center;gap:8px;min-width:118px;min-height:36px;padding:8px 14px;font-size:12px;font-weight:600;display:inline-flex}.event-picker-upload:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.event-picker-upload:disabled{cursor:not-allowed;opacity:.55}.event-upload-input{display:none}.event-picker-panel{background:#111726;border:1px solid #2b3b61;border-radius:14px;flex-direction:column;width:min(1680px,100%);min-height:0;margin-top:12px;margin-left:auto;margin-right:auto;padding:20px 22px 16px;display:flex;box-shadow:0 18px 55px #00000052}.event-picker-topline{justify-content:space-between;align-items:center;gap:12px;display:flex}.event-picker-back{color:#b7c9ec;cursor:pointer;background:#0f1a31;border:1px solid #36558f;border-radius:7px;min-width:124px;min-height:30px;padding:6px 12px;font-size:12px}.event-picker-back:hover{color:#fff;background:#1a2338}.event-picker-panel h1{letter-spacing:-.4px;margin:0 0 4px;font-size:24px}.event-picker-title-row{align-items:center;gap:10px;display:flex}.event-count-badge{color:#b7c9ec;letter-spacing:0;vertical-align:middle;background:#1a2c50;border:1px solid #346;border-radius:999px;align-items:center;margin-left:6px;padding:3px 8px;font-size:11px;font-weight:600;display:inline-flex}.event-picker-subtitle{color:#9aa8c4;margin:0 0 14px;font-size:12px}.event-library-eyebrow{color:#80aaff;letter-spacing:1.1px;text-transform:uppercase;margin:0 0 4px;font-size:10px;font-weight:700}.event-library-message{color:#9aa8c4;font-size:13px;line-height:1.5}.event-picker-error{color:#fca5a5;background:#7f1d1d38;border:1px solid #f8717159;border-radius:8px;padding:14px}.event-picker-error p{margin:0 0 12px}.event-picker-actions{gap:10px;display:flex}.event-picker-controls{align-items:center;gap:10px;margin:0 0 14px;display:flex}.event-search-field,.event-sort-field{color:#9aa8c4;align-items:center;gap:8px;font-size:12px;display:flex}.event-search-field{background:#151d31;border:1px solid #346;border-radius:8px;flex:1;min-width:0;padding:0 12px}.event-search-field:focus-within,.event-sort-field:focus-within{border-color:#4f86ea}.event-search-icon{color:#8bb5ff;font-size:20px;line-height:1}.event-search-field input,.event-sort-field select{color:#e6ecff;min-width:0;font:inherit;background:0 0;border:0;outline:0;padding:8px 0}.event-search-field input{width:100%}.event-search-field input::placeholder{color:#7183a8}.event-sort-field{background:#151d31;border:1px solid #346;border-radius:8px;flex:0 0 190px;padding:0 10px}.event-sort-field select{cursor:pointer;flex:1}.event-sort-field option{color:#e6ecff;background:#151d31}.event-picker-footer{color:#8ea0c4;border-top:1px solid #709eff33;justify-content:space-between;align-items:center;gap:14px;margin-top:14px;padding-top:12px;font-size:11px;display:flex}.event-picker-range{flex:1}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.event-card-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.event-pagination{color:#9aa8c4;justify-content:flex-end;align-items:center;gap:4px;font-size:12px;display:flex}.event-pagination-button{color:#b7c9ec;cursor:pointer;background:0 0;border:1px solid #346;border-radius:6px;min-width:28px;height:30px;padding:5px 7px}.event-pagination-button:hover:not(:disabled){color:#fff;background:#1a2338}.event-pagination-button:disabled{cursor:not-allowed;opacity:.45}.event-pagination-button.active{color:#fff;background:var(--accent);border-color:var(--accent-hover)}.event-pagination-ellipsis{color:#7183a8;text-align:center;min-width:16px}.event-import-status{z-index:20;color:#dbe7ff;background:#151d31;border:1px solid #36558f;border-radius:9px;align-items:center;gap:9px;max-width:min(360px,100vw - 48px);padding:11px 14px;font-size:12px;display:inline-flex;position:fixed;bottom:64px;right:24px;box-shadow:0 12px 28px #00000059}.event-picker-powered-by{color:#8ea0c4;letter-spacing:.25px;align-items:center;gap:8px;font-size:12px;display:flex;position:fixed;bottom:20px;right:28px}.event-picker-powered-by img{width:auto;height:24px;display:block}.event-card{color:#e6ecff;text-align:left;cursor:pointer;background:#151d31;border:1px solid #2b3b61;border-radius:8px;align-items:center;gap:10px;width:100%;min-height:74px;padding:11px 12px;transition:border-color .12s,background .12s,transform 80ms;display:flex}.event-upload-icon{font-size:20px;line-height:1}.event-card:hover{background:#1a2742;border-color:#4f86ea;transform:translateY(-1px)}.event-card-icon{color:#8bb5ff;background:#213a6b;border-radius:7px;flex:0 0 32px;place-items:center;width:32px;height:32px;font-size:16px;display:grid}.event-card-body{flex:1;min-width:0}.event-card-body strong,.event-card-body span{display:block}.event-card-body strong{color:#edf3ff;text-overflow:ellipsis;white-space:nowrap;margin-bottom:3px;font-size:14px;overflow:hidden}.event-card-body span{color:#95a6c8;font-size:11px}.event-card-body span+span{color:#7183a8;margin-top:2px}.event-card-arrow{color:#80aaff;font-size:18px}@media (width<=1320px){.event-card-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=900px){.event-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=620px){.event-picker-page{align-items:flex-start;padding:86px 12px 64px}.event-picker-header{font-size:16px;left:14px;right:14px}.event-picker-panel{width:100%;min-height:0;margin-top:10px;padding:14px}.event-picker-panel h1{font-size:21px}.event-picker-controls{flex-direction:column;align-items:stretch}.event-sort-field{flex-basis:auto}.event-card-grid{grid-template-columns:1fr}.event-picker-footer{flex-direction:column;align-items:flex-start}.event-pagination{justify-content:flex-start}}
