:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;min-width:320px;min-height:100vh}#root{min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}.app{min-height:100vh;display:flex;flex-direction:column}.header{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;border-bottom:1px solid #333}.header h1{margin:0;font-size:1.5rem;font-weight:600}.reset-button{padding:8px 16px;font-size:14px;background:transparent;border:1px solid #555;color:inherit;cursor:pointer;border-radius:6px;transition:all .2s}.reset-button:hover{background:#ffffff1a;border-color:#888}.main{flex:1;display:flex;padding:24px}.editor-layout{display:flex;width:100%;gap:24px}.canvas-section{flex:1;display:flex;flex-direction:column;min-width:0;min-height:0}.canvas-toolbar{display:flex;align-items:center;gap:8px;padding:8px 0}.original-toggle{display:flex;align-items:center;gap:6px;padding:6px 12px;font-size:12px;background:#ffffff0d;border:1px solid #444;color:#aaa;cursor:pointer;border-radius:6px;transition:all .15s;-webkit-user-select:none;user-select:none}.original-toggle:hover{background:#ffffff1a;border-color:#666;color:#fff}.original-toggle.active{background:#3b82f633;border-color:#3b82f6;color:#3b82f6}.original-toggle svg{opacity:.8}.canvas-viewport{flex:1;overflow:auto;display:flex;align-items:center;justify-content:center;background:#111;border-radius:8px;padding:16px;min-height:300px}.canvas-controls{display:flex;align-items:center;justify-content:space-between;padding:12px 0;gap:16px}.sidebar{width:300px;flex-shrink:0}.image-info{margin:0;font-size:13px;opacity:.6}.zoom-control{display:flex;align-items:center;gap:10px}.zoom-fit-btn{padding:4px 10px;font-size:12px;background:transparent;border:1px solid #444;color:#888;cursor:pointer;border-radius:4px;transition:all .2s}.zoom-fit-btn:hover{background:#ffffff0d;border-color:#666;color:#aaa}.zoom-slider{width:100px;height:4px;-webkit-appearance:none;appearance:none;background:#333;border-radius:2px;outline:none;cursor:pointer}.zoom-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:12px;height:12px;background:#fff;border-radius:50%;cursor:pointer}.zoom-slider::-moz-range-thumb{width:12px;height:12px;background:#fff;border-radius:50%;cursor:pointer;border:none}.zoom-value{font-size:12px;color:#888;min-width:40px;text-align:right;font-variant-numeric:tabular-nums}.slider-panel{background:#1a1a1a;border-radius:12px;padding:20px;height:fit-content;max-height:calc(100vh - 140px);overflow-y:auto}.slider-panel-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.slider-panel-header h2{margin:0;font-size:1.1rem;font-weight:600}.reset-sliders-btn{padding:6px 12px;font-size:12px;background:transparent;border:1px solid #444;color:#888;cursor:pointer;border-radius:4px;transition:all .2s}.reset-sliders-btn:hover{background:#ffffff0d;border-color:#666;color:#aaa}.slider-group{margin-bottom:24px}.slider-group:last-child{margin-bottom:0}.slider-group-title{margin:0 0 12px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#666}.slider{margin-bottom:16px}.slider:last-child{margin-bottom:0}.slider-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.slider-label{font-size:13px;color:#ccc}.slider-value{font-size:12px;color:#888;font-variant-numeric:tabular-nums;min-width:45px;text-align:right}.slider-input{width:100%;height:4px;-webkit-appearance:none;appearance:none;background:#333;border-radius:2px;outline:none;cursor:pointer}.slider-input::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:14px;height:14px;background:#fff;border-radius:50%;cursor:pointer;transition:transform .1s}.slider-input::-webkit-slider-thumb:hover{transform:scale(1.2)}.slider-input::-moz-range-thumb{width:14px;height:14px;background:#fff;border-radius:50%;cursor:pointer;border:none;transition:transform .1s}.slider-input::-moz-range-thumb:hover{transform:scale(1.2)}.panel{margin-bottom:8px;border-radius:8px;overflow:hidden}.panel:last-child{margin-bottom:0}.panel-header{width:100%;display:flex;justify-content:space-between;align-items:center;padding:12px 0;background:transparent;border:none;border-bottom:1px solid #333;color:#fff;cursor:pointer;font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.panel-header:hover{color:#ccc}.panel-title{color:inherit}.panel-chevron{transition:transform .2s ease;opacity:.5}.panel-chevron.open{transform:rotate(180deg)}.panel-content{padding:16px 0}.color-grading-section{display:flex;flex-direction:column;gap:16px}.color-wheels-row{display:flex;justify-content:center;gap:4px;flex-wrap:wrap}.color-wheel-container{display:flex;flex-direction:column;align-items:center;gap:8px}.color-wheel-label{font-size:11px;color:#888;text-transform:uppercase;letter-spacing:.05em}.color-wheel-canvas{cursor:crosshair;border-radius:50%}.color-wheel-luminance{display:flex;align-items:center;gap:6px;width:100%}.luminance-label{font-size:10px;color:#666;width:24px}.luminance-slider{flex:1;height:3px;-webkit-appearance:none;appearance:none;background:#333;border-radius:2px;outline:none;cursor:pointer}.luminance-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:10px;height:10px;background:#fff;border-radius:50%;cursor:pointer}.luminance-slider::-moz-range-thumb{width:10px;height:10px;background:#fff;border-radius:50%;cursor:pointer;border:none}.luminance-value{font-size:10px;color:#666;width:28px;text-align:right;font-variant-numeric:tabular-nums}.color-grading-sliders{display:flex;flex-direction:column;gap:12px}.reset-section-btn{padding:8px 12px;font-size:11px;background:transparent;border:1px solid #333;color:#666;cursor:pointer;border-radius:4px;transition:all .2s;align-self:flex-start}.reset-section-btn:hover{background:#ffffff0d;border-color:#555;color:#888}.slider-panel::-webkit-scrollbar{width:6px}.slider-panel::-webkit-scrollbar-track{background:transparent}.slider-panel::-webkit-scrollbar-thumb{background:#444;border-radius:3px}.slider-panel::-webkit-scrollbar-thumb:hover{background:#555}.hsl-section{display:flex;flex-direction:column;gap:16px}.hsl-mode-tabs{display:flex;gap:4px;background:#252525;padding:4px;border-radius:6px}.hsl-mode-tab{flex:1;padding:8px 12px;font-size:12px;background:transparent;border:none;color:#888;cursor:pointer;border-radius:4px;transition:all .2s;font-weight:500}.hsl-mode-tab:hover{color:#aaa}.hsl-mode-tab.active{background:#333;color:#fff}.hsl-sliders{display:flex;flex-direction:column;gap:12px}.hsl-slider{display:flex;flex-direction:column;gap:6px}.hsl-slider-header{display:flex;align-items:center;gap:8px}.hsl-color-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.hsl-slider-label{font-size:13px;color:#ccc;flex:1}.hsl-slider-value{font-size:12px;color:#888;font-variant-numeric:tabular-nums;min-width:35px;text-align:right}.prompt-panel{background:#1a1a1a;border-radius:12px;padding:20px;margin-bottom:16px;display:flex;flex-direction:column;gap:16px}.prompt-section,.reference-section{display:flex;flex-direction:column;gap:8px}.prompt-label{font-size:12px;font-weight:500;color:#888;text-transform:uppercase;letter-spacing:.05em}.prompt-input{width:100%;padding:12px;font-size:14px;font-family:inherit;background:#252525;border:1px solid #333;border-radius:8px;color:#fff;resize:vertical;min-height:60px;transition:border-color .2s}.prompt-input:focus{outline:none;border-color:#555}.prompt-input::placeholder{color:#666}.prompt-input:disabled{opacity:.6;cursor:not-allowed}.reference-upload{display:flex;align-items:center;justify-content:center;padding:24px;border:2px dashed #333;border-radius:8px;cursor:pointer;transition:all .2s}.reference-upload:hover{border-color:#555;background:#ffffff05}.reference-upload input{display:none}.reference-upload-text{display:flex;align-items:center;gap:8px;color:#666;font-size:13px}.reference-preview{display:flex;align-items:center;gap:12px;padding:12px;background:#252525;border-radius:8px}.reference-thumbnail{width:60px;height:60px;object-fit:cover;border-radius:6px}.reference-info{flex:1;display:flex;flex-direction:column;gap:6px}.reference-name{font-size:13px;color:#ccc;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.reference-remove{align-self:flex-start;padding:4px 8px;font-size:11px;background:transparent;border:1px solid #444;color:#888;cursor:pointer;border-radius:4px;transition:all .2s}.reference-remove:hover{background:#ffffff0d;border-color:#666;color:#aaa}.reference-remove:disabled{opacity:.5;cursor:not-allowed}.optimize-controls{display:flex;gap:8px}.optimize-button{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 20px;font-size:14px;font-weight:600;background:linear-gradient(135deg,#6366f1,#8b5cf6);border:none;color:#fff;cursor:pointer;border-radius:8px;transition:all .2s}.optimize-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #6366f166}.optimize-button:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}.stop-button{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 20px;font-size:14px;font-weight:600;background:#dc2626;border:none;color:#fff;cursor:pointer;border-radius:8px;transition:all .2s}.stop-button:hover{background:#ef4444}.optimize-status{display:flex;align-items:center;gap:10px;padding:12px;background:#6366f11a;border-radius:8px;font-size:13px;color:#a5b4fc}.optimize-spinner{width:16px;height:16px;border:2px solid rgba(165,180,252,.3);border-top-color:#a5b4fc;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
