.face-effects-workspace{display:flex;gap:24px;flex:1;height:calc(100vh - var(--app-header-height, 64px) - 48px);min-height:500px;padding:4px}.face-effects-workspace .workspace-controls{width:340px;flex-shrink:0;background:var(--background-color-regular);border-radius:16px;border:1px solid var(--border-subtle);box-shadow:0 4px 16px rgba(0,0,0,.3);display:flex;flex-direction:column;overflow:hidden}.face-effects-workspace .controls-section{flex:1;padding:20px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.1) rgba(0,0,0,0)}.face-effects-workspace .controls-section::-webkit-scrollbar{width:4px}.face-effects-workspace .controls-section::-webkit-scrollbar-track{background:rgba(0,0,0,0)}.face-effects-workspace .controls-section::-webkit-scrollbar-thumb{background:var(--surface-active);border-radius:2px}.face-effects-workspace .controls-title{font-size:15px;font-weight:600;color:var(--text-primary);margin:0 0 16px 0;letter-spacing:-0.01em}.face-effects-workspace .upload-zone{position:relative;border:2px dashed rgba(var(--primary-color-rgb), 0.3);border-radius:12px;background:var(--sidebar-hover-bg);cursor:pointer;transition:all 200ms ease;min-height:120px;display:flex;align-items:center;justify-content:center;margin-bottom:20px;overflow:hidden}.face-effects-workspace .upload-zone:hover{border-color:rgba(var(--primary-color-rgb), 0.5);background:rgba(var(--primary-color-rgb), 0.15)}.face-effects-workspace .upload-zone.dragover{border-color:var(--primary-color);background:rgba(var(--primary-color-rgb), 0.2);border-style:solid}.face-effects-workspace .upload-zone.has-file{border-style:solid;border-color:var(--primary-color);background:rgba(var(--primary-color-rgb), 0.08);min-height:160px}.face-effects-workspace .upload-zone.has-file .upload-zone-inner{display:none}.face-effects-workspace .upload-zone.has-file .upload-preview-wrap{display:flex !important}.face-effects-workspace .upload-zone-inner{display:flex;flex-direction:column;align-items:center;gap:8px;padding:20px}.face-effects-workspace .upload-icon{color:var(--primary-color);opacity:.8}.face-effects-workspace .upload-text{font-size:14px;font-weight:500;color:var(--text-primary)}.face-effects-workspace .upload-hint{font-size:12px;color:var(--text-muted)}.face-effects-workspace .upload-preview-wrap{position:relative;width:100%;height:100%;display:none;align-items:center;justify-content:center;padding:12px}.face-effects-workspace .upload-preview-wrap img{max-width:100%;max-height:140px;object-fit:contain;border-radius:8px;border:1px solid var(--border-subtle)}.face-effects-workspace .remove-image-btn{position:absolute;top:8px;right:8px;width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.7);border:none;border-radius:50%;color:#fff;cursor:pointer;transition:all 150ms ease}.face-effects-workspace .remove-image-btn:hover{background:var(--color-error)}.face-effects-workspace .effect-group-title{display:block;font-size:13px;font-weight:500;color:var(--text-secondary);margin-bottom:10px}.face-effects-workspace .age-section{margin-bottom:20px;padding:16px;background:var(--panel-dark);border-radius:12px;border:1px solid var(--border-subtle)}.face-effects-workspace .age-slider-wrap{display:flex;flex-direction:column;gap:8px}.face-effects-workspace .age-slider{-webkit-appearance:none;appearance:none;width:100%;height:6px;background:linear-gradient(to right, var(--primary-color), rgba(255, 255, 255, 0.15), var(--primary-color));border-radius:3px;outline:none;cursor:pointer;transition:opacity 150ms ease}.face-effects-workspace .age-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:20px;height:20px;border-radius:50%;background:var(--primary-color);border:2px solid #fff;box-shadow:0 2px 8px rgba(0,0,0,.4);cursor:pointer;transition:transform 150ms ease,box-shadow 150ms ease}.face-effects-workspace .age-slider::-webkit-slider-thumb:hover{transform:scale(1.15);box-shadow:0 2px 12px rgba(var(--primary-color-rgb), 0.5)}.face-effects-workspace .age-slider::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:var(--primary-color);border:2px solid #fff;box-shadow:0 2px 8px rgba(0,0,0,.4);cursor:pointer;transition:transform 150ms ease,box-shadow 150ms ease}.face-effects-workspace .age-slider::-moz-range-thumb:hover{transform:scale(1.15);box-shadow:0 2px 12px rgba(var(--primary-color-rgb), 0.5)}.face-effects-workspace .age-slider-labels{display:flex;justify-content:space-between;font-size:11px;color:var(--text-muted);padding:0 2px}.face-effects-workspace .age-value-label{text-align:center;font-size:14px;font-weight:600;color:var(--primary-color);padding:6px 12px;background:rgba(var(--primary-color-rgb), 0.1);border-radius:8px;margin-top:4px}.face-effects-workspace .gender-section{margin-bottom:8px;padding:16px;background:var(--panel-dark);border-radius:12px;border:1px solid var(--border-subtle)}.face-effects-workspace .age-toggle-row,.face-effects-workspace .gender-toggle-row{display:flex;align-items:center;justify-content:space-between}.face-effects-workspace .gender-desc{margin:8px 0 0;font-size:12px;color:var(--text-muted);line-height:1.4}.face-effects-workspace .toggle-switch{position:relative;display:inline-block;width:44px;height:24px;cursor:pointer}.face-effects-workspace .toggle-switch input{opacity:0;width:0;height:0}.face-effects-workspace .toggle-switch .toggle-slider{position:absolute;top:0;left:0;right:0;bottom:0;background:var(--background-color-regular);border:1px solid var(--border-subtle);border-radius:12px;transition:all 200ms ease}.face-effects-workspace .toggle-switch .toggle-slider::before{content:"";position:absolute;height:18px;width:18px;left:2px;bottom:2px;background:var(--text-secondary);border-radius:50%;transition:all 200ms ease}.face-effects-workspace .toggle-switch input:checked+.toggle-slider{background:rgba(var(--primary-color-rgb), 0.3);border-color:var(--primary-color)}.face-effects-workspace .toggle-switch input:checked+.toggle-slider::before{transform:translateX(20px);background:var(--primary-color)}.face-effects-workspace .controls-action{padding:16px 20px;border-top:1px solid var(--border-subtle);background:rgba(0,0,0,.2)}.face-effects-workspace .credits-cost-info{display:flex;align-items:center;justify-content:center;gap:6px;padding:6px 12px;margin-top:8px;margin-bottom:0;background:rgba(0,0,0,0);border-radius:8px;font-size:12px;color:var(--text-muted)}.face-effects-workspace .credits-cost-info svg{color:var(--text-muted)}.face-effects-workspace .generate-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:8px;padding:14px 24px;background:linear-gradient(135deg, var(--primary-color) 0%, var(--primary-color) 100%);color:#fff;border:none;border-radius:12px;font-size:15px;font-weight:600;cursor:pointer;transition:all 200ms ease;box-shadow:0 8px 24px rgba(var(--primary-color-rgb), 0.35)}.face-effects-workspace .generate-btn:hover:not(:disabled){background:var(--primary-button-hover-bgcolor);transform:translateY(-2px);box-shadow:0 12px 28px rgba(var(--primary-color-rgb), 0.45)}.face-effects-workspace .generate-btn:active:not(:disabled){transform:translateY(0)}.face-effects-workspace .generate-btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.face-effects-workspace .processing-state{display:flex;align-items:center;justify-content:center;gap:10px;padding:14px 24px;background:linear-gradient(135deg, var(--primary-color) 0%, var(--primary-color) 100%);color:#fff;border-radius:12px;font-size:15px;font-weight:500;box-shadow:0 8px 24px rgba(var(--primary-color-rgb), 0.35)}.face-effects-workspace .processing-spinner{width:18px;height:18px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:face-effects-spin .8s linear infinite}.face-effects-workspace .workspace-right{flex:1;min-width:0;display:flex;flex-direction:column;overflow:hidden}.face-effects-workspace .workspace-preview{flex:1 1 0;min-height:0;background:var(--background-color-regular);border-radius:16px;border:1px solid var(--border-subtle);box-shadow:0 4px 16px rgba(0,0,0,.3);display:flex;flex-direction:column;overflow:hidden;min-width:0}.face-effects-workspace .preview-header{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;border-bottom:1px solid var(--border-subtle)}.face-effects-workspace .preview-title{font-size:15px;font-weight:600;color:var(--text-primary);margin:0}.face-effects-workspace .preview-actions{display:flex;align-items:center;gap:6px}.face-effects-workspace .preview-action-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:none;background:rgba(0,0,0,0);border-radius:8px;cursor:pointer;color:var(--text-secondary);transition:all 150ms ease}.face-effects-workspace .preview-action-btn:hover:not(:disabled){background:var(--surface-hover);color:var(--text-primary)}.face-effects-workspace .preview-action-btn:disabled{opacity:.4;cursor:not-allowed}.face-effects-workspace .preview-content{flex:1;position:relative;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg, var(--panel-dark) 0%, rgba(var(--primary-color-rgb), 0.05) 100%);overflow:hidden}.face-effects-workspace .preview-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px;width:100%;height:100%}.face-effects-workspace .preview-empty.preview-demo{background:rgba(0,0,0,0)}.face-effects-workspace .demo-showcase{display:flex;align-items:center;gap:24px;padding:24px}.face-effects-workspace .demo-before,.face-effects-workspace .demo-after{position:relative;flex:1;max-width:380px}.face-effects-workspace .demo-before img,.face-effects-workspace .demo-after img{width:100%;border-radius:12px;border:1px solid var(--border-subtle);box-shadow:0 4px 16px rgba(0,0,0,.3)}.face-effects-workspace .demo-label{position:absolute;top:12px;left:12px;padding:6px 12px;background:rgba(0,0,0,.7);backdrop-filter:blur(4px);color:#fff;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;border-radius:6px}.face-effects-workspace .demo-label.demo-label-highlight{background:linear-gradient(135deg, var(--primary-color) 0%, var(--primary-color) 100%)}.face-effects-workspace .demo-arrow{display:flex;align-items:center;justify-content:center;width:48px;height:48px;background:var(--background-color-regular);border:1px solid var(--border-subtle);border-radius:50%;box-shadow:0 4px 16px rgba(0,0,0,.3);color:var(--primary-color);flex-shrink:0}.face-effects-workspace .demo-hint{margin:24px 0 0;font-size:13px;color:var(--text-muted);text-align:center}.face-effects-workspace .preview-result{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;overflow:hidden}.face-effects-workspace .preview-content[data-status=uploaded] .result-compare{width:100%;height:100%}.face-effects-workspace .preview-content[data-status=uploaded] .result-before{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}.face-effects-workspace .preview-content[data-status=uploaded] .result-before img{width:100%;height:100%;object-fit:contain}.face-effects-workspace .preview-content[data-status=result] .result-compare{position:relative;width:100%;height:100%;cursor:pointer}.face-effects-workspace .preview-content[data-status=result] .result-before,.face-effects-workspace .preview-content[data-status=result] .result-after{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;transition:opacity .3s ease}.face-effects-workspace .preview-content[data-status=result] .result-before img,.face-effects-workspace .preview-content[data-status=result] .result-after img{max-width:100%;max-height:100%;object-fit:contain;border-radius:12px;border:1px solid var(--border-subtle);box-shadow:0 8px 32px rgba(0,0,0,.4)}.face-effects-workspace .preview-content[data-status=result] .result-before{opacity:0}.face-effects-workspace .preview-content[data-status=result] .result-after{opacity:1}.face-effects-workspace .preview-content[data-status=result][data-showing=before] .result-before{opacity:1}.face-effects-workspace .preview-content[data-status=result][data-showing=before] .result-after{opacity:0}.face-effects-workspace .preview-content[data-status=result][data-showing=after] .result-before{opacity:0}.face-effects-workspace .preview-content[data-status=result][data-showing=after] .result-after{opacity:1}.face-effects-workspace .result-compare{display:flex;gap:24px;width:100%;height:100%;padding:16px;box-sizing:border-box}.face-effects-workspace .result-before,.face-effects-workspace .result-after{position:relative;flex:1;display:flex;align-items:center;justify-content:center;min-width:0}.face-effects-workspace .result-before img,.face-effects-workspace .result-after img{max-width:100%;max-height:100%;object-fit:contain;border-radius:12px;border:1px solid var(--border-subtle);box-shadow:0 8px 32px rgba(0,0,0,.4)}.face-effects-workspace .compare-label{position:absolute;top:12px;left:12px;padding:5px 12px;background:rgba(0,0,0,.7);backdrop-filter:blur(4px);color:#fff;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;border-radius:6px}.face-effects-workspace .compare-label.compare-label-highlight{background:linear-gradient(135deg, var(--color-success) 0%, var(--color-success) 100%)}.face-effects-workspace .preview-processing{position:absolute;inset:0}.face-effects-workspace .processing-overlay{position:relative;width:100%;height:100%}.face-effects-workspace .processing-bg-image{width:100%;height:100%;object-fit:contain;filter:blur(4px);opacity:.5}.face-effects-workspace .processing-mask{position:absolute;inset:0;background:rgba(0,0,0,.5);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center}.face-effects-workspace .processing-content{display:flex;flex-direction:column;align-items:center;gap:16px;color:#fff;text-align:center}.face-effects-workspace .processing-spinner-large{width:48px;height:48px;border:3px solid rgba(255,255,255,.2);border-top-color:#fff;border-radius:50%;animation:face-effects-spin .8s linear infinite}.face-effects-workspace .processing-text{font-size:18px;font-weight:600;margin:0}.face-effects-workspace .processing-subtext{font-size:14px;opacity:.8;margin:0}@keyframes face-effects-spin{to{transform:rotate(360deg)}}.i2i-zoom-overlay{position:fixed;inset:0;background:rgba(0,0,0,.95);z-index:9999;display:flex;align-items:center;justify-content:center;cursor:pointer;animation:face-effects-fadeIn .2s ease;padding:24px}.i2i-zoom-content{width:100%;height:100%;display:flex;align-items:center;justify-content:center}.i2i-zoom-content img{max-width:100%;max-height:100%;object-fit:contain;border-radius:12px;border:1px solid var(--border-subtle)}@keyframes face-effects-fadeIn{from{opacity:0}to{opacity:1}}@media screen and (max-width: 1024px){.face-effects-workspace{flex-direction:column;height:auto;min-height:auto;gap:16px}.face-effects-workspace .workspace-controls{width:100%}.face-effects-workspace .workspace-preview{min-height:400px}.face-effects-workspace .demo-showcase{flex-direction:column;gap:16px}.face-effects-workspace .demo-before,.face-effects-workspace .demo-after{max-width:100%}.face-effects-workspace .demo-arrow{transform:rotate(90deg)}.face-effects-workspace .result-compare{flex-direction:column;gap:16px}}@media screen and (max-width: 768px){.face-effects-workspace{gap:12px;padding:0;width:100%;max-width:100vw;min-width:0;overflow-x:hidden}.face-effects-workspace .workspace-controls{width:100%;max-width:100vw;min-width:0;overflow:hidden}.face-effects-workspace .controls-section{padding:16px;width:100%;max-width:calc(100vw - 32px);min-width:0;box-sizing:border-box;overflow-x:hidden}.face-effects-workspace .controls-action{padding:12px 16px}.face-effects-workspace .upload-zone{min-height:80px}.face-effects-workspace .upload-zone.has-file{min-height:100px}.face-effects-workspace .upload-preview-wrap img{max-height:80px}.face-effects-workspace .age-section,.face-effects-workspace .gender-section{padding:12px}.face-effects-workspace .preview-header{padding:12px 16px}.face-effects-workspace .workspace-preview{min-height:320px}.face-effects-workspace .demo-showcase{padding:16px}.face-effects-workspace .preview-empty{padding:16px}}