*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-darkest);color:var(--text-main);font-family:var(--font-sans);overflow:hidden;height:100vh;width:100vw;-webkit-font-smoothing:antialiased}.nora-app-layout{display:flex;flex-direction:column;height:100vh;width:100vw;background:var(--bg-card)}.nora-header{height:56px;background:rgb(var(--surface-rgb) / .85);-webkit-backdrop-filter:none;backdrop-filter:none;border-bottom:1px solid var(--border-color);display:flex;align-items:center;justify-content:space-between;padding:0 24px;z-index:20}.header-brand{display:flex;align-items:center;gap:12px;flex-shrink:1;min-width:0}@media(max-width:1280px){.brand-subtitle{display:none}}.brand-logo-wrap{width:36px;height:36px;border-radius:8px;background:var(--bg-card);border:1px solid rgb(var(--accent-rgb) / .4);display:flex;align-items:center;justify-content:center}.brand-icon{color:var(--cyan)}.brand-name-row{display:flex;align-items:center;gap:8px}.brand-title{font-size:16px;font-weight:700;letter-spacing:1px;color:#fff}.brand-tag{font-size:10px;font-weight:700;background:var(--cyan-glow);color:var(--cyan);padding:2px 6px;border-radius:4px;border:1px solid rgb(var(--accent-rgb) / .3)}.brand-subtitle{font-size:11px;color:var(--text-muted)}.header-actions{display:flex;align-items:center;gap:12px}.connection-badge{display:flex;align-items:center;gap:6px;font-size:12px;padding:5px 12px;border-radius:20px;cursor:pointer;transition:color .12s ease,background-color .12s ease}.connection-badge.connected{background:rgb(var(--accent-rgb) / .15);border:1px solid rgb(var(--accent-rgb) / .4);color:var(--emerald)}.connection-badge.standalone{background:rgb(var(--amber-rgb) / .15);border:1px solid rgb(var(--amber-rgb) / .4);color:var(--amber)}.btn-settings-icon{background:transparent;border:1px solid var(--border-color);color:var(--text-muted);width:32px;height:32px;border-radius:6px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:color .12s ease,background-color .12s ease}.btn-settings-icon:hover{color:#fff;border-color:var(--cyan)}.top-affordance-pill,.top-affordance-panel{display:inline-flex;align-items:center;gap:8px;padding:4px 14px;height:34px;background:rgb(var(--surface-rgb) / .9);-webkit-backdrop-filter:none;backdrop-filter:none;border:1px solid var(--border-color);border-radius:20px;cursor:pointer;transition:color .12s ease,background-color .12s ease;-webkit-user-select:none;user-select:none;white-space:nowrap;flex-shrink:0;line-height:1}.top-affordance-pill:hover,.top-affordance-panel:hover{transform:none;border-color:rgb(var(--accent-rgb) / .45);box-shadow:none}.top-affordance-pill.status-high,.top-affordance-panel.status-high{border-color:rgb(var(--accent-rgb) / .45);background:var(--bg-card);box-shadow:none}.top-affordance-pill.status-med,.top-affordance-panel.status-med{border-color:rgb(var(--amber-rgb) / .45);background:var(--bg-card);box-shadow:none}.top-affordance-pill.status-low,.top-affordance-panel.status-low{border-color:rgb(var(--red-rgb) / .45);background:var(--bg-card);box-shadow:none}.top-affordance-pill.status-standby,.top-affordance-panel.status-standby{border-color:rgb(var(--accent-rgb) / .25);background:var(--bg-card)}.affordance-pill-icon{color:var(--cyan);display:flex;align-items:center;justify-content:center;flex-shrink:0}.top-affordance-pill.status-high .affordance-pill-icon,.top-affordance-panel.status-high .affordance-pill-icon{color:var(--emerald)}.top-affordance-pill.status-med .affordance-pill-icon,.top-affordance-panel.status-med .affordance-pill-icon{color:var(--amber)}.top-affordance-pill.status-low .affordance-pill-icon,.top-affordance-panel.status-low .affordance-pill-icon{color:var(--red)}.affordance-sentence{font-size:13px;font-weight:600;color:#e2e8f0;letter-spacing:.15px;display:inline-flex;align-items:center;gap:4px;white-space:nowrap}.affordance-sentence-val{font-family:var(--font-mono);font-weight:700;color:#fff}.top-affordance-pill.status-high .affordance-sentence-val,.top-affordance-panel.status-high .affordance-sentence-val{color:var(--emerald)}.top-affordance-pill.status-med .affordance-sentence-val,.top-affordance-panel.status-med .affordance-sentence-val{color:var(--amber)}.top-affordance-pill.status-low .affordance-sentence-val,.top-affordance-panel.status-low .affordance-sentence-val{color:var(--red)}.top-affordance-pill.status-standby .affordance-sentence-val,.top-affordance-panel.status-standby .affordance-sentence-val{color:var(--cyan)}.affordance-sentence-status{font-weight:600;font-size:12px;opacity:.9}.top-affordance-pill.status-high .affordance-sentence-status,.top-affordance-panel.status-high .affordance-sentence-status{color:#c2d1df}.top-affordance-pill.status-med .affordance-sentence-status,.top-affordance-panel.status-med .affordance-sentence-status{color:var(--amber)}.top-affordance-pill.status-low .affordance-sentence-status,.top-affordance-panel.status-low .affordance-sentence-status{color:var(--red-soft)}.top-affordance-pill.status-standby .affordance-sentence-status,.top-affordance-panel.status-standby .affordance-sentence-status{color:var(--text-muted)}.affordance-info-hint{color:var(--text-dim);opacity:.6;margin-left:2px;flex-shrink:0;transition:color .12s ease,background-color .12s ease}.top-affordance-pill:hover .affordance-info-hint,.top-affordance-panel:hover .affordance-info-hint{opacity:1;color:var(--cyan)}.affordance-info-popover{position:absolute;top:60px;left:50%;transform:translate(-50%);width:440px;max-width:90vw;background:var(--bg-card);border:1px solid rgb(var(--accent-rgb) / .4);box-shadow:none;border-radius:12px;padding:18px;z-index:100;animation:none}@keyframes fadeIn{0%{opacity:0;transform:translate(-50%,-6px)}to{opacity:1;transform:translate(-50%)}}.popover-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;border-bottom:1px solid var(--border-color);padding-bottom:8px}.popover-header h4{font-size:13px;font-weight:700;color:#fff;flex:1;margin-left:6px}.btn-popover-close{background:transparent;border:none;color:var(--text-muted);font-size:18px;cursor:pointer;line-height:1}.btn-popover-close:hover{color:#fff}.popover-body p{font-size:12px;color:var(--text-muted);line-height:1.5;margin-bottom:10px}.formula-box{background:#00000059;border:1px solid rgb(var(--accent-rgb) / .3);border-radius:6px;padding:8px 12px;margin-bottom:12px;text-align:center}.formula-box code{color:var(--cyan);font-family:var(--font-mono);font-size:12px;font-weight:700}.popover-details{font-size:11px;color:var(--text-muted);display:flex;flex-direction:column;gap:8px;line-height:1.4}.popover-details code{font-family:var(--font-mono);color:var(--cyan);background:rgb(var(--accent-rgb) / .08);padding:1px 4px;border-radius:3px}.settings-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;-webkit-backdrop-filter:none;backdrop-filter:none;display:flex;align-items:center;justify-content:center;z-index:100}.settings-modal-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;padding:24px;width:440px;max-width:90vw;box-shadow:none}.settings-modal-card h3{font-size:16px;font-weight:700;margin-bottom:8px;color:#fff}.settings-help{font-size:12px;color:var(--text-muted);margin-bottom:16px}.settings-help code{background:rgb(var(--accent-rgb) / .1);color:var(--cyan);padding:2px 5px;border-radius:4px;font-family:var(--font-mono)}.settings-input{width:100%;background:#090c12;border:1px solid var(--border-color);border-radius:6px;color:#fff;font-family:var(--font-mono);font-size:13px;padding:10px 12px;margin-top:6px;margin-bottom:20px;outline:none}.settings-input:focus{border-color:var(--cyan);box-shadow:none}.modal-btn-row{display:flex;justify-content:flex-end;gap:10px}.btn-modal-cancel{background:transparent;border:1px solid var(--border-color);color:var(--text-muted);padding:8px 16px;border-radius:6px;cursor:pointer;font-size:13px}.btn-modal-save{background:var(--cyan);border:none;color:#000;font-weight:700;padding:8px 18px;border-radius:6px;cursor:pointer;font-size:13px}.nora-main-content{flex:1;display:grid;grid-template-columns:55% 45%;gap:12px;padding:12px 24px;overflow:hidden}@media(max-width:1100px){.nora-main-content{grid-template-columns:1fr;grid-template-rows:50% 50%}}.viewport-section{display:flex;flex-direction:column;background:var(--bg-card);border:1px solid var(--border-color);border-radius:10px;overflow:hidden}.section-header-compact{height:42px;background:rgb(var(--surface-rgb) / .95);border-bottom:1px solid var(--border-color);display:flex;align-items:center;justify-content:space-between;padding:0 16px}.section-title{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:var(--text-main)}.icon-cyan{color:var(--cyan)}.icon-amber{color:var(--amber)}.icon-emerald{color:var(--emerald)}.icon-red{color:var(--red)}.icon-muted{color:var(--text-muted)}.arm-quick-status{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--cyan)}.pulse-dot{width:6px;height:6px;border-radius:50%;background:var(--cyan);box-shadow:none;animation:none}@keyframes pulse{0%{opacity:.4}50%{opacity:1}to{opacity:.4}}.viewport-render-box{flex:1;position:relative;background:#0e1117}.three-viewport-container{width:100%;height:100%;position:relative}.three-canvas{width:100%;height:100%}.viewport-overlay-toolbar{position:absolute;top:12px;left:12px;display:flex;gap:8px;z-index:10}.viewport-btn{background:rgb(var(--surface-rgb) / .75);-webkit-backdrop-filter:none;backdrop-filter:none;border:1px solid var(--border-color);color:var(--text-muted);font-size:11px;padding:5px 10px;border-radius:6px;display:flex;align-items:center;gap:5px;cursor:pointer;transition:color .12s ease,background-color .12s ease}.viewport-btn:hover,.viewport-btn.active{background:rgb(var(--accent-rgb) / .15);color:var(--cyan);border-color:var(--cyan)}.viewport-btn.highlight-btn{background:rgb(var(--accent-rgb) / .12);color:var(--cyan);border-color:rgb(var(--accent-rgb) / .4)}.viewport-btn.highlight-btn:hover{background:rgb(var(--accent-rgb) / .25);box-shadow:none}.viewport-btn.btn-add-obj{background:var(--bg-card);border-color:var(--cyan);color:#fff;font-weight:600;box-shadow:none}.viewport-btn.btn-add-obj:hover{background:var(--bg-card);box-shadow:none;transform:none}.on-arm-camera-hud{position:absolute;top:56px;left:12px;display:flex;align-items:center;gap:10px;background:rgb(var(--surface-rgb) / .88);-webkit-backdrop-filter:none;backdrop-filter:none;border:1px solid rgba(255,255,255,.12);border-radius:8px;padding:5px 12px;z-index:10;box-shadow:none;transition:color .12s ease,background-color .12s ease;pointer-events:none}.on-arm-camera-hud.scanning{border-color:var(--cyan);box-shadow:none;background:#081420f0}.camera-lens-indicator{position:relative;display:flex;align-items:center;justify-content:center;width:26px;height:26px;background:#1e293bb3;border:1px solid rgba(255,255,255,.15);border-radius:6px;color:#94a3b8;flex-shrink:0}.on-arm-camera-hud.scanning .camera-lens-indicator{background:rgb(var(--accent-rgb) / .15);border-color:var(--cyan);color:var(--cyan)}.camera-led-dot{position:absolute;top:-2px;right:-2px;width:6px;height:6px;border-radius:50%;background:#22c55e;box-shadow:none}.camera-led-dot.active{background:var(--cyan);box-shadow:none;animation:none}@keyframes cameraLedPulse{0%{transform:none;opacity:.8}to{transform:none;opacity:1}}.camera-icon-hud{filter:drop-shadow(0 0 2px rgba(0,0,0,.5))}.camera-hud-info{display:flex;flex-direction:column;gap:2px}.camera-hud-title{display:flex;align-items:center;gap:6px}.camera-brand{font-size:10px;font-weight:700;letter-spacing:.05em;color:#eeeff0}.camera-status-tag{font-size:8px;font-weight:800;padding:1px 5px;border-radius:3px;letter-spacing:.06em;text-transform:uppercase}.camera-status-tag.standby{background:#47556959;color:#94a3b8;border:1px solid rgba(148,163,184,.25)}.camera-status-tag.active{background:rgb(var(--accent-rgb) / .22);color:var(--cyan);border:1px solid rgb(var(--accent-rgb) / .5);box-shadow:none;animation:none}@keyframes pulseScanTag{0%{opacity:.8}to{opacity:1}}.camera-hud-meta{display:flex;align-items:center;gap:8px;font-size:9.5px;color:#94a3b8;font-family:var(--font-mono)}.camera-obj-count strong{color:var(--cyan);font-weight:700}.viewport-perception-banner{position:absolute;top:14px;left:50%;transform:translate(-50%);background:rgb(var(--surface-rgb) / .92);-webkit-backdrop-filter:none;backdrop-filter:none;border:1px solid var(--cyan);box-shadow:none;color:#fff;padding:8px 18px;border-radius:20px;font-size:12px;display:flex;align-items:center;gap:8px;z-index:10}.viewport-drag-tooltip{position:absolute;top:54px;left:50%;transform:translate(-50%);background:#0f172af2;color:#fff;font-weight:700;padding:6px 14px;border-radius:8px;font-size:11px;display:flex;align-items:center;gap:8px;box-shadow:none;pointer-events:none;z-index:10;border:1px solid rgba(255,255,255,.15);transition:color .12s ease,background-color .12s ease}.viewport-drag-tooltip.reachable{border-color:#22c55e99;background:#0f172af2;box-shadow:none}.viewport-drag-tooltip.unreachable{border-color:rgb(var(--red-rgb) / .7);background:#1e0a0af2;box-shadow:none}.drag-reach-badge{font-size:10px;padding:2px 7px;border-radius:4px;font-weight:800;letter-spacing:.03em}.drag-reach-badge.badge-ok{background:#22c55e33;color:#4ade80;border:1px solid rgba(74,222,128,.4)}.drag-reach-badge.badge-warn{background:rgb(var(--red-rgb) / .2);color:var(--red);border:1px solid rgb(var(--red-rgb) / .4)}.tabletop-hud-container{position:absolute;bottom:14px;left:14px;z-index:10;display:flex;flex-direction:column-reverse;gap:8px}.tabletop-hud-bar{display:flex;align-items:center;gap:8px;background:rgb(var(--surface-rgb) / .9);-webkit-backdrop-filter:none;backdrop-filter:none;border:1px solid var(--border-color);padding:5px 8px;border-radius:10px;box-shadow:none}.hud-btn{display:flex;align-items:center;gap:6px;background:#ffffff0a;border:1px solid var(--border-color);color:var(--text-muted);font-size:11.5px;font-weight:600;padding:5px 10px;border-radius:6px;cursor:pointer;transition:color .12s ease,background-color .12s ease;white-space:nowrap}.hud-btn:hover{background:rgb(var(--accent-rgb) / .12);border-color:var(--cyan);color:#fff;transform:none}.hud-btn.hud-btn-add{background:var(--bg-card);border-color:var(--cyan);color:#fff;box-shadow:none}.hud-btn.hud-btn-add:hover{background:var(--bg-card);box-shadow:none}.hud-btn.hud-btn-objects.active{background:rgb(var(--accent-rgb) / .16);border-color:var(--cyan);color:var(--cyan)}.hud-btn.hud-btn-clear{color:var(--red-soft);background:rgb(var(--red-rgb) / .08);border-color:rgb(var(--red-rgb) / .25)}.hud-btn.hud-btn-clear:hover{background:rgb(var(--red-rgb) / .22);border-color:var(--red);color:#fff;box-shadow:none}.hud-btn.hud-btn-restore{color:#93c5fd;background:rgb(var(--accent-rgb) / .08);border-color:rgb(var(--accent-rgb) / .25)}.hud-btn.hud-btn-restore:hover{background:rgb(var(--accent-rgb) / .22);border-color:var(--cyan);color:#fff;box-shadow:none}.hud-divider{width:1px;height:16px;background:var(--border-color)}.hud-quick-strip{display:flex;align-items:center;gap:4px}.hud-mini-label{font-size:10px;font-weight:700;color:var(--text-dim);text-transform:uppercase;margin-right:2px}.hud-quick-btn{background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:6px;font-size:14px;width:28px;height:28px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:color .12s ease,background-color .12s ease}.hud-quick-btn:hover{background:rgb(var(--accent-rgb) / .2);border-color:var(--cyan);transform:none}.tabletop-objects-popover{width:360px;max-width:90vw;max-height:240px;overflow-y:auto;background:rgb(var(--surface-rgb) / .95);-webkit-backdrop-filter:none;backdrop-filter:none;border:1px solid var(--border-color);border-radius:10px;padding:10px 12px;box-shadow:none;animation:none}.popover-header{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border-color);padding-bottom:8px;margin-bottom:8px}.popover-title-row{display:flex;align-items:center;gap:6px}.popover-title{font-size:12px;font-weight:700;color:#fff}.popover-actions-row{display:flex;align-items:center;gap:6px}.btn-popover-clear-all{display:inline-flex;align-items:center;gap:4px;background:rgb(var(--red-rgb) / .12);border:1px solid rgb(var(--red-rgb) / .3);color:var(--red-soft);font-size:10px;font-weight:600;padding:2px 7px;border-radius:4px;cursor:pointer;transition:color .12s ease,background-color .12s ease}.btn-popover-clear-all:hover{background:rgb(var(--red-rgb) / .25);border-color:var(--red);color:#fff}.btn-popover-restore{display:inline-flex;align-items:center;gap:4px;background:rgb(var(--accent-rgb) / .12);border:1px solid rgb(var(--accent-rgb) / .3);color:#93c5fd;font-size:10px;font-weight:600;padding:2px 7px;border-radius:4px;cursor:pointer;transition:color .12s ease,background-color .12s ease}.btn-popover-restore:hover{background:rgb(var(--accent-rgb) / .25);border-color:var(--cyan);color:#fff}.popover-tip{font-size:10px;color:var(--text-dim)}.popover-empty-notice{padding:16px 8px;text-align:center;font-size:11px;color:var(--text-dim);line-height:1.5}.popover-empty-notice strong{color:var(--cyan)}.popover-objects-grid{display:flex;flex-direction:column;gap:4px}.popover-obj-item{display:flex;align-items:center;gap:8px;padding:4px 8px;border-radius:6px;background:#ffffff08;border:1px solid rgba(255,255,255,.06);font-size:11px;transition:color .12s ease,background-color .12s ease}.popover-obj-item:hover{background:rgb(var(--accent-rgb) / .08);border-color:rgb(var(--accent-rgb) / .3)}.popover-obj-name{color:#e2e8f0;font-weight:600;flex:1}.popover-obj-coords{color:var(--text-dim);font-family:var(--font-mono);font-size:10px}.btn-delete-obj{background:transparent;border:none;color:var(--text-dim);cursor:pointer;padding:2px;margin-left:2px;border-radius:3px;display:flex;align-items:center;justify-content:center;transition:color .12s ease,background-color .12s ease}.btn-delete-obj:hover{color:var(--red);background:rgb(var(--red-rgb) / .2)}.dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.add-object-modal-card{background:var(--bg-card);border:1px solid var(--border-color);box-shadow:none;border-radius:14px;padding:22px;width:500px;max-width:92vw;animation:none}.modal-header-row{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:16px;border-bottom:1px solid var(--border-color);padding-bottom:12px}.modal-title-wrap{display:flex;align-items:center;gap:12px}.modal-icon-badge{width:36px;height:36px;border-radius:8px;background:rgb(var(--accent-rgb) / .12);border:1px solid rgb(var(--accent-rgb) / .35);display:flex;align-items:center;justify-content:center}.modal-header-row h3{font-size:16px;font-weight:700;color:#fff}.modal-subtitle{font-size:11px;color:var(--text-muted);margin-top:2px}.btn-close-modal{background:transparent;border:1px solid var(--border-color);color:var(--text-muted);width:28px;height:28px;border-radius:6px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:color .12s ease,background-color .12s ease}.btn-close-modal:hover{color:#fff;border-color:var(--cyan)}.add-success-banner{background:rgb(var(--accent-rgb) / .15);border:1px solid rgb(var(--accent-rgb) / .4);color:var(--emerald);border-radius:8px;padding:8px 12px;font-size:12px;font-weight:600;display:flex;align-items:center;gap:8px;margin-bottom:14px}.modal-current-objects-strip{background:rgb(var(--surface-rgb) / .7);border:1px solid var(--border-color);border-radius:8px;padding:10px 12px;margin-bottom:14px}.current-objects-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.current-objects-header .section-label-row{margin-bottom:0}.current-objects-actions{display:flex;align-items:center;gap:6px}.btn-modal-clear-all{display:inline-flex;align-items:center;gap:5px;background:rgb(var(--red-rgb) / .15);border:1px solid rgb(var(--red-rgb) / .35);color:var(--red-soft);font-size:11px;font-weight:600;padding:3px 8px;border-radius:5px;cursor:pointer;transition:color .12s ease,background-color .12s ease}.btn-modal-clear-all:hover{background:rgb(var(--red-rgb) / .3);border-color:var(--red);color:#fff}.btn-modal-restore-defaults{display:inline-flex;align-items:center;gap:5px;background:rgb(var(--accent-rgb) / .15);border:1px solid rgb(var(--accent-rgb) / .35);color:#93c5fd;font-size:11px;font-weight:600;padding:3px 8px;border-radius:5px;cursor:pointer;transition:color .12s ease,background-color .12s ease}.btn-modal-restore-defaults:hover{background:rgb(var(--accent-rgb) / .3);border-color:var(--cyan);color:#fff}.current-objects-pill-list{display:flex;flex-wrap:wrap;gap:6px}.current-objects-empty{font-size:11px;color:var(--text-dim);font-style:italic}.current-obj-pill{display:inline-flex;align-items:center;gap:6px;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:6px;padding:3px 8px;font-size:11px;color:#e2e8f0}.current-obj-pill:hover{border-color:rgb(var(--accent-rgb) / .3)}.current-obj-name{font-weight:600}.btn-pill-delete{background:transparent;border:none;color:var(--text-dim);cursor:pointer;padding:2px;margin-left:2px;border-radius:3px;display:inline-flex;align-items:center;justify-content:center;transition:color .12s ease,background-color .12s ease}.btn-pill-delete:hover{color:var(--red);background:rgb(var(--red-rgb) / .25)}.modal-section{margin-bottom:16px}.section-label-row{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:700;color:var(--text-muted);margin-bottom:10px}.presets-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.preset-card-btn{background:#ffffff08;border:1px solid var(--border-color);border-radius:8px;padding:10px 6px;display:flex;flex-direction:column;align-items:center;gap:4px;cursor:pointer;transition:color .12s ease,background-color .12s ease}.preset-card-btn:hover{border-color:var(--cyan);background:rgb(var(--accent-rgb) / .12);transform:none;box-shadow:none}.preset-emoji{font-size:20px}.preset-name{font-size:10.5px;font-weight:600;color:#fff;text-align:center}.preset-shape-tag{font-size:8.5px;color:var(--text-dim);text-transform:uppercase;letter-spacing:.5px}.custom-builder-section{border-top:1px solid var(--border-color);padding-top:14px}.custom-builder-form{display:flex;flex-direction:column;gap:12px}.form-group{display:flex;flex-direction:column;gap:6px}.form-group label{font-size:11px;font-weight:600;color:var(--text-muted)}.modal-text-input{width:100%;background:#090c12;border:1px solid var(--border-color);border-radius:6px;color:#fff;font-size:13px;padding:8px 12px;outline:none;transition:color .12s ease,background-color .12s ease}.modal-text-input:focus{border-color:var(--cyan);box-shadow:none}.shape-picker-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.shape-select-btn{background:#ffffff05;border:1px solid var(--border-color);border-radius:8px;padding:8px 6px;display:flex;flex-direction:column;align-items:center;gap:5px;color:var(--text-muted);font-size:11px;cursor:pointer;transition:color .12s ease,background-color .12s ease}.shape-select-btn:hover{border-color:rgb(var(--accent-rgb) / .4);color:#fff}.shape-select-btn.active{border-color:var(--cyan);background:rgb(var(--accent-rgb) / .15);color:var(--cyan);box-shadow:none}.color-swatches-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.swatch-circle{width:24px;height:24px;border-radius:50%;border:2px solid transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:color .12s ease,background-color .12s ease}.swatch-circle:hover{transform:none}.swatch-circle.active{border-color:#fff;transform:none;box-shadow:none}.custom-color-picker{width:28px;height:28px;border:1px solid var(--border-color);border-radius:6px;background:transparent;cursor:pointer;padding:0}.modal-actions-row{display:flex;justify-content:flex-end;gap:10px;margin-top:6px}.btn-modal-primary{background:var(--cyan);border:none;color:#000;font-weight:700;padding:8px 18px;border-radius:6px;cursor:pointer;display:flex;align-items:center;gap:6px;font-size:13px;transition:color .12s ease,background-color .12s ease}.btn-modal-primary:hover{background:var(--cyan);box-shadow:none}.btn-modal-secondary{background:transparent;border:1px solid var(--border-color);color:var(--text-muted);padding:8px 16px;border-radius:6px;cursor:pointer;font-size:13px}.btn-modal-secondary:hover{color:#fff;border-color:var(--text-muted)}.three-loading-spinner{position:absolute;top:0;right:0;bottom:0;left:0;background:#0e1117d9;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;font-size:13px;color:var(--cyan)}.spinner-ring{width:32px;height:32px;border:3px solid rgb(var(--accent-rgb) / .2);border-top-color:var(--cyan);border-radius:50%;animation:none}.inspector-section{display:flex;flex-direction:column;background:var(--bg-card);border:1px solid var(--border-color);border-radius:10px;overflow:hidden}.inspector-tabs-nav{height:42px;background:rgb(var(--surface-rgb) / .95);border-bottom:1px solid var(--border-color);display:flex;padding:0 8px;gap:4px}.tab-btn{background:transparent;border:none;border-bottom:2px solid transparent;color:var(--text-muted);font-size:13px;font-weight:600;display:flex;align-items:center;gap:8px;padding:0 16px;cursor:pointer;transition:color .12s ease,background-color .12s ease}.tab-btn.active{color:var(--cyan);border-bottom-color:var(--cyan)}.tab-busy-dot{width:6px;height:6px;border-radius:50%;background:var(--amber);animation:none}.tab-counter{font-size:10px;background:#ffffff1a;padding:1px 6px;border-radius:10px;color:var(--text-muted)}.inspector-tab-content{flex:1;overflow-y:auto;padding:12px}.process-tab-container{display:flex;flex-direction:column;gap:12px}.process-card{background:rgb(var(--surface-rgb) / .6);border:1px solid var(--border-color);border-radius:8px;overflow:hidden}.process-card-header{padding:10px 14px;background:rgb(var(--surface-rgb) / .4);border-bottom:1px solid var(--border-color);display:flex;align-items:center;justify-content:space-between}.card-title{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:700;color:#fff}.status-pill{font-size:11px;font-weight:600;padding:2px 8px;border-radius:12px}.pill-idle{background:#ffffff14;color:var(--text-muted)}.pill-busy{background:rgb(var(--amber-rgb) / .15);color:var(--amber)}.pill-success{background:rgb(var(--accent-rgb) / .15);color:var(--emerald)}.pill-done{background:rgb(var(--accent-rgb) / .2);color:var(--emerald)}.pill-fail{background:rgb(var(--red-rgb) / .2);color:var(--red)}.process-card-content{padding:12px 14px}.intent-meta-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;margin-bottom:10px}.meta-box{background:rgb(var(--surface-rgb) / .5);border:1px solid var(--border-color);border-radius:6px;padding:8px 10px;display:flex;flex-direction:column;gap:4px}.meta-label{font-size:10px;color:var(--text-dim);text-transform:uppercase;font-weight:600}.meta-value{font-size:12px;font-weight:600;color:var(--text-main)}.meta-value.highlight{color:var(--cyan)}.meta-tag{font-family:var(--font-mono);font-size:11px;padding:2px 6px;border-radius:4px;width:fit-content;font-weight:600}.action-tag{background:rgb(var(--accent-rgb) / .15);color:var(--cyan)}.object-tag{background:rgb(var(--amber-rgb) / .15);color:var(--amber)}.location-tag{background:rgb(var(--accent-rgb) / .15);color:var(--emerald)}.raw-json-toggle{margin-top:8px}.btn-toggle-json{background:transparent;border:none;color:var(--text-muted);font-size:11px;display:flex;align-items:center;gap:5px;cursor:pointer}.json-viewer{margin-top:6px;background:#090c12;border:1px solid var(--border-color);border-radius:6px;padding:10px;font-family:var(--font-mono);font-size:11px;color:var(--cyan);max-height:140px;overflow-y:auto}.formula-callout{font-size:11px;color:var(--text-muted);background:rgb(var(--amber-rgb) / .08);border-left:3px solid var(--amber);padding:6px 10px;border-radius:4px;margin-bottom:12px;display:flex;align-items:center;gap:8px}.formula-callout code{color:var(--amber);font-family:var(--font-mono)}.affordance-bars-list{display:flex;flex-direction:column;gap:8px}.affordance-row{background:rgb(var(--surface-rgb) / .4);border:1px solid var(--border-color);border-radius:6px;padding:8px 12px;transition:color .12s ease,background-color .12s ease}.affordance-row.winner-row{border-color:rgb(var(--accent-rgb) / .4);background:rgb(var(--accent-rgb) / .05)}.row-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.skill-name-wrap{display:flex;align-items:center;gap:8px}.skill-title{font-size:13px;font-weight:700;color:#fff;font-family:var(--font-mono)}.winner-badge{font-size:9px;background:var(--cyan);color:#000;font-weight:800;padding:1px 6px;border-radius:4px;text-transform:uppercase}.score-breakdown-details{font-size:11px;color:var(--text-muted);display:flex;gap:6px}.score-breakdown-details strong{color:var(--text-main)}.combined-bold strong{color:var(--cyan)}.progress-bar-bg{height:6px;background:#ffffff14;border-radius:3px;overflow:hidden}.progress-bar-fill{height:100%;background:var(--text-muted);border-radius:3px;transition:color .12s ease,background-color .12s ease}.progress-bar-fill.fill-winner{background:var(--bg-card)}.steps-pipeline{display:flex;flex-direction:column;gap:8px}.loop-group-divider{margin:10px 0 2px;display:flex;align-items:center}.loop-badge{display:inline-flex;align-items:center;gap:8px;background:var(--bg-card);border:1px solid rgb(var(--accent-rgb) / .35);border-radius:6px;padding:4px 10px}.loop-dot{width:6px;height:6px;border-radius:50%;background:var(--cyan);box-shadow:none}.loop-title{font-size:11px;font-weight:700;color:var(--cyan);font-family:var(--font-mono);letter-spacing:.3px}.step-card{display:flex;align-items:flex-start;gap:12px;background:rgb(var(--surface-rgb) / .5);border:1px solid var(--border-color);border-radius:6px;padding:10px 12px;transition:color .12s ease,background-color .12s ease}.step-card.step-running{border-color:var(--cyan);background:rgb(var(--accent-rgb) / .05)}.step-card.step-completed{border-color:rgb(var(--accent-rgb) / .3)}.step-indicator{display:flex;flex-direction:column;align-items:center;gap:2px;min-width:50px}.step-number{font-size:10px;color:var(--text-muted)}.step-body{flex:1}.step-title-row{display:flex;align-items:center;justify-content:space-between}.step-skill-name{font-size:13px;font-weight:700;font-family:var(--font-mono);color:#fff}.step-status-tag{font-size:10px;padding:2px 6px;border-radius:4px;text-transform:uppercase;font-weight:600}.tag-pending{background:#ffffff14;color:var(--text-muted)}.tag-running{background:rgb(var(--accent-rgb) / .2);color:var(--cyan)}.tag-completed{background:rgb(var(--accent-rgb) / .2);color:var(--emerald)}.tag-failed{background:rgb(var(--red-rgb) / .2);color:var(--red)}.step-detail-text{font-size:12px;color:var(--text-muted);margin-top:2px}.task-completion-banner{margin-top:12px;background:rgb(var(--accent-rgb) / .1);border:1px solid rgb(var(--accent-rgb) / .4);border-radius:6px;padding:10px 14px;display:flex;align-items:center;gap:12px}.task-completion-banner strong{font-size:13px;color:var(--emerald)}.task-completion-banner p{font-size:11px;color:var(--text-muted)}.task-failed-banner{margin-top:12px;background:rgb(var(--red-rgb) / .1);border:1px solid rgb(var(--red-rgb) / .4);border-radius:6px;padding:10px 14px;display:flex;align-items:center;gap:12px}.empty-placeholder{padding:24px 16px;text-align:center;font-size:12px;color:var(--text-dim)}.terminal-container{display:flex;flex-direction:column;height:100%;background:#090c12;border-radius:8px;border:1px solid var(--border-color);overflow:hidden}.terminal-toolbar{height:40px;background:rgb(var(--surface-rgb) / .7);border-bottom:1px solid var(--border-color);display:flex;align-items:center;justify-content:space-between;padding:0 12px}.toolbar-left{display:flex;align-items:center;gap:8px}.terminal-icon{color:var(--cyan)}.terminal-title{font-size:12px;font-weight:600;color:var(--text-main);font-family:var(--font-mono)}.log-count-badge{font-size:10px;background:#ffffff1a;padding:2px 6px;border-radius:10px;color:var(--text-muted)}.toolbar-right{display:flex;align-items:center;gap:8px}.filter-pill-group{display:flex;gap:2px;background:#090c12;border:1px solid var(--border-color);border-radius:4px;padding:2px}.filter-btn{background:transparent;border:none;color:var(--text-muted);font-size:10px;font-weight:700;padding:2px 8px;border-radius:3px;cursor:pointer}.filter-btn.active{background:#1e2638;color:#fff}.filter-btn.btn-info.active{color:var(--cyan)}.filter-btn.btn-warn.active{color:var(--amber)}.filter-btn.btn-error.active{color:var(--red)}.terminal-search-box{display:flex;align-items:center;background:#090c12;border:1px solid var(--border-color);border-radius:4px;padding:0 6px}.terminal-search-box input{background:transparent;border:none;color:#fff;font-size:11px;padding:4px;width:100px;outline:none}.search-icon{color:var(--text-muted)}.tool-action-btn{background:transparent;border:1px solid var(--border-color);color:var(--text-muted);width:26px;height:26px;border-radius:4px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:color .12s ease,background-color .12s ease}.tool-action-btn:hover,.tool-action-btn.active{color:var(--cyan);border-color:var(--cyan)}.tool-action-btn.danger:hover{color:var(--red);border-color:var(--red)}.terminal-viewport{flex:1;padding:10px;overflow-y:auto;font-family:var(--font-mono);font-size:11px;display:flex;flex-direction:column;gap:4px}.terminal-line{display:flex;align-items:flex-start;gap:8px;line-height:1.4;word-break:break-word}.log-time{color:var(--text-dim);-webkit-user-select:none;user-select:none}.log-level-badge{font-size:9px;font-weight:700;padding:1px 4px;border-radius:3px}.level-info{background:rgb(var(--accent-rgb) / .15);color:var(--cyan)}.level-warn{background:rgb(var(--amber-rgb) / .15);color:var(--amber)}.level-error{background:rgb(var(--red-rgb) / .15);color:var(--red)}.level-debug{background:#ffffff1a;color:var(--text-muted)}.log-node{color:#94a3b8}.log-msg{color:var(--text-main);flex:1}.log-error .log-msg{color:var(--red-soft)}.log-warn .log-msg{color:var(--amber)}.terminal-empty{padding:30px;text-align:center;color:var(--text-dim)}.arm-status-container{display:flex;flex-direction:column;gap:12px}.telemetry-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px}.telemetry-card{background:rgb(var(--surface-rgb) / .6);border:1px solid var(--border-color);border-radius:6px;padding:10px;display:flex;flex-direction:column;gap:6px}.telemetry-title{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--text-muted)}.telemetry-value{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:700;color:#fff}.telemetry-connected{color:var(--emerald);display:flex;align-items:center;gap:5px;font-size:12px}.telemetry-offline{color:var(--amber);display:flex;align-items:center;gap:5px;font-size:12px}.badge-moving{font-size:11px;color:var(--cyan);background:var(--cyan-glow);padding:2px 6px;border-radius:4px}.badge-holding{font-size:11px;color:var(--text-muted);background:#ffffff14;padding:2px 6px;border-radius:4px}.badge-ok{font-size:11px;color:var(--emerald);background:rgb(var(--accent-rgb) / .15);padding:2px 6px;border-radius:4px}.status-action-row{display:flex;gap:10px}.btn-status-action{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:10px;border-radius:6px;font-weight:600;font-size:13px;cursor:pointer;transition:color .12s ease,background-color .12s ease}.btn-home{background:rgb(var(--accent-rgb) / .15);border:1px solid rgb(var(--accent-rgb) / .4);color:#60a5fa}.btn-home:hover{background:rgb(var(--accent-rgb) / .3);color:#fff}.btn-estop{background:rgb(var(--red-rgb) / .15);border:1px solid rgb(var(--red-rgb) / .4);color:var(--red)}.btn-estop:hover{background:rgb(var(--red-rgb) / .3);color:#fff}.joints-list{display:flex;flex-direction:column;gap:8px}.joint-item-card{background:rgb(var(--surface-rgb) / .6);border:1px solid var(--border-color);border-radius:6px;padding:8px 10px}.joint-label-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.joint-name{font-size:11px;color:var(--text-main);font-weight:600}.joint-values{font-family:var(--font-mono);font-size:11px;display:flex;gap:6px}.rad-val{color:var(--cyan)}.deg-val{color:var(--text-muted)}.joint-slider-track{height:4px;background:#ffffff14;border-radius:2px;position:relative}.joint-slider-fill{height:100%;background:var(--cyan);border-radius:2px}.joint-slider-thumb{position:absolute;top:-3px;width:10px;height:10px;border-radius:50%;background:#fff;border:2px solid var(--cyan);transform:translate(-50%)}.nora-footer-command-bar{background:rgb(var(--surface-rgb) / .95);-webkit-backdrop-filter:none;backdrop-filter:none;border-top:1px solid var(--border-color);padding:10px 24px;z-index:20}.command-input-container{display:flex;flex-direction:column;gap:8px;max-width:1400px;margin:0 auto}.suggestion-chips-bar{display:flex;align-items:center;gap:10px;overflow-x:auto}.chips-label{display:flex;align-items:center;gap:5px;font-size:11px;color:var(--text-muted);white-space:nowrap}.chips-scroll{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none}.chips-scroll::-webkit-scrollbar{display:none}.chip-btn{background:#ffffff0d;border:1px solid var(--border-color);color:var(--text-main);font-size:11px;padding:3px 10px;border-radius:12px;white-space:nowrap;cursor:pointer;transition:color .12s ease,background-color .12s ease}.chip-btn:hover:not(:disabled){background:var(--cyan-glow);border-color:var(--cyan);color:var(--cyan)}.chip-btn:disabled{opacity:.5;cursor:not-allowed}.chip-btn.chip-highlight{background:rgb(var(--accent-rgb) / .12);border-color:rgb(var(--accent-rgb) / .4);color:var(--cyan);font-weight:600}.chip-btn.chip-highlight:hover:not(:disabled){background:rgb(var(--accent-rgb) / .25);box-shadow:none}.chip-btn.chip-guardrail{background:rgb(var(--red-rgb) / .1);border-color:rgb(var(--red-rgb) / .3);color:var(--red-soft)}.chip-btn.chip-guardrail:hover:not(:disabled){background:rgb(var(--red-rgb) / .2);border-color:var(--red);color:#fff}.input-form{width:100%}.input-wrapper{display:flex;align-items:center;background:#090c12;border:1px solid var(--border-color);border-radius:8px;padding:4px 6px;transition:color .12s ease,background-color .12s ease}.input-wrapper:focus-within{border-color:var(--cyan);box-shadow:none}.command-text-field{flex:1;background:transparent;border:none;color:#fff;font-size:13px;padding:8px 12px;outline:none}.input-clear-btn{background:transparent;border:none;color:var(--text-dim);padding:6px;cursor:pointer;display:flex;align-items:center}.input-clear-btn:hover{color:var(--text-muted)}.input-send-btn{background:var(--cyan);border:none;color:#000;font-weight:700;font-size:12px;padding:8px 16px;border-radius:6px;display:flex;align-items:center;gap:6px;cursor:pointer;transition:color .12s ease,background-color .12s ease}.input-send-btn:hover:not(.disabled){background:var(--cyan);box-shadow:none}.input-send-btn.disabled{background:#ffffff14;color:var(--text-dim);cursor:not-allowed}.input-action-buttons{display:flex;align-items:center;gap:6px}.btn-cmd-stop{background:rgb(var(--red-rgb) / .15);border:1px solid rgb(var(--red-rgb) / .45);color:var(--red);font-weight:700;font-size:12px;padding:8px 14px;border-radius:6px;display:flex;align-items:center;gap:5px;cursor:pointer;transition:color .12s ease,background-color .12s ease;-webkit-user-select:none;user-select:none}.btn-cmd-stop:hover{background:rgb(var(--red-rgb) / .3);border-color:var(--red);color:#fff;box-shadow:none}.btn-cmd-stop.is-stopped{background:rgb(var(--accent-rgb) / .25);border-color:var(--cyan);color:var(--emerald)}.btn-cmd-stop.is-stopped:hover{background:rgb(var(--accent-rgb) / .4);color:#fff}.btn-cmd-cancel{background:rgb(var(--amber-rgb) / .12);border:1px solid rgb(var(--amber-rgb) / .35);color:var(--amber);font-weight:700;font-size:12px;padding:8px 14px;border-radius:6px;display:flex;align-items:center;gap:5px;cursor:pointer;transition:color .12s ease,background-color .12s ease;-webkit-user-select:none;user-select:none}.btn-cmd-cancel:hover:not(:disabled){background:rgb(var(--amber-rgb) / .25);border-color:var(--amber);color:#fff;box-shadow:none}.btn-cmd-cancel:disabled{background:#ffffff0a;border-color:#ffffff14;color:var(--text-dim);cursor:not-allowed;opacity:.5}.viewport-toolbar-divider{width:1px;height:20px;background:#ffffff26;align-self:center;margin:0 3px}.viewport-btn.btn-viewport-stop{background:rgb(var(--red-rgb) / .15);border-color:rgb(var(--red-rgb) / .45);color:var(--red-soft);font-weight:600}.viewport-btn.btn-viewport-stop:hover{background:rgb(var(--red-rgb) / .3);border-color:var(--red);color:#fff;box-shadow:none}.viewport-btn.btn-viewport-stop.active-stop{background:rgb(var(--accent-rgb) / .25);border-color:var(--cyan);color:#6ee7b7}.viewport-btn.btn-viewport-cancel{background:rgb(var(--amber-rgb) / .12);border-color:rgb(var(--amber-rgb) / .35);color:var(--amber);font-weight:600}.viewport-btn.btn-viewport-cancel:hover{background:rgb(var(--amber-rgb) / .25);border-color:var(--amber);color:#fff;box-shadow:none}.nora-footer-status-bar{background:#090c12;border-top:1px solid var(--border-color);padding:6px 16px;display:flex;align-items:center;font-size:11px;color:var(--text-muted)}.footer-status-inner{display:flex;align-items:center;gap:8px}.footer-fsm-pill{font-family:var(--font-mono);font-weight:700;font-size:10px;padding:2px 8px;border-radius:4px;letter-spacing:.05em;text-transform:uppercase}.footer-fsm-pill.pill-idle{background:rgb(var(--accent-rgb) / .15);color:#60a5fa;border:1px solid rgba(96,165,250,.3)}.footer-fsm-pill.pill-executing,.footer-fsm-pill.pill-parsing,.footer-fsm-pill.pill-scoring,.footer-fsm-pill.pill-planning{background:rgb(var(--amber-rgb) / .2);color:var(--amber);border:1px solid rgb(var(--amber-rgb) / .4)}.footer-fsm-pill.pill-done{background:rgb(var(--accent-rgb) / .2);color:var(--emerald);border:1px solid rgb(var(--accent-rgb) / .4)}.footer-fsm-pill.pill-failed{background:rgb(var(--red-rgb) / .2);color:var(--red);border:1px solid rgb(var(--red-rgb) / .4)}.footer-divider{color:var(--text-dim)}.footer-hint{color:var(--text-dim);font-size:11px}.spin-icon{animation:none}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.input-enter-hint{font-family:var(--font-mono);font-size:10px;color:var(--text-dim);background:#ffffff0d;border:1px solid rgba(255,255,255,.1);padding:3px 6px;border-radius:4px;-webkit-user-select:none;user-select:none;white-space:nowrap}.chip-btn.chip-custom-obj{background:rgb(var(--accent-rgb) / .1);border:1px solid rgb(var(--accent-rgb) / .35);color:#fff;font-weight:600;display:inline-flex;align-items:center;gap:5px}.chip-btn.chip-custom-obj:hover{background:rgb(var(--accent-rgb) / .22);border-color:var(--cyan);box-shadow:none}.viewport-top-command-area{background:rgb(var(--surface-rgb) / .95);-webkit-backdrop-filter:none;backdrop-filter:none;border-bottom:1px solid var(--border-color);padding:10px 14px;z-index:10}.viewport-top-command-area .command-input-container{max-width:100%;margin:0}.btn-browse-catalogue{display:flex;align-items:center;gap:6px;background:var(--bg-card);border:1px solid rgb(var(--accent-rgb) / .4);color:var(--cyan);font-size:12px;font-weight:700;padding:6px 12px;border-radius:6px;cursor:pointer;transition:color .12s ease,background-color .12s ease;white-space:nowrap;flex-shrink:0}.btn-browse-catalogue:hover{background:var(--bg-card);border-color:var(--cyan);box-shadow:none;color:#fff}.catalogue-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000c7;-webkit-backdrop-filter:none;backdrop-filter:none;display:flex;align-items:center;justify-content:center;z-index:120;padding:20px}.catalogue-modal-card{background:var(--bg-card);border:1px solid var(--border-color);box-shadow:none;border-radius:14px;width:820px;max-width:95vw;max-height:88vh;display:flex;flex-direction:column;overflow:hidden;animation:none}.catalogue-header{padding:16px 20px;background:rgb(var(--surface-rgb) / .95);border-bottom:1px solid var(--border-color);display:flex;align-items:center;justify-content:space-between}.catalogue-title-wrap{display:flex;align-items:center;gap:12px}.catalogue-icon-wrap{width:38px;height:38px;border-radius:8px;background:var(--bg-card);border:1px solid rgb(var(--accent-rgb) / .4);display:flex;align-items:center;justify-content:center}.catalogue-title{font-size:16px;font-weight:700;color:#fff;margin:0}.catalogue-badge-count{font-size:11px;font-weight:700;color:var(--cyan);background:rgb(var(--accent-rgb) / .12);border:1px solid rgb(var(--accent-rgb) / .3);padding:2px 7px;border-radius:12px}.catalogue-subtitle{font-size:12px;color:var(--text-muted);margin:2px 0 0}.catalogue-controls-row{padding:12px 20px;background:rgb(var(--surface-rgb) / .6);border-bottom:1px solid var(--border-color);display:flex;flex-direction:column;gap:10px}.catalogue-search-box{display:flex;align-items:center;gap:8px;background:#090c12;border:1px solid var(--border-color);border-radius:8px;padding:7px 12px}.catalogue-search-box:focus-within{border-color:var(--cyan);box-shadow:none}.catalogue-search-box input{flex:1;background:transparent;border:none;color:#fff;font-size:13px;outline:none}.btn-search-clear{background:transparent;border:none;color:var(--text-muted);font-size:16px;cursor:pointer}.btn-search-clear:hover{color:#fff}.catalogue-category-tabs{display:flex;align-items:center;gap:6px;overflow-x:auto;scrollbar-width:none}.catalogue-category-tabs::-webkit-scrollbar{display:none}.cat-tab-btn{display:flex;align-items:center;gap:6px;background:#ffffff0a;border:1px solid var(--border-color);color:var(--text-muted);font-size:11px;font-weight:600;padding:5px 12px;border-radius:20px;cursor:pointer;white-space:nowrap;transition:color .12s ease,background-color .12s ease}.cat-tab-btn:hover{color:#fff;border-color:rgb(var(--accent-rgb) / .35);background:rgb(var(--accent-rgb) / .08)}.cat-tab-btn.active{background:rgb(var(--accent-rgb) / .16);border-color:var(--cyan);color:var(--cyan);box-shadow:none}.catalogue-cards-container{flex:1;overflow-y:auto;padding:16px 20px;display:flex;flex-direction:column;gap:10px}.catalogue-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px;gap:12px;color:var(--text-muted);font-size:13px}.catalogue-item-card{background:rgb(var(--surface-rgb) / .7);border:1px solid var(--border-color);border-radius:10px;padding:12px 16px;display:flex;flex-direction:column;gap:6px;transition:color .12s ease,background-color .12s ease}.catalogue-item-card:hover{border-color:rgb(var(--accent-rgb) / .4);background:rgb(var(--surface-rgb) / .85);box-shadow:none}.card-top-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.card-command-badge-group{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.card-command-text{font-family:var(--font-mono);font-size:13px;font-weight:700;color:#fff}.pill-badge{font-size:10px;font-weight:700;padding:2px 7px;border-radius:4px;text-transform:uppercase;letter-spacing:.5px}.pill-cyan{background:rgb(var(--accent-rgb) / .12);color:var(--cyan);border:1px solid rgb(var(--accent-rgb) / .35)}.pill-emerald{background:rgb(var(--accent-rgb) / .15);color:var(--emerald);border:1px solid rgb(var(--accent-rgb) / .35)}.pill-purple{background:rgb(var(--accent-rgb) / .15);color:var(--cyan);border:1px solid rgb(var(--accent-rgb) / .35)}.pill-amber{background:rgb(var(--amber-rgb) / .15);color:var(--amber);border:1px solid rgb(var(--amber-rgb) / .35)}.pill-red{background:rgb(var(--red-rgb) / .15);color:var(--red);border:1px solid rgb(var(--red-rgb) / .35)}.btn-card-execute{display:flex;align-items:center;gap:5px;background:var(--bg-card);border:1px solid var(--cyan);color:#fff;font-size:11px;font-weight:700;padding:5px 12px;border-radius:6px;cursor:pointer;transition:color .12s ease,background-color .12s ease;white-space:nowrap}.btn-card-execute:hover:not(:disabled){background:var(--cyan);color:#000;box-shadow:none}.btn-card-execute:disabled{opacity:.5;cursor:not-allowed}.card-description{font-size:12px;color:var(--text-muted);line-height:1.4;margin:0}.card-flow-row{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--text-dim);background:#00000040;padding:4px 8px;border-radius:4px;border:1px solid rgba(255,255,255,.04)}.flow-label{color:var(--cyan);font-weight:600;display:flex;align-items:center;gap:4px;white-space:nowrap}.flow-text{font-family:var(--font-mono);color:#cbd5e1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.catalogue-footer{padding:12px 20px;background:rgb(var(--surface-rgb) / .95);border-top:1px solid var(--border-color);display:flex;align-items:center;justify-content:space-between;gap:12px}.catalogue-footer-tip{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--text-muted)}.btn-header-estop{display:flex;align-items:center;gap:6px;background:rgb(var(--red-rgb) / .15);border:1px solid rgb(var(--red-rgb) / .5);color:var(--red);font-size:11px;font-weight:800;letter-spacing:.5px;padding:5px 12px;border-radius:6px;cursor:pointer;transition:color .12s ease,background-color .12s ease;white-space:nowrap}.btn-header-estop:hover{background:rgb(var(--red-rgb) / .3);color:#fff;border-color:var(--red);box-shadow:none}.btn-header-estop.estop-engaged{background:#dc2626;border-color:var(--red);color:#fff;box-shadow:none;animation:none}@keyframes estopFlashing{0%{background:#dc2626;box-shadow:none}to{background:#991b1b;box-shadow:none}}.estop-pulse{animation:none}@keyframes pulseEstop{0%,to{transform:none;opacity:1}50%{transform:none;opacity:.8}}.viewport-btn.viewport-btn-estop{background:rgb(var(--red-rgb) / .18);border-color:rgb(var(--red-rgb) / .5);color:var(--red-soft);font-weight:700}.viewport-btn.viewport-btn-estop:hover{background:rgb(var(--red-rgb) / .35);border-color:var(--red);color:#fff;box-shadow:none}.viewport-btn.viewport-btn-estop-active{background:#dc2626;border-color:var(--red-soft);color:#fff;font-weight:800;box-shadow:none;animation:none}.viewport-estop-banner{position:absolute;top:14px;left:50%;transform:translate(-50%);background:#b91c1cf2;-webkit-backdrop-filter:none;backdrop-filter:none;border:1px solid var(--red);box-shadow:none;color:#fff;padding:8px 18px;border-radius:8px;font-size:12px;display:flex;align-items:center;gap:12px;z-index:20}.viewport-estop-text{display:flex;flex-direction:column;gap:2px}.viewport-estop-text strong{font-size:12px;letter-spacing:.5px;color:#fff}.viewport-estop-text span{font-size:10px;color:#fecaca}.btn-estop-reset-banner{background:#fff;color:#b91c1c;border:none;border-radius:4px;padding:4px 10px;font-weight:700;font-size:11px;cursor:pointer;transition:color .12s ease,background-color .12s ease}.btn-estop-reset-banner:hover{background:#fecaca}.btn-status-action.btn-estop.estop-active{background:#dc2626;border-color:var(--red);color:#fff;font-weight:800;animation:none}.viewport-action-group{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.quick-spawn-pills{display:flex;align-items:center;gap:5px;background:rgb(var(--surface-rgb) / .88);-webkit-backdrop-filter:none;backdrop-filter:none;border:1px solid var(--border-color);padding:3px 8px;border-radius:8px}.quick-spawn-label{font-size:10px;font-weight:700;color:var(--text-dim);text-transform:uppercase;letter-spacing:.4px;margin-right:2px}.quick-spawn-pill{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);color:#e2e8f0;font-size:11px;padding:3px 8px;border-radius:6px;cursor:pointer;transition:color .12s ease,background-color .12s ease;white-space:nowrap}.quick-spawn-pill:hover{background:rgb(var(--accent-rgb) / .2);border-color:var(--cyan);color:#fff;transform:none}.add-object-modal-card{background:var(--bg-card);border:1px solid var(--border-color);box-shadow:none;border-radius:14px;width:740px;max-width:95vw;max-height:90vh;display:flex;flex-direction:column;overflow-y:auto;animation:none;padding:20px;gap:16px}.modal-config-strip{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;background:rgb(var(--surface-rgb) / .65);border:1px solid var(--border-color);padding:8px 12px;border-radius:8px}.config-strip-item{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.strip-label{display:flex;align-items:center;gap:5px;font-size:11px;font-weight:600;color:var(--text-muted)}.zone-pill-selector{display:flex;align-items:center;gap:4px;flex-wrap:wrap}.zone-pill{background:#ffffff0a;border:1px solid var(--border-color);color:var(--text-muted);font-size:10.5px;padding:3px 8px;border-radius:4px;cursor:pointer;transition:color .12s ease,background-color .12s ease}.zone-pill:hover{color:#fff;border-color:rgb(var(--accent-rgb) / .3)}.zone-pill.active{background:rgb(var(--accent-rgb) / .15);border-color:var(--cyan);color:var(--cyan);font-weight:700}.keep-open-toggle{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--text-muted);cursor:pointer;-webkit-user-select:none;user-select:none}.keep-open-toggle input{accent-color:var(--cyan);cursor:pointer}.preset-header-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;flex-wrap:wrap;gap:8px}.category-filter-tabs{display:flex;gap:4px;flex-wrap:wrap}.category-tab{background:transparent;border:1px solid var(--border-color);color:var(--text-muted);font-size:10.5px;padding:2px 8px;border-radius:4px;cursor:pointer;transition:color .12s ease,background-color .12s ease}.category-tab:hover{color:#fff}.category-tab.active{background:#ffffff1a;border-color:#fff;color:#fff;font-weight:600}.preset-card-top{display:flex;align-items:center;justify-content:space-between;width:100%}.preset-swatch-dot{width:10px;height:10px;border-radius:50%;border:1px solid rgba(255,255,255,.3)}.preset-desc{font-size:9.5px;color:var(--text-dim);text-align:left;line-height:1.2}.custom-form-grid{display:grid;grid-template-columns:1fr 180px;gap:16px}@media(max-width:640px){.custom-form-grid{grid-template-columns:1fr}}.custom-form-fields{display:flex;flex-direction:column;gap:12px}.custom-preview-card{background:rgb(var(--surface-rgb) / .85);border:1px solid var(--border-color);border-radius:8px;padding:12px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:8px}.preview-header{display:flex;align-items:center;gap:5px;font-size:10.5px;font-weight:700;color:var(--cyan);text-transform:uppercase;letter-spacing:.5px}.preview-visual-box{display:flex;flex-direction:column;align-items:center;gap:6px;padding:10px;width:100%}.preview-avatar{width:52px;height:52px;border-radius:12px;display:flex;align-items:center;justify-content:center;transition:color .12s ease,background-color .12s ease}.preview-title{font-size:12px;font-weight:700;color:#fff;word-break:break-word}.preview-meta{display:flex;gap:4px;flex-wrap:wrap;justify-content:center}.badge-shape,.badge-zone{font-size:8.5px;font-weight:700;padding:1px 5px;border-radius:3px;background:#ffffff14;color:var(--text-muted)}.badge-zone{background:rgb(var(--accent-rgb) / .1);color:var(--cyan)}.preview-tip{font-size:9.5px;color:var(--text-dim);line-height:1.3;margin:0}.viewport-speech-bubble{position:absolute;top:56px;right:18px;max-width:420px;background:rgb(var(--surface-rgb) / .94);-webkit-backdrop-filter:none;backdrop-filter:none;border-radius:10px;padding:12px 14px;display:flex;align-items:flex-start;gap:12px;z-index:35;box-shadow:none;animation:none;pointer-events:auto}@keyframes speechPopIn{0%{opacity:0;transform:none}to{opacity:1;transform:none}}.viewport-speech-bubble.impossible{border:1px solid rgb(var(--red-rgb) / .55);box-shadow:none}.speech-avatar-badge{display:flex;flex-direction:column;align-items:center;gap:4px;flex-shrink:0;padding-top:2px}.speech-emoji{font-size:26px;line-height:1;filter:drop-shadow(0 0 6px rgb(var(--red-rgb) / .5))}.speech-soundwave{display:flex;align-items:flex-end;gap:2px;height:12px}.soundwave-bar{width:3px;background:var(--red);border-radius:2px;animation:none}.soundwave-bar.bar-1{height:6px;animation-delay:.1s}.soundwave-bar.bar-2{height:12px;animation-delay:.3s}.soundwave-bar.bar-3{height:8px;animation-delay:.5s}@keyframes soundwaveAnim{0%{transform:scaleY(.4);opacity:.6}to{transform:scaleY(1.3);opacity:1}}.speech-body{flex:1;min-width:0}.speech-tag-row{display:flex;align-items:center;gap:6px;margin-bottom:4px}.speech-tag{font-size:9px;font-weight:800;letter-spacing:.08em;padding:1px 6px;border-radius:3px;background:rgb(var(--red-rgb) / .22);color:#ff6b6b;border:1px solid rgb(var(--red-rgb) / .4)}.speech-tag-detail{font-size:9.5px;color:var(--text-muted);font-family:var(--font-mono)}.speech-message{font-size:13.5px;font-weight:700;color:#fff;line-height:1.35;margin-bottom:4px}.speech-subtext{font-size:11px;color:#cbd5e1;line-height:1.4}.speech-dismiss-btn{background:transparent;border:none;color:var(--text-muted);cursor:pointer;padding:2px 4px;font-size:12px;border-radius:4px;transition:color .12s ease,background-color .12s ease;flex-shrink:0}.speech-dismiss-btn:hover{color:#fff;background:#ffffff1a}.chip-btn.chip-guardrail{background:rgb(var(--red-rgb) / .12);border:1px solid rgb(var(--red-rgb) / .38);color:var(--red-soft);font-weight:600;transition:color .12s ease,background-color .12s ease}.chip-btn.chip-guardrail:hover{background:rgb(var(--red-rgb) / .25);border-color:var(--red);color:#fff;box-shadow:none}.viewport-guardrail-banner{position:absolute;top:64px;left:50%;transform:translate(-50%);width:min(92%,620px);background:var(--bg-card);border:1.5px solid rgb(var(--red-rgb) / .7);box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;border-radius:10px;padding:12px 16px;display:flex;align-items:flex-start;gap:12px;z-index:40;animation:none;pointer-events:auto}@keyframes guardrailHudSlideIn{0%{opacity:0;transform:translate(-50%,-18px) scale(.97)}to{opacity:1;transform:translate(-50%) scale(1)}}.guardrail-hud-badge{display:flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:8px;background:rgb(var(--red-rgb) / .2);border:1px solid rgb(var(--red-rgb) / .5);flex-shrink:0}.guardrail-hud-icon{color:var(--red);animation:none}@keyframes pulseIcon{0%,to{transform:none;opacity:1}50%{transform:none;opacity:.8}}.guardrail-hud-body{flex:1;min-width:0}.guardrail-hud-header{display:flex;align-items:center;gap:8px;margin-bottom:4px}.guardrail-hud-title{font-size:14px;font-weight:800;color:#fee2e2;letter-spacing:-.01em}.guardrail-hud-tag{font-size:10px;font-weight:700;padding:1px 7px;border-radius:4px;background:rgb(var(--red-rgb) / .25);border:1px solid rgb(var(--red-rgb) / .5);color:var(--red-soft);text-transform:uppercase;letter-spacing:.04em}.guardrail-hud-reason{font-size:12px;color:#cbd5e1;line-height:1.4;margin-bottom:8px}.guardrail-hud-metrics{display:flex;flex-wrap:wrap;gap:6px}.guardrail-hud-metrics .metric-chip{font-size:11px;font-family:var(--font-mono);background:#00000073;border:1px solid rgba(255,255,255,.1);padding:3px 8px;border-radius:4px;color:#94a3b8}.guardrail-hud-metrics .metric-chip .val-zero{color:var(--red);font-weight:800}.guardrail-hud-metrics .metric-chip.status-blocked{background:rgb(var(--accent-rgb) / .15);border-color:rgb(var(--accent-rgb) / .4);color:var(--emerald);font-weight:700}.guardrail-hud-close{background:transparent;border:none;color:var(--text-muted);cursor:pointer;padding:4px;font-size:13px;border-radius:4px;line-height:1;flex-shrink:0;transition:color .12s ease,background-color .12s ease}.guardrail-hud-close:hover{color:#fff;background:#ffffff1a}.guardrail-block-panel{background:var(--bg-card);border:1px solid rgb(var(--red-rgb) / .55);border-radius:10px;padding:16px;margin-bottom:16px;box-shadow:none;animation:none}.guardrail-block-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;padding-bottom:10px;border-bottom:1px solid rgb(var(--red-rgb) / .2)}.guardrail-header-left{display:flex;align-items:center;gap:10px}.guardrail-icon-box{width:36px;height:36px;border-radius:8px;background:rgb(var(--red-rgb) / .2);border:1px solid rgb(var(--red-rgb) / .45);display:flex;align-items:center;justify-content:center;color:var(--red);flex-shrink:0}.guardrail-title-group h4{margin:0;font-size:14.5px;font-weight:800;color:#fee2e2;letter-spacing:-.01em}.guardrail-subtitle{font-size:11px;color:#94a3b8;font-family:var(--font-mono)}.guardrail-header-badge{display:flex;align-items:center;gap:6px;background:rgb(var(--red-rgb) / .2);border:1px solid rgb(var(--red-rgb) / .5);color:var(--red-soft);font-size:11px;font-weight:700;padding:4px 10px;border-radius:6px;text-transform:uppercase;letter-spacing:.05em}.guardrail-badge-dot{width:6px;height:6px;border-radius:50%;background:var(--red);box-shadow:none}.guardrail-block-reason{background:#0006;border-left:3px solid var(--red);padding:10px 14px;border-radius:0 6px 6px 0;color:#e2e8f0;font-size:12.5px;line-height:1.5;margin-bottom:14px}.guardrail-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;margin-bottom:14px}.guardrail-stat-item{background:#00000059;border:1px solid rgba(255,255,255,.08);border-radius:8px;padding:10px 12px;display:flex;flex-direction:column;gap:4px}.guardrail-stat-item.highlight-blocked{border-color:rgb(var(--red-rgb) / .35);background:rgb(var(--red-rgb) / .08)}.guardrail-stat-item.highlight-safe{border-color:rgb(var(--accent-rgb) / .35);background:rgb(var(--accent-rgb) / .08)}.stat-label{font-size:10.5px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;font-weight:600}.stat-value{font-family:var(--font-mono);font-size:15px;font-weight:800;color:#fff}.stat-value.val-zero{color:var(--red)}.stat-value.val-pass{color:var(--emerald)}.stat-sub{font-size:10px;color:var(--text-dim)}.guardrail-policy-explainer{display:flex;align-items:flex-start;gap:10px;background:rgb(var(--accent-rgb) / .05);border:1px solid rgb(var(--accent-rgb) / .2);border-radius:6px;padding:10px 12px;font-size:11.5px;color:#94a3b8;line-height:1.45}.guardrail-policy-explainer strong{color:#e2e8f0}.guardrail-policy-explainer code{background:#0006;padding:1px 4px;border-radius:3px;color:var(--cyan);font-family:var(--font-mono);font-size:10.5px}.failed-task-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000c7;-webkit-backdrop-filter:none;backdrop-filter:none;z-index:1000;display:flex;align-items:center;justify-content:center;padding:20px;animation:none}@keyframes failedModalFadeIn{0%{opacity:0}to{opacity:1}}.failed-task-modal-card{width:min(94%,600px);background:var(--bg-card);border:1.5px solid rgb(var(--red-rgb) / .85);box-shadow:none;border-radius:14px;overflow:hidden;animation:none}@keyframes failedCardPop{0%{transform:none;opacity:0}to{transform:none;opacity:1}}.failed-modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;background:var(--bg-card);border-bottom:1px solid rgb(var(--red-rgb) / .4)}.failed-header-left{display:flex;align-items:center;gap:12px}.failed-icon-box{width:44px;height:44px;border-radius:10px;background:rgb(var(--red-rgb) / .2);border:1.5px solid rgb(var(--red-rgb) / .6);display:flex;align-items:center;justify-content:center;box-shadow:none}.failed-pulse-icon{color:var(--red);animation:none}@keyframes failedIconPulse{0%,to{transform:none;filter:drop-shadow(0 0 4px var(--red))}50%{transform:none;filter:drop-shadow(0 0 10px var(--red))}}.failed-tag-row{display:flex;align-items:center;gap:8px;margin-bottom:2px}.failed-kicker{font-size:10px;font-weight:800;letter-spacing:.08em;color:var(--red-soft);text-transform:uppercase;font-family:var(--font-mono)}.failed-badge-pill{font-size:9.5px;font-weight:800;padding:1px 7px;border-radius:4px;background:rgb(var(--red-rgb) / .35);border:1px solid var(--red);color:#fff;letter-spacing:.04em;text-transform:uppercase}.failed-modal-title{margin:0;font-size:16px;font-weight:800;color:#fee2e2;letter-spacing:-.01em}.btn-failed-modal-close{background:#ffffff0f;border:1px solid rgba(255,255,255,.12);color:#cbd5e1;cursor:pointer;width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;transition:color .12s ease,background-color .12s ease}.btn-failed-modal-close:hover{background:rgb(var(--red-rgb) / .25);color:#fff;border-color:var(--red)}.failed-modal-body{padding:20px}.failed-affordance-score-banner{background:var(--bg-card);border:1.5px solid rgb(var(--red-rgb) / .65);box-shadow:none;border-radius:10px;padding:16px 18px;margin-bottom:16px}.failed-score-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.failed-score-label{font-size:11px;font-weight:800;letter-spacing:.06em;color:var(--red-soft);text-transform:uppercase;font-family:var(--font-mono)}.failed-score-eval{font-size:10.5px;font-weight:800;color:var(--red);background:rgb(var(--red-rgb) / .25);padding:2px 8px;border-radius:4px;border:1px solid rgb(var(--red-rgb) / .5);letter-spacing:.04em}.failed-score-big-row{display:flex;align-items:baseline;gap:16px;margin-bottom:14px}.failed-score-number{font-size:38px;font-weight:900;font-family:var(--font-mono);color:var(--red);box-shadow:none;line-height:1}.failed-score-status-box{display:flex;flex-direction:column;gap:3px}.score-status-tag{font-size:12.5px;font-weight:800;color:var(--red-soft);letter-spacing:.03em}.score-status-sub{font-size:11px;color:#94a3b8;font-family:var(--font-mono)}.failed-meter-bar-wrap{position:relative}.failed-meter-track{position:relative;height:12px;background:#000000a6;border:1px solid rgb(var(--red-rgb) / .4);border-radius:6px;overflow:visible;margin-bottom:6px}.failed-meter-fill-red{height:100%;border-radius:5px;background:var(--bg-card);box-shadow:none;transition:color .12s ease,background-color .12s ease}.failed-threshold-marker{position:absolute;top:-3px;bottom:-3px;width:2px;background:var(--amber);box-shadow:none;z-index:2}.threshold-marker-tag{position:absolute;bottom:16px;left:50%;transform:translate(-50%);font-size:9px;font-weight:800;font-family:var(--font-mono);color:var(--amber);background:#000000d9;border:1px solid var(--amber);padding:1px 5px;border-radius:3px;white-space:nowrap}.failed-meter-scale{display:flex;justify-content:space-between;font-size:10px;font-family:var(--font-mono);color:#64748b}.failed-meter-scale .scale-tau{font-weight:700}.failed-reason-box{display:flex;align-items:flex-start;gap:12px;background:#0006;border-left:3px solid var(--red);border-radius:0 8px 8px 0;padding:12px 14px;margin-bottom:16px}.reason-icon-col{flex-shrink:0;margin-top:1px}.reason-text-col strong{display:block;font-size:12px;color:#fecaca;margin-bottom:4px}.reason-text-col p{margin:0;font-size:12px;color:#cbd5e1;line-height:1.45}.failed-meta-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px;margin-bottom:20px}.failed-meta-cell{background:#00000059;border:1px solid rgba(255,255,255,.08);border-radius:8px;padding:8px 12px;display:flex;flex-direction:column;gap:4px}.failed-meta-cell .cell-label{font-size:10px;text-transform:uppercase;color:#94a3b8;font-family:var(--font-mono)}.failed-meta-cell .cell-val{font-size:12px;color:#e2e8f0}.failed-modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding-top:14px;border-top:1px solid rgba(255,255,255,.08)}.btn-failed-action-entity{display:inline-flex;align-items:center;gap:9px;color:#fff;border-width:1px;border-style:solid;border-radius:8px;padding:9px 18px;font-size:13.5px;font-weight:700;cursor:pointer;transition:color .12s ease,background-color .12s ease;box-shadow:none;letter-spacing:.01em}.btn-failed-action-entity:hover{filter:brightness(1.18);transform:none}.btn-failed-action-entity:active{transform:none}.btn-failed-action-entity .action-emoji{font-size:17px;line-height:1}.btn-failed-action-apple{display:inline-flex;align-items:center;gap:8px;background:var(--bg-card);color:#fff;border:1px solid var(--emerald);border-radius:8px;padding:9px 16px;font-size:13px;font-weight:700;cursor:pointer;box-shadow:none;transition:color .12s ease,background-color .12s ease}.btn-failed-action-apple:hover{background:var(--bg-card);box-shadow:none;transform:none}.btn-failed-action-spawn{display:inline-flex;align-items:center;gap:6px;background:var(--bg-card);color:#fff;border:1px solid #60a5fa;border-radius:8px;padding:9px 16px;font-size:13px;font-weight:700;cursor:pointer;transition:color .12s ease,background-color .12s ease}.btn-failed-dismiss{background:#ffffff14;border:1px solid rgba(255,255,255,.15);color:#cbd5e1;border-radius:8px;padding:9px 16px;font-size:13px;font-weight:600;cursor:pointer;transition:color .12s ease,background-color .12s ease}.btn-failed-dismiss:hover{background:#ffffff26;color:#fff}.llm-confidence-card{background:var(--bg-card);border:1px solid rgb(var(--accent-rgb) / .35);box-shadow:none;border-radius:10px;padding:14px 16px;margin-bottom:14px}.llm-confidence-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.llm-conf-badge-wrap{display:flex;align-items:center;gap:8px}.llm-conf-title{font-size:11px;font-weight:800;letter-spacing:.07em;color:#94a3b8;font-family:var(--font-mono);text-transform:uppercase}.llm-tier-pill{display:inline-flex;align-items:center;gap:5px;font-size:10px;font-weight:800;padding:2px 8px;border-radius:4px;letter-spacing:.04em;text-transform:uppercase}.llm-tier-pill.tier-optimal{background:rgb(var(--accent-rgb) / .2);border:1px solid rgb(var(--accent-rgb) / .5);color:var(--emerald)}.llm-tier-pill.tier-medium{background:rgb(var(--amber-rgb) / .2);border:1px solid rgb(var(--amber-rgb) / .5);color:var(--amber)}.llm-tier-pill.tier-low{background:rgb(var(--red-rgb) / .2);border:1px solid rgb(var(--red-rgb) / .5);color:var(--red)}.llm-gauge-row{display:flex;align-items:center;gap:18px;margin-bottom:14px}.llm-big-score-box{display:flex;flex-direction:column;align-items:flex-start;min-width:90px}.llm-big-score-num{font-size:32px;font-weight:900;font-family:var(--font-mono);color:var(--cyan);box-shadow:none;line-height:1}.llm-big-score-lbl{font-size:10.5px;color:#94a3b8;font-family:var(--font-mono);margin-top:4px}.llm-gauge-bar-col{flex:1}.llm-meter-track{position:relative;height:12px;background:#0000008c;border:1px solid rgba(255,255,255,.12);border-radius:6px;overflow:visible;margin-bottom:6px}.llm-meter-fill{height:100%;border-radius:5px;transition:color .12s ease,background-color .12s ease}.llm-meter-fill.fill-optimal,.llm-meter-fill.fill-medium,.llm-meter-fill.fill-low{background:var(--bg-card);box-shadow:none}.llm-meter-target-marker{position:absolute;top:-3px;bottom:-3px;width:2px;background:var(--emerald);box-shadow:none;z-index:2}.meter-target-tooltip{position:absolute;bottom:16px;left:50%;transform:translate(-50%);font-size:9px;font-weight:800;font-family:var(--font-mono);color:var(--emerald);background:#000000d9;border:1px solid var(--emerald);padding:1px 5px;border-radius:3px;white-space:nowrap}.llm-meter-scale-row{display:flex;justify-content:space-between;font-size:9.5px;font-family:var(--font-mono);color:#64748b}.llm-submetrics-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding-top:10px;border-top:1px solid rgba(255,255,255,.08)}.llm-submetric-cell{background:#0000004d;border:1px solid rgba(255,255,255,.06);border-radius:6px;padding:6px 10px;display:flex;flex-direction:column;gap:2px}.llm-submetric-cell .sub-lbl{font-size:9.5px;color:#94a3b8;font-family:var(--font-mono);text-transform:uppercase}.llm-submetric-cell .sub-val{font-size:14px;font-family:var(--font-mono);font-weight:800}.llm-submetric-cell .sub-tag{font-size:10px;color:#64748b;font-family:var(--font-mono);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.parsing-indicator-box{display:flex;align-items:center;justify-content:center;gap:10px;padding:16px;color:var(--cyan);font-size:13px;font-weight:600}:root{color-scheme:dark}body{width:100%;height:auto;overflow:auto;font-size:14px;line-height:1.5}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}button,input,select,a{-webkit-tap-highlight-color:transparent}:focus-visible{outline:2px solid var(--cyan);outline-offset:4px}input:focus-visible{outline-offset:1px}button{touch-action:manipulation}button svg{flex-shrink:0}input{min-width:0}code,pre{font-family:var(--font-mono)}pre{max-width:100%;overflow:auto}.skip-link{position:fixed;top:-80px;left:16px;z-index:1000;padding:12px 20px;background:var(--text-main);color:var(--bg-darkest)}.skip-link:focus{top:12px}.nora-app-layout{width:100%;height:auto;min-height:100dvh;background:var(--bg-darkest)}.nora-header{position:relative;height:auto;min-height:64px;flex-wrap:wrap;gap:12px 24px;padding:16px max(24px,calc((100vw - 1600px)/2));background:var(--bg-darkest)}.brand-name-row{gap:16px}.brand-title{font-size:18px;letter-spacing:.12em}.brand-context{color:var(--text-muted);font-size:12px;padding-left:16px;border-left:1px solid var(--border-color)}.header-actions{margin-left:auto}.audio-toggle{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:6px 8px;border:1px solid var(--border-color);border-radius:4px;background:transparent;color:var(--text-muted);font-size:12px;white-space:nowrap}.audio-toggle:hover,.audio-toggle[aria-pressed=true]{background:var(--bg-card-hover);color:var(--text-main)}.connection-badge.connected,.connection-badge.standalone{border:0;border-radius:4px;background:transparent;color:var(--text-muted);padding:8px 0}.connection-badge:hover{color:var(--text-main)}.top-affordance-pill{margin-left:auto;padding:8px 0;height:auto;border:0;border-radius:0;background:transparent}.top-affordance-pill:is(.status-high,.status-med,.status-low,.status-standby){background:transparent;border:0}.affordance-sentence{font-size:12px;font-weight:400;flex-wrap:wrap;white-space:normal;line-height:1.5;text-align:left}.affordance-sentence-status{font-size:11px;font-weight:400}.affordance-info-popover{top:64px;width:min(480px,calc(100vw - 32px));padding:20px;background:var(--bg-card);border:1px solid var(--border-color);border-radius:6px;max-height:75dvh;overflow-y:auto}.workspace-intro{width:min(100%,1648px);margin:0 auto;padding:28px 24px 24px;display:flex;gap:24px;align-items:flex-end;justify-content:space-between}.eyebrow{color:var(--text-muted);font-size:11px;letter-spacing:.08em;margin-bottom:8px}.workspace-intro h1{font-size:clamp(24px,2.5vw,32px);font-weight:550;letter-spacing:-.035em;line-height:1.2;margin-bottom:10px}.workspace-intro p:not(.eyebrow){color:var(--text-muted);max-width:650px;font-size:13px}.workspace-mode{display:flex;align-items:center;gap:8px;color:var(--text-muted);font-size:12px;flex-shrink:0}.nora-main-content{width:min(100%,1648px);margin:0 auto;display:grid;grid-template-columns:minmax(0,1.45fr) minmax(360px,1fr);grid-template-rows:auto;align-items:start;gap:24px;padding:0 24px 24px;overflow:visible}.viewport-section,.inspector-section{min-width:0;border-radius:0;background:transparent;border:0;overflow:visible}.viewport-top-command-area{padding:0 0 16px;background:transparent;border:0}.command-label{font-size:12px;font-weight:600;color:var(--text-main)}.command-input-container{max-width:none;width:100%;gap:10px}.input-wrapper{display:flex;flex-wrap:wrap;gap:8px;padding:8px;border-radius:6px;border-color:var(--border-color);background:var(--bg-card)}.command-text-field{flex:1 1 180px;min-height:36px;font-size:13px;padding:4px 6px;order:0}.btn-browse-catalogue{order:2;border:0;background:transparent;padding:8px;min-height:36px;color:var(--text-muted)}.input-action-buttons{order:3;margin-left:auto;gap:6px}.input-send-btn,.btn-cmd-stop,.btn-cmd-cancel{min-height:36px;font-size:12px;padding:8px 12px;border-radius:4px}.input-send-btn{background:var(--cyan);color:#17212a;font-weight:600}.input-send-btn:hover:not(:disabled){background:#b8cede}.btn-cmd-stop{background:transparent;border-color:#70524f;color:var(--red)}.btn-cmd-cancel{background:transparent;border-color:var(--border-color);color:var(--text-muted)}.input-enter-hint{display:none}.suggestion-chips-bar{align-items:baseline;gap:8px}.chips-scroll{gap:12px;scrollbar-width:thin}.chip-btn,.chip-btn.chip-highlight,.chip-btn.chip-guardrail,.chip-btn.chip-custom-obj{background:transparent;border:0;border-radius:0;color:var(--text-muted);padding:4px 0;font-size:11px}.chip-btn:hover:not(:disabled){background:transparent;color:var(--text-main);text-decoration:underline;text-underline-offset:4px}.section-header-compact{min-height:44px;height:auto;padding:12px 0;gap:16px;background:transparent;border-top:1px solid var(--border-color);border-bottom:0}.arm-quick-status{color:var(--text-muted);font-size:11px;text-align:right}.viewport-render-box{height:clamp(480px,64vh,760px);flex:none;border:1px solid var(--border-color);border-radius:6px;overflow:hidden;background:#191b1e}.viewport-overlay-toolbar{top:12px;left:12px;right:12px;gap:4px;flex-wrap:wrap}.viewport-overlay-toolbar :is(.btn-add-obj,.btn-viewport-stop,.btn-viewport-cancel,.viewport-toolbar-divider){display:none}.viewport-btn,.viewport-btn.highlight-btn,.viewport-btn.btn-add-obj{min-height:32px;font-size:11px;padding:6px 8px;background:var(--bg-card);border-color:var(--border-color);color:var(--text-muted)}.viewport-btn:hover,.viewport-btn.active{background:var(--bg-card-hover);color:var(--text-main)}.on-arm-camera-hud{top:58px;left:12px;right:auto;padding:8px 10px;max-width:calc(100% - 24px);background:var(--bg-card);border:0;border-radius:4px}.camera-lens-indicator{display:none}.camera-brand{font-size:10px;font-weight:500;letter-spacing:.04em}.camera-hud-meta{font-size:10px;flex-wrap:wrap}.camera-status-tag{background:transparent;border:0}.tabletop-hud-container{left:12px;right:12px;bottom:12px;max-width:none;width:auto;transform:none}.tabletop-hud-bar{width:100%;flex-wrap:wrap;padding:6px;gap:4px;border-radius:4px;background:var(--bg-card);border-color:var(--border-color)}.hud-btn,.hud-quick-btn{min-height:32px}.hud-quick-strip{overflow-x:auto;min-width:0}.tabletop-objects-popover{width:100%;max-height:280px;overflow:auto;background:var(--bg-card)}.popover-objects-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.viewport-perception-banner,.viewport-estop-banner,.viewport-guardrail-banner,.viewport-speech-bubble{max-width:calc(100% - 24px);border-radius:4px;background:var(--bg-card)}.inspector-section{border-left:1px solid var(--border-color);padding-left:24px}.inspector-tabs-nav{height:42px;padding:0;gap:24px;background:transparent}.tab-btn{padding:0 0 12px;font-size:13px;font-weight:500;gap:6px}.tab-btn.active{color:var(--text-main);border-bottom-color:var(--cyan)}.tab-btn svg{display:none}.inspector-tab-content{padding:8px 0 0;max-height:calc(64vh + 160px);min-height:400px;overflow:auto;scrollbar-width:thin}.process-tab-container{gap:0}.process-card{background:transparent;border:0;border-bottom:1px solid var(--border-color);border-radius:0;padding:18px 0}.process-card:last-child{border-bottom:0}.process-card-header{padding:0 0 12px;background:transparent;border:0;gap:12px;align-items:flex-start}.card-title{font-size:13px;font-weight:600}.card-title svg{color:var(--text-muted);width:14px}.stage-number{font-family:var(--font-mono);color:var(--text-muted);font-size:11px;margin-right:4px}.process-card-content{padding:0}.empty-placeholder{text-align:left;padding:4px 0 12px;font-size:12px;line-height:1.7;color:var(--text-muted)}.status-pill{padding:1px 0;background:transparent;white-space:nowrap;font-weight:400}.meta-box,.telemetry-card,.joint-item-card,.guardrail-stat-item,.failed-meta-cell,.popover-metric-box{background:transparent;border:0;border-radius:0;padding:8px 0}.intent-confidence-summary{display:flex;justify-content:space-between;font-size:12px;color:var(--text-muted);margin-bottom:16px}.intent-confidence-summary strong{color:var(--text-main);font-family:var(--font-mono);font-weight:500}.intent-meta-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.meta-box:first-child{grid-column:1 / -1}.meta-value,.meta-tag{overflow-wrap:anywhere}.meta-tag{padding:0;background:transparent;color:var(--text-main)}.formula-callout{border:0;border-radius:0;padding:8px 0;background:transparent;font-size:11px;flex-wrap:wrap}.formula-callout code{white-space:normal;overflow-wrap:anywhere}.affordance-row,.affordance-row.winner-row,.step-card,.step-card.step-running,.step-card.step-completed{background:transparent;border:0;border-bottom:1px solid var(--border-color);border-radius:0;padding:12px 0}.affordance-row.winner-row .skill-title{color:var(--cyan)}.row-header,.score-breakdown-details,.step-title-row{flex-wrap:wrap;gap:8px}.progress-bar-fill.fill-winner,.joint-slider-fill{background:var(--cyan)}.telemetry-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.telemetry-card{align-items:flex-start}.telemetry-value{font-size:14px}.status-action-row{flex-wrap:wrap}.btn-status-action{min-height:40px}.joint-label-row{flex-wrap:wrap;gap:6px}.terminal-container{min-height:440px;border:0;background:transparent;border-radius:0}.terminal-toolbar{height:auto;flex:0 0 auto;flex-wrap:wrap;padding:12px 0;gap:12px;background:transparent}.toolbar-left,.toolbar-right{flex-wrap:wrap;gap:8px}.terminal-toolbar .toolbar-right{width:100%;min-width:0}.filter-pill-group{flex-shrink:0}.filter-btn{min-height:36px;padding:6px 10px;font-size:11px}.filter-btn:hover{background:var(--bg-card-hover)}.filter-btn.active{background:var(--bg-card-hover);box-shadow:inset 0 -2px var(--cyan)}.terminal-search-box{flex:1;min-width:140px}.terminal-viewport{min-height:300px;max-height:60vh;padding:12px 0;overflow:auto}.terminal-line{flex-wrap:wrap;gap:4px 8px;padding:6px 0;line-height:1.6}.log-msg{flex-basis:100%;overflow-wrap:anywhere}.nora-footer-status-bar{height:auto;padding:12px 24px;background:transparent;margin-top:auto}.footer-status-inner{width:min(100%,1600px);margin:auto;flex-wrap:wrap;gap:8px}.footer-fsm-pill{background:transparent;border:0;padding:0}.settings-modal-backdrop,.catalogue-modal-backdrop,.failed-task-modal-backdrop{padding:16px;background:#000000a6;z-index:100}.settings-modal-card,.add-object-modal-card,.catalogue-modal-card,.failed-task-modal-card{border:1px solid var(--border-color);border-radius:8px;background:var(--bg-card);max-width:100%;max-height:calc(100dvh - 32px);overflow-y:auto}.settings-modal-card{width:520px}.settings-help code{overflow-wrap:anywhere}.catalogue-header,.catalogue-controls-row,.catalogue-footer,.failed-modal-header,.modal-header-row{gap:16px;flex-wrap:wrap}.catalogue-title{font-size:18px}.catalogue-cards-container{display:block;padding:0 20px;min-height:0}.catalogue-item-card{border:0;border-bottom:1px solid var(--border-color);background:transparent;border-radius:0;padding:20px 0}.catalogue-item-card:hover{background:transparent}.catalogue-icon-wrap,.modal-icon-badge{display:none}.card-command-text{font-size:14px}.card-flow-row{border:0;padding:8px 0 0;background:transparent;flex-wrap:wrap}.card-top-row{gap:16px;align-items:flex-start}.btn-card-execute{flex-shrink:0;min-height:36px}.pill-badge{background:transparent;border:0;padding:0;color:var(--text-muted);font-size:10px}.modal-config-strip,.preset-header-row,.current-objects-header{flex-wrap:wrap;gap:12px}.presets-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.preset-card-btn{background:transparent;border-color:var(--border-color);border-radius:4px}.category-filter-tabs,.zone-pill-selector{flex-wrap:wrap}.failed-score-number{font-size:32px}.failed-affordance-score-banner,.failed-reason-box,.guardrail-block-panel{background:transparent;border:0;border-radius:0}.failed-tag-row{flex-wrap:wrap}.failed-meta-grid,.guardrail-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.failed-modal-title{font-size:18px}.failed-modal-footer{flex-wrap:wrap}.spin-icon,.spinner-ring,.spinner-mini{animation:spin 1s linear infinite}@media(max-width:1100px){.nora-main-content{grid-template-columns:minmax(0,1fr);gap:24px}.inspector-section{border-left:0;border-top:1px solid var(--border-color);padding:16px 0 0}.inspector-tab-content{max-height:none;min-height:0}.viewport-render-box{height:clamp(440px,60vh,620px)}.workspace-mode{display:none}.header-actions{margin-left:0}.affordance-sentence-status{display:none}}@media(max-width:640px){.nora-header{padding:12px 16px;gap:8px 16px}.brand-context{display:none}.top-affordance-pill{order:3;flex-basis:100%;margin:0;padding:4px 0}.header-actions{margin-left:auto}.affordance-sentence-status{display:inline}.affordance-info-popover{top:100%}.workspace-intro{padding:24px 16px 20px}.workspace-intro h1{font-size:27px}.eyebrow{font-size:10px}.nora-main-content{padding:0 16px 20px}.command-text-field{flex-basis:calc(100% - 36px)}.input-action-buttons{gap:4px}.input-send-btn,.btn-cmd-stop,.btn-cmd-cancel{padding:8px;min-height:40px}.btn-browse-catalogue{padding:6px 2px;font-size:11px}.btn-browse-catalogue svg{display:none}.suggestion-chips-bar{display:block}.chips-label{margin-bottom:4px}.chips-scroll{padding-bottom:4px}.chip-btn{min-height:32px}.section-header-compact{align-items:flex-start}.section-title{white-space:nowrap;font-size:12px}.arm-quick-status{max-width:155px}.viewport-render-box{height:520px}.viewport-overlay-toolbar{gap:4px}.viewport-btn{min-height:36px}.on-arm-camera-hud{top:96px}.camera-spec{display:none}.tabletop-hud-bar{max-height:112px;overflow-y:auto}.hud-quick-strip{flex-basis:100%}.hud-divider{display:none}.process-card-header{flex-wrap:wrap}.catalogue-modal-backdrop,.settings-modal-backdrop,.failed-task-modal-backdrop{padding:8px}.settings-modal-card,.add-object-modal-card,.failed-task-modal-card{padding:16px}.catalogue-modal-card,.add-object-modal-card{max-height:calc(100dvh - 16px)}.catalogue-controls-row{padding:12px 16px}.catalogue-category-tabs,.catalogue-search-box{width:100%}.catalogue-cards-container{padding:0 16px}.catalogue-header{flex-wrap:nowrap;padding:16px}.catalogue-title-wrap{min-width:0}.catalogue-title{font-size:16px}.card-command-badge-group{min-width:0}.card-command-text{overflow-wrap:anywhere}.custom-form-grid{grid-template-columns:1fr}.failed-score-head,.failed-score-big-row{flex-wrap:wrap;gap:12px}.failed-meta-grid,.guardrail-stats-grid{grid-template-columns:1fr}.footer-hint{flex-basis:100%}.footer-divider{display:none}.nora-footer-status-bar{padding:12px 16px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}:root{color-scheme:dark;--bg-darkest: #0a0b0c;--bg-dark: #0e0f11;--bg-card: #131518;--bg-raised: #1a1d21;--bg-card-hover: #212429;--surface-rgb: 19 21 24;--border-color: #25282d;--border-strong: #363b42;--border-focus: #6aa6ff;--text-main: #f4f4f6;--text-muted: #b9bdc5;--text-dim: #8f949d;--cyan: #6aa6ff;--blue: #6aa6ff;--accent-rgb: 106 166 255;--emerald: #4cc38a;--emerald-rgb: 76 195 138;--amber: #e8a53c;--amber-rgb: 232 165 60;--red: #ef5b52;--red-rgb: 239 91 82;--red-soft: #f5a39d;--cyan-glow: rgb(var(--accent-rgb) / .12);--font-sans: "IBM Plex Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, "Cascadia Code", Menlo, Consolas, monospace;--radius-sm: 4px;--radius: 6px;--radius-lg: 10px}body{background:var(--bg-darkest);color:var(--text-main);font-family:var(--font-sans);font-size:14px;line-height:1.5;text-rendering:optimizeLegibility}::selection{background:rgb(var(--accent-rgb) / .3)}:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}.nora-header{position:sticky;top:0;z-index:40;min-height:56px;padding-top:10px;padding-bottom:10px;background:#0a0b0ce0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--border-color)}.brand-title{font-size:15px;font-weight:600;letter-spacing:.16em;color:var(--text-main)}.brand-context{font-size:13px;color:var(--text-dim);border-left-color:var(--border-strong)}.affordance-sentence{font-size:13px;color:var(--text-muted)}.affordance-sentence strong,.affordance-sentence-val{font-weight:500}.affordance-sentence-status{color:var(--text-dim)}.top-affordance-pill.status-high .affordance-sentence-val{color:var(--emerald)}.top-affordance-pill.status-med .affordance-sentence-val{color:var(--amber)}.top-affordance-pill.status-low .affordance-sentence-val{color:var(--red)}.audio-toggle{min-height:32px;padding:6px 10px;border-color:var(--border-strong);border-radius:var(--radius);font-size:13px}.connection-badge{font-size:13px}.workspace-intro{padding-top:36px;padding-bottom:28px}.eyebrow{font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-dim)}.workspace-intro h1{font-size:clamp(26px,2.4vw,34px);font-weight:600;letter-spacing:-.025em;color:#f4f4f5}.workspace-intro p:not(.eyebrow){font-size:14px;color:var(--text-muted)}.workspace-mode{padding:6px 10px;border:1px solid var(--border-color);border-radius:999px;background:var(--bg-card);font-size:12px;color:var(--text-muted)}.workspace-mode .pulse-dot{background:var(--emerald);box-shadow:none;width:7px;height:7px}.command-label{font-size:13px;font-weight:500;color:var(--text-muted)}.input-wrapper{padding:6px 6px 6px 10px;background:var(--bg-card);border:1px solid var(--border-strong);border-radius:var(--radius-lg);transition:border-color .15s ease,box-shadow .15s ease}.input-wrapper:focus-within{border-color:rgb(var(--accent-rgb) / .7);box-shadow:0 0 0 3px rgb(var(--accent-rgb) / .14)}.command-text-field{font-size:15px;color:var(--text-main)}.command-text-field::placeholder{color:var(--text-dim)}.btn-browse-catalogue{font-size:13px;color:var(--text-muted);border-radius:var(--radius)}.btn-browse-catalogue:hover{color:var(--text-main);background:var(--bg-card-hover)}.input-send-btn,.btn-cmd-stop,.btn-cmd-cancel{min-height:36px;padding:8px 14px;border-radius:var(--radius);font-size:13px;font-weight:500}.input-send-btn{background:#ececee;color:#111214;border:1px solid #ececee;font-weight:600}.input-send-btn:hover:not(:disabled){background:#fff}.input-send-btn:disabled{opacity:1;background:var(--bg-raised);border-color:var(--border-strong);color:var(--text-dim)}.btn-cmd-stop{border:1px solid rgb(var(--red-rgb) / .45);color:var(--red)}.btn-cmd-stop:hover:not(:disabled){background:rgb(var(--red-rgb) / .1)}.btn-cmd-cancel{border:1px solid var(--border-strong);color:var(--text-muted)}.btn-cmd-cancel:hover:not(:disabled){background:var(--bg-card-hover);color:var(--text-main)}.suggestion-chips-bar{margin-top:2px}.chips-label{font-size:12px;color:var(--text-dim)}.chips-scroll{gap:6px}.chip-btn,.chip-btn.chip-highlight,.chip-btn.chip-guardrail,.chip-btn.chip-custom-obj{padding:4px 10px;border:1px solid var(--border-color);border-radius:999px;background:transparent;font-size:12px;color:var(--text-muted);transition:border-color .15s ease,color .15s ease}.chip-btn:hover:not(:disabled){text-decoration:none;border-color:var(--border-strong);background:var(--bg-card);color:var(--text-main)}.section-header-compact{border-top:0;padding:18px 0 10px;min-height:0}.section-title{font-size:13px;font-weight:600;color:var(--text-main)}.section-title svg{color:var(--text-dim)}.arm-quick-status{font-size:12px;color:var(--text-dim)}.viewport-render-box{border:1px solid var(--border-color);border-radius:var(--radius-lg);background:#1b1e22}.viewport-btn,.viewport-btn.highlight-btn,.viewport-btn.btn-add-obj,.hud-btn,.hud-quick-btn{background:rgb(var(--surface-rgb) / .86);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--border-strong);border-radius:var(--radius);color:var(--text-muted);font-size:12px}.viewport-btn:hover,.hud-btn:hover,.hud-quick-btn:hover{background:var(--bg-card-hover);color:var(--text-main)}.viewport-btn.active{color:var(--text-main);border-color:rgb(var(--accent-rgb) / .55);background:rgb(var(--accent-rgb) / .1)}.on-arm-camera-hud{background:rgb(var(--surface-rgb) / .86);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--border-strong);border-radius:var(--radius)}.camera-brand{color:var(--text-main);font-size:11px;letter-spacing:.06em}.camera-hud-meta{font-family:var(--font-mono);color:var(--text-dim)}.camera-status-tag{font-family:var(--font-mono);font-size:10px;color:var(--text-dim)}.camera-status-tag.active{color:var(--cyan)}.on-arm-camera-hud.scanning{border-color:rgb(var(--accent-rgb) / .5)}.tabletop-hud-bar{background:rgb(var(--surface-rgb) / .9);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--border-strong);border-radius:var(--radius-lg)}.tabletop-objects-popover{border:1px solid var(--border-strong);border-radius:var(--radius-lg)}.viewport-perception-banner,.viewport-guardrail-banner,.viewport-speech-bubble{background:rgb(var(--surface-rgb) / .94);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--border-strong);border-radius:var(--radius);box-shadow:0 8px 24px #00000059}.viewport-perception-banner{border-left:3px solid var(--cyan)}.viewport-guardrail-banner{border-left:3px solid var(--amber)}.viewport-estop-banner{background:#28100ff2;border:1px solid rgb(var(--red-rgb) / .6);border-radius:var(--radius)}.inspector-section{border:1px solid var(--border-color);border-radius:var(--radius-lg);background:var(--bg-card);padding:0 20px 8px}.inspector-tabs-nav{height:48px;align-items:flex-end;border-bottom:1px solid var(--border-color);margin:0 -20px;padding:0 20px}.tab-btn{padding:0 0 13px;margin-bottom:-1px;font-size:13px;color:var(--text-muted);border-bottom:2px solid transparent}.tab-btn:hover{color:var(--text-main)}.tab-btn.active{color:var(--text-main);border-bottom-color:var(--text-main)}.tab-counter{font-family:var(--font-mono);font-size:11px;padding:0 6px;border-radius:999px;background:var(--bg-raised);border:1px solid var(--border-color);color:var(--text-muted)}.tab-busy-dot{background:var(--amber)}.inspector-tab-content{padding-top:4px}.process-card{padding:20px 0;border-bottom-color:var(--border-color)}.card-title{font-size:14px;font-weight:600;color:var(--text-main)}.stage-number{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:20px;padding:0 4px;margin-right:8px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);font-size:11px;color:var(--text-muted)}.empty-placeholder{font-size:13px;color:var(--text-muted)}.status-pill{padding:2px 8px;border-radius:999px;font-family:var(--font-mono);font-size:11px;text-transform:uppercase;letter-spacing:.04em}.pill-idle{background:#ffffff0d;color:var(--text-dim)}.pill-busy{background:rgb(var(--amber-rgb) / .12);color:var(--amber)}.pill-success,.pill-done{background:rgb(var(--emerald-rgb) / .12);color:var(--emerald)}.pill-fail{background:rgb(var(--red-rgb) / .14);color:var(--red)}.affordance-row.winner-row .skill-title{color:var(--text-main)}.progress-bar-fill.fill-winner{background:var(--emerald)}.step-card.step-running .step-title,.step-card.step-running .step-title-row{color:var(--amber)}.step-card.step-completed .step-title-row svg{color:var(--emerald)}.meta-label,.cell-label,.telemetry-title{color:var(--text-dim)}.nora-footer-status-bar{border-top:1px solid var(--border-color)}.footer-label,.footer-hint{font-family:var(--font-mono);font-size:11px;color:var(--text-dim)}.footer-fsm-pill{font-family:var(--font-mono);font-size:11px;padding:2px 8px!important;border-radius:999px}.footer-fsm-pill.pill-idle{background:#ffffff0d;color:var(--text-muted);border:1px solid var(--border-color)}.footer-fsm-pill.pill-done{background:rgb(var(--emerald-rgb) / .12);color:var(--emerald);border-color:rgb(var(--emerald-rgb) / .35)}.settings-modal-card,.add-object-modal-card,.catalogue-modal-card,.failed-task-modal-card{border:1px solid var(--border-strong);border-radius:12px;background:var(--bg-dark);box-shadow:0 24px 64px #00000080}@media(max-width:1100px){.inspector-section{padding:0 16px 8px;border-top:1px solid var(--border-color)}.inspector-tabs-nav{margin:0 -16px;padding:0 16px}}.chip-btn,.chip-btn.chip-highlight,.chip-btn.chip-guardrail,.chip-btn.chip-custom-obj{font-weight:400}.btn-cmd-stop{background:transparent;border-color:rgb(var(--red-rgb) / .32)}@media(min-width:1101px){.inspector-section{position:sticky;top:72px;min-height:calc(clamp(480px,64vh,760px) + 150px)}}.fx-panel{display:flex;flex-direction:column;gap:12px;padding:12px 0 4px;font-size:12px}.fx-note{color:var(--text-muted);line-height:1.55}.fx-note-dim,.fx-dim{color:var(--text-dim)}.fx-empty{color:var(--text-dim);padding:6px 0}.fx-h{font-size:12px;font-weight:600;color:var(--text-main);display:flex;gap:8px;align-items:baseline;flex-wrap:wrap;margin-top:4px}.fx-h .fx-dim{font-family:var(--font-mono);font-weight:400;font-size:11px}.fx-image-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px}.fx-image-grid figure{margin:0}.fx-canvas{width:100%;aspect-ratio:16 / 9;display:block;background:#0b0c0e;border:1px solid var(--border-color);border-radius:var(--radius)}.fx-image-grid figcaption{display:flex;justify-content:space-between;gap:8px;margin-top:4px;font-family:var(--font-mono);font-size:10.5px;color:var(--text-dim)}.fx-image-grid figcaption em{font-style:normal;color:var(--text-muted)}.fx-table{width:100%;border-collapse:collapse;font-family:var(--font-mono);font-size:11.5px}.fx-table th{text-align:left;font-weight:500;color:var(--text-dim);padding:6px 8px 6px 0;border-bottom:1px solid var(--border-color)}.fx-table td{padding:6px 8px 6px 0;border-bottom:1px solid var(--border-color);color:var(--text-main);overflow-wrap:anywhere}.fx-topic-table tbody tr{cursor:pointer}.fx-topic-table tbody tr:hover td{background:var(--bg-raised)}.fx-topic-table tbody tr.selected td{background:rgb(var(--accent-rgb) / .1)}.fx-kv{display:grid;grid-template-columns:auto 1fr;gap:4px 14px;font-family:var(--font-mono);font-size:11px}.fx-kv dt{color:var(--text-dim)}.fx-kv dd{color:var(--text-muted);overflow-wrap:anywhere}.fx-json{max-height:300px;overflow:auto;padding:10px 12px;margin:0;background:var(--bg-darkest);border:1px solid var(--border-color);border-radius:var(--radius);font-size:11px;line-height:1.5;color:var(--text-muted);white-space:pre-wrap;word-break:break-word}.fx-plot{width:100%;height:230px;display:block;background:var(--bg-darkest);border:1px solid var(--border-color);border-radius:var(--radius)}.fx-legend{list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:6px 14px;font-family:var(--font-mono);font-size:11px}.fx-legend li{display:flex;align-items:center;gap:8px}.fx-swatch{width:10px;height:3px;border-radius:2px;flex-shrink:0}.fx-legend-name{color:var(--text-muted);flex:1}.fx-legend-val{color:var(--text-main)}.ao-card{width:min(940px,100%);max-height:calc(100dvh - 32px);display:flex;flex-direction:column;background:var(--bg-dark);border:1px solid var(--border-strong);border-radius:12px;box-shadow:0 24px 64px #00000080;overflow:hidden}.ao-header{display:flex;justify-content:space-between;gap:16px;padding:20px 24px 16px;border-bottom:1px solid var(--border-color)}.ao-header h3{font-size:17px;font-weight:600;letter-spacing:-.01em}.ao-header p{margin-top:4px;font-size:13px;color:var(--text-muted);max-width:560px}.ao-close{width:32px;height:32px;display:grid;place-items:center;flex-shrink:0;border:1px solid transparent;border-radius:var(--radius);background:transparent;color:var(--text-muted)}.ao-close:hover{background:var(--bg-card-hover);color:var(--text-main)}.ao-body{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,1fr);min-height:0;flex:1;overflow:hidden}.ao-library{display:flex;flex-direction:column;min-height:0;border-right:1px solid var(--border-color)}.ao-toolbar{display:flex;flex-direction:column;gap:10px;padding:16px 20px 12px}.ao-search{display:flex;align-items:center;gap:8px;height:36px;padding:0 12px;background:var(--bg-card);border:1px solid var(--border-strong);border-radius:var(--radius);color:var(--text-dim)}.ao-search:focus-within{border-color:rgb(var(--accent-rgb) / .7);box-shadow:0 0 0 3px rgb(var(--accent-rgb) / .14)}.ao-search input{flex:1;min-width:0;background:transparent;border:0;outline:0;color:var(--text-main);font-size:13px}.ao-search input::placeholder{color:var(--text-dim)}.ao-segment{display:inline-flex;flex-wrap:wrap;gap:2px;padding:2px;background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius);align-self:flex-start}.ao-segment button{height:28px;padding:0 12px;border:0;border-radius:4px;background:transparent;color:var(--text-muted);font-size:12px;font-weight:500}.ao-segment button:hover{color:var(--text-main)}.ao-segment button.on{background:var(--bg-card-hover);color:var(--text-main);box-shadow:0 0 0 1px var(--border-strong)}.ao-list{list-style:none;overflow-y:auto;padding:0 12px 12px 20px;margin-right:8px;scrollbar-width:thin;display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:6px;align-content:start}.ao-item{width:100%;display:flex;align-items:center;gap:10px;height:44px;padding:0 12px;background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius);color:var(--text-main);text-align:left;transition:border-color .12s ease,background .12s ease}.ao-item:hover{background:var(--bg-card-hover);border-color:var(--border-strong)}.ao-item-name{flex:1;min-width:0;font-size:13px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ao-item-meta{font-size:11px;color:var(--text-dim)}.ao-item-add{color:var(--text-dim);opacity:0;transition:opacity .12s ease}.ao-item:hover .ao-item-add,.ao-item:focus-visible .ao-item-add{opacity:1;color:var(--text-main)}.ao-chip{width:14px;height:14px;border-radius:4px;flex-shrink:0;box-shadow:inset 0 0 0 1px #ffffff2e}.ao-empty{grid-column:1 / -1;padding:10px 2px;font-size:12px;color:var(--text-dim)}.ao-side{display:flex;flex-direction:column;gap:16px;padding:18px 24px 20px;overflow-y:auto;scrollbar-width:thin}.ao-side h4{font-size:12px;font-weight:600;color:var(--text-muted);letter-spacing:.06em;text-transform:uppercase}.ao-preview{display:flex;align-items:center;gap:14px;padding:12px;background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg)}.ao-preview-tile{width:52px;height:52px;display:grid;place-items:center;border-radius:10px;color:#fff;box-shadow:inset 0 -8px 14px #0000002e,inset 0 0 0 1px #ffffff26}.ao-preview-name{font-size:14px;font-weight:600}.ao-preview-meta{margin-top:2px;font-size:12px;color:var(--text-dim)}.ao-field{display:flex;flex-direction:column;gap:7px}.ao-field>span{font-size:12px;font-weight:500;color:var(--text-muted)}.ao-field input:not([type=color]):not([type=checkbox]){height:36px;padding:0 12px;background:var(--bg-card);border:1px solid var(--border-strong);border-radius:var(--radius);color:var(--text-main);font-size:13px;outline:0}.ao-field input:focus{border-color:rgb(var(--accent-rgb) / .7);box-shadow:0 0 0 3px rgb(var(--accent-rgb) / .14)}.ao-shapes{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.ao-shapes button{height:34px;display:flex;align-items:center;justify-content:center;gap:6px;background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius);color:var(--text-muted);font-size:12px}.ao-shapes button:hover{border-color:var(--border-strong);color:var(--text-main)}.ao-shapes button.on{color:var(--text-main);border-color:rgb(var(--accent-rgb) / .7);background:rgb(var(--accent-rgb) / .1)}.ao-colors{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.ao-colors>button{width:24px;height:24px;border-radius:50%;border:0;box-shadow:inset 0 0 0 1px #fff3}.ao-colors>button.on{box-shadow:0 0 0 2px var(--bg-dark),0 0 0 4px var(--text-main)}.ao-picker{width:24px;height:24px;border-radius:50%;overflow:hidden;border:1px dashed var(--border-strong);display:block;position:relative;cursor:pointer}.ao-picker input{position:absolute;top:-6px;right:-6px;bottom:-6px;left:-6px;width:36px;height:36px;border:0;padding:0;cursor:pointer;opacity:0}.ao-picker:after{content:"+";position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;color:var(--text-muted);font-size:14px;line-height:1;pointer-events:none}.ao-zones button{padding:0 10px}.ao-check{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--text-muted);cursor:pointer}.ao-check input{accent-color:#6aa6ff;width:14px;height:14px}.ao-primary{margin-top:auto;height:40px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid #f4f4f6;border-radius:var(--radius);background:#f4f4f6;color:#15171a;font-size:13px;font-weight:600}.ao-primary:hover:not(:disabled){background:#fff}.ao-primary:disabled{background:var(--bg-raised);border-color:var(--border-strong);color:var(--text-dim);opacity:1}.ao-footer{border-top:1px solid var(--border-color);padding:12px 24px 16px;background:var(--bg-card)}.ao-footer-head{display:flex;align-items:center;gap:16px;font-size:12px;color:var(--text-muted);flex-wrap:wrap}.ao-footer-head strong{color:var(--text-main);font-family:var(--font-mono);font-weight:500;margin-left:4px}.ao-status{color:var(--emerald);min-height:1em}.ao-footer-actions{margin-left:auto;display:flex;gap:6px}.ao-footer-actions button{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 10px;background:transparent;border:1px solid var(--border-strong);border-radius:var(--radius-sm);color:var(--text-muted);font-size:12px}.ao-footer-actions button:hover:not(:disabled){background:var(--bg-card-hover);color:var(--text-main)}.ao-footer-actions .danger:hover:not(:disabled){color:var(--red);border-color:rgb(var(--red-rgb) / .5);background:rgb(var(--red-rgb) / .08)}.ao-chips{list-style:none;display:flex;gap:6px;margin-top:10px;overflow-x:auto;padding-bottom:2px;scrollbar-width:thin}.ao-obj{display:inline-flex;align-items:center;gap:8px;flex-shrink:0;height:28px;padding:0 4px 0 10px;background:var(--bg-raised);border:1px solid var(--border-color);border-radius:999px;font-size:12px;color:var(--text-main)}.ao-obj button{width:20px;height:20px;display:grid;place-items:center;border:0;border-radius:50%;background:transparent;color:var(--text-dim)}.ao-obj button:hover{background:rgb(var(--red-rgb) / .15);color:var(--red)}.ao-chips .ao-empty{padding:4px 0}@media(max-width:760px){.ao-body{grid-template-columns:1fr;overflow-y:auto}.ao-library{border-right:0;border-bottom:1px solid var(--border-color)}.ao-list{max-height:280px}.ao-header p{display:none}}
