:root{color-scheme:dark;--bg:#151719;--panel:#1d2023;--line:#33373c;--text:#eceeeb;--muted:#a0a5aa;--accent:#e5ba78}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:14px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer;background:transparent;border:1px solid var(--line);border-radius:6px;color:var(--text);padding:9px 12px;transition:background .15s}button:hover{background:#353a40}button:disabled{opacity:.4;cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:3px}a{color:var(--accent)}header{height:78px;display:flex;align-items:center;gap:18px;padding:0 26px;border-bottom:1px solid var(--line);background:#1a1c1f}.brand{display:flex;align-items:center;gap:13px;color:var(--text);text-decoration:none;letter-spacing:2px;font-size:15px}.brand b{display:block;font-size:12px;color:var(--muted);letter-spacing:3.5px;font-weight:500}.brandmark{font:italic 44px Georgia,serif;color:var(--accent);line-height:1}.beta{font-size:12px;letter-spacing:1px;color:var(--accent);border:1px solid #65543c;padding:3px 7px;border-radius:4px}.privacy{margin-left:auto;color:var(--muted);font-size:13px}.primary{background:var(--accent);color:#1c1c1c;border-color:var(--accent);font-weight:650}.primary:hover{background:#f1cc92}.primary span{margin-left:22px}.iconbtn{border-radius:50%;width:30px;height:30px;padding:0}.workspace{display:grid;grid-template-columns:232px minmax(300px,1fr) 288px;min-height:calc(100vh - 118px)}aside{background:var(--panel);padding:20px 16px}.sources{border-right:1px solid var(--line);display:flex;flex-direction:column}.controls{border-left:1px solid var(--line)}.panel-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:19px}.panel-heading h1,.panel-heading h2{font-size:16px;font-weight:600;margin:0}.panel-heading>span{font-size:12px;color:var(--muted)}.import{width:100%;border:1px dashed #74634a;color:var(--accent);padding:12px 6px}.small{color:var(--muted);font-size:12px;line-height:1.6}p.small{margin:9px 0 14px}.source-list{display:flex;flex-direction:column;gap:9px}.source-card{width:100%;padding:7px;display:flex;gap:10px;align-items:center;text-align:left;background:#25282c;position:relative}.source-card.active{border-color:var(--accent);background:#302c26}.source-card img{width:66px;height:52px;object-fit:cover;border-radius:3px}.source-card strong{font-size:12px;font-weight:600;display:block}.source-card span{display:block;font-size:12px;color:var(--muted)}.source-card .role{font-size:12px;color:#d9bd91;margin-top:3px}.source-footer{margin-top:auto;padding-top:28px;font-size:12px;color:var(--muted)}.source-footer p{font-size:12px}.textbtn{border:0;color:var(--muted);padding:5px;font-size:12px}.textbtn:hover{color:var(--text)}#demoBtn{margin:16px 0}.controls section{padding:20px 0;border-top:1px solid var(--line)}h3{font-size:12px;letter-spacing:1px;color:var(--accent);margin:0 0 15px;font-weight:500}h3 span{font-size:14px;letter-spacing:0;color:var(--text);margin-left:9px;font-weight:550}label{display:block;font-size:13px;color:#c1c5ca;margin-bottom:7px}select{width:100%;background:#282c30;color:var(--text);border:1px solid #42474d;border-radius:5px;padding:10px}.full{width:100%;margin-top:10px}.secondary{background:#292d32}.selected-source{display:flex;justify-content:space-between;margin-bottom:12px}.selected-source strong{font-size:12px}.tool-row{display:flex;gap:5px;margin-bottom:16px}.tool-row button{font-size:12px;flex:1;padding:7px 3px}.tool-row button.active,.view-tabs button.active{background:#41403c;color:#f4d29e;border-color:#716149}.slider-label{display:flex;justify-content:space-between;margin-top:15px}.slider-label label{margin:0}.slider-label output{font-size:12px;color:var(--accent);font-variant-numeric:tabular-nums}input[type=range]{width:100%;height:18px;margin:8px 0 11px;accent-color:var(--accent);cursor:pointer}main{padding:25px 26px;min-width:0;display:flex;flex-direction:column}.canvas-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:24px}.eyebrow{font-size:12px;letter-spacing:2px;color:var(--muted)}h2{margin:3px 0 0;font-size:19px;font-weight:500}.view-tabs{display:flex;background:#202327;padding:3px;border:1px solid var(--line);border-radius:6px}.view-tabs button{border-color:transparent;font-size:12px;padding:7px 10px}.stage{position:relative;min-height:340px;display:flex;align-items:center;justify-content:center;flex:1;background:#111315;border:1px solid #2b2e32;border-radius:7px;padding:22px;overflow:hidden;max-height:calc(100vh - 250px)}.image-wrap{position:relative;width:100%;max-width:1400px;line-height:0}#photo{width:100%;height:auto;max-height:calc(100vh - 315px);object-fit:contain;display:block}#paint{position:absolute;inset:0;width:100%;height:100%;touch-action:none;cursor:crosshair}#divider{position:absolute;top:0;bottom:0;width:1px;background:#fff;pointer-events:none;display:none;box-shadow:0 0 4px #000}.image-badge{position:absolute;left:12px;top:12px;background:#17191dda;color:white;font-size:12px;letter-spacing:1px;padding:8px 10px;border-radius:3px;pointer-events:none;line-height:1}.under-canvas{display:flex;justify-content:space-between;gap:16px;padding:12px 0;color:var(--muted);font-size:12px;min-height:45px}#status{max-width:80%}.steps{display:flex;gap:24px;border-top:1px solid var(--line);padding-top:20px;margin-top:15px;justify-content:space-between;color:var(--muted);font-size:12px}.steps b{font-size:12px;color:var(--accent);margin-right:8px;font-weight:400}.compare-control{display:flex;align-items:center;gap:20px}.compare-control label{white-space:nowrap}.compare-control input{max-width:400px}footer{height:40px;display:flex;align-items:center;justify-content:space-between;padding:0 23px;border-top:1px solid var(--line);color:var(--muted);font-size:12px;gap:14px}footer>span:first-child{letter-spacing:1px}.busy{position:absolute;inset:0;background:#151719e8;z-index:5;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:25px;text-align:center}.busy strong{font-weight:500}.busy progress{width:70%;max-width:300px;accent-color:var(--accent)}.spinner{width:28px;height:28px;border:2px solid #4d4a45;border-top-color:var(--accent);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}dialog{color:var(--text);background:#24272b;border:1px solid #51565c;border-radius:12px;width:min(600px,92vw);padding:26px;box-shadow:0 25px 100px #0008}dialog::backdrop{background:#0009;backdrop-filter:blur(4px)}.dialog-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}.dialog-heading h2{font-size:23px}.dialog-heading button{border:0;font-size:24px;padding:0 7px}dialog ol{padding-left:23px}dialog li{margin-bottom:13px;font-size:15px}.notice{background:#191c20;border-left:2px solid var(--accent);padding:15px;margin:20px 0;font-size:13px;color:#bfc4c8}.notice p:last-child{margin-bottom:0}.notice b{color:var(--text)}[hidden]{display:none!important}@media(min-width:1600px){.workspace{grid-template-columns:260px minmax(300px,1fr) 310px}main{padding:32px}.source-card img{width:80px;height:57px}.source-card strong{font-size:13px}}@media(max-width:1100px){.workspace{grid-template-columns:190px minmax(300px,1fr) 250px}main{padding:18px 14px}aside{padding:17px 12px}.privacy{display:none}header .iconbtn{margin-left:auto}.source-card{gap:6px}.source-card img{width:50px;height:43px}.view-tabs button{padding:6px}.stage{padding:10px}.steps{gap:8px;font-size:12px}.brand{font-size:13px}.canvas-toolbar{margin-bottom:14px}}@media(max-width:800px){header{padding:0 15px;height:68px;gap:10px}.brand{font-size:12px;letter-spacing:1px}.brand b{font-size:12px}.brandmark{font-size:36px}.beta{display:none}.primary span{display:none}.workspace{grid-template-columns:1fr}.sources{order:1;border-right:0;padding:14px;display:block}.sources .panel-heading{display:none}.import{width:auto;padding:8px 16px}.sources>p.small{display:inline;margin-left:10px}.source-list{flex-direction:row;overflow:auto;margin-top:12px}.source-card{min-width:160px;width:160px}.source-footer{display:none}#demoBtn{margin:8px 0 0}main{order:2;padding:16px;min-height:420px}.controls{order:3;border-left:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 25px;padding:20px}.controls .panel-heading{grid-column:1/-1}.stage{min-height:240px;max-height:none}#photo{max-height:none}.steps{display:none}.canvas-toolbar{gap:10px}footer{height:auto;padding:14px;flex-wrap:wrap}footer>span:first-child{display:none}}@media(max-width:440px){header .primary{font-size:12px;padding:8px}.controls{grid-template-columns:1fr}.sources>p.small{display:none}.view-tabs{width:100%}.view-tabs button{flex:1}#projectTitle{font-size:17px}.under-canvas{font-size:12px}.brandmark{display:none}}

label,.tool-row button,.view-tabs button,.source-card strong{font-size:14px}.source-card div{min-width:0}.source-card strong{overflow-wrap:anywhere}.source-card .role{font-size:12px}.source-card span{font-size:12px}.brand b{font-size:12px;letter-spacing:2px}@media(max-width:800px){.source-card{min-width:185px;width:185px}}

.automation{border-left:1px solid var(--line);padding:24px 20px}.automation h2{margin-top:12px;font-size:24px}.automation>p{font-size:14px;color:var(--muted);line-height:1.65}.auto-flow{display:grid;gap:15px;margin:28px 0;padding:20px 0;border-block:1px solid var(--line);font-size:14px;color:#d4d7db}.automation .notice{font-size:14px}.automation .primary{white-space:normal}.automation #autoSummary{color:var(--text)}#manualToggle{align-self:center;margin-top:12px;font-size:14px}#paint{cursor:default}@media(max-width:800px){.automation{order:3;border-left:0}}

.empty-state{text-align:center;line-height:1.6;padding:30px 15px}.empty-state h2{font-size:28px;margin:16px 0}.empty-state p{font-size:16px;color:var(--muted);margin-bottom:24px}.empty-state .small{font-size:13px;margin-top:18px}.import-error{border:1px solid #c07964;background:#402923;color:#ffdad0;padding:15px;margin-bottom:15px;border-radius:6px;font-size:15px}.stage.drop-active{border:2px dashed var(--accent);background:#2b2721}

#autoProfile{display:block;width:100%;margin:8px 0;padding:10px;background:var(--bg);color:var(--text);border:1px solid var(--line);border-radius:6px}.automation label[for="autoProfile"]{display:block;margin-top:20px;font-weight:600}

.right-panel{background:var(--panel);border-left:1px solid var(--line);min-width:0;padding:16px}.right-panel aside{border:0;padding:20px 0}.right-panel #manualToggle{margin:0 0 18px;font-size:15px}.source-settings{border-bottom:1px solid var(--line);padding-bottom:20px}.source-settings h2{font-size:16px}.source-settings label{margin-top:12px}.source-settings p{overflow-wrap:anywhere}.brand-logo{width:170px;height:59px;object-fit:contain}.pen-option{display:flex;gap:8px;align-items:center}#brushCursor{position:absolute;border:1px solid white;box-shadow:0 0 0 1px #0009;border-radius:50%;pointer-events:none;z-index:3;transform:translate(-50%,-50%)}.view-tabs{flex-wrap:wrap}@media(max-width:800px){.right-panel{order:3;border-left:0}.right-panel .controls{display:block}.brand-logo{width:125px;height:44px}.brand b{display:none}}

#paint{z-index:2;pointer-events:auto}#photo{pointer-events:none}#brushCursor{z-index:4}.image-badge{z-index:5}#divider{z-index:3}

/* Desktop editor: the viewport owns the frame; each sidebar owns its scroll. */
@media(min-width:801px){
 html,body{height:100%;overflow:hidden}
 body{height:100dvh;display:grid;grid-template-rows:78px minmax(0,1fr) 40px}
 .workspace{height:100%;min-height:0;overflow:hidden}
 .workspace>main,.sources,.right-panel{min-height:0}
 .sources,.right-panel{overflow-y:auto;overscroll-behavior-y:contain;scrollbar-gutter:stable}
 .sources>*{flex-shrink:0}
 .workspace>main{height:100%;overflow:hidden}
 .canvas-toolbar,.under-canvas,.compare-control{flex-shrink:0}
 .under-canvas{height:60px;min-height:60px}
 #status{max-height:36px;overflow-y:auto}
 #dimensions{white-space:nowrap}
 .stage{min-height:0;max-height:none;flex:1 1 0}
 #photo{max-height:none}
 .steps{display:none}
 .compare-control{min-height:40px}
 #compareControl[hidden]{display:flex!important;visibility:hidden;pointer-events:none}
 .right-panel:focus-visible{outline:2px solid var(--accent);outline-offset:-3px}
}

.base-settings{padding:20px 0;border-bottom:1px solid var(--line)}.base-settings h2{font-size:16px;margin-bottom:12px}.base-settings p{overflow-wrap:anywhere}
