.form-group{gap:var(--space-xs);margin-bottom:var(--space-md);flex-direction:column;display:flex}.form-group:last-child{margin-bottom:0}.form-row{align-items:center;gap:var(--space-sm);display:flex}.form-row--2col{gap:var(--space-sm);grid-template-columns:1fr 1fr;display:grid}.form-row--4col{gap:var(--space-xs);grid-template-columns:repeat(4,1fr);display:grid}.form-label{font-size:var(--text-xs);font-weight:var(--font-medium);color:var(--text-secondary);-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;display:flex}.form-label__hint{color:var(--text-tertiary);font-size:10px;font-family:var(--font-mono)}.form-input{width:100%;height:28px;padding:0 var(--space-sm);background-color:var(--surface-panel-solid);border:1px solid var(--border-default);border-radius:var(--radius-sm);color:var(--text-primary);font-family:var(--font-sans);font-size:var(--text-xs);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);box-sizing:border-box;outline:none}.form-input:hover{border-color:var(--border-strong)}.form-input:focus{border-color:var(--accent-primary);box-shadow:0 0 0 2px var(--accent-primary-light)}.form-input::placeholder{color:var(--text-tertiary)}.form-input:disabled{background-color:var(--surface-panel-active);color:var(--text-muted);cursor:not-allowed;opacity:.7}.form-number-scrub{background-color:var(--surface-panel-solid);border:1px solid var(--border-default);border-radius:var(--radius-sm);height:26px;transition:border-color var(--transition-fast), box-shadow var(--transition-fast);box-sizing:border-box;align-items:center;display:flex;overflow:hidden}.form-number-scrub:focus-within{border-color:var(--accent-primary);box-shadow:0 0 0 2px var(--accent-primary-light)}.form-number-scrub__badge{width:18px;height:100%;font-size:10px;font-weight:var(--font-bold);font-family:var(--font-mono);-webkit-user-select:none;user-select:none;flex-shrink:0;justify-content:center;align-items:center;display:flex}.form-number-scrub__badge--x{color:#dc2626;background-color:#ef44441f}.form-number-scrub__badge--y{color:#059669;background-color:#10b9811f}.form-number-scrub__badge--w{color:#206859;background-color:#2068591f}.form-number-scrub__badge--h{color:#d97706;background-color:#f59e0b1f}.form-number-scrub__badge--neutral{background-color:var(--surface-panel-active);color:var(--text-muted)}.form-number-scrub__input{width:100%;height:100%;padding:0 var(--space-xs);font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-primary);background:0 0;border:none;outline:none}.form-select{width:100%;height:28px;padding:0 var(--space-lg) 0 var(--space-sm);background-color:var(--surface-panel-solid);border:1px solid var(--border-default);border-radius:var(--radius-sm);color:var(--text-primary);font-family:var(--font-sans);font-size:var(--text-xs);cursor:pointer;appearance:none;transition:border-color var(--transition-fast);box-sizing:border-box;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2364748B' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 8px center;background-repeat:no-repeat;outline:none}.form-select:hover{border-color:var(--border-strong)}.form-select:focus{border-color:var(--accent-primary);box-shadow:0 0 0 2px var(--accent-primary-light)}.form-segmented{background-color:var(--surface-panel-active);border-radius:var(--radius-md);box-sizing:border-box;align-items:center;gap:2px;width:100%;padding:2px;display:flex}.form-segmented__btn{justify-content:center;align-items:center;gap:var(--space-xs);height:24px;padding:0 var(--space-xs);border-radius:var(--radius-sm);font-size:var(--text-xs);font-weight:var(--font-medium);color:var(--text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color var(--transition-fast), color var(--transition-fast), box-shadow var(--transition-fast);background:0 0;border:none;flex:1;display:flex}.form-segmented__btn:hover:not(.form-segmented__btn--active){color:var(--text-primary);background-color:#ffffff80}.form-segmented__btn--active{background-color:var(--surface-panel-solid);color:var(--accent-primary);box-shadow:var(--shadow-xs);font-weight:var(--font-semibold)}.form-toggle-wrapper{cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;display:flex}.form-toggle{background-color:var(--surface-panel-active);border:1px solid var(--border-default);border-radius:var(--radius-full);cursor:pointer;width:32px;height:18px;transition:background-color var(--transition-normal), border-color var(--transition-normal);flex-shrink:0;position:relative}.form-toggle--active{background-color:var(--accent-primary);border-color:var(--accent-primary)}.form-toggle__thumb{border-radius:var(--radius-full);width:14px;height:14px;box-shadow:var(--shadow-xs);transition:transform var(--transition-normal);background-color:#fff;position:absolute;top:1px;left:1px}.form-toggle--active .form-toggle__thumb{transform:translate(14px)}.form-slider-row{align-items:center;gap:var(--space-sm);display:flex}.form-slider{-webkit-appearance:none;background:var(--surface-panel-active);border-radius:var(--radius-full);cursor:pointer;outline:none;flex:1;height:3px}.form-slider::-webkit-slider-thumb{-webkit-appearance:none;border-radius:var(--radius-full);background:var(--accent-primary);border:2px solid var(--surface-panel-solid);width:12px;height:12px;box-shadow:0 0 0 1px var(--accent-primary), var(--shadow-xs);cursor:pointer;transition:transform var(--transition-fast), box-shadow var(--transition-fast)}.form-slider::-webkit-slider-thumb:hover{box-shadow:0 0 0 1px var(--accent-primary), 0 0 6px #2068594d;transform:scale(1.2)}.form-slider-val{text-align:right;width:42px;font-size:var(--text-xs);font-family:var(--font-mono);color:var(--text-secondary);flex-shrink:0}.form-color-picker{align-items:center;gap:var(--space-xs);height:26px;padding:2px var(--space-sm) 2px 2px;background-color:var(--surface-panel-solid);border:1px solid var(--border-default);border-radius:var(--radius-sm);cursor:pointer;box-sizing:border-box;transition:border-color var(--transition-fast);display:flex;position:relative}.form-color-picker:hover{border-color:var(--border-strong)}.form-color-picker__swatch{border-radius:var(--radius-xs);border:1px solid #0000001f;flex-shrink:0;width:20px;height:20px;box-shadow:inset 0 0 0 1px #fff3}.form-color-picker__label{font-family:var(--font-mono);color:var(--text-primary);font-size:11px}
.motion-sequencer-shell{background:var(--surface-panel-solid);width:100%;height:100%;color:var(--text-primary);font-family:var(--font-sans);-webkit-user-select:none;user-select:none;flex-direction:column;display:flex;overflow:hidden}.sequencer-toolbar{height:38px;padding:0 var(--space-md);background:var(--surface-panel);border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;gap:var(--space-md);flex-shrink:0;display:flex}.sequencer-transport{align-items:center;gap:var(--space-xs);display:flex}.sequencer-btn{border-radius:var(--radius-sm);width:26px;height:26px;color:var(--text-secondary);cursor:pointer;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;transition:all .15s;display:inline-flex}.sequencer-btn:hover{background:var(--surface-panel-hover);color:var(--text-primary);border-color:var(--border-subtle)}.sequencer-btn--active{background:var(--accent-primary-light);color:var(--accent-primary);border-color:var(--border-active)}.sequencer-timecode{font-family:var(--font-mono);font-size:var(--text-xs);font-weight:var(--font-semibold);color:var(--text-primary);background:var(--surface-panel-hover);border-radius:var(--radius-xs);border:1px solid var(--border-subtle);letter-spacing:.5px;padding:3px 8px}.sequencer-fps-badge{font-family:var(--font-mono);font-size:10px;font-weight:var(--font-medium);border-radius:var(--radius-xs);background:var(--accent-primary-light);color:var(--accent-primary);border:1px solid var(--border-subtle);padding:2px 6px}.sequencer-rate-pill{font-size:10px;font-weight:var(--font-semibold);border-radius:var(--radius-xs);border:1px solid var(--border-subtle);background:var(--surface-panel);color:var(--text-secondary);cursor:pointer;padding:2px 6px;transition:all .12s}.sequencer-rate-pill--active{background:var(--accent-primary);color:var(--text-inverse);border-color:var(--accent-primary)}.sequencer-layout{flex:1;display:flex;position:relative;overflow:hidden}.sequencer-tracks-col{background:var(--surface-panel-hover);border-right:1px solid var(--border-default);flex-direction:column;flex-shrink:0;width:260px;min-width:200px;max-width:380px;display:flex;overflow:hidden auto}.sequencer-tracks-col-header{height:32px;padding:0 var(--space-sm);border-bottom:1px solid var(--border-subtle);background:var(--surface-panel);font-size:var(--text-xs);font-weight:var(--font-semibold);color:var(--text-muted);flex-shrink:0;justify-content:space-between;align-items:center;display:flex}.sequencer-track-row{height:36px;padding:0 var(--space-sm);border-bottom:1px solid var(--border-subtle);background:var(--surface-panel);font-size:var(--text-xs);cursor:pointer;justify-content:space-between;align-items:center;transition:background .12s;display:flex}.sequencer-track-row:hover{background:var(--surface-panel-hover)}.sequencer-track-row--active{background:var(--surface-panel-selected);border-left:3px solid var(--accent-primary)}.sequencer-track-info{align-items:center;gap:var(--space-xs);text-overflow:ellipsis;white-space:nowrap;display:flex;overflow:hidden}.sequencer-prop-badge{font-family:var(--font-mono);border-radius:var(--radius-xs);background:var(--surface-panel-hover);color:var(--text-secondary);border:1px solid var(--border-subtle);padding:1px 4px;font-size:9px}.sequencer-track-actions{align-items:center;gap:2px;display:flex}.sequencer-track-action-btn{border-radius:var(--radius-xs);width:20px;height:20px;color:var(--text-tertiary);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;display:inline-flex}.sequencer-track-action-btn:hover{color:var(--text-primary);background:var(--surface-panel-active)}.sequencer-track-action-btn--active{color:var(--accent-primary)}.sequencer-timeline-col{background:var(--canvas-bg);flex-direction:column;flex:1;display:flex;position:relative;overflow:auto hidden}.sequencer-ruler-wrap{background:var(--surface-panel);border-bottom:1px solid var(--border-subtle);flex-shrink:0;height:32px;position:relative}.sequencer-ruler-tick{pointer-events:none;flex-direction:column;align-items:flex-start;display:flex;position:absolute;top:0;bottom:0}.sequencer-ruler-label{font-family:var(--font-mono);color:var(--text-tertiary);padding-top:4px;padding-left:3px;font-size:9px}.sequencer-ruler-mark-line{background:var(--border-strong);width:1px;height:8px;margin-top:auto}.sequencer-lanes-stage{flex:1;position:relative;overflow:hidden auto}.sequencer-lane-row{border-bottom:1px solid var(--border-subtle);background:#fff6;height:36px;position:relative}.sequencer-lane-row--active{background:#2068590a}.sequencer-kf-diamond{background:var(--accent-primary);border:1.5px solid var(--text-inverse);cursor:grab;z-index:5;width:11px;height:11px;transition:transform .1s,background .12s;position:absolute;top:50%;transform:translate(-50%,-50%)rotate(45deg);box-shadow:0 1px 3px #00000040}.sequencer-kf-diamond:hover{background:var(--accent-warning);z-index:8;transform:translate(-50%,-50%)rotate(45deg)scale(1.25)}.sequencer-kf-diamond--selected{box-shadow:0 0 0 2px var(--accent-warning), 0 2px 6px #0000004d;z-index:10;border-color:#fff;transform:translate(-50%,-50%)rotate(45deg)scale(1.3);background:var(--accent-warning)!important}.sequencer-playhead-line{background:var(--accent-danger);pointer-events:none;z-index:20;width:1.5px;position:absolute;top:0;bottom:0;box-shadow:0 0 4px #ef444480}.sequencer-playhead-head{background:var(--accent-danger);clip-path:polygon(0 0,100% 0,100% 70%,50% 100%,0 70%);cursor:col-resize;pointer-events:auto;width:12px;height:14px;position:absolute;top:0;left:50%;transform:translate(-50%);box-shadow:0 1px 4px #00000040}.scrolltrigger-bar{height:34px;padding:0 var(--space-md);background:var(--accent-info-light);border-top:1px solid var(--border-subtle);font-size:var(--text-xs);justify-content:space-between;align-items:center;gap:var(--space-md);flex-shrink:0;display:flex}.scrolltrigger-markers{align-items:center;gap:var(--space-md);display:flex}.scrolltrigger-badge{font-family:var(--font-mono);font-size:10px;font-weight:var(--font-semibold);border-radius:var(--radius-xs);background:var(--surface-panel-solid);color:var(--accent-info);border:1px solid var(--border-subtle);padding:2px 6px}.scrolltrigger-sim-track{align-items:center;gap:var(--space-sm);flex:1;max-width:320px;display:flex}.scrolltrigger-slider{accent-color:var(--accent-info);cursor:ew-resize;flex:1}.curve-editor-shell{background:var(--surface-panel-solid);width:100%;height:100%;color:var(--text-primary);font-family:var(--font-sans);flex-direction:column;display:flex;overflow:hidden}.curve-editor-toolbar{height:38px;padding:0 var(--space-md);border-bottom:1px solid var(--border-subtle);background:var(--surface-panel);justify-content:space-between;align-items:center;gap:var(--space-sm);flex-shrink:0;display:flex}.curve-editor-main{gap:var(--space-md);padding:var(--space-md);flex:1;display:flex;overflow:hidden}.curve-canvas-box{background:var(--canvas-bg);border:1px solid var(--border-default);border-radius:var(--radius-md);flex:1;justify-content:center;align-items:center;min-height:180px;display:flex;position:relative;overflow:hidden}.curve-sidebar{gap:var(--space-sm);background:var(--surface-panel-hover);width:240px;padding:var(--space-md);border-radius:var(--radius-md);border:1px solid var(--border-subtle);flex-direction:column;flex-shrink:0;display:flex;overflow-y:auto}.curve-handle-p1{fill:var(--accent-primary);cursor:grab;transition:r .1s}.curve-handle-p1:hover{r:8px;fill:var(--accent-primary-hover)}.curve-handle-p2{fill:var(--accent-info);cursor:grab;transition:r .1s}.curve-handle-p2:hover{r:8px;fill:#0891b2}.curve-tangent-line{stroke:var(--border-strong);stroke-width:1.5px;stroke-dasharray:3 3}.spring-editor-shell{background:var(--surface-panel-solid);width:100%;height:100%;padding:var(--space-md);gap:var(--space-md);flex-direction:column;display:flex;overflow-y:auto}.spring-graph-svg{background:var(--canvas-bg);border:1px solid var(--border-default);border-radius:var(--radius-md);width:100%;height:140px}
