*{box-sizing:border-box}:root{--pink:#f6dde5;--accent:#d58ca1;--line:#ece9e8;--muted:#87807e}body{margin:0;background:white;color:#171717;font:14px Arial,sans-serif}button,input,select,textarea{font:inherit}button,a,input,select{outline-offset:4px}button{cursor:pointer;border:1px solid var(--line);background:white;color:#171717;border-radius:12px;min-height:42px;padding:10px 15px;font-weight:600}button:hover{background:#f9edf1}button:disabled{opacity:.45;cursor:default}button.dark,.add{background:#171717;color:white;border-color:#171717}button.active{background:var(--pink);border-color:var(--pink)}[hidden]{display:none!important}a{color:inherit}h1,h2,h3,p{margin-top:0}h2{font-size:18px;letter-spacing:-.5px}h3{font-size:16px;line-height:1.4}label{display:block;font-size:12px;font-weight:600;margin:12px 0;color:#635c59}input,select,textarea{display:block;width:100%;padding:12px;border:1px solid #e5e0de;border-radius:10px;background:white;color:#171717;margin-top:7px;min-width:0}input[type=color]{height:43px;padding:5px}input[type=range]{padding:0;accent-color:var(--accent)}input[type=checkbox]{width:auto;display:inline;margin:0;accent-color:#171717}input[type=file]{font-size:12px}summary{cursor:pointer;font-weight:600;padding:15px 0}details{border-top:1px solid var(--line)}.two,.three{display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}.three{grid-template-columns:repeat(3,minmax(0,1fr))}.muted{font-size:12px;color:var(--muted);line-height:1.6}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:700;color:#9d7d85}.welcome{height:100svh;min-height:620px;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center}.welcome-word{position:absolute;top:calc(24% - 15pt);left:50%;transform:translateX(-50%);font:700 86pt Arial,sans-serif;letter-spacing:-6px;z-index:1}.welcome canvas{position:relative;z-index:2;width:min(850px,95vw);height:68vh;max-height:600px;pointer-events:none;margin-top:35px}.welcome-bottom{position:absolute;z-index:3;bottom:6%;text-align:center}.welcome-bottom p{color:#807776;font-size:14px;margin-bottom:24px}.start{width:190px;min-height:56px;font-size:16px;text-align:left;padding:16px 24px;border-radius:40px}.start span{float:right;color:#f0bdce}.setup{min-height:100svh;padding:40px}.back{border:0;background:transparent}.setup-inner{max-width:520px;margin:55px auto}.setup h1{font-size:38px;letter-spacing:-1.7px;margin:18px 0}.setup p{color:var(--muted);line-height:1.6;margin-bottom:30px}.upload-card{display:grid;grid-template-columns:48px 1fr 25px;text-align:left;align-items:center;gap:10px 14px;width:100%;padding:25px;border-color:#e9c7d2;background:#fff8fa}.upload-icon{grid-row:span 2;background:var(--pink);border-radius:13px;font-size:28px;text-align:center;padding:8px}.upload-card b{font-size:18px}.upload-card>span:nth-child(3){grid-column:2;font-size:12px;color:var(--muted);font-weight:400}.card-arrow{grid-column:3;grid-row:1/3;font-size:22px}.or{display:flex;align-items:center;gap:14px;color:#9a9090;font-size:12px;margin:28px 0}.or:before,.or:after{content:'';flex:1;height:1px;background:var(--line)}#dimensionForm .dark{width:100%;margin-top:15px;min-height:52px}.resume{display:block;width:100%;border:0;margin-top:20px;color:#8c6571;background:white;font-size:13px}header{height:82px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:26px;padding:0 32px}.logo{text-decoration:none;font:700 25px Arial;letter-spacing:-1.3px}.project{font-size:12px;color:var(--muted)}.headright{margin-left:auto;display:flex;align-items:center;gap:10px}#saved{font-size:10px;color:#99918d}.headright button{font-size:12px;min-height:36px}.subhead{padding:28px 32px 24px;display:flex;justify-content:space-between;align-items:center;gap:20px}.subhead h1{font-size:29px;letter-spacing:-1px;margin:10px 0 0}.subactions{display:flex;gap:10px}.subactions button{min-height:48px}main{display:grid;grid-template-columns:260px minmax(340px,1fr) 240px;border-top:1px solid var(--line)}.library,.details{padding:24px 20px}.library{border-right:1px solid var(--line)}.details{border-left:1px solid var(--line)}.paneltitle{display:flex;align-items:center;justify-content:space-between;gap:8px}.paneltitle h2{margin-bottom:12px}.paneltitle>span{font-size:10px;color:#999}.add{width:100%;min-height:54px;font-size:14px;margin:10px 0 20px}.add:hover{background:#382e32}.person-add{width:100%;margin:-8px 0 20px;background:#fff4f8;border-color:#f0d5df;font-size:12px;min-height:45px}.filters{display:flex;gap:5px;margin-bottom:18px}.filters button{border:0;min-height:34px;padding:8px 10px;font-size:11px;border-radius:30px}.piece{display:grid;grid-template-columns:64px 1fr;gap:12px;padding:13px 9px;border-radius:12px;margin-bottom:8px;cursor:pointer;border:1px solid transparent}.piece:hover{background:#fcf7f8}.piece.selected{background:#fff6f8;border-color:#f1d5df}.thumb{width:64px;height:70px;display:flex;align-items:center;justify-content:center;background:#f5f2ef;border-radius:9px;overflow:hidden}.thumb img{width:100%;height:100%;object-fit:contain}.thumb svg{width:58px;height:58px}.piece b{font-size:12px;line-height:1.4;display:block}.piece small{display:block;font-size:10px;color:#9a9290;margin-top:4px}.dimensions{font-size:10px;color:#9a9290;margin-top:5px}.placementtoggle{font-size:10px;margin:9px 0 0;font-weight:400}.workspace{min-width:0;padding:24px 18px 0}.roomnav{margin-bottom:20px}.roomnav>span{display:block;font-size:10px;letter-spacing:1px;color:#9a9290;text-transform:uppercase;margin-bottom:10px}#roomTabs{display:flex;gap:8px;overflow:auto}#roomTabs button{white-space:nowrap;min-height:49px;padding:13px 20px;font-size:14px}.toolbar{display:flex;justify-content:space-between;gap:10px;margin-bottom:5px;align-items:center}.switch{display:flex;gap:4px}.switch button{border:0;min-height:40px;font-size:12px;background:white;color:#999}.switch button.active{color:#171717;background:#f5f3f2}.toolbar>button{border:0;font-size:11px;color:#9a9290}.scene{height:530px;min-height:420px;position:relative;background:white;overflow:hidden}.scene>canvas{width:100%;height:100%;display:block;touch-action:none}.roomlabel{position:absolute;top:20px;left:15px;font-size:12px;display:flex;gap:10px;align-items:center;color:#8e8582;pointer-events:none}#roomLabel{color:#393333;font-weight:600}#roomArea{font-size:10px}.statusdot{width:6px;height:6px;background:#e6abc0;border-radius:50%}.scenenote{display:none}.scenecontrols{position:absolute;right:10px;bottom:60px;display:flex;gap:5px}.scenecontrols button{min-height:34px;padding:8px 12px;font-size:12px;border-radius:9px}.instruction{position:absolute;bottom:18px;left:0;right:0;text-align:center;font-size:10px;color:#a19895;pointer-events:none}.instruction span{margin:0 8px}.bottom{display:flex;justify-content:space-between;align-items:center;padding:22px 0;border-top:1px solid var(--line);gap:15px}.bottom b{font-size:12px}.bottom p{font-size:10px;color:#999;margin:7px 0}.bottom button{font-size:11px}.check{color:var(--accent);margin-right:8px}.roomsettings{border:0;border-bottom:1px solid var(--line);margin-bottom:23px}.roomsettings summary{padding:0 0 20px;font-size:12px;color:#8c807c}.roomsettings .paneltitle{display:none}.roomsettings label:has(#roomSelect){display:none}.selectiontitle{margin-bottom:8px}.selectedphoto{width:100%;height:120px;object-fit:contain;border-radius:12px;background:#faf8f6;margin-bottom:15px}#selected h3{font-size:14px}#selected .three label{font-size:9px}#selected input{padding:9px}#selected input[type=color]{padding:4px}.sourcechip{display:none}.selectedactions{display:flex;gap:5px;flex-wrap:wrap}.selectedactions button{font-size:10px;padding:8px 10px;min-height:34px}.movepiece{padding-top:8px}.movepiece button{width:100%;font-size:11px;background:#fff6f8;border-color:#f0dae2}.service{font-size:10px;color:#999;margin-top:20px;line-height:1.6}#checks{font-size:11px;line-height:1.6;color:#877b76}hr{border:0;border-top:1px solid var(--line);margin:23px 0}footer{border-top:1px solid var(--line);padding:17px 32px;display:flex;justify-content:space-between;color:#aaa09d;font-size:10px}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:#171717;color:white;padding:15px 24px;border-radius:14px;z-index:100;opacity:0;pointer-events:none;max-width:85vw;font-size:13px}dialog{border:1px solid var(--line);border-radius:22px;padding:35px;width:640px;max-width:94vw;max-height:90vh;overflow:auto;box-shadow:0 25px 100px #38212a20}dialog::backdrop{background:#29212438;backdrop-filter:blur(5px)}dialog h2{font-size:28px;letter-spacing:-1px;margin:12px 0}dialog p{color:#8c807b;font-size:13px;line-height:1.6}dialog .close{position:absolute;right:16px;top:12px;border:0;font-size:25px;min-height:35px;padding:4px 10px;background:transparent}.urlrow{display:flex;gap:10px;align-items:end}.urlrow label{flex:1}.urlrow button{margin-bottom:12px}.importstatus{padding:12px 15px;background:#fff5f8;border-radius:12px;font-size:11px!important;line-height:1.7}.reviewhero{display:flex;gap:18px;margin:20px 0}.reviewhero img{width:130px;height:130px;object-fit:contain}.reviewhero h3{margin-top:10px}.tag{font-size:9px;color:#9e7a87;font-weight:700;letter-spacing:1px}.reviewhero p{font-size:11px}#photoChoices{display:flex;gap:7px;overflow:auto}#photoChoices button{padding:4px;flex-shrink:0}#photoChoices img{width:58px;height:58px;object-fit:contain}.modelpreview{position:relative;background:#faf8f6;border-radius:14px;margin:20px 0;overflow:hidden}.modelpreview canvas{width:100%;height:260px;display:block}.modelpreview span{display:block;padding:10px;font-size:10px;text-align:center;color:#9a8981}.modelcompare{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:stretch}.modelcompare figure{margin:20px 0;background:#faf8f6;border-radius:14px;display:flex;flex-direction:column;justify-content:center;overflow:hidden}.modelcompare figure img{width:100%;height:235px;object-fit:contain}.modelcompare figcaption{text-align:center;font-size:11px;color:#9a8981;padding:10px}.dialogbuttons{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}.outline{width:100%;font-size:12px;margin-top:10px}.wide{width:1020px}.planreview{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:25px}.planreview canvas{width:100%;height:auto;border:1px solid var(--line);border-radius:12px}#costDetails{background:#fff5f8;padding:20px;border-radius:12px;line-height:1.7}.costrow{display:flex;justify-content:space-between;padding:8px 0;font-size:12px}#collage{position:absolute;inset:0;overflow:auto;display:grid;grid-template-columns:repeat(2,1fr);gap:15px;padding:15px;background:white}.collagecard{padding:15px;border:1px solid var(--line);border-radius:15px}.collagecard img{width:100%;height:160px;object-fit:contain}.collagecard b{font-size:12px}.collagecard p{font-size:10px;color:#9a9290}.nophoto{height:160px;padding:30px;background:#faf7f5;text-align:center}.nophoto p{line-height:1.6}#renderError{position:absolute;inset:40px;padding:30px;background:#fff6f8;line-height:1.8}.visualaccept{font-size:13px;line-height:1.7;padding:15px;background:#fff4f8;border-radius:12px}.visualaccept input{margin-right:8px}#personDialog #placePerson{width:100%;min-height:50px}#personPreview{height:290px}
@media(min-width:1500px){main{grid-template-columns:290px minmax(500px,1fr) 270px}.scene{height:620px}.library,.details{padding:28px}.workspace{padding:28px 30px 0}}@media(max-width:1100px){header{padding:0 24px}.project,#saved{display:none}main{grid-template-columns:230px minmax(0,1fr)}.details{grid-column:1/-1;border-left:0;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:15px 30px}.details>.paneltitle,.details>hr,.details>.service{display:none}.roomsettings{grid-column:1/-1;margin:0}#selected{grid-column:1;grid-row:2/5}.selectedphoto{height:90px}.scene{height:500px}.subhead h1{font-size:25px}.subhead{padding:25px 24px}.subactions button{font-size:12px}.bottom p{display:none}}@media(max-width:650px){.welcome-word{font-size:60px;letter-spacing:-4px;top:calc(25% - 15pt)}.welcome canvas{height:55vh}.welcome-bottom{bottom:9%}.welcome-bottom p{font-size:12px}.setup{padding:20px}.setup-inner{margin:45px auto}.setup h1{font-size:30px}.upload-card{padding:20px}.upload-card b{font-size:15px}header{height:65px;padding:0 18px}.logo{font-size:21px}.headright button{font-size:10px;padding:8px}.subhead{padding:22px 18px;display:block}.subhead h1{font-size:26px}.subactions{margin-top:18px}.subactions button{flex:1}main{display:flex;flex-direction:column}.workspace{order:0;padding:20px 14px 0}.library{order:1;border:0;border-top:1px solid var(--line)}.details{order:2;display:block}.scene{height:430px}.instruction{font-size:9px;padding:0 15px}.bottom{padding:18px 0}.add{font-size:16px}.piece{grid-template-columns:80px 1fr}.thumb{width:80px;height:80px}.piece b{font-size:14px}.details>.paneltitle{display:flex}.details>.service,.details>hr{display:block}.roomsettings{margin-bottom:25px}.toolbar{gap:4px}.switch button{padding:9px;font-size:11px}footer{padding:18px;gap:20px;line-height:1.6}dialog{padding:28px 20px}.planreview{grid-template-columns:1fr}.reviewhero img{width:90px;height:100px}}@media(max-width:550px){.modelcompare{grid-template-columns:1fr}.modelcompare figure img{height:180px}}

/* Compact furniture library and image-only moodboard. */
main{grid-template-columns:310px minmax(340px,1fr) 240px}.library{padding:22px 16px}.piece{grid-template-columns:43px minmax(0,1fr) 25px;gap:10px;padding:10px 7px;margin-bottom:4px;align-items:center}.thumb{width:43px;height:46px}.thumb svg{width:38px;height:38px}.piece b{font-size:12px;line-height:1.3}.piece small{display:none}.piece .dimensions{font-size:10px;margin-top:4px}.placementtoggle{margin:5px 0 0}.remove-piece{border:0;background:transparent;color:#a78991;font-size:20px;padding:2px;min-height:28px;align-self:start}.remove-piece:hover{color:#a32d51;background:#f8e6ed}.undo-delete{width:100%;margin:-8px 0 15px;font-size:12px}.floor-picker{display:flex;align-items:center;justify-content:flex-end;gap:8px;font-size:11px;margin:5px 0;color:#9a8981}.floor-picker select{width:auto;font-size:11px;min-height:32px;padding:6px 25px 6px 10px;margin:0}.collage-cluster{width:min(90%,720px);margin:auto;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:0}.collage-cluster img{width:clamp(110px,32%,230px);height:180px;object-fit:contain;transform:rotate(var(--turn,0deg));cursor:pointer;margin:-8px;border:0;background:transparent;filter:drop-shadow(0 5px 5px #3c242410)}#collage{display:flex;align-items:center;justify-content:center;padding:25px;min-height:100%;overflow:auto}.cutout-input{font-size:10px}.cutout-input input{font-size:10px;padding:7px}.scene{height:540px}
@media(min-width:1500px){main{grid-template-columns:340px minmax(500px,1fr) 270px}}@media(max-width:1100px){main{grid-template-columns:280px minmax(0,1fr)}.piece{grid-template-columns:40px minmax(0,1fr) 22px}.thumb{width:40px;height:43px}.workspace{padding-left:12px;padding-right:12px}}@media(max-width:650px){main{display:flex}.piece{grid-template-columns:42px minmax(0,1fr) 25px}.thumb{width:42px;height:46px}.piece b{font-size:13px}.collage-cluster img{height:130px}.floor-picker{justify-content:flex-start}}

/* Fixed editor with independent side-panel scrolling. */
#editor{height:100dvh;display:flex;flex-direction:column;overflow:hidden}#editor header{height:90px;flex:0 0 90px}.brand{display:flex;flex-direction:column;align-items:flex-start;gap:5px}.logo{font-size:30px;line-height:1;letter-spacing:-1.5px}.brand .project{display:block;font-size:11px;letter-spacing:.15px;color:#938582}.headright{gap:8px}.headright button{font-size:11px}#editor main{flex:1;min-height:0;overflow:hidden}#editor .library,#editor .details{height:100%;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#e4cfaa transparent}#editor .workspace{height:100%;min-height:0;display:flex;flex-direction:column;overflow:hidden}#editor .roomnav,#editor .toolbar,#editor .floor-picker,#editor .bottom{flex-shrink:0}#editor .scene{flex:1;min-height:150px;height:auto}#editor .bottom{padding:13px 0}#editor footer{flex:0 0 35px;padding:11px 30px}#personDialog{width:680px}.character-presets,.skin-picker{border:0;padding:0;margin:15px 0}.character-presets legend,.skin-picker legend{font-weight:600;color:#635c59;font-size:12px;margin-bottom:10px}.character-presets{display:flex;gap:10px}.character-presets button{min-width:110px}.skin-picker #skinChoices{display:flex;flex-wrap:wrap;gap:12px}#skinChoices button{background:var(--skin);width:35px;height:35px;min-height:35px;padding:0;border-radius:50%;border:3px solid white;box-shadow:0 0 0 1px #ddd}#skinChoices button[aria-pressed=true]{box-shadow:0 0 0 3px #d58ca1}#personDialog .modelpreview{position:sticky;top:-35px;z-index:1}#personPreview{height:230px}
@media(min-width:701px) and (max-width:1100px){#editor main{grid-template-columns:235px minmax(220px,1fr) 205px}#editor .details{grid-column:auto;display:block;border-left:1px solid var(--line);border-top:0;padding:20px 13px}#editor .details>.paneltitle{display:flex}#editor .details>.service,#editor .details>hr{display:block}#editor .roomsettings{margin-bottom:20px}#editor .workspace{padding-top:20px}#roomTabs button{font-size:12px;padding:10px 12px;min-height:42px}.headright #saved{display:none}.headright button{padding:8px 10px;font-size:10px}.instruction{font-size:9px}.bottom b{font-size:10px}}
@media(max-width:700px){#editor{height:auto;min-height:100dvh;overflow:visible}#editor header{height:auto;min-height:105px;flex-wrap:wrap;padding:15px;gap:12px}.headright{margin-left:0;flex-wrap:wrap}.headright button{font-size:10px}#editor main{display:flex;overflow:visible}#editor .workspace{height:65dvh;min-height:430px}#editor .library,#editor .details{height:auto;max-height:60dvh;overflow:auto}#editor footer{min-height:35px}.logo{font-size:28px}}

.viewactions{display:flex;align-items:center;gap:6px}.viewactions button{font-size:11px;min-height:36px;padding:8px 11px}.viewactions #reset{border:0;color:#9a8981}

.library-browse{display:block;margin:-8px 0 16px;text-align:center;font-size:12px;color:#8d5c70;text-decoration:none}.library-browse:hover{text-decoration:underline}

/* Compact product importer */
#addDialog #importStatus,#addDialog #customBuildStatus,#addDialog #libraryModelStatus,#addDialog #modelQuality,#addDialog #visualNotes,#addDialog #dimensionEvidence,#addDialog #reviewDescription{display:none!important}
#addDialog .product-image-upload{margin-top:18px;margin-bottom:20px}#addDialog .product-image-upload input{margin-top:8px}#addDialog .clean-accept{background:transparent;padding:8px 0;border-radius:0}#addDialog .reviewhero{margin:10px 0}#addDialog .reviewhero .tag{display:none}#addDialog .custombuild{margin:12px 0}#addDialog .modelcompare figure:has(img:not([src])){display:none}#addDialog .modelcompare:has(figure img:not([src])){grid-template-columns:1fr}

#addDialog .muted,#addDialog details>p{display:none}#addDialog .tag:empty{display:none}

.product-name-editor{display:block;font-size:12px;color:#777;margin:18px 0}.product-name-editor input{display:block;width:100%;font-size:15px;font-weight:700;margin-top:8px;padding:12px;border:1px solid #e5e1e1;border-radius:10px;color:#171717;background:white}
