.training-editor{display:flex;flex-direction:column;height:100%;gap:16px}.task-list{display:flex;flex-direction:column;gap:6px}.task-item{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;background:#ffffff05;border:1px solid var(--color-border-subtle, rgba(255, 255, 255, .04));border-radius:var(--radius-md, 8px);cursor:grab;transition:all var(--transition-fast, .15s);position:relative;-webkit-user-select:none;user-select:none}.task-item:active{cursor:grabbing}.task-item.dragging{opacity:.4}.task-item:hover{background:#ffffff0d;border-color:var(--color-border-default, rgba(255, 255, 255, .08));transform:translate(2px)}.task-info{display:flex;align-items:center;gap:12px}.task-icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;color:var(--color-accent, #e8a855);background:var(--color-accent-dim, rgba(232, 168, 85, .15));border-radius:var(--radius-md, 8px);font-size:14px;font-weight:700;font-family:var(--font-mono, "JetBrains Mono", monospace)}.task-details{display:flex;flex-direction:column;gap:3px}.task-name{font-size:13px;font-weight:500;color:var(--color-text-primary, white)}.task-subtask-count{font-size:10px;color:var(--color-text-tertiary, rgba(255, 255, 255, .4));font-family:var(--font-mono, "JetBrains Mono", monospace)}.task-item:hover .delete-btn{opacity:1}.training-editor .name-input{flex:1;min-width:0;background:var(--color-bg-surface, #1a1a1f);border:1px solid var(--color-border-default, rgba(255, 255, 255, .08));border-radius:var(--radius-md, 8px);padding:8px 12px;color:var(--color-text-primary, white);font-size:14px;font-weight:500;font-family:var(--font-display, "Plus Jakarta Sans", sans-serif);transition:all var(--transition-fast, .15s)}.training-editor .name-input:focus{outline:none;border-color:var(--color-accent, #e8a855);box-shadow:0 0 0 3px var(--color-accent-dim, rgba(232, 168, 85, .15))}.task-settings{display:flex;flex-wrap:wrap;gap:10px 20px;padding:12px 14px;background:#ffffff05;border-radius:var(--radius-md, 8px);border:1px solid var(--color-border-subtle, rgba(255, 255, 255, .04))}.subtask-list{display:flex;flex-direction:column;gap:4px;flex:1;min-height:0;overflow-y:auto;padding-right:4px}.subtask-item{display:flex;align-items:center;gap:10px;padding:10px 12px;background:transparent;border:1px solid transparent;border-radius:var(--radius-md, 8px);cursor:grab;transition:all var(--transition-fast, .15s);-webkit-user-select:none;user-select:none;position:relative}.subtask-item:active{cursor:grabbing}.subtask-item.dragging{opacity:.4}.subtask-item:hover{background:#ffffff0a;border-color:var(--color-border-subtle, rgba(255, 255, 255, .04))}.subtask-number{width:26px;height:26px;background:#ffffff0f;border-radius:var(--radius-md, 8px);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:600;color:var(--color-text-tertiary, rgba(255, 255, 255, .4));flex-shrink:0;font-family:var(--font-mono, "JetBrains Mono", monospace)}.subtask-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.subtask-name{font-size:12px;color:var(--color-text-primary, rgba(255, 255, 255, .9));white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.subtask-req-count{font-size:10px;color:var(--color-text-disabled, rgba(255, 255, 255, .25));font-family:var(--font-mono, "JetBrains Mono", monospace)}.subtask-item:hover .step-delete-btn{opacity:1}.training-editor .drop-indicator{position:absolute;left:0;right:0;height:2px;background:var(--color-accent, #e8a855);box-shadow:0 0 8px var(--color-accent-glow, rgba(232, 168, 85, .6));pointer-events:none;z-index:10}.training-editor .drop-indicator-above{top:-2px}.training-editor .drop-indicator-below{bottom:-2px}.requisite-list{display:flex;flex-wrap:wrap;gap:6px;padding:8px;background:#00000026;border-radius:var(--radius-md, 8px);border:1px solid var(--color-border-subtle, rgba(255, 255, 255, .04));min-height:40px;align-items:center}.requisite-tag{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;background:var(--color-accent-dim, rgba(232, 168, 85, .15));border:1px solid rgba(232,168,85,.25);border-radius:var(--radius-sm, 4px);font-size:11px;color:var(--color-accent, #e8a855)}.requisite-tag-name{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:220px}.requisite-tag.unresolved{background:#e06c751f;border-color:#e06c7559}.requisite-tag.unresolved .requisite-tag-name{color:#e06c75;font-style:italic}.requisite-tag-remove{background:none;border:none;color:var(--color-accent, #e8a855);cursor:pointer;font-size:14px;line-height:1;padding:0 2px;opacity:.6;transition:opacity var(--transition-fast, .15s)}.requisite-tag-remove:hover{opacity:1;color:var(--color-danger, #ff6b6b)}.add-requisite-btn{padding:4px 10px;background:#ffffff0a;border:1px dashed var(--color-border-default, rgba(255, 255, 255, .08));border-radius:var(--radius-sm, 4px);color:var(--color-text-tertiary, rgba(255, 255, 255, .4));font-size:11px;cursor:pointer;transition:all var(--transition-fast, .15s)}.add-requisite-btn:hover{background:#ffffff14;border-color:var(--color-accent, #e8a855);color:var(--color-accent, #e8a855)}.completion-delay-row{display:flex;align-items:center;gap:8px;margin-top:8px}.completion-delay-label{font-size:11px;color:var(--color-text-secondary, rgba(255, 255, 255, .65));flex-shrink:0}.completion-delay-input{width:80px;flex-shrink:0}.completion-delay-unit{font-size:11px;color:var(--color-text-tertiary, rgba(255, 255, 255, .4));font-family:var(--font-mono, "JetBrains Mono", monospace)}.subtask-list::-webkit-scrollbar{width:5px}.subtask-list::-webkit-scrollbar-track{background:transparent}.subtask-list::-webkit-scrollbar-thumb{background:#ffffff1f;border-radius:3px}.subtask-list::-webkit-scrollbar-thumb:hover{background:#fff3}.objects-tab{display:flex;flex-direction:column;gap:0;height:100%}.section-header{display:flex;align-items:center;justify-content:space-between;padding:0 0 10px;margin-bottom:8px}.toggle-all-visibility{display:flex;align-items:center;justify-content:center;width:24px;height:24px;background:transparent;border:none;border-radius:var(--radius-sm, 4px);cursor:pointer;color:var(--color-text-tertiary, rgba(255, 255, 255, .4));transition:all var(--transition-fast, .15s);padding:0}.toggle-all-visibility:hover{color:var(--color-text-primary, white);background:#ffffff14}.scene-hierarchy{flex:1;min-height:0;display:flex;flex-direction:column}.object-list{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:3px;padding-right:2px}.object-item{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:var(--radius-md, 8px);cursor:grab;transition:all var(--transition-fast, .15s);-webkit-user-select:none;user-select:none;position:relative;border:1px solid transparent;background:transparent}.object-item:active{cursor:grabbing}.object-item:hover{background:#ffffff0a;border-color:#ffffff0f}.object-item.selected{background:linear-gradient(135deg,var(--color-accent-dim, rgba(232, 168, 85, .15)) 0%,rgba(232,168,85,.08) 100%);border-color:#e8a85540;box-shadow:0 0 0 1px #e8a8551a}.object-item.selected:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:3px;height:60%;background:var(--color-accent, #e8a855);border-radius:0 2px 2px 0;box-shadow:0 0 8px var(--color-accent-glow, rgba(232, 168, 85, .4))}.object-item.selected:hover{background:linear-gradient(135deg,#e8a8552e,#e8a8551a)}.object-item.hidden-object{opacity:.45}.object-item.hidden-object .object-name{text-decoration:line-through;text-decoration-color:#fff3}.object-item.dragging{opacity:.4}.object-icon{flex-shrink:0;width:20px;height:20px;display:flex;align-items:center;justify-content:center;color:var(--color-text-secondary, rgba(255, 255, 255, .65))}.object-item.selected .object-icon{color:var(--color-accent, #e8a855)}.object-name{flex:1;font-size:12px;font-weight:500;color:var(--color-text-primary, rgba(255, 255, 255, .9));white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.object-item.selected .object-name{color:var(--color-accent, #e8a855)}.visibility-toggle{flex-shrink:0;width:22px;height:22px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:var(--radius-sm, 4px);cursor:pointer;color:var(--color-text-tertiary, rgba(255, 255, 255, .4));transition:all var(--transition-fast, .15s);padding:0}.visibility-toggle:hover{color:var(--color-text-primary, white);background:#ffffff14}.visibility-toggle.hidden{color:var(--color-text-disabled, rgba(255, 255, 255, .25))}.visibility-toggle.hidden:hover,.object-item:hover .visibility-toggle{color:var(--color-text-secondary, rgba(255, 255, 255, .65))}.copy-id-btn{flex-shrink:0;width:22px;height:22px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:var(--radius-sm, 4px);cursor:pointer;color:var(--color-text-disabled, rgba(255, 255, 255, .25));transition:all var(--transition-fast, .15s);padding:0;opacity:0}.object-item:hover .copy-id-btn{opacity:1;color:var(--color-text-tertiary, rgba(255, 255, 255, .4))}.copy-id-btn:hover{color:var(--color-accent, #e8a855)!important;background:#e8a8551a}.copy-id-btn:active{transform:scale(.9)}.empty-scene{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:28px 16px;text-align:center;color:var(--color-text-tertiary, rgba(255, 255, 255, .4))}.empty-scene p{margin:0;font-size:12px;font-weight:500}.empty-scene .empty-hint{font-size:11px;margin-top:6px;color:var(--color-text-disabled, rgba(255, 255, 255, .25))}.section-divider{height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.08),transparent);margin:14px 0}.add-element-section{flex-shrink:0}.element-palette{display:flex;flex-direction:column;gap:6px}.element-card{display:flex;align-items:center;gap:12px;padding:10px 12px;background:#ffffff05;border:1px solid rgba(255,255,255,.05);border-radius:var(--radius-md, 8px);cursor:pointer;transition:all var(--transition-fast, .15s);text-align:left;color:#fff;position:relative;overflow:hidden}.element-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,rgba(255,255,255,.03) 0%,transparent 60%);opacity:0;transition:opacity var(--transition-fast, .15s)}.element-card:hover{background:#ffffff0d;border-color:#ffffff1a;transform:translate(2px)}.element-card:hover:before{opacity:1}.element-card:active{background:linear-gradient(135deg,var(--color-accent-dim, rgba(232, 168, 85, .12)) 0%,rgba(232,168,85,.06) 100%);border-color:#e8a85533;transform:translate(0)}.element-icon{flex-shrink:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;color:var(--color-accent, #e8a855);background:var(--color-accent-dim, rgba(232, 168, 85, .15));border-radius:var(--radius-md, 8px);transition:all var(--transition-fast, .15s)}.element-card:hover .element-icon{transform:scale(1.05);background:#e8a85533}.element-info{flex:1;min-width:0}.element-name{font-size:12px;font-weight:600;color:var(--color-text-primary, white);margin-bottom:2px}.element-description{font-size:10px;color:var(--color-text-tertiary, rgba(255, 255, 255, .4));line-height:1.3}.element-palette .element-card{animation:fadeIn .3s ease-out backwards}.element-palette .element-card:nth-child(1){animation-delay:.05s}.element-palette .element-card:nth-child(2){animation-delay:.1s}.element-palette .element-card:nth-child(3){animation-delay:.15s}.element-palette .element-card:nth-child(4){animation-delay:.2s}.element-palette .element-card:nth-child(5){animation-delay:.25s}.element-palette .element-card:nth-child(6){animation-delay:.3s}.properties-tab{display:flex;flex-direction:column;gap:16px}.properties-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;text-align:center;color:var(--color-text-tertiary, rgba(255, 255, 255, .4))}.empty-icon{margin-bottom:12px;color:var(--color-text-disabled, rgba(255, 255, 255, .25));display:flex;align-items:center;justify-content:center}.properties-empty p{margin:0;font-size:13px;font-weight:500}.empty-hint{font-size:11px!important;margin-top:6px!important;color:var(--color-text-disabled, rgba(255, 255, 255, .25))}.properties-header{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-bottom:12px;border-bottom:1px solid rgba(255,255,255,.06)}.header-info{display:flex;flex-direction:column;gap:6px;flex:1;min-width:0}.header-name-input{margin:0;padding:4px 8px;font-size:15px;font-weight:600;color:var(--color-text-primary, white);font-family:var(--font-display, "Plus Jakarta Sans", sans-serif);background:transparent;border:1px solid transparent;border-radius:var(--radius-sm, 4px);width:100%;box-sizing:border-box;transition:all var(--transition-fast, .15s)}.header-name-input:hover{background:#ffffff0a;border-color:#ffffff14}.header-name-input:focus{outline:none;background:var(--color-bg-surface, #1a1a1f);border-color:var(--color-accent, #e8a855);box-shadow:0 0 0 2px var(--color-accent-dim, rgba(232, 168, 85, .15))}.element-type-badge{padding:3px 8px;background:linear-gradient(135deg,var(--color-secondary-dim, rgba(157, 140, 255, .15)) 0%,rgba(157,140,255,.08) 100%);color:var(--color-secondary, #9d8cff);border-radius:var(--radius-sm, 4px);font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:1px;width:fit-content;font-family:var(--font-mono, "JetBrains Mono", monospace)}.header-actions{display:flex;align-items:center;gap:6px}.visibility-button,.delete-button{width:32px;height:32px;border-radius:var(--radius-md, 8px);font-size:14px;cursor:pointer;transition:all var(--transition-fast, .15s);flex-shrink:0;display:flex;align-items:center;justify-content:center;border:1px solid}.visibility-button{background:#ffffff0a;color:var(--color-text-secondary, rgba(255, 255, 255, .65));border-color:#ffffff14}.visibility-button:hover{background:#ffffff14;border-color:#ffffff26;color:var(--color-text-primary, white)}.visibility-button.hidden{background:var(--color-warning, #ffc857);background:#ffc8571f;color:var(--color-warning, #ffc857);border-color:#ffc85740}.visibility-button.hidden:hover{background:#ffc85733;border-color:#ffc85766}.delete-button{background:var(--color-danger-dim, rgba(255, 107, 107, .12));color:var(--color-danger, #ff6b6b);border-color:#ff6b6b33}.delete-button:hover{background:#ff6b6b33;border-color:#ff6b6b59}.properties-sections{display:flex;flex-direction:column;gap:18px}.property-section{display:flex;flex-direction:column;gap:10px;padding:12px;background:#ffffff05;border:1px solid rgba(255,255,255,.04);border-radius:var(--radius-md, 8px)}.property-section.section-disabled .section-content{opacity:.5;pointer-events:none}.section-collapse-toggle{width:16px;height:16px;background:transparent;border:none;color:var(--color-text-tertiary, rgba(255, 255, 255, .4));cursor:pointer;padding:0;font-size:10px;display:flex;align-items:center;justify-content:center;transition:transform var(--transition-fast, .15s);flex-shrink:0}.section-collapse-toggle:hover{color:var(--color-text-secondary, rgba(255, 255, 255, .65))}.section-collapse-toggle.collapsed{transform:rotate(-90deg)}.property-section.section-collapsed .section-content{display:none}.section-header-row{display:flex;align-items:center;gap:8px;margin-bottom:8px}.section-enabled-toggle{width:14px;height:14px;accent-color:var(--color-accent, #e8a855);cursor:pointer;margin:0;flex-shrink:0}.property-section .section-title{flex:1;margin:0;font-size:10px;font-weight:700;color:var(--color-text-tertiary, rgba(255, 255, 255, .4));text-transform:uppercase;letter-spacing:1.5px;font-family:var(--font-display, "Plus Jakarta Sans", sans-serif)}.section-content{display:flex;flex-direction:column;gap:6px}.property-subsection{margin-top:12px;padding-top:12px;border-top:1px solid rgba(255,255,255,.06)}.property-subsection-header{font-size:10px;font-weight:600;color:var(--color-text-tertiary, rgba(255, 255, 255, .4));text-transform:uppercase;letter-spacing:1px;margin-bottom:10px}.property-field{display:flex;flex-direction:row;align-items:center;gap:8px;min-height:26px}.property-field--stacked{flex-direction:column;align-items:stretch;gap:4px}.property-field--stacked .property-label{width:auto;text-align:left}.property-field--stacked .property-value{width:100%;justify-content:flex-start}.property-field--stacked .vector-input{width:100%}.property-label{font-size:11px;font-weight:500;color:var(--color-text-secondary, rgba(255, 255, 255, .65));width:100px;flex-shrink:0;text-align:left}.property-label--scrub{cursor:ew-resize;-webkit-user-select:none;user-select:none}.property-value{flex:1;min-width:0;display:flex;justify-content:flex-end}.property-value>input,.property-value>select,.property-value>textarea,.property-value>.reference-field{width:100%}.property-value>input[type=checkbox]{width:auto;margin-left:auto}.property-hint{font-size:10px;color:var(--color-text-disabled, rgba(255, 255, 255, .25));font-style:italic}.property-readonly{font-size:12px;color:var(--color-text-secondary, rgba(255, 255, 255, .55));font-family:var(--font-mono, "JetBrains Mono", monospace);padding:6px 8px;background:#ffffff08;border:1px solid var(--color-border-subtle, rgba(255, 255, 255, .04));border-radius:4px;-webkit-user-select:text;user-select:text;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0}.property-input,.property-textarea{width:100%;padding:5px 8px;background:var(--color-bg-surface, #1a1a1f);color:var(--color-text-primary, white);border:1px solid rgba(255,255,255,.08);border-radius:var(--radius-sm, 4px);font-size:11px;font-family:var(--font-body, "Plus Jakarta Sans", sans-serif);box-sizing:border-box;transition:all var(--transition-fast, .15s);height:28px}.property-input:hover,.property-textarea:hover{border-color:#ffffff26;background:var(--color-bg-hover, #222228)}.property-input:focus,.property-textarea:focus{outline:none;border-color:var(--color-accent, #e8a855);background:var(--color-bg-hover, #222228);box-shadow:0 0 0 3px var(--color-accent-dim, rgba(232, 168, 85, .15))}.property-input::placeholder,.property-textarea::placeholder{color:var(--color-text-disabled, rgba(255, 255, 255, .25))}.property-select{width:100%;padding:5px 28px 5px 8px;background:var(--color-bg-surface, #1a1a1f);color:var(--color-text-primary, white);border:1px solid rgba(255,255,255,.08);border-radius:var(--radius-sm, 4px);font-size:11px;font-family:var(--font-body, "Plus Jakarta Sans", sans-serif);box-sizing:border-box;cursor:pointer;transition:all var(--transition-fast, .15s);height:28px;appearance:none;-webkit-appearance:none;-moz-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23e8a855' d='M3 4.5L6 8l3-3.5H3z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center}.property-select:hover{border-color:#ffffff26;background-color:var(--color-bg-hover, #222228)}.property-select:focus{outline:none;border-color:var(--color-accent, #e8a855);box-shadow:0 0 0 3px var(--color-accent-dim, rgba(232, 168, 85, .15))}.property-select option{background:var(--color-bg-elevated, #141418);color:var(--color-text-primary, white);padding:10px}.property-textarea{resize:vertical;min-height:60px;line-height:1.5}.property-color{width:100%;height:32px;padding:3px;background:var(--color-bg-surface, #1a1a1f);border:1px solid rgba(255,255,255,.08);border-radius:var(--radius-sm, 4px);cursor:pointer;transition:all var(--transition-fast, .15s)}.property-color:hover{border-color:#ffffff26}.property-color:focus{outline:none;border-color:var(--color-accent, #e8a855);box-shadow:0 0 0 3px var(--color-accent-dim, rgba(232, 168, 85, .15))}.vector-input{display:flex;gap:4px}.vector-component{display:flex;align-items:center;gap:2px;flex:1;min-width:0}.vector-label{font-size:9px;font-weight:700;color:var(--color-text-disabled, rgba(255, 255, 255, .25));width:10px;flex-shrink:0;font-family:var(--font-mono, "JetBrains Mono", monospace)}.vector-label--scrub{cursor:ew-resize;-webkit-user-select:none;user-select:none}.vector-value{flex:1;min-width:0;padding:4px;background:var(--color-bg-surface, #1a1a1f);color:var(--color-text-primary, white);border:1px solid rgba(255,255,255,.08);border-radius:var(--radius-sm, 4px);font-size:10px;font-family:var(--font-mono, "JetBrains Mono", monospace);box-sizing:border-box;transition:all var(--transition-fast, .15s);height:24px}.vector-value:hover{border-color:#ffffff26;background:var(--color-bg-hover, #222228)}.vector-value:focus{outline:none;border-color:var(--color-accent, #e8a855);background:var(--color-bg-hover, #222228);box-shadow:0 0 0 2px var(--color-accent-dim, rgba(232, 168, 85, .15))}.vector-value::-webkit-outer-spin-button,.vector-value::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.vector-value[type=number]{-moz-appearance:textfield}.move-to-camera-btn{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:4px;padding:6px 12px;background:transparent;color:var(--color-text-tertiary, rgba(255, 255, 255, .4));border:1px dashed rgba(255,255,255,.12);border-radius:var(--radius-sm, 4px);font-size:10px;font-weight:500;cursor:pointer;transition:all var(--transition-fast, .15s);width:100%}.move-to-camera-btn:hover{background:var(--color-accent-dim, rgba(232, 168, 85, .1));color:var(--color-accent, #e8a855);border-color:#e8a8554d;border-style:solid}.property-field input[type=checkbox]{width:16px;height:16px;accent-color:var(--color-accent, #e8a855);cursor:pointer;margin:0}.html-editor{font-family:var(--font-mono, "JetBrains Mono", monospace);font-size:11px;line-height:1.5;min-height:100px;-moz-tab-size:2;tab-size:2}.section-context-menu{position:relative;flex-shrink:0}.section-menu-btn{width:20px;height:20px;background:transparent;border:1px solid transparent;border-radius:var(--radius-sm, 4px);color:var(--color-text-tertiary, rgba(255, 255, 255, .4));cursor:pointer;font-size:12px;display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast, .15s);padding:0;letter-spacing:1px}.section-menu-btn:hover{background:#ffffff0f;border-color:#ffffff1a;color:var(--color-text-secondary, rgba(255, 255, 255, .65))}.section-menu-dropdown{position:absolute;top:100%;right:0;margin-top:4px;min-width:120px;background:var(--color-bg-elevated, #141418);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-sm, 4px);box-shadow:0 8px 24px #0006;z-index:100;overflow:hidden}.section-menu-item{width:100%;padding:6px 10px;background:transparent;border:none;color:var(--color-text-secondary, rgba(255, 255, 255, .65));font-size:11px;font-family:var(--font-body, "Plus Jakarta Sans", sans-serif);text-align:left;cursor:pointer;transition:all var(--transition-fast, .15s)}.section-menu-item:hover:not(:disabled){background:#ffffff0f;color:var(--color-text-primary, white)}.section-menu-item:disabled{color:var(--color-text-disabled, rgba(255, 255, 255, .25));cursor:not-allowed}.remove-component-btn{width:20px;height:20px;background:var(--color-danger-dim, rgba(255, 107, 107, .12));color:var(--color-danger, #ff6b6b);border:1px solid rgba(255,107,107,.2);border-radius:var(--radius-sm, 4px);font-size:10px;cursor:pointer;transition:all var(--transition-fast, .15s);display:flex;align-items:center;justify-content:center;flex-shrink:0}.remove-component-btn:hover{background:#ff6b6b40;border-color:#ff6b6b66}.add-component-section{margin-top:12px;padding-top:12px;border-top:1px solid rgba(255,255,255,.06)}.add-component-combobox{display:flex;align-items:center;background:linear-gradient(135deg,var(--color-accent-dim, rgba(232, 168, 85, .12)) 0%,rgba(232,168,85,.06) 100%);border:1px solid rgba(232,168,85,.2);border-radius:var(--radius-md, 8px);transition:all var(--transition-fast, .15s);box-sizing:border-box}.add-component-combobox:hover{background:#e8a8552e;border-color:#e8a85559;box-shadow:0 4px 12px #e8a85526}.add-component-combobox:focus-within{border-color:var(--color-accent, #e8a855);box-shadow:0 0 0 3px var(--color-accent-dim, rgba(232, 168, 85, .15))}.add-component-input{flex:1;height:32px;padding:0 12px;font-size:11px;font-weight:600;font-family:var(--font-body, "Plus Jakarta Sans", sans-serif);background:transparent;border:none;color:var(--color-accent, #e8a855);outline:none;min-width:0;overflow:hidden;text-overflow:ellipsis}.add-component-input::placeholder{color:var(--color-accent, #e8a855);opacity:1}.add-component-toggle{display:flex;align-items:center;justify-content:center;width:28px;height:32px;padding:0;background:transparent;border:none;color:var(--color-accent, #e8a855);cursor:pointer;flex-shrink:0;opacity:.7}.add-component-toggle:hover{opacity:1}.add-component-dropdown-portal{display:flex;flex-direction:column}.add-component-option{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;padding:6px 10px;font-size:12px;background:transparent;border:none;color:var(--color-text-primary, #fff);cursor:pointer;text-align:left;transition:background .1s ease}.add-component-option:hover,.add-component-option.highlighted{background:var(--color-bg-hover, rgba(255, 255, 255, .06))}.add-component-option-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0}.add-component-option-detail{font-size:10px;color:var(--color-text-tertiary, rgba(255, 255, 255, .4));white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:45%;flex-shrink:1}.animation-dropdown{position:relative}.animation-dropdown .property-select{padding-right:40px}.animation-playing-indicator{display:inline-block;width:8px;height:8px;background:var(--color-success, #5dd39e);border-radius:50%;margin-left:8px;animation:glowPulse 1.5s ease-in-out infinite;box-shadow:0 0 6px var(--color-success, #5dd39e)}.visible-from-povs{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.pov-header{display:flex;align-items:center;justify-content:space-between;gap:8px}.pov-count{font-size:11px;color:var(--color-text-secondary, rgba(255, 255, 255, .65))}.pov-list{display:flex;flex-direction:column;gap:4px;max-height:150px;overflow-y:auto}.pov-item{display:flex;align-items:center;gap:8px;padding:6px 8px;background:var(--color-bg-surface, #1a1a1f);border:1px solid rgba(255,255,255,.06);border-radius:var(--radius-sm, 4px)}.pov-index{font-size:10px;font-weight:700;color:var(--color-accent, #e8a855);width:16px;text-align:center;flex-shrink:0}.pov-position{flex:1;font-size:10px;font-family:var(--font-mono, "JetBrains Mono", monospace);color:var(--color-text-secondary, rgba(255, 255, 255, .65));overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pov-remove{width:20px;height:20px;background:var(--color-danger-dim, rgba(255, 107, 107, .12));color:var(--color-danger, #ff6b6b);border:1px solid rgba(255,107,107,.2);border-radius:var(--radius-sm, 4px);cursor:pointer;transition:all var(--transition-fast, .15s);display:flex;align-items:center;justify-content:center;flex-shrink:0}.pov-remove:hover{background:#ff6b6b40;border-color:#ff6b6b66}.pov-empty{font-size:10px;color:var(--color-text-disabled, rgba(255, 255, 255, .25));font-style:italic;text-align:center;padding:12px}.capture-btn.small{padding:4px 10px;font-size:10px;height:auto}.capture-btn{padding:6px 12px;background:linear-gradient(135deg,var(--color-accent-dim, rgba(232, 168, 85, .15)) 0%,rgba(232,168,85,.08) 100%);color:var(--color-accent, #e8a855);border:1px solid rgba(232,168,85,.25);border-radius:var(--radius-sm, 4px);font-size:11px;font-weight:600;cursor:pointer;transition:all var(--transition-fast, .15s)}.capture-btn:hover:not(:disabled){background:#e8a85533;border-color:#e8a85566}.capture-btn.capturing{animation:pulseGlow 1s ease-in-out infinite}@keyframes pulseGlow{0%,to{opacity:1}50%{opacity:.6}}.property-unit{font-size:10px;color:var(--color-text-disabled, rgba(255, 255, 255, .25));margin-left:4px;flex-shrink:0}.visualization-tab{display:flex;flex-direction:column;gap:0;height:100%}.viz-template-picker{padding:14px;background:#ffffff05;border:1px solid var(--color-border-subtle, rgba(255, 255, 255, .04));border-radius:var(--radius-md, 8px);margin-bottom:12px;flex-shrink:0}.viz-label{display:block;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--color-text-tertiary, rgba(255, 255, 255, .4));margin-bottom:10px;font-family:var(--font-display, "Plus Jakarta Sans", sans-serif)}.viz-select{width:100%;background:var(--color-bg-surface, #1a1a1f);border:1px solid var(--color-border-default, rgba(255, 255, 255, .08));border-radius:var(--radius-sm, 4px);padding:10px 36px 10px 12px;color:var(--color-text-primary, white);font-size:13px;font-weight:500;font-family:var(--font-body, "Plus Jakarta Sans", sans-serif);box-sizing:border-box;cursor:pointer;outline:none;transition:all var(--transition-fast, .15s);-moz-appearance:none;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23e8a855' d='M3 4.5L6 8l3-3.5H3z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center}.viz-select:hover{border-color:var(--color-border-hover, rgba(255, 255, 255, .15));background-color:var(--color-bg-hover, #222228)}.viz-select:focus{border-color:var(--color-accent, #e8a855);box-shadow:0 0 0 3px var(--color-accent-dim, rgba(232, 168, 85, .15))}.viz-select option{background:var(--color-bg-elevated, #141418);color:var(--color-text-primary, white);padding:10px}.viz-description{font-size:10px;color:var(--color-text-disabled, rgba(255, 255, 255, .25));margin:8px 0 0;line-height:1.4}.viz-config{flex:1;min-height:0;overflow-y:auto}.viz-empty-config{padding:24px 14px;text-align:center;font-size:12px;color:var(--color-text-disabled, rgba(255, 255, 255, .25));font-style:italic}.settings-tab{display:flex;flex-direction:column;gap:16px}.settings-group{padding:14px;background:#ffffff05;border:1px solid var(--color-border-subtle, rgba(255, 255, 255, .04));border-radius:var(--radius-md, 8px)}.settings-group label{display:flex;align-items:center;justify-content:space-between;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--color-text-tertiary, rgba(255, 255, 255, .4));margin-bottom:10px;font-family:var(--font-display, "Plus Jakarta Sans", sans-serif)}.value-display{font-family:var(--font-mono, "JetBrains Mono", monospace);font-size:10px;color:var(--color-accent, #e8a855);text-transform:none;letter-spacing:0;font-weight:600;padding:2px 6px;background:var(--color-accent-dim, rgba(232, 168, 85, .15));border-radius:var(--radius-sm, 4px)}.version-footer{margin-top:auto;padding-top:16px;text-align:center;font-size:10px;color:var(--color-text-disabled, rgba(255, 255, 255, .25));font-family:var(--font-mono, "JetBrains Mono", monospace)}.settings-group input[type=text]{width:100%;background:var(--color-bg-surface, #1a1a1f);border:1px solid var(--color-border-default, rgba(255, 255, 255, .08));border-radius:var(--radius-sm, 4px);padding:10px 12px;color:var(--color-text-primary, white);font-size:13px;font-family:var(--font-body, "Plus Jakarta Sans", sans-serif);box-sizing:border-box;transition:all var(--transition-fast, .15s)}.settings-group input[type=text]:hover{border-color:var(--color-border-hover, rgba(255, 255, 255, .15));background:var(--color-bg-hover, #222228)}.settings-group input[type=text]:focus{outline:none;border-color:var(--color-accent, #e8a855);background:var(--color-bg-hover, #222228);box-shadow:0 0 0 3px var(--color-accent-dim, rgba(232, 168, 85, .15))}.settings-group input[type=range]{width:100%;height:6px;background:#ffffff14;border-radius:3px;outline:none;-webkit-appearance:none;margin:8px 0}.settings-group input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:16px;height:16px;background:var(--color-accent, #e8a855);border-radius:50%;cursor:pointer;box-shadow:0 2px 8px #e8a8554d;transition:all var(--transition-fast, .15s)}.settings-group input[type=range]::-webkit-slider-thumb:hover{transform:scale(1.1);box-shadow:0 2px 12px #e8a85580}.settings-group input[type=range]::-moz-range-thumb{width:16px;height:16px;background:var(--color-accent, #e8a855);border-radius:50%;cursor:pointer;border:none;box-shadow:0 2px 8px #e8a8554d}.range-labels{display:flex;justify-content:space-between;margin-top:6px;font-size:9px;font-weight:500;color:var(--color-text-disabled, rgba(255, 255, 255, .25));text-transform:uppercase;letter-spacing:.5px}.color-input-row{display:flex;gap:10px;align-items:center;margin-top:10px}.color-input-row input[type=color]{width:40px;height:36px;padding:3px;background:var(--color-bg-surface, #1a1a1f);border:1px solid var(--color-border-default, rgba(255, 255, 255, .08));border-radius:var(--radius-md, 8px);cursor:pointer;transition:all var(--transition-fast, .15s)}.color-input-row input[type=color]:hover{border-color:var(--color-border-hover, rgba(255, 255, 255, .15))}.color-input-row input[type=color]:focus{outline:none;border-color:var(--color-accent, #e8a855);box-shadow:0 0 0 3px var(--color-accent-dim, rgba(232, 168, 85, .15))}.color-input-row input[type=text]{flex:1;font-family:var(--font-mono, "JetBrains Mono", monospace);font-size:12px;text-transform:uppercase}.settings-hint{font-size:10px;color:var(--color-text-disabled, rgba(255, 255, 255, .25));margin:8px 0 0;line-height:1.4}.camera-buttons{display:flex;gap:8px;margin-top:4px}.capture-btn{padding:9px 16px;background:var(--color-success-dim, rgba(93, 211, 158, .15));border:1px solid rgba(93,211,158,.25);border-radius:var(--radius-md, 8px);color:var(--color-success, #5dd39e);font-size:11px;font-weight:600;cursor:pointer;transition:all var(--transition-fast, .15s);font-family:var(--font-body, "Plus Jakarta Sans", sans-serif)}.capture-btn:hover:not(:disabled){background:#5dd39e38;border-color:#5dd39e66;transform:translateY(-1px);box-shadow:0 4px 12px #5dd39e26}.capture-btn:disabled{opacity:.4;cursor:not-allowed;transform:none}.capture-btn.capturing{background:#e8a85526;border-color:#e8a85540;color:var(--color-accent, #e8a855);animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}.clear-btn{padding:9px 16px;background:#ffffff0a;border:1px solid var(--color-border-default, rgba(255, 255, 255, .08));border-radius:var(--radius-md, 8px);color:var(--color-text-secondary, rgba(255, 255, 255, .65));font-size:11px;font-weight:500;cursor:pointer;transition:all var(--transition-fast, .15s)}.camera-info{margin-top:10px;padding:10px 12px;background:#0003;border-radius:var(--radius-sm, 4px);font-size:10px;color:var(--color-text-tertiary, rgba(255, 255, 255, .4));font-family:var(--font-mono, "JetBrains Mono", monospace);line-height:1.6}.camera-info strong{color:var(--color-text-secondary, rgba(255, 255, 255, .65));font-weight:600}.code-editor-wrapper{display:flex;flex-direction:column;gap:0;width:100%;min-width:0}.code-editor-toolbar{display:flex;align-items:center;justify-content:space-between;padding:4px 8px;background:#00000040;border:1px solid var(--color-border-default, rgba(255, 255, 255, .08));border-bottom:none;border-radius:var(--radius-sm, 4px) var(--radius-sm, 4px) 0 0}.code-editor-lang-label{font-size:9px;font-weight:700;letter-spacing:1px;color:var(--color-text-disabled, rgba(255, 255, 255, .25));font-family:var(--font-mono, "JetBrains Mono", monospace)}.code-editor-toolbar-actions{display:flex;gap:2px}.code-editor-toolbar-btn{display:flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;background:transparent;border:1px solid transparent;border-radius:var(--radius-sm, 4px);color:var(--color-text-tertiary, rgba(255, 255, 255, .4));cursor:pointer;transition:all var(--transition-fast, .15s)}.code-editor-toolbar-btn:hover{color:var(--color-accent, #e8a855);background:var(--color-accent-dim, rgba(232, 168, 85, .12));border-color:#e8a85540}.code-editor-container{max-height:150px;overflow:hidden;transition:max-height .2s ease}.code-editor-container .cm-editor,.code-editor-container .cm-scroller{min-height:150px}.code-editor-toolbar+.code-editor-container .cm-editor{border-top-left-radius:0;border-top-right-radius:0}.code-editor--expanded .code-editor-container{max-height:none}.settings-group button[style*=margin-top]{margin-top:10px!important;width:100%}.plugins-tab{display:flex;flex-direction:column;gap:12px}.plugins-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;text-align:center;color:var(--color-text-tertiary, rgba(255, 255, 255, .4))}.plugins-empty-icon{margin-bottom:12px;opacity:.3}.plugins-empty p{margin:0;font-size:12px}.plugins-empty-hint{margin-top:8px!important;font-size:10px!important;color:var(--color-text-disabled, rgba(255, 255, 255, .25))}.plugins-empty-hint code{font-family:var(--font-mono, "JetBrains Mono", monospace);font-size:9px;padding:2px 5px;background:#ffffff0f;border-radius:var(--radius-sm, 4px)}.plugins-count{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--color-text-tertiary, rgba(255, 255, 255, .4));font-family:var(--font-display, "Plus Jakarta Sans", sans-serif);padding:0 2px}.plugin-card{padding:14px;background:#ffffff05;border:1px solid var(--color-border-subtle, rgba(255, 255, 255, .04));border-radius:var(--radius-md, 8px);transition:all var(--transition-fast, .15s)}.plugin-card:hover{border-color:var(--color-border-default, rgba(255, 255, 255, .08));background:#ffffff08}.plugin-header{display:flex;align-items:center;gap:10px}.plugin-indicator{width:8px;height:8px;border-radius:50%;background:var(--color-success, #5dd39e);box-shadow:0 0 6px #5dd39e66;flex-shrink:0}.plugin-info{display:flex;flex-direction:column;min-width:0}.plugin-name{font-size:13px;font-weight:600;color:var(--color-text-primary, white);font-family:var(--font-body, "Plus Jakarta Sans", sans-serif)}.plugin-components{margin-top:12px;padding-top:10px;border-top:1px solid var(--color-border-subtle, rgba(255, 255, 255, .04))}.plugin-components-label{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-disabled, rgba(255, 255, 255, .25));font-family:var(--font-display, "Plus Jakarta Sans", sans-serif)}.plugin-component-list{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.plugin-component-badge{font-size:10px;font-weight:500;padding:3px 8px;background:var(--color-accent-dim, rgba(232, 168, 85, .15));color:var(--color-accent, #e8a855);border-radius:var(--radius-sm, 4px);font-family:var(--font-mono, "JetBrains Mono", monospace)}.plugins-footer{margin-top:auto;padding-top:16px}.plugins-footer-hint{font-size:10px;color:var(--color-text-disabled, rgba(255, 255, 255, .25));line-height:1.5;margin:0}.plugins-footer-hint code{font-family:var(--font-mono, "JetBrains Mono", monospace);font-size:9px;padding:2px 5px;background:#ffffff0f;border-radius:var(--radius-sm, 4px)}.editor-sidebar{position:absolute;left:16px;top:80px;bottom:80px;display:flex;flex-direction:row;pointer-events:auto;z-index:var(--z-modal, 900);font-family:var(--font-body, "Plus Jakarta Sans", -apple-system, sans-serif);animation:slideInLeft .4s cubic-bezier(.16,1,.3,1)}.editor-sidebar.collapsed .sidebar-panel{display:none}.sidebar-tabs{display:flex;flex-direction:column;gap:2px;padding:8px 6px;background:var(--color-glass, rgba(20, 20, 24, .85));backdrop-filter:blur(var(--glass-blur, 20px));-webkit-backdrop-filter:blur(var(--glass-blur, 20px));border:1px solid var(--color-glass-border, rgba(255, 255, 255, .06));border-radius:var(--radius-lg, 12px);box-shadow:var(--shadow-lg, 0 8px 32px rgba(0, 0, 0, .5));position:relative}.sidebar-tabs:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;background:linear-gradient(180deg,rgba(255,255,255,.03) 0%,transparent 40%);pointer-events:none}.sidebar-tab{width:42px;height:42px;background-color:transparent;color:var(--color-text-tertiary, rgba(255, 255, 255, .4));border:none;border-radius:var(--radius-md, 8px);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast, .15s);position:relative;z-index:1}.sidebar-tab:hover{background-color:#ffffff0f;color:var(--color-text-secondary, rgba(255, 255, 255, .65));transform:scale(1.02)}.sidebar-tab.active{background:linear-gradient(135deg,var(--color-accent-dim, rgba(232, 168, 85, .15)) 0%,rgba(232,168,85,.08) 100%);color:var(--color-accent, #e8a855);box-shadow:inset 0 0 0 1px #e8a85533}.sidebar-tab.active:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:3px;height:20px;background:var(--color-accent, #e8a855);border-radius:0 2px 2px 0;box-shadow:0 0 8px var(--color-accent-glow, rgba(232, 168, 85, .4))}.sidebar-tab.toggle-tab{opacity:.5}.sidebar-tab.toggle-tab.active{opacity:1;background:linear-gradient(135deg,var(--color-success-dim, rgba(93, 211, 158, .15)) 0%,rgba(93,211,158,.08) 100%);color:var(--color-success, #5dd39e);box-shadow:inset 0 0 0 1px #5dd39e33}.sidebar-tab.toggle-tab.active:before{background:var(--color-success, #5dd39e);box-shadow:0 0 8px #5dd39e66}.tab-icon{display:flex;align-items:center;justify-content:center;width:18px;height:18px}.tab-spacer{flex:1}.tab-divider{height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent);margin:6px 8px}.sidebar-tab.action-tab{opacity:.6}.sidebar-tab.action-tab:hover{opacity:1;background-color:#ffffff14}.sidebar-panel{margin-left:10px;background:var(--color-glass, rgba(20, 20, 24, .85));backdrop-filter:blur(var(--glass-blur, 20px));-webkit-backdrop-filter:blur(var(--glass-blur, 20px));border:1px solid var(--color-glass-border, rgba(255, 255, 255, .06));border-radius:var(--radius-lg, 12px);display:flex;flex-direction:column;box-shadow:var(--shadow-lg, 0 8px 32px rgba(0, 0, 0, .5));color:var(--color-text-primary, white);overflow:hidden;position:relative;animation:scaleIn .3s cubic-bezier(.16,1,.3,1);transition:box-shadow var(--transition-fast, .15s)}.sidebar-panel.resizing{transition:none;box-shadow:var(--shadow-lg, 0 8px 32px rgba(0, 0, 0, .5)),0 0 0 1px #e8a8554d}.sidebar-panel:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,rgba(255,255,255,.02) 0%,transparent 30%);pointer-events:none;border-radius:inherit}.sidebar-header{padding:14px 16px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.06);flex-shrink:0;position:relative;z-index:1}.sidebar-title{margin:0;font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:1.5px;color:var(--color-text-secondary, rgba(255, 255, 255, .65));font-family:var(--font-display, "Plus Jakarta Sans", sans-serif)}.sidebar-content{flex:1;overflow-y:auto;padding:14px;position:relative;z-index:1}.sidebar-content::-webkit-scrollbar{width:5px}.sidebar-content::-webkit-scrollbar-track{background:transparent;margin:4px 0}.sidebar-content::-webkit-scrollbar-thumb{background:#ffffff14;border-radius:3px}.sidebar-content::-webkit-scrollbar-thumb:hover{background:#ffffff26}.sidebar-resize-handle{position:absolute;top:0;right:0;bottom:0;width:10px;cursor:col-resize;display:flex;align-items:center;justify-content:center;z-index:3;background:transparent;transition:background var(--transition-fast, .15s);touch-action:none;user-select:none;-webkit-user-select:none}.sidebar-resize-handle:before{content:"";position:absolute;top:10%;bottom:10%;right:0;width:2px;background:transparent;border-radius:2px 0 0 2px;transition:background var(--transition-fast, .15s)}.sidebar-resize-handle:hover:before,.sidebar-panel.resizing .sidebar-resize-handle:before{background:var(--color-accent, #e8a855);box-shadow:0 0 8px var(--color-accent-glow, rgba(232, 168, 85, .4))}.sidebar-resize-grip{display:flex;align-items:center;justify-content:center;width:16px;height:28px;border-radius:4px;background:#141418e6;border:1px solid var(--color-glass-border, rgba(255, 255, 255, .08));color:var(--color-text-tertiary, rgba(255, 255, 255, .4));opacity:0;transform:translate(4px);transition:opacity var(--transition-fast, .15s),transform var(--transition-fast, .15s),color var(--transition-fast, .15s),border-color var(--transition-fast, .15s);pointer-events:none}.sidebar-panel:hover .sidebar-resize-grip,.sidebar-resize-handle:hover .sidebar-resize-grip,.sidebar-panel.resizing .sidebar-resize-grip{opacity:1;transform:translate(0)}.sidebar-resize-handle:hover .sidebar-resize-grip,.sidebar-panel.resizing .sidebar-resize-grip{color:var(--color-accent, #e8a855);border-color:#e8a8554d}.editor-layout{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;flex-direction:column;pointer-events:none}.editor-content{flex:1;position:relative;pointer-events:none}.editor-content>*{pointer-events:auto}.editor-toast-container{position:fixed;bottom:24px;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:8px;z-index:9999;pointer-events:none}.editor-toast{background:var(--color-bg-elevated, #141418);color:var(--color-text-primary, rgba(255, 255, 255, .95));border:1px solid var(--color-border-hover, rgba(255, 255, 255, .15));padding:8px 18px;border-radius:var(--radius-full, 9999px);font-family:var(--font-body, "Plus Jakarta Sans", sans-serif);font-size:12px;font-weight:500;box-shadow:0 4px 20px #00000080;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);animation:toast-in .2s ease-out,toast-out .3s ease-in 1.2s forwards}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes toast-out{0%{opacity:1}to{opacity:0;transform:translateY(-4px)}}.playback-bar{position:absolute;bottom:0;left:0;right:0;height:90px;background:linear-gradient(to top,var(--vt-color-bg, rgba(15, 15, 18, .98)) 0%,var(--vt-color-bg, rgba(15, 15, 18, .98)) 60%,transparent 100%);display:flex;align-items:flex-end;padding:0 28px 18px;z-index:1000;pointer-events:auto;font-family:var(--vt-font-family, var(--font-body, "Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, sans-serif));color:var(--vt-color-text, #e8e8e8)}.playback-bar-content{display:flex;align-items:center;gap:20px;width:100%;max-width:1200px;margin:0 auto}.sequence-selector{flex-shrink:0}.sequence-select{background:var(--vt-color-surface, #1a1a1f);border:1px solid rgba(var(--vt-color-contrast, 255, 255, 255),.08);border-radius:var(--vt-border-radius, 8px);padding:10px 36px 10px 14px;color:var(--vt-color-text, white);font-size:13px;font-weight:500;min-width:200px;cursor:pointer;outline:none;transition:all .15s;-moz-appearance:none;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23e8a855' d='M3 4.5L6 8l3-3.5H3z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center}.sequence-select:hover{background-color:rgba(var(--vt-color-contrast, 255, 255, 255),.06);border-color:rgba(var(--vt-color-contrast, 255, 255, 255),.15)}.sequence-select:focus{border-color:var(--vt-color-primary, #e8a855);box-shadow:0 0 0 3px rgba(var(--vt-color-contrast, 255, 255, 255),.1)}.sequence-select option{background:var(--vt-color-surface, #141418);color:var(--vt-color-text, white);padding:10px}.playback-bar .step-info{display:flex;flex-direction:column;gap:4px;min-width:160px}.playback-bar .step-counter{font-size:10px;font-weight:600;color:var(--vt-color-text, rgba(255, 255, 255, .4));opacity:.65;text-transform:uppercase;letter-spacing:1px;font-family:var(--font-mono, "JetBrains Mono", monospace)}.playback-bar .step-name{font-size:14px;font-weight:600;color:var(--vt-color-text, white);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:220px}.playback-bar .step-placeholder{font-size:13px;color:var(--vt-color-text, rgba(255, 255, 255, .25));opacity:.55;font-style:italic}.playback-controls{display:flex;align-items:center;gap:8px;flex-shrink:0}.control-btn{width:40px;height:40px;background:rgba(var(--vt-color-contrast, 255, 255, 255),.06);border:1px solid rgba(var(--vt-color-contrast, 255, 255, 255),.08);border-radius:9999px;color:var(--vt-color-text, rgba(255, 255, 255, .65));opacity:.7;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s}.control-btn:hover:not(:disabled){background:rgba(var(--vt-color-contrast, 255, 255, 255),.12);border-color:rgba(var(--vt-color-contrast, 255, 255, 255),.15);color:var(--vt-color-text, white);opacity:1;transform:scale(1.05)}.control-btn:disabled{opacity:.25;cursor:not-allowed}.control-btn-main{width:52px;height:52px;background:linear-gradient(135deg,#e8a85533,#e8a8551a);border-color:#e8a8554d;color:var(--vt-color-primary, #e8a855);opacity:1}.control-btn-main:hover:not(:disabled){background:linear-gradient(135deg,#e8a8554d,#e8a85533);border-color:#e8a85580;color:var(--vt-color-primary, #f0b96a);box-shadow:0 4px 16px #e8a85540}.control-icon{font-size:14px;font-weight:700;font-family:var(--font-mono, "JetBrains Mono", monospace)}.control-btn-main .control-icon{font-size:18px}.progress-section{flex:1;display:flex;align-items:center;gap:12px;min-width:180px}.progress-bar-container{flex:1;padding:10px 0}.progress-bar{position:relative;height:6px;background:rgba(var(--vt-color-contrast, 255, 255, 255),.1);border-radius:3px;cursor:pointer}.progress-fill{position:absolute;top:0;left:0;height:100%;background:var(--vt-color-primary, #e8a855);border-radius:3px;transition:width .3s ease}.step-marker{position:absolute;top:50%;transform:translate(-50%,-50%);width:14px;height:14px;background:rgba(var(--vt-color-contrast, 255, 255, 255),.2);border:2px solid rgba(var(--vt-color-contrast, 255, 255, 255),.1);border-radius:50%;cursor:pointer;transition:all .15s;z-index:1}.step-marker:hover{background:rgba(var(--vt-color-contrast, 255, 255, 255),.4);border-color:rgba(var(--vt-color-contrast, 255, 255, 255),.3);transform:translate(-50%,-50%) scale(1.2)}.step-marker.active{background:var(--vt-color-primary, #e8a855);border-color:var(--vt-color-primary, #e8a855)}.step-marker.completed{background:var(--vt-color-primary, rgba(232, 168, 85, .4));opacity:.5}.step-marker.disabled{cursor:not-allowed;opacity:.4}.step-marker.disabled:hover{transform:translate(-50%,-50%);background:rgba(var(--vt-color-contrast, 255, 255, 255),.2)}@media(max-width:768px){.playback-bar{padding:0 16px 14px;height:80px}.playback-bar-content{gap:12px}.sequence-select{min-width:140px;font-size:12px;padding:8px 12px}.step-info{display:none}.control-btn{width:36px;height:36px}.control-btn-main{width:46px;height:46px}.control-icon{font-size:12px}.control-btn-main .control-icon{font-size:16px}}.sequences-tab{display:flex;flex-direction:column;height:100%;gap:16px}.section-header{display:flex;align-items:center;justify-content:space-between;padding:0}.section-title{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:1.5px;color:var(--color-text-tertiary, rgba(255, 255, 255, .4));font-family:var(--font-display, "Plus Jakarta Sans", sans-serif)}.add-btn{width:28px;height:28px;background:linear-gradient(135deg,var(--color-accent-dim, rgba(232, 168, 85, .15)),rgba(232,168,85,.08));border:1px solid rgba(232,168,85,.25);border-radius:var(--radius-md, 8px);color:var(--color-accent, #e8a855);font-size:18px;font-weight:300;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast, .15s)}.add-btn:hover{background:linear-gradient(135deg,#e8a85533,#e8a8551f);border-color:#e8a85566;transform:scale(1.05)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;text-align:center;background:linear-gradient(135deg,#ffffff05,#ffffff0a);border-radius:var(--radius-2xl, 16px);border:1px dashed rgba(255,255,255,.1)}.empty-state p{color:var(--color-text-tertiary, rgba(255, 255, 255, .4));margin:0 0 20px;font-size:14px}.primary-btn{padding:12px 24px;background:linear-gradient(135deg,var(--color-accent-dim, rgba(232, 168, 85, .15)),rgba(232,168,85,.08));border:1px solid rgba(232,168,85,.3);border-radius:var(--radius-lg, 10px);color:var(--color-accent, #e8a855);font-size:13px;font-weight:600;cursor:pointer;transition:all var(--transition-fast, .15s);font-family:var(--font-body, "Plus Jakarta Sans", sans-serif)}.primary-btn:hover{background:linear-gradient(135deg,#e8a85533,#e8a8551f);border-color:#e8a85573;transform:translateY(-1px);box-shadow:0 4px 12px #e8a85526}.secondary-btn{padding:10px 18px;background:#ffffff0a;border:1px solid var(--color-border-default, rgba(255, 255, 255, .08));border-radius:var(--radius-md, 8px);color:var(--color-text-secondary, rgba(255, 255, 255, .65));font-size:12px;cursor:pointer;transition:all var(--transition-fast, .15s)}.secondary-btn:hover{background:#ffffff14;border-color:var(--color-border-hover, rgba(255, 255, 255, .15));color:var(--color-text-primary, white)}.sequence-list{display:flex;flex-direction:column;gap:6px}.sequence-item{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;background:#ffffff05;border:1px solid var(--color-border-subtle, rgba(255, 255, 255, .04));border-radius:var(--radius-md, 8px);cursor:grab;transition:all var(--transition-fast, .15s);position:relative;-webkit-user-select:none;user-select:none}.sequence-item:active{cursor:grabbing}.sequence-item.dragging{opacity:.4}.sequence-item:hover{background:#ffffff0d;border-color:var(--color-border-default, rgba(255, 255, 255, .08));transform:translate(2px)}.sequence-info{display:flex;align-items:center;gap:12px}.sequence-icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;color:var(--color-accent, #e8a855);background:var(--color-accent-dim, rgba(232, 168, 85, .15));border-radius:var(--radius-md, 8px)}.sequence-details{display:flex;flex-direction:column;gap:3px}.sequence-name{font-size:13px;font-weight:500;color:var(--color-text-primary, white)}.sequence-steps-count{font-size:10px;color:var(--color-text-tertiary, rgba(255, 255, 255, .4));font-family:var(--font-mono, "JetBrains Mono", monospace)}.delete-btn{width:22px;height:22px;background:transparent;border:none;border-radius:var(--radius-md, 8px);color:var(--color-text-disabled, rgba(255, 255, 255, .25));font-size:14px;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;transition:all var(--transition-fast, .15s)}.sequence-item:hover .delete-btn{opacity:1}.delete-btn:hover{background:var(--color-danger-dim, rgba(255, 107, 107, .12));color:var(--color-danger, #ff6b6b)}.delete-btn.small{width:22px;height:22px;font-size:11px}.editor-header{display:flex;align-items:center;gap:8px;padding-bottom:14px;border-bottom:1px solid var(--color-border-subtle, rgba(255, 255, 255, .04))}.back-btn{width:28px;height:28px;background:transparent;border:none;border-radius:var(--radius-sm, 4px);color:var(--color-text-tertiary, rgba(255, 255, 255, .4));font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast, .15s);flex-shrink:0}.back-btn:hover{background:#ffffff0f;color:var(--color-text-primary, white)}.sequence-name-input{flex:1;min-width:0;background:var(--color-bg-surface, #1a1a1f);border:1px solid var(--color-border-default, rgba(255, 255, 255, .08));border-radius:var(--radius-md, 8px);padding:8px 12px;color:var(--color-text-primary, white);font-size:14px;font-weight:500;font-family:var(--font-display, "Plus Jakarta Sans", sans-serif);transition:all var(--transition-fast, .15s)}.sequence-name-input:focus{outline:none;border-color:var(--color-accent, #e8a855);box-shadow:0 0 0 3px var(--color-accent-dim, rgba(232, 168, 85, .15))}.sequence-settings{display:flex;flex-wrap:wrap;gap:10px 20px;padding:12px 14px;background:#ffffff05;border-radius:var(--radius-md, 8px);border:1px solid var(--color-border-subtle, rgba(255, 255, 255, .04))}.checkbox-label{display:flex;align-items:center;gap:10px;font-size:12px;color:var(--color-text-secondary, rgba(255, 255, 255, .65));cursor:pointer;transition:color var(--transition-fast, .15s)}.checkbox-label:hover{color:var(--color-text-primary, white)}.checkbox-label input[type=checkbox]{width:14px;height:14px;accent-color:var(--color-accent, #e8a855);cursor:pointer}.steps-list{display:flex;flex-direction:column;gap:4px;flex:1;min-height:0;overflow-y:auto;padding-right:4px}.step-item{display:flex;align-items:center;gap:10px;padding:10px 12px;background:transparent;border:1px solid transparent;border-radius:var(--radius-md, 8px);cursor:grab;transition:all var(--transition-fast, .15s);-webkit-user-select:none;user-select:none;position:relative}.step-item:active{cursor:grabbing}.step-item:hover{background:#ffffff0a;border-color:var(--color-border-subtle, rgba(255, 255, 255, .04))}.step-item.selected{background:linear-gradient(135deg,var(--color-accent-dim, rgba(232, 168, 85, .15)) 0%,rgba(232,168,85,.08) 100%);border-color:#e8a85540}.step-item.dragging{opacity:.4}.drop-indicator{position:absolute;left:0;right:0;height:2px;background:var(--color-accent, #e8a855);box-shadow:0 0 8px var(--color-accent-glow, rgba(232, 168, 85, .6));pointer-events:none;z-index:10}.drop-indicator-above{top:-2px}.drop-indicator-below{bottom:-2px}.step-number{width:26px;height:26px;background:#ffffff0f;border-radius:var(--radius-md, 8px);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:600;color:var(--color-text-tertiary, rgba(255, 255, 255, .4));flex-shrink:0;font-family:var(--font-mono, "JetBrains Mono", monospace)}.step-item.selected .step-number{background:var(--color-accent, #e8a855);color:#000}.step-info{flex:1;min-width:0}.step-name{font-size:12px;color:var(--color-text-primary, rgba(255, 255, 255, .9));white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.step-item.selected .step-name{color:var(--color-accent, #e8a855)}.step-delete-btn{width:22px;height:22px;background:transparent;color:var(--color-text-disabled, rgba(255, 255, 255, .25));border:none;border-radius:var(--radius-sm, 4px);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast, .15s);flex-shrink:0;opacity:0}.step-item:hover .step-delete-btn{opacity:1}.step-delete-btn:hover{background:var(--color-danger-dim, rgba(255, 107, 107, .15));color:var(--color-danger, #ff6b6b)}.empty-steps{padding:28px 20px;text-align:center;background:#ffffff05;border-radius:var(--radius-md, 8px);border:1px dashed rgba(255,255,255,.08)}.empty-steps p{margin:0 0 14px;font-size:12px;color:var(--color-text-tertiary, rgba(255, 255, 255, .4))}.delete-step-btn{width:28px;height:28px;background:var(--color-danger-dim, rgba(255, 107, 107, .12));color:var(--color-danger, #ff6b6b);border:1px solid rgba(255,107,107,.2);border-radius:var(--radius-sm, 4px);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast, .15s);flex-shrink:0}.delete-step-btn:hover{background:#ff6b6b33;border-color:#ff6b6b59}.form-group{margin-bottom:14px}.form-group label{display:block;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-tertiary, rgba(255, 255, 255, .4));margin-bottom:8px}.form-group input[type=text],.form-group input[type=number],.form-input{width:100%;background:var(--color-bg-surface, #1a1a1f);border:1px solid var(--color-border-default, rgba(255, 255, 255, .08));border-radius:var(--radius-sm, 4px);padding:8px 10px;color:var(--color-text-primary, white);font-size:12px;box-sizing:border-box;transition:all var(--transition-fast, .15s)}.form-group input:focus,.form-input:focus{outline:none;border-color:var(--color-accent, #e8a855);box-shadow:0 0 0 3px var(--color-accent-dim, rgba(232, 168, 85, .15))}.form-group input[type=number]{width:90px}.form-select{width:100%;background:var(--color-bg-surface, #1a1a1f);border:1px solid var(--color-border-default, rgba(255, 255, 255, .08));border-radius:var(--radius-sm, 4px);padding:8px 10px;color:var(--color-text-primary, white);font-size:12px;cursor:pointer;transition:all var(--transition-fast, .15s)}.form-select:focus{outline:none;border-color:var(--color-accent, #e8a855);box-shadow:0 0 0 3px var(--color-accent-dim, rgba(232, 168, 85, .15))}.form-select option{background:var(--color-bg-elevated, #141418);color:var(--color-text-primary, white)}.form-hint{display:block;margin-top:6px;font-size:10px;color:var(--color-text-disabled, rgba(255, 255, 255, .25))}.camera-controls{display:flex;gap:8px;margin-bottom:8px}.capture-btn{padding:8px 14px;background:var(--color-success-dim, rgba(93, 211, 158, .15));border:1px solid rgba(93,211,158,.25);border-radius:var(--radius-md, 8px);color:var(--color-success, #5dd39e);font-size:11px;font-weight:500;cursor:pointer;transition:all var(--transition-fast, .15s)}.capture-btn:hover:not(:disabled){background:#5dd39e33;border-color:#5dd39e66;transform:translateY(-1px)}.capture-btn:disabled{opacity:.5;cursor:not-allowed}.capture-btn.capturing{opacity:.7;cursor:wait}.clear-btn{padding:8px 14px;background:#ffffff0a;border:1px solid var(--color-border-default, rgba(255, 255, 255, .08));border-radius:var(--radius-md, 8px);color:var(--color-text-secondary, rgba(255, 255, 255, .65));font-size:11px;cursor:pointer;transition:all var(--transition-fast, .15s)}.clear-btn:hover{background:var(--color-danger-dim, rgba(255, 107, 107, .12));border-color:#ff6b6b40;color:var(--color-danger, #ff6b6b)}.camera-info{font-size:10px;color:var(--color-text-disabled, rgba(255, 255, 255, .25));font-family:var(--font-mono, "JetBrains Mono", monospace);padding:6px 8px;background:#0003;border-radius:var(--radius-sm, 4px)}.element-list{max-height:150px;overflow-y:auto;background:#00000026;border-radius:var(--radius-md, 8px);padding:6px;border:1px solid var(--color-border-subtle, rgba(255, 255, 255, .04))}.element-checkbox{display:flex;align-items:center;gap:10px;padding:6px 8px;border-radius:var(--radius-sm, 4px);cursor:pointer;transition:background var(--transition-fast, .15s)}.element-checkbox:hover{background:#ffffff0a}.element-checkbox input{width:14px;height:14px;accent-color:var(--color-accent, #e8a855);cursor:pointer}.element-name{font-size:11px;color:var(--color-text-secondary, rgba(255, 255, 255, .65))}.no-elements{font-size:11px;color:var(--color-text-disabled, rgba(255, 255, 255, .25));text-align:center;padding:14px;margin:0}.element-list::-webkit-scrollbar,.steps-list::-webkit-scrollbar{width:5px}.element-list::-webkit-scrollbar-track,.steps-list::-webkit-scrollbar-track{background:transparent}.element-list::-webkit-scrollbar-thumb,.steps-list::-webkit-scrollbar-thumb{background:#ffffff1f;border-radius:3px}.element-list::-webkit-scrollbar-thumb:hover,.steps-list::-webkit-scrollbar-thumb:hover{background:#fff3}:root{--font-display: "Plus Jakarta Sans", "DM Sans", -apple-system, BlinkMacSystemFont, sans-serif;--font-body: "Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, sans-serif;--font-mono: "JetBrains Mono", "SF Mono", "Fira Code", "Consolas", monospace;--color-bg-deep: #08080a;--color-bg-base: #0d0d0f;--color-bg-elevated: #141418;--color-bg-surface: #1a1a1f;--color-bg-hover: #222228;--color-glass: rgba(20, 20, 24, .85);--color-glass-border: rgba(255, 255, 255, .06);--glass-blur: 20px;--color-accent: #e8a855;--color-accent-dim: rgba(232, 168, 85, .15);--color-accent-glow: rgba(232, 168, 85, .4);--color-accent-hover: #f0b866;--color-secondary: #9d8cff;--color-secondary-dim: rgba(157, 140, 255, .15);--color-success: #5dd39e;--color-success-dim: rgba(93, 211, 158, .15);--color-danger: #ff6b6b;--color-danger-dim: rgba(255, 107, 107, .12);--color-warning: #ffc857;--color-text-primary: rgba(255, 255, 255, .95);--color-text-secondary: rgba(255, 255, 255, .65);--color-text-tertiary: rgba(255, 255, 255, .4);--color-text-disabled: rgba(255, 255, 255, .25);--border-subtle: 1px solid rgba(255, 255, 255, .06);--border-default: 1px solid rgba(255, 255, 255, .1);--border-hover: 1px solid rgba(255, 255, 255, .15);--border-focus: 1px solid var(--color-accent);--shadow-sm: 0 2px 8px rgba(0, 0, 0, .3);--shadow-md: 0 4px 16px rgba(0, 0, 0, .4);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .5);--shadow-glow: 0 0 20px var(--color-accent-glow);--space-xs: 4px;--space-sm: 8px;--space-md: 12px;--space-lg: 16px;--space-xl: 24px;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-base: .25s cubic-bezier(.4, 0, .2, 1);--transition-slow: .4s cubic-bezier(.4, 0, .2, 1);--z-base: 1;--z-dropdown: 100;--z-sticky: 200;--z-overlay: 500;--z-modal: 900;--z-toast: 1000}*{box-sizing:border-box}.frame{height:100%;width:100%;border-width:0px}.main{position:relative;height:100%;width:100%;font-family:var(--font-body)}.noise-overlay:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");opacity:.03;pointer-events:none;border-radius:inherit}@keyframes selection-pulse{0%,to{box-shadow:0 0 0 0 var(--color-accent-glow)}50%{box-shadow:0 0 12px 2px var(--color-accent-glow)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-8px)}to{opacity:1;transform:translate(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes glowPulse{0%,to{opacity:.5}50%{opacity:1}}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#fff3}*{scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.1) transparent}.list-wrapper{z-index:100;position:fixed;right:10px;top:10px;float:right;width:120px;background-color:#f5f5f5}
