:root{color-scheme:light;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#f4f1ec;color:#151515;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:linear-gradient(140deg,rgba(40,108,113,.16),transparent 34%),linear-gradient(320deg,rgba(216,81,54,.12),transparent 28%),#f4f1ec}button,input{font:inherit}button{border:0}a{color:inherit;text-decoration:none}.app-shell{min-height:100vh;padding:18px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:20px;max-width:1480px;margin:0 auto 18px}.brand,.topbar-actions,.action-row,.privacy-strip,.preview-toolbar,.queue-header{display:flex;align-items:center}.brand{gap:12px}.brand-mark{display:grid;width:42px;height:42px;place-items:center;color:#fbf8f1;background:#1e6d70;border-radius:8px;box-shadow:0 12px 24px #10525438}.brand strong,.brand small{display:block}.brand strong{font-size:15px}.brand small,.topbar-actions a{color:#65605a;font-size:13px}.topbar-actions{gap:10px}.workspace{display:grid;grid-template-columns:minmax(320px,390px) minmax(0,1fr) minmax(260px,310px);gap:18px;max-width:1480px;min-height:calc(100vh - 92px);margin:0 auto}.app-footer{display:flex;flex-wrap:wrap;gap:8px 18px;justify-content:space-between;max-width:1480px;margin:14px auto 0;color:#625c56;font-size:12px;line-height:1.45}.app-footer a{color:#1e6d70;font-weight:750}.control-panel,.queue-panel,.preview-area{background:#fffcf6db;border:1px solid rgba(38,35,31,.1);border-radius:8px;box-shadow:0 18px 46px #221d1814}.control-panel,.queue-panel{padding:18px}.preview-area{min-width:0;padding:18px}.intro h1{margin:0;max-width:10.8ch;overflow-wrap:break-word;font-size:52px;line-height:.96;letter-spacing:0}.intro p{max-width:33ch;margin:16px 0 0;color:#55504a;font-size:15px;line-height:1.55}.dropzone{display:flex;flex-direction:column;align-items:flex-start;gap:10px;margin-top:26px;padding:18px;border:1px dashed rgba(30,109,112,.5);border-radius:8px;background:#1e6d700f;cursor:pointer}.dropzone input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.dropzone-icon{display:grid;width:44px;height:44px;place-items:center;color:#1e6d70;background:#fffaf3;border-radius:8px}.dropzone-title{font-size:19px;font-weight:750}.dropzone-copy{color:#6e6860;font-size:13px;line-height:1.45}.dropzone-button,.primary-button,.secondary-button,.sample-button,.ghost-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;border-radius:7px;font-size:14px;font-weight:750;cursor:pointer;transition:transform .16s ease,opacity .16s ease,background .16s ease}.dropzone-button,.primary-button{color:#fffaf3;background:#d85136;padding:0 16px}.secondary-button{color:#173c3e;background:#dfeeed;padding:0 14px}.sample-actions{display:grid;gap:8px;margin-top:10px}.sample-button{width:100%;color:#173c3e;background:#e6f2f1;border:1px solid rgba(30,109,112,.18);padding:0 14px}.sample-actions small{color:#9c3f2d;font-size:12px;line-height:1.35}.ghost-button{color:#3e3934;background:#fffcf6cc;border:1px solid rgba(38,35,31,.1);padding:0 12px}.primary-button:hover,.secondary-button:hover,.ghost-button:hover,.dropzone-button:hover,.sample-button:hover{transform:translateY(-1px)}.primary-button:disabled,.secondary-button:disabled,.ghost-button:disabled,.sample-button:disabled{cursor:not-allowed;opacity:.45;transform:none}.panel-section{margin-top:24px}.panel-section h2,.queue-header h2,.preview-toolbar h2{margin:0;font-size:14px;letter-spacing:0}.mode-grid{display:grid;gap:8px;margin-top:10px}.mode-card,.preset-card{width:100%;padding:12px;text-align:left;color:#26231f;background:#fffaf3;border:1px solid rgba(38,35,31,.08);border-radius:8px;cursor:pointer}.mode-card.selected,.preset-card.selected{border-color:#1e6d70;box-shadow:inset 0 0 0 1px #1e6d70}.mode-card span,.mode-card small,.preset-card span,.preset-card small{display:block}.mode-card span,.preset-card span{font-size:14px;font-weight:800}.mode-card small,.preset-card small{margin-top:4px;color:#67615b;font-size:12px;line-height:1.35}.preset-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:10px}.preset-card span{display:inline-flex;align-items:center;gap:7px}.scene-grid{display:grid;gap:8px;margin-top:10px}.scene-card{display:grid;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:10px;width:100%;padding:10px;color:#26231f;text-align:left;background:#fffaf3;border:1px solid rgba(38,35,31,.08);border-radius:8px;cursor:pointer}.scene-card.selected{border-color:#1e6d70;box-shadow:inset 0 0 0 1px #1e6d70}.scene-card strong,.scene-card small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.scene-card strong{font-size:13px;font-weight:850}.scene-card small{margin-top:2px;color:#67615b;font-size:12px}.scene-swatch{display:block;width:42px;height:34px;overflow:hidden;background:#fff;border:1px solid rgba(38,35,31,.1);border-radius:7px}.scene-swatch span{display:block;width:100%;height:100%}.toggle-row,.range-field{display:grid;gap:8px;margin-top:12px;padding:10px;color:#403b36;background:#fffaf3c7;border:1px solid rgba(38,35,31,.08);border-radius:8px;font-size:12px;font-weight:800}.toggle-row{grid-template-columns:18px minmax(0,1fr);align-items:center}.toggle-row input{width:16px;height:16px;accent-color:#1e6d70}.toggle-row span{display:inline-flex;align-items:center;gap:8px}.range-field{grid-template-columns:minmax(0,1fr) auto}.range-field input{grid-column:1 / -1;width:100%;accent-color:#d85136}.range-field input:disabled,.toggle-row input:disabled,.toggle-row input:disabled+span{opacity:.5}.shadow-tuning-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.range-field.compact{margin-top:8px;padding:9px}.segmented-control{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:10px}.segmented-control button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;color:#403b36;background:#fffaf3;border:1px solid rgba(38,35,31,.08);border-radius:8px;font-size:12px;font-weight:800;cursor:pointer}.segmented-control button.selected{color:#173c3e;border-color:#1e6d70;box-shadow:inset 0 0 0 1px #1e6d70}.section-note{margin:8px 0 0;color:#756f68;font-size:12px;line-height:1.4}.swatches{display:grid;grid-template-columns:repeat(5,42px);gap:10px;margin-top:12px}.swatch{width:42px;height:42px;border:2px solid transparent;border-radius:8px;cursor:pointer}.swatch.selected{border-color:#d85136}.checker,.swatch.checker{background-color:#fff;background-image:linear-gradient(45deg,#cfd5d3 25%,transparent 25%),linear-gradient(-45deg,#cfd5d3 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#cfd5d3 75%),linear-gradient(-45deg,transparent 75%,#cfd5d3 75%);background-position:0 0,0 8px,8px -8px,-8px 0;background-size:16px 16px}.swatch.white,.canvas-stage.white{background:#fff}.swatch.black,.canvas-stage.black{background:#171717}.swatch.brand,.canvas-stage.brand{background:radial-gradient(circle at 20% 15%,rgba(216,81,54,.35),transparent 24%),radial-gradient(circle at 80% 85%,rgba(30,109,112,.35),transparent 28%),#f7eee2}.canvas-stage.custom{background:var(--custom-bg)}.color-field{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:12px;color:#5f5952;font-size:12px;font-weight:750}.color-field input{width:46px;height:34px;padding:0;background:transparent;border:0;cursor:pointer}.action-row{gap:10px;margin-top:24px;flex-wrap:wrap}.action-row .primary-button{flex:1}.privacy-strip{flex-wrap:wrap;gap:8px;margin-top:16px}.privacy-strip span{display:inline-flex;align-items:center;gap:6px;min-height:30px;padding:0 10px;color:#1d5b5e;background:#e6f1ef;border-radius:7px;font-size:12px;font-weight:720}.preview-toolbar{justify-content:space-between;gap:12px;margin-bottom:14px}.preview-toolbar .eyebrow,.preview-toolbar p{margin:0;color:#69635b;font-size:12px}.preview-toolbar h2{max-width:min(46vw,640px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.preview-processing-banner{margin-top:8px;display:inline-flex;align-items:center;gap:6px;color:#7f543f;background:#fff0e4;border:1px solid #ffd3b0;border-radius:7px;padding:6px 10px;font-size:12px;font-weight:800;line-height:1.25}.toolbar-metrics{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:3px}.quality-badge,.device-badge{display:inline-flex;align-items:center;gap:5px;min-height:24px;padding:0 8px;border-radius:7px;font-size:11px;font-weight:850}.quality-badge.good{color:#0f5a38;background:#dff2e8}.quality-badge.ok{color:#765100;background:#fff0c5}.quality-badge.weak{color:#8d2f23;background:#ffe2dc}.device-badge{color:#173c3e;background:#dfeeed}.canvas-stage{min-height:calc(100vh - 170px);padding:14px;border-radius:8px;overflow:hidden}.comparison-shell{display:grid;gap:12px}.comparison-frame{--preview-zoom: 1;--preview-pan-x: 0px;--preview-pan-y: 0px;position:relative;display:grid;min-height:calc(100vh - 270px);place-items:center;overflow:hidden;background:transparent;border:1px solid rgba(38,35,31,.08);border-radius:8px}.comparison-frame.can-pan{cursor:grab;touch-action:none}.comparison-frame.can-pan.panning{cursor:grabbing}.comparison-frame.panning .comparison-image{transition:none}.comparison-image{display:block;width:min(100%,720px);max-width:720px;max-height:68vh;object-fit:contain;transform:translate3d(var(--preview-pan-x),var(--preview-pan-y),0) scale(var(--preview-zoom));transform-origin:center;transition:transform .16s ease;-webkit-user-select:none;user-select:none}.comparison-output,.comparison-original,.comparison-review-overlay{grid-area:1 / 1}.comparison-review-overlay{pointer-events:none}.comparison-review-overlay.mask{mix-blend-mode:multiply}.comparison-review-overlay.edge{filter:drop-shadow(0 0 2px rgba(38,35,31,.32))}.comparison-original-layer{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;clip-path:inset(0 calc(100% - var(--split)) 0 0)}.comparison-handle{position:absolute;top:0;bottom:0;left:var(--split);width:2px;background:#d85136;transform:translate(-1px)}.comparison-handle span{position:absolute;top:50%;left:50%;width:34px;height:34px;background:#d85136;border:3px solid #fffaf3;border-radius:50%;box-shadow:0 10px 20px #2d1f182e;transform:translate(-50%,-50%)}.comparison-tag{position:absolute;top:12px;z-index:2;min-height:28px;padding:6px 10px;color:#26231f;background:#fffaf3e0;border:1px solid rgba(38,35,31,.08);border-radius:7px;font-size:12px;font-weight:800}.comparison-tag.original{left:12px}.comparison-tag.cutout{right:12px}.preview-rendering{position:absolute;right:12px;bottom:12px;z-index:3;display:inline-flex;align-items:center;gap:7px;min-height:30px;padding:0 10px;color:#173c3e;background:#dfeeedeb;border:1px solid rgba(30,109,112,.14);border-radius:7px;font-size:12px;font-weight:800}.preview-rendering.overlay-rendering{bottom:50px}.comparison-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#fffaf3b3}.comparison-controls{display:grid;grid-template-columns:22px minmax(0,1fr);align-items:center;gap:10px;color:#1e6d70;background:#fffaf3db;border:1px solid rgba(38,35,31,.08);border-radius:8px;padding:10px 12px}.comparison-controls input{width:100%;accent-color:#d85136}.comparison-controls input:disabled{opacity:.45}.comparison-quick-controls,.review-overlay-controls{display:flex;grid-column:1 / -1;flex-wrap:wrap;gap:8px}.comparison-quick-button{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid rgba(38,35,31,.14);border-radius:6px;padding:0 10px;min-height:28px;background:#fffaf3;color:#3f3a35;font-size:12px;font-weight:750}.comparison-quick-button.active{border-color:#d85136;color:#8b2111;background:#d8513629}.comparison-quick-button:disabled{cursor:not-allowed;opacity:.46}.review-zoom-controls{display:grid;grid-column:1 / -1;grid-template-columns:18px minmax(120px,1fr) 18px auto;align-items:center;gap:8px;color:#1e6d70}.review-zoom-controls input{width:100%}.review-zoom-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.review-background-controls{display:flex;grid-column:1 / -1;flex-wrap:wrap;gap:8px}.review-background-button{width:30px;height:30px;border:1px solid rgba(38,35,31,.18);border-radius:6px;cursor:pointer;box-shadow:inset 0 0 0 2px #fffaf3b8}.review-background-button.active{border-color:#d85136;box-shadow:0 0 0 2px #d851362e,inset 0 0 0 2px #fffaf3d1}.review-background-button.checker{background-color:#fff;background-image:linear-gradient(45deg,#d9d9d9 25%,transparent 25%),linear-gradient(-45deg,#d9d9d9 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#d9d9d9 75%),linear-gradient(-45deg,transparent 75%,#d9d9d9 75%);background-position:0 0,0 8px,8px -8px,-8px 0;background-size:16px 16px}.review-background-button.white{background:#fff}.review-background-button.black{background:#171717}.review-background-button.brand{background:radial-gradient(circle at 20% 15%,rgba(216,81,54,.55),transparent 24%),radial-gradient(circle at 80% 85%,rgba(30,109,112,.55),transparent 28%),#f7eee2}.progress-panel{display:grid;gap:10px;padding:12px;background:#fffaf3db;border:1px solid rgba(38,35,31,.08);border-radius:8px}.progress-steps{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.progress-step{display:grid;gap:6px;color:#8b857e;font-size:11px;font-weight:800}.progress-step span{height:5px;background:#e8ded1;border-radius:999px}.progress-step.complete span,.progress-step.active span{background:#1e6d70}.progress-step.error span{background:#d85136}.progress-step.active{color:#1e6d70}.progress-detail{display:flex;align-items:center;gap:8px;color:#5f5952;font-size:12px;line-height:1.4}.empty-result,.empty-workspace{display:grid;place-items:center;align-content:center;gap:10px;min-height:320px;color:#6f6961;text-align:center;padding:24px}.empty-result strong,.empty-workspace h2{margin:0;color:#292521;font-size:18px}.empty-result small,.empty-workspace p{max-width:34ch;margin:0;font-size:13px;line-height:1.45}.queue-panel{min-width:0}.queue-header{justify-content:space-between;gap:12px}.queue-header span{color:#69635b;font-size:12px;font-weight:750}.queue-tools{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:8px;margin-top:12px}.queue-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(82px,1fr));gap:6px;margin-top:12px}.queue-filter{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px;min-height:34px;padding:0 8px;color:#403b36;background:#fffaf3;border:1px solid rgba(38,35,31,.08);border-radius:7px;font-size:11px;font-weight:800;cursor:pointer}.queue-filter.selected{color:#173c3e;border-color:#1e6d70;background:#e7f5f5}.queue-filter span{display:grid;min-width:18px;min-height:18px;place-items:center;color:#173c3e;background:#dfeeed;border-radius:999px;font-size:10px;justify-self:end}.queue-filter:disabled{cursor:not-allowed;opacity:.45}.queue-tool{display:grid;grid-template-columns:16px minmax(0,1fr) auto;align-items:center;gap:6px;min-height:36px;padding:0 8px;color:#403b36;background:#fffaf3;border:1px solid rgba(38,35,31,.08);border-radius:7px;font-size:12px;font-weight:800;cursor:pointer}.queue-tool span{display:grid;min-width:22px;min-height:22px;place-items:center;color:#173c3e;background:#dfeeed;border-radius:999px;font-size:11px}.queue-tool:disabled{cursor:not-allowed;opacity:.5}.queue-list{display:grid;gap:8px;margin-top:14px}.queue-processing-banner{margin-top:10px;color:#7f543f;background:#ffe8d8;border:1px solid #ffbe96;border-radius:7px;padding:8px 10px;font-size:12px;font-weight:750}.export-history{margin-top:14px}.export-history-head{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:8px}.export-history-head h3{margin:0;font-size:13px}.export-history-head span{color:#69635b;font-size:12px;font-weight:750}.export-history-empty{color:#756f68;background:#fffaf3;border:1px solid rgba(38,35,31,.08);border-radius:8px;padding:10px;font-size:12px}.export-history-list{margin:0;padding:0;display:grid;gap:7px;list-style:none}.export-history-item{padding:8px 10px;border:1px solid rgba(38,35,31,.08);border-radius:7px;background:#fffaf3}.export-history-top{display:flex;justify-content:space-between;align-items:center;font-size:12px}.export-history-top strong{font-size:12px}.export-history-top span{color:#6d6660;font-size:11px}.export-history-meta{margin-top:4px;color:#6a655f;display:flex;flex-wrap:wrap;gap:4px 8px;font-size:11px;line-height:1.35}.export-history-file{color:#4a6d6f;font-size:11px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;overflow-wrap:anywhere}.export-history-actions{margin-top:6px;display:flex;flex-wrap:wrap;gap:8px 12px}.export-history-action{display:inline-flex;align-items:center;gap:6px;margin:0;padding:0;min-height:0;color:#184a5b;background:transparent;border:0;font-size:11px;font-weight:750;cursor:pointer}.export-history-action:hover{color:#0f3340;text-decoration:underline}.export-history-action:disabled{cursor:not-allowed;opacity:.55}.queue-empty{padding:18px;color:#756f68;background:#fffaf3;border-radius:8px;font-size:13px}.queue-item{display:grid;grid-template-columns:minmax(0,1fr) 76px;align-items:center;gap:10px;width:100%;padding:8px;background:#fffaf3;border:1px solid rgba(38,35,31,.08);border-radius:8px}.queue-item.selected{border-color:#1e6d70;box-shadow:inset 0 0 0 1px #1e6d70}.queue-select{display:grid;grid-template-columns:48px minmax(0,1fr) 22px;align-items:center;gap:10px;min-width:0;padding:0;text-align:left;background:transparent;cursor:pointer}.queue-action{display:grid;width:34px;height:34px;place-items:center;color:#1e6d70;background:#e6f1ef;border-radius:7px;cursor:pointer}.queue-actions{display:grid;grid-template-columns:repeat(2,34px);gap:8px}.queue-action:disabled{cursor:not-allowed;opacity:.55}.queue-item img{width:48px;height:48px;object-fit:cover;border-radius:6px}.queue-item strong,.queue-item small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.queue-item strong{font-size:13px}.queue-item small{margin-top:2px;color:#756f68;font-size:12px}.queue-item-state{display:inline-flex;align-items:center;margin:3px 0 4px;min-height:18px;padding:2px 8px;border-radius:999px;font-size:10px;font-weight:800;letter-spacing:0}.queue-item-state.ready{color:#574f47;background:#f0ece4}.queue-item-state.processing{color:#a34e32;background:#ffe8d4}.queue-item-state.done{color:#1a6e46;background:#daf0e5}.queue-item-state.error{color:#8f3021;background:#ffd9d2}.status-icon{color:#79736c}.status-icon.done{color:#1e6d70}.status-icon.error{color:#d85136}.spin{animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}@media(max-width:1180px){.workspace{grid-template-columns:340px minmax(0,1fr)}.queue-panel{grid-column:1 / -1}.queue-list{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}}@media(max-width:820px){.app-shell{padding:12px}.topbar{align-items:flex-start;flex-direction:column}.workspace{grid-template-columns:1fr}.app-footer{flex-direction:column}.intro h1{max-width:12ch;font-size:40px}.preview-toolbar{align-items:flex-start;flex-direction:column}.preview-toolbar h2{max-width:calc(100vw - 72px)}.comparison-frame{min-height:320px}.review-zoom-controls{grid-template-columns:18px minmax(0,1fr) 18px}.review-zoom-actions{grid-column:1 / -1;justify-content:flex-start}.progress-steps{grid-template-columns:repeat(5,minmax(44px,1fr));overflow-x:auto}.queue-tools{grid-template-columns:1fr}.queue-filters{grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}}
