.camera-diagram{padding:var(--spacing-sm) var(--spacing-md) var(--spacing-xs);border:1px solid var(--border-primary);border-radius:var(--border-radius);background:var(--bg-input);margin:.75rem}.camera-diagram svg{width:100%;height:auto;display:block}.camera-diagram text{fill:var(--text-secondary);text-anchor:middle;font-variant-numeric:tabular-nums;font-size:.5625rem}.camera-diagram .camera-diagram-frustum{fill:rgba(var(--accent-primary-color-rgb), .14)}.camera-diagram .camera-diagram-body{fill:none;stroke:var(--text-tertiary);stroke-width:1px}.camera-diagram .camera-diagram-rays polyline{fill:none;stroke:var(--accent-primary-color-hover);stroke-width:1px}.camera-diagram .camera-diagram-rays .camera-diagram-frame{stroke:var(--accent-primary-color-hover);stroke-width:1.5px}.camera-diagram .camera-diagram-sensor{stroke:var(--text-primary);stroke-width:2px;stroke-linecap:round}.camera-diagram .camera-diagram-lens{fill:var(--bg-input);stroke:var(--text-primary);stroke-width:1px}.camera-diagram .camera-diagram-arc{fill:none;stroke:var(--text-secondary);stroke-width:1px}.camera-diagram .camera-diagram-angle{fill:var(--text-primary);text-anchor:start;font-size:.625rem}.camera-diagram .camera-diagram-focus{stroke:var(--text-secondary);stroke-width:1px;stroke-dasharray:2 3}.camera-diagram .camera-diagram-dimension line{stroke:var(--text-tertiary);stroke-width:1px}.input-group{gap:.375rem;display:flex}.input-group-horizontal{flex-direction:row}.input-group-vertical{flex-direction:column;gap:0}.input-group-horizontal>*{flex:1}.properties-panel-field.color-field{align-items:center;height:2.5rem}.properties-panel-field.color-field .properties-panel-field-content{flex-direction:row;justify-content:flex-end;align-items:center;gap:.375rem}.properties-panel-color-picker{border-radius:.375rem;flex:none;justify-content:flex-end;align-items:center;gap:.5rem;transition:all .15s;display:flex}.properties-panel-color-picker .input-wrapper{width:4.5rem;height:1.625rem}.properties-panel-color-presets{grid-template-columns:repeat(4,1.625rem);gap:.375rem;padding:.5rem;display:grid}.properties-panel-color-preset{border:2px solid #0000;border-radius:.25rem;width:1.625rem;height:1.625rem;transition:all .15s;position:relative;box-shadow:0 .0625rem .1875rem #00000026,inset 0 0 0 1px #ffffff14;min-width:0!important;min-height:0!important;padding:0!important}.properties-panel-field.color-field .input-color-button{border-radius:.25rem;height:1.625rem}.properties-panel-field.color-field .input-color-value{display:none}.properties-panel-color-preset.active{box-shadow:0 0 0 1px var(--bg-secondary), 0 0 0 3px #ffffff80;border-color:#ffffffb3}.properties-panel-color-preset:hover{z-index:1;transform:scale(1.08)}.properties-panel-color-preset.active:after{content:"✓";color:#fff;text-shadow:0 .0625rem .125rem #0006;font-size:.5625rem;font-weight:700;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.properties-panel-color-presets-trigger{border:1px solid var(--border-translucent);background:var(--bg-input);width:1.625rem;height:1.625rem;color:var(--text-secondary);border-radius:.25rem;justify-content:center;align-items:center;transition:background .15s,border-color .15s,color .15s;display:inline-flex;min-width:0!important;min-height:0!important;padding:0!important}.properties-panel-color-presets-trigger:hover,.properties-panel-color-presets-trigger.active{border-color:var(--border-translucent-hover);color:var(--text-primary);background:#ffffff0d}.properties-panel-color-presets-trigger.active svg{transform:rotate(180deg)}.properties-panel-color-presets-popover,.resource-field .properties-panel-field-content{overflow:hidden}.resource-field .resource-field-container{gap:.5rem;width:100%;display:flex;overflow:hidden}.resource-field .resource-field-container .tooltip-wrapper:first-child{flex-grow:1;align-items:center;display:flex;overflow:hidden}.resource-field .resource-field-button{flex:1;justify-content:flex-start;width:100%;min-width:0;overflow:hidden}.resource-field .resource-field-button-content{align-items:center;gap:.5rem;width:100%;min-width:0;display:flex;overflow:hidden}.resource-field .resource-field-button-text{text-overflow:ellipsis;white-space:nowrap;text-align:left;pointer-events:none;flex:1;min-width:0;overflow:hidden}.resource-field .resource-field-clear-button{padding:.25rem .5rem}.properties-panel{background:var(--bg-secondary);border-left:1px solid var(--border-primary);flex-direction:column;height:100%;display:flex;overflow:hidden}.properties-panel .panel-header{background:var(--bg-secondary);border-bottom:1px solid #ffffff0f;flex-direction:column;flex-shrink:0;gap:.5rem;display:flex}.properties-panel .panel-header.sticky{z-index:10;padding:.5rem .75rem;position:sticky;top:0}.properties-panel .panel-header h2{text-transform:uppercase;color:var(--text-secondary);opacity:.5;margin:0;font-size:.625rem;font-weight:700}.properties-panel .header-main{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.properties-panel .object-title{flex:1;align-items:center;gap:.5rem;min-width:0;display:flex}.properties-panel .object-icon{color:var(--text-primary);opacity:.8;flex-shrink:0;justify-content:center;align-items:center;font-size:1.25rem;display:flex}.properties-panel .object-icon svg{font-size:1.25rem;display:block}.properties-panel .object-info{flex-direction:column;flex:1;gap:.125rem;min-width:0;display:flex}.properties-panel .object-type{color:var(--text-secondary);text-transform:capitalize;opacity:.5;font-size:.625rem;font-weight:500;line-height:1}.properties-panel .editable-name-wrapper{cursor:default;min-width:0}.properties-panel .editable-name-wrapper .inline-rename-text.editable-name{color:var(--text-primary);font-size:.75rem;font-weight:600;line-height:1.3}.properties-panel .editable-name-wrapper .inline-rename-input.editable-name{padding:.25rem .5rem;font-size:.75rem;font-weight:600}.properties-panel .panel-actions{flex-shrink:0;gap:.25rem;display:flex}.properties-panel .panel-actions .action-btn{border-radius:var(--border-radius);background:var(--bg-button);opacity:.6;transition:all .15s;width:1.5rem!important;min-width:1.5rem!important;max-width:1.5rem!important;height:1.5rem!important;min-height:1.5rem!important;max-height:1.5rem!important;padding:0!important}.properties-panel .panel-actions .action-btn:hover{opacity:1;background:var(--bg-button-hover)}.properties-panel .panel-actions .action-btn svg{font-size:.75rem!important}.properties-panel .panel-actions .action-btn.delete{color:#ef4444;background:#ef44441a}.properties-panel .panel-actions .action-btn.delete:hover{background:#ef444426}.properties-panel .panel-content{flex:1;overflow:hidden auto}.properties-panel .empty-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:.75rem;padding:3rem 1.5rem;display:flex}.properties-panel .empty-icon{opacity:.1;color:var(--text-secondary);justify-content:center;align-items:center;margin-bottom:.25rem;font-size:2.5rem;display:flex}.properties-panel .empty-icon svg{font-size:2.5rem;display:block}.properties-panel .empty-state p{color:var(--text-primary);margin:0;font-size:.8125rem;font-weight:600}.properties-panel .empty-state span{color:var(--text-secondary);opacity:.5;max-width:12rem;font-size:.6875rem;line-height:1.5}.properties-panel .no-results{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:.375rem;padding:2rem 1rem;display:flex}.properties-panel .no-results p{color:var(--text-primary);opacity:.7;margin:0;font-size:.75rem;font-weight:500}.properties-panel .no-results span{color:var(--text-secondary);opacity:.5;font-size:.625rem}.properties-panel .property-section.collapsible-section{margin:0}.properties-panel .property-section .collapsible-content-inner{padding:0}.properties-panel .property-fields{flex-direction:column;gap:0;display:flex}.properties-panel .property-section.highlighted .collapsible-header{background:rgba(var(--accent-primary-color-rgb), .15)}.properties-panel .property-section.highlighted .collapsible-title{color:var(--accent-primary-color)}.properties-panel .scale-controls{gap:.25rem;margin-left:auto;display:flex}.properties-panel .scale-controls .lock-btn,.properties-panel .scale-controls .reset-btn{opacity:.6;transition:all .15s;border-radius:var(--border-radius)!important;background:var(--bg-button)!important;border:none!important;width:1.25rem!important;min-width:1.25rem!important;height:1.25rem!important;min-height:1.25rem!important;padding:0!important}.properties-panel .scale-controls .lock-btn:hover:not(:disabled),.properties-panel .scale-controls .reset-btn:hover:not(:disabled){opacity:1;background:var(--bg-button-hover)!important}.properties-panel .scale-controls .lock-btn:disabled,.properties-panel .scale-controls .reset-btn:disabled{opacity:.3;cursor:default}.properties-panel .scale-controls .lock-btn svg,.properties-panel .scale-controls .reset-btn svg{font-size:.6rem!important}.properties-panel .scale-controls .lock-btn.locked{opacity:1;color:#ffc107;background:#ffc10726!important}.properties-panel .vector-inputs{flex-direction:column;gap:.375rem;display:flex}.properties-panel .vector-inputs-row{grid-template-columns:repeat(3,1fr);gap:.375rem;display:grid}.properties-panel .axis-label{text-align:center;text-transform:uppercase;letter-spacing:.5px;background:#ffffff08;border:1px solid #ffffff0f;border-radius:.1875rem;padding:.25rem;font-size:.5625rem;font-weight:700}.properties-panel .axis-label.axis-x{color:#ff6b6b;background:#ff6b6b0f;border-color:#ff6b6b33}.properties-panel .axis-label.axis-y{color:#51cf66;background:#51cf660f;border-color:#51cf6633}.properties-panel .axis-label.axis-z{color:#4dabf7;background:#4dabf70f;border-color:#4dabf733}.properties-panel .info-text{color:var(--text-secondary);opacity:.5;margin:0;padding:.25rem 0;font-size:.625rem;line-height:1.4}.properties-panel .property-section .input-wrapper{margin:0;padding:.375rem .5rem}.properties-panel .property-section .input-field{font-size:.6875rem}.properties-panel .property-section .input-label{font-size:.5625rem}.properties-panel .properties-panel-alert{border:none;border-left:2px solid var(--color-warning,#f59e0b);background:#ffffff05;border-bottom:1px solid #ffffff0a;border-radius:0;grid-template-columns:auto 1fr;align-items:start;gap:.375rem .5rem;width:100%;margin:0;padding:.75rem .75rem .75rem .625rem;font-size:.75rem;line-height:1.5;display:grid}.properties-panel .properties-panel-alert .persistent-alert-icon{color:var(--color-warning,#f59e0b);grid-area:1/1;margin-top:.0625rem}.properties-panel .properties-panel-alert .persistent-alert-content{grid-area:1/2;gap:.25rem}.properties-panel .properties-panel-alert .persistent-alert-title{color:var(--text-primary);font-size:.75rem;font-weight:600}.properties-panel .properties-panel-alert .persistent-alert-message{color:var(--text-secondary)}.properties-panel .properties-panel-alert .persistent-alert-actions{grid-area:2/2;justify-content:flex-start;margin-top:.125rem}[data-navbar-item=render-mode]{position:relative}.render-progress-indicator{background:var(--bg-primary);pointer-events:none;border-radius:50%;width:.75rem;height:.75rem;display:flex;position:absolute;top:.0625rem;right:.0625rem}.render-progress-indicator svg{width:100%;height:100%;transform:rotate(-90deg)}.render-progress-indicator-track{fill:none;stroke:var(--border-primary);stroke-width:2.5px}.render-progress-indicator-fill{fill:none;stroke:var(--accent-primary-color);stroke-width:2.5px;stroke-linecap:round;transition:stroke-dashoffset .3s}.render-progress-indicator.paused .render-progress-indicator-fill{stroke:var(--text-tertiary)}.realtime-chat-popover{width:22rem;max-width:calc(100vw - 1rem);overflow:hidden}.realtime-chat{max-height:28rem;color:var(--text-primary);flex-direction:column;display:flex}.realtime-chat-header{justify-content:space-between;align-items:center;gap:var(--spacing-sm);border-bottom:1px solid var(--border-translucent);flex-shrink:0;min-height:3.25rem;padding:.625rem .625rem .625rem 1rem;display:flex}.realtime-chat-identity{align-items:center;gap:.625rem;min-width:0;display:flex}.realtime-chat-identity-text{flex-direction:column;min-width:0;line-height:1.2;display:flex}.realtime-chat-identity-name{white-space:nowrap;text-overflow:ellipsis;font-size:.8125rem;font-weight:600;overflow:hidden}.realtime-chat-identity-sub{color:var(--text-tertiary);font-size:.6875rem}.realtime-chat-activity-listening{color:var(--accent-success-color)}.realtime-chat-activity-working{color:var(--text-secondary)}.realtime-chat-stack{display:inline-flex}.realtime-chat-stack .realtime-chat-avatar+.realtime-chat-avatar{margin-left:-.375rem}.realtime-chat-tools{flex-shrink:0;gap:.125rem;display:flex}.realtime-chat-icon-button{border-radius:var(--border-radius);width:1.75rem;height:1.75rem;color:var(--text-secondary);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:0;transition:background-color .12s,color .12s;display:inline-flex}.realtime-chat-icon-button:hover{background:var(--bg-button-hover);color:var(--text-primary)}.realtime-chat-icon-button:focus-visible{outline:1px solid var(--accent-primary-color);outline-offset:1px}.realtime-chat-avatar{background:var(--bg-tertiary);box-shadow:0 0 0 2px var(--bg-primary), 0 0 0 3px var(--chat-ring,var(--border-secondary));border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex;overflow:hidden}.realtime-chat-avatar img{object-fit:cover;width:100%;height:100%}.realtime-chat-avatar-small{width:1.5rem;height:1.5rem;font-size:.625rem}.realtime-chat-avatar-medium{width:1.75rem;height:1.75rem;font-size:.6875rem}.realtime-chat-avatar-initial{background:var(--chat-ring,var(--bg-tertiary));width:100%;height:100%;color:var(--text-primary-inverse);justify-content:center;align-items:center;font-weight:600;display:inline-flex}.realtime-chat-switcher{border-bottom:1px solid var(--border-translucent);scrollbar-width:none;flex-shrink:0;gap:.5rem;padding:.5rem .75rem;display:flex;overflow-x:auto}.realtime-chat-switcher::-webkit-scrollbar{display:none}.realtime-chat-chip{cursor:pointer;opacity:.65;background:0 0;border:none;border-radius:50%;flex-shrink:0;padding:.1875rem;transition:opacity .12s,box-shadow .12s;display:inline-flex;position:relative}.realtime-chat-chip .realtime-chat-avatar{box-shadow:none}.realtime-chat-chip:hover{opacity:1}.realtime-chat-chip:focus-visible{outline:1px solid var(--accent-primary-color)}.realtime-chat-chip-active{box-shadow:inset 0 0 0 2px var(--chat-ring,var(--accent-primary-color));opacity:1}.realtime-chat-chip-group{background:var(--bg-button);width:1.75rem;height:1.75rem;color:var(--text-secondary);border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.realtime-chat-chip-unread{background:var(--accent-delete-color);min-width:.875rem;height:.875rem;box-shadow:0 0 0 2px var(--bg-primary);color:var(--accent-delete-text-color);text-align:center;border-radius:999px;padding:0 .1875rem;font-size:.5625rem;font-weight:700;line-height:.875rem;position:absolute;top:0;right:0}.realtime-chat-body{flex-direction:column;flex:1;min-height:0;display:flex;position:relative}.realtime-chat-list{scrollbar-width:thin;scrollbar-color:rgba(var(--bg-scrollbar-thumb-rgb), .2) transparent;flex-direction:column;flex:1;gap:.625rem;min-height:10rem;max-height:18rem;padding:.75rem;display:flex;overflow-y:auto}.realtime-chat-list::-webkit-scrollbar{width:.375rem}.realtime-chat-list::-webkit-scrollbar-thumb{background:rgba(var(--bg-scrollbar-thumb-rgb), .2);border-radius:999px}.realtime-chat-list::-webkit-scrollbar-thumb:hover{background:rgba(var(--bg-scrollbar-thumb-hover-rgb), .35)}.realtime-chat-empty{color:var(--text-tertiary);text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:.375rem;font-size:.75rem;display:flex}.realtime-chat-group{align-items:flex-start;gap:.5rem;display:flex}.realtime-chat-group>.realtime-chat-avatar{margin-top:1.125rem}.realtime-chat-group-mine{flex-direction:column;align-items:flex-end;gap:.125rem}.realtime-chat-bubbles{flex-direction:column;align-items:flex-start;gap:.125rem;min-width:0;max-width:80%;display:flex}.realtime-chat-group-mine .realtime-chat-bubbles{align-items:flex-end}.realtime-chat-meta{align-items:baseline;gap:.375rem;margin-bottom:.0625rem;display:flex}.realtime-chat-author{color:var(--chat-ring,var(--text-secondary));font-size:.6875rem;font-weight:600}.realtime-chat-time{color:var(--text-tertiary);font-variant-numeric:tabular-nums;font-size:.6875rem}.realtime-chat-bubble{background:var(--bg-tertiary);max-width:100%;color:var(--text-primary);white-space:pre-wrap;overflow-wrap:anywhere;-webkit-user-select:text;user-select:text;border-radius:.875rem;padding:.4375rem .625rem;font-size:.8125rem;line-height:1.4}.realtime-chat-bubble-first{border-top-left-radius:.25rem}.realtime-chat-bubble-mine{background:var(--accent-primary-color);color:var(--accent-primary-text-color)}.realtime-chat-bubble-mine.realtime-chat-bubble-first{border-top-left-radius:.875rem;border-top-right-radius:.25rem}.realtime-chat-bubble-sending{opacity:.6}.realtime-chat-failed{color:var(--accent-delete-color);align-items:center;gap:.25rem;font-size:.6875rem;display:inline-flex}.realtime-chat-link{color:inherit;font:inherit;cursor:pointer;background:0 0;border:none;padding:0;font-weight:600;text-decoration:underline}.realtime-chat-jump{border:1px solid var(--border-translucent);background:var(--bg-tertiary);color:var(--text-primary);cursor:pointer;box-shadow:0 .25rem .75rem rgba(var(--bg-primary-rgb), .5);border-radius:999px;align-items:center;gap:.25rem;padding:.25rem .625rem;font-size:.6875rem;animation:.15s ease-out realtime-chat-jump-in;display:inline-flex;position:absolute;bottom:.5rem;left:50%;transform:translate(-50%)}@media (prefers-reduced-motion:reduce){.realtime-chat-jump{animation:none}}@keyframes realtime-chat-jump-in{0%{opacity:0;transform:translate(-50%,.25rem)}to{opacity:1;transform:translate(-50%)}}.realtime-chat-composer{flex-shrink:0;padding:.5rem .75rem .75rem}.realtime-chat-field{border:1px solid var(--border-secondary);background:var(--bg-input);border-radius:1.125rem;align-items:flex-end;gap:.25rem;padding:.25rem .25rem .25rem .75rem;transition:border-color .12s,box-shadow .12s;display:flex;position:relative}.realtime-chat-field:focus-within{border-color:var(--accent-primary-color);box-shadow:0 0 0 2px rgba(var(--accent-primary-color-rgb), .25)}.realtime-chat-field textarea{min-width:0;color:var(--text-primary);font:inherit;resize:none;background:0 0;border:none;outline:none;flex:1;padding:.375rem 0;font-size:.8125rem;line-height:1.25rem}.realtime-chat-field textarea::placeholder{color:var(--text-tertiary)}.realtime-chat-field-over{border-color:var(--accent-delete-color)}.realtime-chat-field-over:focus-within{border-color:var(--accent-delete-color);box-shadow:0 0 0 2px rgba(var(--accent-delete-color-rgb), .25)}.realtime-chat-counter{color:var(--text-tertiary);font-variant-numeric:tabular-nums;pointer-events:none;font-size:.625rem;position:absolute;bottom:.125rem;right:2.75rem}.realtime-chat-counter-over{color:var(--accent-delete-color)}.realtime-chat-send{background:var(--accent-primary-color);width:2rem;height:2rem;color:var(--accent-primary-text-color);cursor:pointer;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:background-color .12s,opacity .12s;display:inline-flex}.realtime-chat-send:hover:not(:disabled){background:var(--accent-primary-color-hover)}.realtime-chat-send:disabled{background:var(--bg-button);color:var(--text-tertiary);cursor:default}.realtime-chat-send:focus-visible{outline:1px solid var(--accent-primary-color);outline-offset:1px}.realtime-chat-left{border-top:1px solid var(--border-translucent);color:var(--text-tertiary);text-align:center;flex-shrink:0;margin:0;padding:.625rem .75rem;font-size:.75rem}.realtime-presence{z-index:10;align-items:center;gap:var(--spacing-xs);background:rgba(var(--bg-secondary-rgb), .92);pointer-events:auto;border-radius:999px;padding:.375rem;display:flex;position:absolute;bottom:.75rem;left:.75rem}.realtime-avatars{align-items:center;display:flex}.realtime-avatar-more{color:var(--text-secondary)}.realtime-status{align-items:center;gap:.25rem;font-size:.75rem;line-height:1;display:inline-flex;position:relative}.realtime-status-connected{color:var(--accent-success-color)}.realtime-status-reconnecting{color:var(--text-secondary)}.realtime-status-offline{color:var(--accent-delete-color)}.realtime-pending{font-variant-numeric:tabular-nums}.realtime-offline-banner{font-variant-numeric:tabular-nums;white-space:nowrap;padding-right:.25rem;font-size:.75rem;font-weight:600}.realtime-readonly{padding:.125rem var(--spacing-xs);border:1px solid var(--border-secondary);border-radius:var(--border-radius);color:var(--text-secondary);font-size:.75rem}.realtime-avatar-slot{display:inline-flex;position:relative}.realtime-avatar-button{cursor:pointer;padding:0}.realtime-avatar-button:focus-visible{outline:1px solid var(--accent-primary-color);outline-offset:1px}.realtime-chat-button,.realtime-status-button{cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:.25rem;display:inline-flex;position:relative}.realtime-chat-button:hover,.realtime-status-button:hover{background:var(--bg-button-hover)}.realtime-chat-button:focus-visible,.realtime-status-button:focus-visible{outline:1px solid var(--accent-primary-color)}.realtime-chat-button{color:var(--text-primary)}.realtime-unread{z-index:1;pointer-events:none;min-width:1rem;height:1rem;padding:0 .25rem;font-size:.625rem;line-height:1;position:absolute;top:-.375rem;right:-.375rem}.realtime-bubble{z-index:1;border:1px solid var(--border-translucent);background:var(--bg-tertiary);width:max-content;max-width:14rem;color:var(--text-primary);text-align:left;cursor:pointer;box-shadow:0 .25rem 1rem rgba(var(--bg-primary-rgb), .5);border-radius:.875rem .875rem .875rem .25rem;flex-direction:column;gap:.125rem;padding:.4375rem .625rem;font-size:.75rem;line-height:1.35;animation:.18s ease-out realtime-bubble-in;display:flex;position:absolute;bottom:calc(100% + .625rem);left:-.25rem}.realtime-bubble:after{content:"";border:.3125rem solid #0000;border-top-color:var(--bg-tertiary);position:absolute;top:100%;left:.75rem}@media (prefers-reduced-motion:reduce){.realtime-bubble{animation:none}}.realtime-bubble-author{font-weight:600}.realtime-bubble-text{overflow-wrap:anywhere;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}@keyframes realtime-bubble-in{0%{opacity:0;transform:translateY(.25rem)}to{opacity:1;transform:translateY(0)}}.realtime-agent-status{border:1px solid var(--bg-secondary);border-radius:50%;width:.625rem;height:.625rem;position:absolute;bottom:-.125rem;right:-.125rem}.realtime-agent-listening{background:var(--accent-success-color);animation:1.8s ease-in-out infinite realtime-agent-pulse}.realtime-agent-working{border:2px solid rgba(var(--text-primary-rgb), .25);border-top-color:var(--text-primary);background:var(--bg-secondary);animation:.8s linear infinite realtime-agent-spin}@media (prefers-reduced-motion:reduce){.realtime-agent-listening,.realtime-agent-working{animation:none}}@keyframes realtime-agent-pulse{0%,to{opacity:1}50%{opacity:.4}}@keyframes realtime-agent-spin{to{transform:rotate(360deg)}}.viewport-edit-options{width:18rem;padding:var(--spacing-xs)}.viewport-edit-options-header{color:var(--text-secondary);letter-spacing:.04em;text-transform:uppercase;padding:.25rem .5rem .5rem;font-size:.6875rem;font-weight:600}.viewport-edit-options-list{flex-direction:column;gap:.25rem;display:flex}.edit-option{align-items:center;gap:var(--spacing-sm);border-radius:var(--border-radius);cursor:pointer;padding:.625rem .5rem;transition:background .15s;display:flex}.edit-option:hover,.edit-option:focus-visible{background:var(--bg-tertiary);outline:none}.edit-option-icon{border-radius:var(--border-radius);background:var(--bg-secondary);width:2rem;height:2rem;color:var(--text-secondary);flex-shrink:0;justify-content:center;align-items:center;transition:background .15s,color .15s;display:flex}.edit-option-icon svg{width:1rem;height:1rem}.edit-option.enabled .edit-option-icon{background:rgba(var(--accent-primary-color-rgb), .18);color:var(--accent-primary-color-hover)}.edit-option-text{flex-direction:column;flex:1;gap:.125rem;min-width:0;display:flex}.edit-option-title{color:var(--text-primary);align-items:center;gap:.375rem;font-size:.8125rem;font-weight:500;display:flex}.edit-option-title kbd{border:1px solid var(--border-primary);color:var(--text-secondary);border-radius:.25rem;padding:0 .3125rem;font-family:inherit;font-size:.625rem;line-height:1rem}.edit-option-description{color:var(--text-secondary);font-size:.6875rem;line-height:1.35}.viewport-controls{z-index:10;pointer-events:auto;align-items:center;gap:.5rem;display:flex;position:absolute;top:.5rem;right:.5rem}.viewport-controls .tool-buttons{align-items:center;gap:.25rem;display:flex}.viewport-controls .viewport-controls-separator{background:var(--border-color,#fff3);width:1px;height:1.5rem;margin:0 .25rem}.viewport-controls .viewport-small-btn{background:var(--bg-secondary,#1e1e1ee6);border:1px solid var(--border-primary,#ffffff1a);opacity:.7;border-radius:.25rem;justify-content:center;align-items:center;width:1.25rem;min-width:1.25rem;height:1.25rem;min-height:1.25rem;padding:0;transition:opacity .15s,background .15s;display:flex}.viewport-controls .viewport-small-btn:hover{opacity:1;background:var(--bg-tertiary,#323232f2)}.viewport-controls .viewport-small-btn svg{font-size:.75rem}.viewport-controls .viewport-small-btn.active{opacity:1;background:var(--bg-tertiary,#323232f2)}.viewport-container{border-radius:.25rem;grid-template-rows:1fr 1fr;grid-template-columns:1fr 1fr;gap:.125rem;width:100%;height:100%;display:grid;position:relative;overflow:hidden}.viewport-container canvas{touch-action:none;position:absolute;top:0;left:0;width:100%!important;height:100%!important}.viewport-background{background:var(--bg-viewport);pointer-events:none;border-radius:.25rem;position:relative;overflow:hidden}.viewport-frames-container{pointer-events:none;z-index:1;grid-template-rows:1fr 1fr;grid-template-columns:1fr 1fr;gap:.125rem;width:100%;height:100%;display:grid;position:absolute;top:0;left:0}.viewport-frame{border:1px solid var(--border-primary);box-shadow:0 0 0 .125rem var(--bg-primary);pointer-events:none;border-radius:.25rem;position:relative}.viewport-frame:hover,.viewport-frame.hovered{border-color:var(--border-tertiary)}.viewport-frame .viewport-label{background:var(--bg-label);color:var(--text-primary);z-index:10;pointer-events:none;text-transform:uppercase;letter-spacing:.5px;border:1px solid var(--border-label);border-radius:.25rem;padding:.25rem .625rem;font-size:.625rem;font-weight:600;position:absolute;top:.625rem;left:.625rem}.viewport-frame.hovered .viewport-label{background:var(--bg-label-hover);border-color:var(--border-label-hover)}.viewport-container canvas.viewport-axes-overlay{z-index:10;pointer-events:none;position:absolute;inset:auto .25rem .25rem auto;transform:scale(.9);width:5.5rem!important;height:5.5rem!important}.canvas-wrapper{z-index:0;width:100%;height:100%;position:absolute;top:0;left:0}.viewport-gaps{pointer-events:none;z-index:0;width:100%;height:100%;position:absolute;top:0;left:0}.viewport-gap{background:var(--bg-primary);position:absolute}.viewport-gap-horizontal{width:100%;height:.125rem;top:50%;left:0;transform:translateY(-50%)}.viewport-gap-vertical{width:.125rem;height:100%;top:0;left:50%;transform:translate(-50%)}.single-viewport-wrapper .viewport-container{display:block}.single-viewport-wrapper .viewport-container .viewport-background{width:100%;height:100%;position:absolute;top:0;left:0}.single-viewport-wrapper .viewport-container .viewport-frames-container{display:block}.single-viewport-wrapper .viewport-container .viewport-frame{width:100%;height:100%;position:absolute;top:0;left:0}.viewport-container.viewport-maximized{display:block}.viewport-container.viewport-maximized .viewport-background{width:100%;height:100%;position:absolute;top:0;left:0}.viewport-frames-container.viewport-maximized{display:block}.viewport-frames-container.viewport-maximized .viewport-frame{width:100%;height:100%;position:absolute;top:0;left:0}
