.at-editor{display:flex;flex-direction:column;gap:var(--space-xs);width:100%}.at-field{background:var(--bg-tertiary);border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden}.at-field.at-field-dragging{opacity:.4}.at-field.at-drag-over-top{border-top:2px solid var(--accent)}.at-field.at-drag-over-bottom{border-bottom:2px solid var(--accent)}.at-field-header{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-xs) var(--space-sm);background:var(--bg-surface);border-bottom:1px solid var(--border);min-height:36px}.at-drag-handle{cursor:grab;color:var(--text-muted);font-size:var(--font-size-lg);flex-shrink:0;-webkit-user-select:none;user-select:none;line-height:1}.at-drag-handle:active{cursor:grabbing}.at-field-name{flex:1;min-width:80px;background:transparent;border:1px solid transparent;border-radius:var(--radius-sm);color:var(--text-primary);font-family:var(--font-sans);font-size:var(--font-size-sm);font-weight:500;padding:2px var(--space-xs);transition:border-color var(--transition-fast)}.at-field-name:hover{border-color:var(--border)}.at-field-name:focus{outline:none;border-color:var(--accent);background:var(--bg-input)}.at-mode-select{flex-shrink:0;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-secondary);font-family:var(--font-sans);font-size:var(--font-size-xs);padding:2px var(--space-xs);cursor:pointer}.at-mode-select:focus{outline:none;border-color:var(--accent)}.at-field-delete{flex-shrink:0;background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:var(--font-size-sm);padding:2px 4px;border-radius:var(--radius-sm);line-height:1;transition:color var(--transition-fast),background var(--transition-fast)}.at-field-delete:hover{color:var(--danger);background:var(--surface-hover)}.at-field-body{padding:var(--space-xs) var(--space-sm) var(--space-sm)}.at-variant-tabs{display:flex;align-items:center;gap:2px;margin-bottom:var(--space-xs);flex-wrap:wrap}.at-variant-tab{position:relative;display:inline-flex;align-items:center;gap:2px;padding:3px var(--space-sm);font-family:var(--font-sans);font-size:var(--font-size-xs);color:var(--text-muted);background:transparent;border:1px solid transparent;border-bottom:none;border-radius:var(--radius-sm) var(--radius-sm) 0 0;cursor:pointer;transition:color var(--transition-fast),background var(--transition-fast);-webkit-user-select:none;user-select:none;line-height:1.3}.at-variant-tab:hover{color:var(--text-secondary);background:var(--surface-hover-xs)}.at-variant-tab.active{color:var(--text-primary);background:var(--bg-input);border-color:var(--border)}.at-variant-tab-delete{display:none;background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:10px;padding:0 1px;line-height:1;border-radius:2px}.at-variant-tab:hover .at-variant-tab-delete,.at-variant-tab.active .at-variant-tab-delete{display:inline}.at-variant-tab-delete:hover{color:var(--danger)}.at-variant-add{padding:3px var(--space-xs);font-family:var(--font-sans);font-size:var(--font-size-xs);color:var(--text-muted);background:transparent;border:1px dashed var(--border-light);border-radius:var(--radius-sm);cursor:pointer;transition:color var(--transition-fast),border-color var(--transition-fast);line-height:1.3}.at-variant-add:hover{color:var(--accent);border-color:var(--accent)}.at-variant-body{width:100%;min-height:48px;resize:vertical;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);font-family:var(--font-sans);font-size:var(--font-size-sm);padding:var(--space-xs) var(--space-sm);line-height:1.4;transition:border-color var(--transition-fast)}.at-variant-body:focus{outline:none;border-color:var(--accent)}.at-variant-body::placeholder{color:var(--text-muted)}.at-add-field-btn{display:flex;align-items:center;justify-content:center;gap:var(--space-xs);width:100%;padding:var(--space-xs) var(--space-sm);font-family:var(--font-sans);font-size:var(--font-size-xs);color:var(--text-muted);background:transparent;border:1px dashed var(--border-light);border-radius:var(--radius-md);cursor:pointer;transition:color var(--transition-fast),border-color var(--transition-fast),background var(--transition-fast)}.at-add-field-btn:hover{color:var(--accent);border-color:var(--accent);background:#ffffff05}.at-mode-select option[value=random]{font-style:italic}.at-field[data-mode=random] .at-field-header{border-left:2px solid var(--warning)}.at-field[data-mode=random] .at-variant-tabs{opacity:.6}.at-field[data-mode=random] .at-variant-tab.active{border-style:dashed}.modal{position:fixed;inset:0;z-index:var(--z-modal);display:flex;align-items:center;justify-content:center;animation:fadeIn var(--transition-fast)}#modal-mask-painter{z-index:var(--z-viewer)}.modal-backdrop{position:absolute;inset:0;background:var(--overlay-md);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-content{position:relative;width:90%;max-width:560px;max-height:85vh;background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;overflow:hidden;animation:slideUp var(--transition-normal)}.modal-content.modal-large{max-width:900px;width:95%;max-height:92vh}.modal-content.modal-sm{max-width:420px}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-lg);border-bottom:1px solid var(--border);flex-shrink:0}.modal-header h2{font-size:var(--font-size-lg)}.modal-body{padding:var(--space-lg);overflow-y:auto;flex:1}.modal-footer{display:flex;justify-content:flex-end;gap:var(--space-sm);padding:var(--space-md) var(--space-lg);border-top:1px solid var(--border);flex-shrink:0}.picker-overlay{position:fixed;inset:0;z-index:var(--z-viewer);display:flex;align-items:center;justify-content:center;background:var(--overlay-sm);animation:fadeIn var(--transition-fast)}.picker-dialog{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-lg);max-width:480px;width:90%;max-height:70vh;overflow-y:auto;box-shadow:var(--shadow-lg)}.picker-dialog h3{margin-bottom:var(--space-md)}.modal-content.modal-pass-profile{max-width:480px}.pass-profile-hint{font-size:var(--font-size-xs);color:var(--text-muted);margin-bottom:var(--space-md)}.pass-profile-list{display:flex;flex-direction:column;gap:var(--space-xs)}.pass-profile-item{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-sm) var(--space-md);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-primary);cursor:pointer;transition:all var(--transition-fast)}.pass-profile-item:hover{border-color:var(--accent);background:var(--bg-hover)}.pass-profile-item-name{font-size:var(--font-size-sm);font-weight:500;color:var(--text-primary);flex:1}.pass-profile-item-slots{font-size:var(--font-size-xs);color:var(--text-muted);white-space:nowrap}.toast-container{position:fixed;bottom:var(--space-lg);right:var(--space-lg);z-index:var(--z-toast);display:flex;flex-direction:column-reverse;gap:var(--space-sm)}.toast{padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-family:var(--font-sans);border:1px solid;animation:slideUp var(--transition-normal);max-width:360px}.toast-success{background:var(--success-muted);border-color:var(--success-glow);color:var(--success)}.toast-error{background:var(--danger-muted);border-color:var(--danger-glow);color:var(--danger)}.toast-info{background:var(--accent-muted);border-color:var(--accent-glow);color:var(--accent)}.toast-warning{background:var(--warning-muted);border-color:var(--warning-glow);color:var(--warning)}.modal-content.modal-mask-painter{max-width:760px;width:95%;max-height:95vh}.modal-content.modal-mask-painter:has(.mp-ref-panel:not(.hidden)){max-width:960px}.mp-toolbar{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-lg);border-bottom:1px solid var(--border);flex-wrap:wrap}.mp-toolbar-group{display:flex;align-items:center;gap:var(--space-xs)}.mp-toolbar-sep{width:1px;height:24px;background:var(--border);margin:0 var(--space-xs)}.mp-tool-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-surface);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);font-size:var(--font-size-base)}.mp-tool-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.mp-tool-btn.active{background:var(--accent-muted);border-color:var(--accent);color:var(--accent)}.mp-sliders-area{display:flex;flex-direction:column;gap:2px}.mp-brush-control{display:flex;align-items:center;gap:var(--space-xs)}.mp-brush-slider,.mp-hardness-slider,.mp-threshold-slider,.mp-blur-intensity-slider{width:90px;accent-color:var(--accent)}.mp-brush-size-val,.mp-hardness-val,.mp-threshold-val,.mp-blur-intensity-val{font-size:var(--font-size-xs);color:var(--text-secondary);min-width:28px;text-align:center}.mp-brush-label{font-size:var(--font-size-xs);color:var(--text-muted);min-width:36px}.mp-main-area{display:flex;flex:1;min-height:0;overflow:hidden}.mp-canvas-wrap{display:flex;align-items:center;justify-content:center;padding:var(--space-md);background:var(--bg-tertiary);flex:1;min-height:0;min-width:0;overflow:hidden;position:relative}.mp-canvas{max-width:100%;max-height:100%;border:1px solid var(--border);border-radius:var(--radius-sm);background:#000;touch-action:none;image-rendering:auto}.mp-canvas.mp-canvas-color-mode{background:#fff}.mp-color-group{display:flex;align-items:center;gap:var(--space-xs)}.mp-color-picker{width:32px;height:32px;padding:2px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-surface);cursor:pointer;-webkit-appearance:none;appearance:none}.mp-color-picker::-webkit-color-swatch-wrapper{padding:2px}.mp-color-picker::-webkit-color-swatch{border:none;border-radius:2px}.mp-color-picker::-moz-color-swatch{border:none;border-radius:2px}.mp-cursor-overlay,.mp-ref-overlay{position:absolute;pointer-events:none}.mp-ref-panel{width:180px;flex-shrink:0;border-left:1px solid var(--border);background:var(--bg-secondary);display:flex;flex-direction:column;overflow-y:auto}.mp-ref-panel-header{padding:var(--space-sm) var(--space-md);border-bottom:1px solid var(--border);font-size:var(--font-size-xs);color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;flex-shrink:0}.mp-ref-list{padding:var(--space-sm);display:flex;flex-direction:column;gap:var(--space-sm)}.mp-ref-item{display:grid;grid-template-columns:10px 1fr;grid-template-rows:auto auto;gap:2px var(--space-xs);align-items:center;padding:var(--space-xs);border-radius:var(--radius-sm);background:var(--bg-surface);border:1px solid var(--border)}.mp-ref-color-dot{width:10px;height:10px;border-radius:50%;grid-row:1 / 3}.mp-ref-image-icon{background:none;border-radius:0;font-size:10px;line-height:1;text-align:center}.mp-ref-label{font-size:var(--font-size-xs);color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mp-ref-slider{width:100%;accent-color:var(--accent);height:14px}.mp-ref-opacity-val{font-size:10px;color:var(--text-muted);text-align:right}.mp-shortcuts{display:flex;gap:var(--space-md);padding:var(--space-xs) var(--space-lg);border-top:1px solid var(--border);font-size:var(--font-size-xs);color:var(--text-muted);flex-wrap:wrap}.mp-shortcuts kbd{display:inline-block;padding:1px 5px;background:var(--bg-surface);border:1px solid var(--border);border-radius:3px;font-family:var(--font-mono);font-size:var(--font-size-xs);color:var(--text-secondary)}.mp-spinner-overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-sm);background:var(--overlay-md);border-radius:var(--radius-sm);z-index:10}.mp-spinner{width:36px;height:36px;border:3px solid var(--surface-hover-lg);border-top-color:var(--accent);border-radius:50%;animation:spin .7s linear infinite}.mp-spinner-text{font-size:var(--font-size-sm);color:var(--text-inverse)}.pts-trigger-btn{padding:var(--space-xs);line-height:1}.pts-trigger-btn svg{display:block}.pts-overlay{position:fixed;inset:0;z-index:var(--z-modal);background:var(--overlay-sm);display:flex;align-items:center;justify-content:center}.pts-dialog{background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);width:420px;max-width:90vw;max-height:80vh;display:flex;flex-direction:column}.pts-dialog-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-sm) var(--space-md);border-bottom:1px solid var(--border)}.pts-dialog-header h3{margin:0;font-size:var(--font-size-sm);font-weight:600;color:var(--text-primary)}.pts-close-btn{font-size:var(--font-size-lg)}.pts-dialog-body{padding:var(--space-sm) var(--space-md);display:flex;flex-direction:column;gap:var(--space-xs);overflow-y:auto}.pts-dialog-footer{padding:var(--space-sm) var(--space-md);border-top:1px solid var(--border);display:flex;justify-content:flex-end}.pts-section{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-surface);overflow:hidden}.pts-section-header{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-xs) var(--space-sm);background:var(--bg-secondary);border-bottom:1px solid var(--border)}.pts-section-icon{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:3px;font-size:11px;color:var(--text-muted)}.pts-ico-palette:before{content:"🎨"}.pts-ico-tools:before{content:"🔧"}.pts-ico-brush:before{content:"✏️"}.pts-ico-fill:before{content:"💧"}.pts-section-label{font-size:var(--font-size-xs);font-weight:600;color:var(--text-primary);text-transform:uppercase;letter-spacing:.04em}.pts-section-body{padding:var(--space-sm);display:flex;flex-direction:column;gap:var(--space-sm)}.pts-sub-label{font-size:var(--font-size-xs);color:var(--text-muted);font-weight:500;margin-bottom:2px}.pts-toggle-row{display:flex;align-items:center;gap:var(--space-sm);flex-wrap:wrap}.pts-toggle-row input[type=radio]{margin:0;accent-color:var(--accent)}.pts-toggle-row label{font-size:var(--font-size-sm);color:var(--text-primary);cursor:pointer;margin-right:var(--space-sm)}.pts-tools-grid{display:flex;flex-wrap:wrap;gap:var(--space-xs)}.pts-tool-item{display:flex;align-items:center;gap:var(--space-xs);padding:3px var(--space-sm);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-primary);font-size:var(--font-size-xs);color:var(--text-primary);cursor:pointer;transition:background var(--transition-fast)}.pts-tool-item:hover{background:var(--bg-hover)}.pts-tool-item input[type=checkbox]{margin:0;accent-color:var(--accent)}.pts-tool-icon{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:3px;background:var(--bg-tertiary);font-size:9px;font-weight:600;color:var(--text-secondary)}.pts-brush-size-group{display:flex;flex-direction:column;gap:var(--space-xs)}.pts-brush-section,.pts-fill-section{display:flex;flex-direction:column;gap:var(--space-sm)}.pts-slider-row{display:flex;align-items:center;gap:var(--space-sm)}.pts-slider-label{font-size:var(--font-size-xs);color:var(--text-muted);min-width:110px;flex-shrink:0}.pts-range{flex:1;accent-color:var(--accent);min-width:60px}.pts-slider-val{font-size:var(--font-size-xs);color:var(--text-secondary);min-width:32px;text-align:right}.pts-brush-params{margin-top:var(--space-xs)}.pts-brush-row{display:flex;gap:var(--space-sm);flex-wrap:wrap}.pts-num-field{display:flex;flex-direction:column;gap:2px;min-width:70px}.pts-num-field label{font-size:var(--font-size-xs);color:var(--text-muted)}.pts-num-field input{width:80px}.process-section{border-top:1px solid var(--border);padding-top:var(--space-md)}.process-selector{display:flex;align-items:center;gap:var(--space-xs)}.process-selector .select{flex:1}.modal-content.modal-process{max-width:1050px;width:96%;max-height:94vh}.pe-thumbnail-area{display:flex;align-items:flex-start;gap:var(--space-sm)}.pe-thumbnail-preview{width:160px;height:100px;border:2px dashed var(--border);border-radius:var(--radius-md);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-xs);cursor:pointer;overflow:hidden;transition:all var(--transition-fast);background:var(--bg-input)}.pe-thumbnail-preview:hover{border-color:var(--accent);background:var(--accent-muted)}.pe-thumbnail-preview.has-image{border-style:solid;border-color:var(--border)}.pe-thumbnail-preview.has-image:hover{border-color:var(--accent)}.pe-thumbnail-preview img{width:100%;height:100%;object-fit:cover}.pe-thumbnail-hint{font-size:var(--font-size-xs);color:var(--text-muted);text-align:center}.pe-steps-panel{display:flex;gap:var(--space-md);min-height:400px}.pe-steps-list{width:220px;flex-shrink:0;display:flex;flex-direction:column;gap:var(--space-xs);border-right:1px solid var(--border);padding-right:var(--space-md);overflow-y:auto;max-height:55vh}.pe-steps-empty{font-size:var(--font-size-xs);padding:var(--space-sm)}.pe-step-item{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-sm);border:1px solid var(--border);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);font-size:var(--font-size-sm);background:var(--bg-primary)}.pe-step-item:hover{border-color:var(--accent);background:var(--bg-hover)}.pe-step-item.active{border-color:var(--accent);background:var(--accent-muted)}.pe-step-number{width:22px;height:22px;border-radius:50%;background:var(--bg-elevated);display:flex;align-items:center;justify-content:center;font-size:var(--font-size-xs);font-weight:600;color:var(--text-secondary);flex-shrink:0}.pe-step-item.active .pe-step-number{background:var(--accent);color:var(--text-inverse)}.pe-step-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-primary)}.pe-step-actions{display:flex;gap:2px;opacity:0;transition:opacity var(--transition-fast)}.pe-step-item:hover .pe-step-actions{opacity:1}.pe-step-action-btn{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:2px;font-size:var(--font-size-xs);line-height:1;border-radius:var(--radius-sm)}.pe-step-action-btn:hover{color:var(--text-primary);background:var(--bg-hover)}.pe-step-action-btn.danger:hover{color:var(--danger)}.pe-add-step-btn{display:flex;align-items:center;justify-content:center;gap:var(--space-xs);padding:var(--space-sm);border:1px dashed var(--border);border-radius:var(--radius-md);background:none;color:var(--text-muted);cursor:pointer;font-size:var(--font-size-xs);transition:all var(--transition-fast)}.pe-add-step-btn:hover{border-color:var(--accent);color:var(--accent)}.pe-step-detail{flex:1;overflow-y:auto;max-height:55vh;padding-right:var(--space-xs)}.pe-step-detail-empty{display:flex;align-items:center;justify-content:center;height:100%;color:var(--text-muted);font-size:var(--font-size-sm)}.pe-detail-header{display:flex;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-md);padding-bottom:var(--space-sm);border-bottom:1px solid var(--border)}.pe-detail-header .input{flex:1}.pe-profile-badge{font-size:var(--font-size-xs);color:var(--text-muted);background:var(--bg-elevated);padding:2px var(--space-sm);border-radius:var(--radius-sm);white-space:nowrap}.pe-resnapshot-btn{font-size:var(--font-size-xs);white-space:nowrap}.pe-validation-toggle{display:flex;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-md);padding:var(--space-sm) var(--space-md);background:var(--bg-primary);border-radius:var(--radius-md);border:1px solid var(--border)}.pe-validation-toggle label{font-size:var(--font-size-sm);color:var(--text-primary);cursor:pointer;flex:1}.pe-validation-toggle input[type=checkbox]{accent-color:var(--accent)}.pe-section-title{font-size:var(--font-size-sm);font-weight:600;color:var(--text-secondary);margin-top:var(--space-md);margin-bottom:var(--space-sm);text-transform:uppercase;letter-spacing:.05em}.pe-slot-row{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm);background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius-md);margin-bottom:var(--space-xs)}.pe-slot-name{font-size:var(--font-size-sm);color:var(--text-primary);min-width:100px;flex-shrink:0}.pe-slot-type-badge{font-size:var(--font-size-xs);color:var(--text-muted);background:var(--bg-elevated);padding:1px var(--space-xs);border-radius:var(--radius-sm);flex-shrink:0}.pe-slot-mode-select{font-size:var(--font-size-xs);padding:2px var(--space-xs);background:var(--bg-input);color:var(--text-primary);border:1px solid var(--border);border-radius:var(--radius-sm);flex-shrink:0}.pe-slot-config{flex:1;display:flex;align-items:center;gap:var(--space-xs);min-width:0}.pe-slot-config .input,.pe-slot-config .textarea,.pe-slot-config .select{font-size:var(--font-size-xs);padding:2px var(--space-xs);min-width:0}.pe-slot-config .textarea{resize:vertical;min-height:28px}.pe-slot-config .mask-upload-row{flex:1}.pe-layer-card{background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius-md);margin-bottom:var(--space-sm);overflow:hidden}.pe-layer-header{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);cursor:pointer;transition:background var(--transition-fast)}.pe-layer-header:hover{background:var(--bg-hover)}.pe-layer-name{font-size:var(--font-size-sm);font-weight:500;color:var(--text-primary);flex:1}.pe-layer-body{padding:var(--space-sm) var(--space-md) var(--space-md);border-top:1px solid var(--border);display:flex;flex-direction:column;gap:var(--space-xs)}.pe-layer-body.collapsed{display:none}.pe-layer-param-row{display:flex;align-items:center;gap:var(--space-sm)}.pe-layer-param-label{font-size:var(--font-size-xs);color:var(--text-secondary);min-width:60px;flex-shrink:0}.process-runner{position:fixed;inset:0;z-index:var(--z-modal);display:flex;flex-direction:column;background:var(--bg-primary);animation:fadeIn var(--transition-fast)}.pr-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-md) var(--space-lg);border-bottom:1px solid var(--border);background:var(--bg-secondary);flex-shrink:0}.pr-header h2{font-size:var(--font-size-lg)}.pr-body{flex:1;display:flex;overflow:hidden}.pr-content{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-xl);overflow-y:auto}.pr-content-title{font-size:var(--font-size-xl);font-weight:700;margin-bottom:var(--space-sm);color:var(--text-primary)}.pr-content-subtitle{font-size:var(--font-size-sm);color:var(--text-muted);margin-bottom:var(--space-lg)}.pr-input-form{width:100%;max-width:600px;display:flex;flex-direction:column;gap:var(--space-lg)}.pr-input-group{display:flex;flex-direction:column;gap:var(--space-xs)}.pr-input-label{font-size:var(--font-size-sm);color:var(--text-primary);font-weight:500}.pr-input-hint{font-size:var(--font-size-sm);color:var(--text-secondary);line-height:1.5}.pr-image-card{border:2px dashed var(--border);border-radius:var(--radius-lg);overflow:hidden;transition:all var(--transition-normal);background:var(--bg-surface)}.pr-image-card:hover{border-color:var(--accent-hover)}.pr-image-card.has-file{border-style:solid;border-color:var(--success)}.pr-image-card.has-file:hover{border-color:var(--accent)}.pr-image-card.next-input{border-color:var(--accent);animation:card-nudge 2s ease-in-out infinite;box-shadow:0 0 0 0 var(--accent-glow)}@keyframes card-nudge{0%,to{box-shadow:0 0 0 0 var(--accent-glow)}50%{box-shadow:0 0 16px 4px var(--accent-glow)}}.pr-image-card-preview{display:flex;align-items:center;justify-content:center;min-height:160px;max-height:300px;background:var(--bg-input);color:var(--text-muted);overflow:hidden}.pr-image-card-preview svg{opacity:.3}.pr-image-card-preview img{width:100%;height:100%;max-height:300px;object-fit:contain}.pr-image-card-instruction{padding:var(--space-sm) var(--space-md);font-size:var(--font-size-sm);color:var(--text-secondary);text-align:center;line-height:1.5;border-top:1px solid var(--border-light);background:var(--bg-surface)}.pr-image-card-actions{display:flex;gap:1px;background:var(--border-light)}.pr-image-card-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:var(--space-sm);padding:var(--space-md);border:none;background:var(--bg-surface);color:var(--text-secondary);font-size:var(--font-size-sm);font-family:var(--font-sans);cursor:pointer;transition:all var(--transition-fast)}.pr-image-card-btn:hover{background:var(--accent-muted);color:var(--accent)}.pr-image-card-btn:active{background:var(--accent-glow)}.pr-image-card-btn svg{flex-shrink:0}.pr-continue-btn{display:inline-flex;align-items:center;gap:var(--space-xs);padding:var(--space-sm) var(--space-xl);font-size:var(--font-size-base);font-weight:600;transition:all var(--transition-fast)}.pr-continue-btn:not(:disabled):hover{transform:translate(2px)}.pr-validation-images{display:flex;gap:var(--space-md);flex-wrap:wrap;justify-content:center;margin-bottom:var(--space-lg)}.pr-validation-img{max-width:400px;max-height:400px;border-radius:var(--radius-md);border:1px solid var(--border);cursor:pointer}.pr-validation-img:hover{border-color:var(--accent);transform:scale(1.02);transition:all var(--transition-fast)}.pr-validation-img-label{font-size:var(--font-size-xs);color:var(--text-muted);text-align:center;margin-top:var(--space-xs)}.pr-last-preview{display:flex;flex-direction:column;align-items:center;margin-bottom:var(--space-lg)}.pr-last-preview-label{font-size:var(--font-size-xs);color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--space-xs)}.pr-last-preview-img{max-width:300px;max-height:250px;border-radius:var(--radius-md);border:1px solid var(--border);opacity:.8}.pr-actions{display:flex;gap:var(--space-sm);margin-top:var(--space-lg)}.pr-step-carousel{width:100%;max-width:700px;overflow-x:auto;overflow-y:hidden;margin-bottom:var(--space-xl);scroll-behavior:smooth;-ms-overflow-style:none;scrollbar-width:none}.pr-step-carousel::-webkit-scrollbar{display:none}.pr-step-carousel-track{display:flex;align-items:center;justify-content:center;gap:0;padding:var(--space-sm) var(--space-md);min-width:max-content}.pr-step-preview{display:flex;flex-direction:column;align-items:center;gap:var(--space-xs);flex-shrink:0;transition:all var(--transition-normal)}.pr-step-preview.done{opacity:.5}.pr-step-preview.future{opacity:.25}.pr-step-preview.current{opacity:1}.pr-step-preview-img{width:72px;height:72px;border-radius:var(--radius-md);overflow:hidden;display:flex;align-items:center;justify-content:center;background:var(--bg-surface);border:2px solid var(--border);transition:all var(--transition-normal)}.pr-step-preview.current .pr-step-preview-img{border-color:var(--accent);box-shadow:0 0 12px var(--accent-glow);width:88px;height:88px}.pr-step-preview.done .pr-step-preview-img{border-color:var(--success)}.pr-step-preview-img img{width:100%;height:100%;object-fit:cover}.pr-step-preview-pulse{width:12px;height:12px;border-radius:50%;background:var(--accent);animation:pulse-dot 1.5s infinite}.pr-step-preview-label{font-size:var(--font-size-xs);color:var(--text-muted);max-width:80px;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pr-step-preview.current .pr-step-preview-label{color:var(--text-primary);font-weight:600;max-width:96px}.pr-step-connector{width:32px;height:2px;background:var(--border);flex-shrink:0;align-self:center;margin-bottom:20px}.pr-step-connector.done{background:var(--success);opacity:.5}.pr-node-trail{position:relative;overflow:hidden;max-width:800px;width:100%;margin-bottom:var(--space-lg);height:136px;-webkit-mask-image:linear-gradient(to right,transparent 0%,black 12%,black 88%,transparent 100%);mask-image:linear-gradient(to right,transparent 0%,black 12%,black 88%,transparent 100%)}.pr-node-trail-track{display:flex;align-items:center;gap:0;position:absolute;top:0;left:0;height:100%;white-space:nowrap;will-change:transform;transition:transform .6s cubic-bezier(.25,.46,.45,.94)}.pr-node-bubble{width:110px;height:110px;border-radius:50%;font-size:10px;line-height:1.3;display:flex;align-items:center;justify-content:center;text-align:center;flex-shrink:0;position:relative;transition:opacity .3s ease,background .3s ease,transform .3s ease;overflow:hidden}.pr-node-bubble span{display:block;white-space:normal;word-break:break-word;max-width:86px;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;z-index:1}.pr-node-bubble.past{background:var(--bg-surface);color:var(--text-muted);border:1px solid var(--border-light);opacity:.4}.pr-node-bubble.current{background:var(--accent-muted);color:var(--accent-hover);border:2px solid var(--accent);font-weight:600;opacity:1;transform:scale(1.05)}.pr-node-bubble.current.typing span{border-right:2px solid var(--accent);padding-right:1px;animation:blink-cursor .6s step-end infinite}@keyframes blink-cursor{0%,to{border-color:var(--accent)}50%{border-color:transparent}}.pr-node-bubble.future{background:var(--bg-surface);color:var(--text-muted);border:1px dashed var(--border);opacity:.3}.pr-node-progress-ring{position:absolute;inset:4px;width:calc(100% - 8px);height:calc(100% - 8px);z-index:0;transform:rotate(-90deg);pointer-events:none;overflow:visible}.pr-ring-bg{fill:none;stroke:var(--border-light);stroke-width:8;opacity:.25}.pr-ring-fg{fill:none;stroke:var(--accent);stroke-width:8;stroke-linecap:round;transition:stroke-dashoffset .4s ease;filter:drop-shadow(0 0 4px var(--accent))}.pr-ring-fg.pr-ring-complete{animation:ring-bump .5s ease}@keyframes ring-bump{0%{stroke-width:8;filter:drop-shadow(0 0 4px var(--accent))}50%{stroke-width:11;filter:drop-shadow(0 0 10px var(--accent))}to{stroke-width:8;filter:drop-shadow(0 0 4px var(--accent))}}.pr-node-connector{width:28px;height:2px;background:var(--border);flex-shrink:0}.pr-step-separator{width:0;height:80px;border-left:2px dashed var(--border);flex-shrink:0;margin:0 14px;opacity:.5;align-self:center}.pr-progress-dots:after{content:"";animation:dot-cycle 1.5s steps(4,end) infinite}@keyframes dot-cycle{0%{content:""}25%{content:"."}50%{content:".."}75%{content:"..."}}.pr-completed-icon{width:64px;height:64px;border-radius:50%;background:var(--success-muted);display:flex;align-items:center;justify-content:center;margin-bottom:var(--space-md)}.pr-completed-icon svg{color:var(--success)}.pr-set-thumbnail-btn{display:flex;align-items:center;gap:var(--space-xs);margin-top:var(--space-sm);font-size:var(--font-size-xs);color:var(--text-secondary);opacity:.8}.pr-set-thumbnail-btn:hover{opacity:1;color:var(--accent)}.pe-output-visibility{margin-bottom:var(--space-md)}.pe-output-visibility-hint{font-size:var(--font-size-xs);color:var(--text-muted);font-style:italic;margin-bottom:var(--space-sm)}.pe-output-vis-row{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-xs) var(--space-sm);background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius-md);margin-bottom:var(--space-xs)}.pe-output-vis-row input[type=checkbox]{accent-color:var(--accent);flex-shrink:0}.pe-output-vis-row label{font-size:var(--font-size-sm);color:var(--text-primary);flex:1;cursor:pointer}.pe-profile-picker{display:flex;flex-direction:column;gap:var(--space-xs);max-height:300px;overflow-y:auto}.pe-profile-pick-item{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-sm) var(--space-md);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-primary);cursor:pointer;transition:all var(--transition-fast);width:100%;text-align:left}.pe-profile-pick-item:hover{border-color:var(--accent);background:var(--bg-hover)}.pe-profile-pick-name{font-size:var(--font-size-sm);font-weight:500;color:var(--text-primary);flex:1}.pe-profile-pick-meta{font-size:var(--font-size-xs);color:var(--text-muted)}.tv-viewer{position:fixed;inset:0;z-index:var(--z-viewer);background:var(--overlay-dark);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;animation:fadeIn var(--transition-fast)}.tv-canvas{width:100%;height:100%;display:block}.tv-close,.tv-download{position:absolute;top:var(--space-lg);background:var(--surface-hover-md);border:1px solid var(--surface-hover-lg);color:var(--text-primary);border-radius:var(--radius-md);width:44px;height:44px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all var(--transition-fast);z-index:10}.tv-close:hover,.tv-download:hover{background:var(--surface-hover-lg)}.tv-close{right:var(--space-lg)}.tv-download{right:calc(var(--space-lg) + 56px)}.tv-stats{position:absolute;bottom:var(--space-lg);left:var(--space-lg);background:#0009;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid var(--surface-hover-md);border-radius:var(--radius-md);padding:var(--space-sm) var(--space-md);font-size:var(--font-size-xs);color:var(--text-secondary);pointer-events:none;z-index:10}.tv-stats:empty{display:none}.tv-stats-row{display:flex;justify-content:space-between;gap:var(--space-lg);padding:2px 0}.tv-stats-label{color:var(--text-muted)}.tv-stats-value{color:var(--text-primary);font-weight:500}.tv-controls-hint{position:absolute;bottom:var(--space-lg);right:var(--space-lg);background:#00000080;border-radius:var(--radius-md);padding:var(--space-xs) var(--space-sm);font-size:var(--font-size-xs);color:var(--text-muted);pointer-events:none;z-index:10;opacity:.7;transition:opacity var(--transition-slow)}.tv-viewer:hover .tv-controls-hint{opacity:0}.tv-loading{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:var(--space-sm);z-index:10}.tv-progress-text{color:var(--text-secondary);font-size:var(--font-size-sm)}.tv-progress-wrap{width:240px;height:4px;background:var(--surface-hover-md);border-radius:2px;overflow:hidden}.tv-progress-bar{width:0%;height:100%;background:var(--accent);border-radius:2px;transition:width .15s ease-out}.tv-toolbar{position:absolute;top:var(--space-lg);left:50%;transform:translate(-50%);display:flex;gap:2px;background:#00000080;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid var(--surface-hover-md);border-radius:var(--radius-md);padding:3px;z-index:10}.tv-toolbar-btn{background:transparent;border:none;color:var(--text-muted);font-size:var(--font-size-xs);font-family:var(--font-sans);padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap}.tv-toolbar-btn:hover{color:var(--text-primary);background:var(--surface-hover)}.tv-toolbar-btn.active{color:var(--text-primary);background:var(--surface-hover-md)}.tv-ambient-group{position:absolute;top:calc(var(--space-lg) + 44px);left:50%;transform:translate(-50%);display:flex;align-items:center;gap:var(--space-sm);background:#00000080;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid var(--surface-hover-md);border-radius:var(--radius-md);padding:3px var(--space-sm);z-index:10}.tv-ambient-group.hidden{display:none}.tv-ambient-label{font-size:var(--font-size-xs);color:var(--text-muted);white-space:nowrap}.tv-ambient-slider{width:120px;height:4px;-webkit-appearance:none;appearance:none;background:var(--surface-hover-md);border-radius:2px;outline:none;cursor:pointer}.tv-ambient-slider::-webkit-slider-thumb{-webkit-appearance:none;width:14px;height:14px;border-radius:50%;background:var(--text-primary);border:2px solid var(--surface-hover-lg);cursor:pointer}.tv-ambient-slider::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:var(--text-primary);border:2px solid var(--surface-hover-lg);cursor:pointer}.tv-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:var(--bg-tertiary);color:var(--text-muted);font-size:var(--font-size-2xl);border-radius:var(--radius-md);position:relative}.tv-placeholder:after{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(90deg,transparent 30%,var(--surface-hover-xs) 50%,transparent 70%);animation:shimmer 1.5s infinite}.tv-placeholder svg{width:48px;height:48px;opacity:.4}.vv-viewer{position:fixed;inset:0;z-index:var(--z-viewer);background:var(--overlay-dark);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;animation:fadeIn var(--transition-fast)}.vv-video{max-width:90vw;max-height:85vh;border-radius:var(--radius-md);outline:none}.vv-close,.vv-download{position:absolute;top:var(--space-lg);background:var(--surface-hover-md);border:1px solid var(--surface-hover-lg);color:var(--text-primary);border-radius:var(--radius-md);width:44px;height:44px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all var(--transition-fast);z-index:10}.vv-close:hover,.vv-download:hover{background:var(--surface-hover-lg)}.vv-close{right:var(--space-lg)}.vv-download{right:calc(var(--space-lg) + 56px)}.vv-stats{position:absolute;bottom:var(--space-lg);left:var(--space-lg);background:#0009;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid var(--surface-hover-md);border-radius:var(--radius-md);padding:var(--space-sm) var(--space-md);font-size:var(--font-size-xs);color:var(--text-secondary);pointer-events:none;z-index:10}.vv-stats:empty{display:none}.vv-stats-row{display:flex;justify-content:space-between;gap:var(--space-lg);padding:2px 0}.vv-stats-label{color:var(--text-muted)}.vv-stats-value{color:var(--text-primary);font-weight:500}.vv-filename{position:absolute;bottom:var(--space-lg);right:var(--space-lg);background:#00000080;border-radius:var(--radius-md);padding:var(--space-xs) var(--space-sm);font-size:var(--font-size-xs);color:var(--text-muted);pointer-events:none;z-index:10;max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vv-filename:empty{display:none}.vv-thumb-container{position:relative;width:100%;height:100%}.vv-thumb-container img{width:100%;height:100%;object-fit:cover}.vv-play-badge{position:absolute;bottom:6px;right:6px;background:#000000b3;border-radius:var(--radius-sm);padding:2px 6px;font-size:10px;color:var(--text-primary);pointer-events:none;display:flex;align-items:center;gap:4px}.vv-play-badge svg{width:10px;height:10px;fill:#fff;stroke:none}.lp-toggle{position:fixed;bottom:var(--space-lg);left:var(--space-lg);z-index:var(--z-toast);width:40px;height:40px;border-radius:50%;border:1px solid var(--border);background:var(--bg-secondary);color:var(--text-secondary);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all var(--transition-fast);box-shadow:var(--shadow-sm)}.lp-toggle:hover{background:var(--bg-hover);color:var(--text-primary);border-color:var(--accent)}.lp-toggle-active{background:var(--accent-muted);border-color:var(--accent);color:var(--accent)}.lp-badge{position:absolute;top:-4px;right:-4px;min-width:18px;height:18px;border-radius:9px;background:var(--danger);color:var(--text-primary);font-size:10px;font-weight:700;display:flex;align-items:center;justify-content:center;padding:0 4px;line-height:1;pointer-events:none}.lp-panel{position:fixed;bottom:calc(var(--space-lg) + 48px);left:var(--space-lg);z-index:var(--z-toast);width:640px;max-width:calc(100vw - 2 * var(--space-lg));height:400px;max-height:calc(100vh - 120px);background:var(--bg-tertiary);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;overflow:hidden;animation:slideUp var(--transition-normal)}.lp-header{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);border-bottom:1px solid var(--border);background:var(--bg-secondary);flex-shrink:0}.lp-title{font-size:var(--font-size-sm);font-weight:600;color:var(--text-primary);white-space:nowrap}.lp-filter-select{font-size:var(--font-size-xs);padding:2px 6px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-input);color:var(--text-primary);font-family:var(--font-sans)}.lp-search{flex:1;font-size:var(--font-size-xs);padding:2px 8px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-input);color:var(--text-primary);font-family:var(--font-sans);min-width:80px}.lp-search::placeholder{color:var(--text-muted)}.lp-header-actions{display:flex;gap:2px;flex-shrink:0}.lp-counts{display:flex;gap:var(--space-md);padding:2px var(--space-md);border-bottom:1px solid var(--border-light);background:var(--bg-secondary);flex-shrink:0}.lp-count{font-size:10px;color:var(--text-muted)}.lp-count-info{color:var(--accent)}.lp-count-warning{color:var(--warning)}.lp-count-error{color:var(--danger)}.lp-list{flex:1;overflow-y:auto;overflow-x:hidden;padding:var(--space-xs) 0}.lp-empty{flex:1;display:flex;align-items:center;justify-content:center;color:var(--text-muted);font-size:var(--font-size-sm)}.lp-entry{padding:var(--space-xs) var(--space-md);border-bottom:1px solid var(--border-light);position:relative;transition:background var(--transition-fast)}.lp-entry:hover{background:var(--surface-hover-xs)}.lp-entry:hover .lp-entry-copy{opacity:1}.lp-entry-meta{display:flex;align-items:center;gap:var(--space-sm);margin-bottom:1px}.lp-time{font-size:10px;color:var(--text-muted);font-variant-numeric:tabular-nums;white-space:nowrap}.lp-level{font-size:9px;font-weight:700;letter-spacing:.5px;padding:0 4px;border-radius:2px;white-space:nowrap}.lp-level-info{color:var(--accent);background:var(--accent-muted)}.lp-level-warning{color:var(--warning);background:var(--warning-muted)}.lp-level-error{color:var(--danger);background:var(--danger-muted)}.lp-source{font-size:10px;color:var(--text-muted);white-space:nowrap}.lp-msg{font-size:var(--font-size-xs);color:var(--text-primary);word-break:break-word;line-height:1.4;display:block}.lp-entry-error{border-left:2px solid var(--danger)}.lp-entry-warning{border-left:2px solid var(--warning)}.lp-entry-info{border-left:2px solid transparent}.lp-detail-toggle{font-size:10px;color:var(--accent);background:none;border:none;cursor:pointer;padding:2px 0;font-family:var(--font-sans);text-decoration:underline}.lp-detail-toggle:hover{color:var(--accent-hover)}.lp-detail{font-size:10px;color:var(--text-secondary);background:var(--bg-input);border:1px solid var(--border-light);border-radius:var(--radius-sm);padding:var(--space-sm);margin-top:var(--space-xs);overflow-x:auto;white-space:pre-wrap;word-break:break-word;max-height:300px;overflow-y:auto;line-height:1.4}.lp-entry-copy{opacity:0;background:none;border:none;color:var(--text-muted);cursor:pointer;padding:2px;margin-left:auto;flex-shrink:0;transition:opacity var(--transition-fast)}.lp-entry-copy:hover{color:var(--text-primary)}@media(max-width:768px){.lp-panel{width:calc(100vw - 2 * var(--space-md));left:var(--space-md);height:320px}.lp-search{min-width:60px}}
