:root{color-scheme:light;--ink:var(--ui-716b63,#716b63);--line:var(--ui-dad8d4,#dad8d4);--paper:var(--ui-fcfaf6,#fcfaf6);--muted:var(--ui-807e7a,#807e7a)}*{box-sizing:border-box}body{margin:0;background:var(--ui-f3f1ed,#f3f1ed);color:var(--ink);font:14px system-ui,-apple-system,sans-serif}header{padding:18px max(24px,env(safe-area-inset-left));border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:12px;background:var(--ui-fcfaf6,#fcfaf6)}header a{display:flex;gap:16px;align-items:center;font-size:36px;letter-spacing:3px;color:inherit;text-decoration:none}header a span{font-size:11px;letter-spacing:3px;border-left:1px solid var(--ui-c2c0bc,#c2c0bc);padding-left:16px}header small{display:block;font-size:14px;letter-spacing:3px;margin-top:4px}.experiment{font-size:11px;color:var(--muted)}main{max-width:1800px;margin:auto;padding:25px 24px}.intro{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:22px}h1{font-size:28px;font-weight:500;letter-spacing:2px;margin:9px 0}.eyebrow{font-size:10px;letter-spacing:2px;color:var(--muted)}p{line-height:1.7;color:var(--ui-72706c,#72706c);margin:7px 0}.samples{display:flex;align-items:end;gap:6px}label{display:block;font-size:11px;color:var(--ui-767470,#767470)}button,input,select{font:inherit;border:1px solid var(--ui-d0ceca,#d0ceca);background:var(--paper);color:var(--ink);border-radius:4px;padding:10px;min-height:44px}button{cursor:pointer;touch-action:manipulation}button:hover{background:var(--ui-e8e6e2,#e8e6e2)}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--ui-9f9d99,#9f9d99);outline-offset:2px}button[aria-pressed=true],button.primary{background:var(--ink);color:white;border-color:var(--ink)}button:disabled{opacity:.4;cursor:default}.toolbar{display:flex;gap:6px;flex-wrap:wrap}.divider{width:1px;background:var(--line);margin:3px 6px}#notice{min-height:40px;font-size:12px;margin:7px 0}#notice.error{color:var(--ui-615f5b,#615f5b)}.workspace{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) 230px;gap:14px}.panel{min-width:0;border:1px solid var(--line);border-radius:7px;background:var(--paper);overflow:hidden}.panelHead{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px;border-bottom:1px solid var(--line);min-height:67px}.panelHead h2{font-size:12px;font-weight:500;letter-spacing:1px;margin:0}.panelHead>div{display:flex;gap:4px;align-items:center}.panelHead button{font-size:11px;padding:6px 9px}.panelHead span{font-size:10px;padding:0 3px}.canvasWrap,#modelStage{position:relative;height:clamp(340px,47vw,630px);overflow:hidden;overscroll-behavior:none;background:var(--ui-ebe9e5,#ebe9e5)}#plan,#model{display:block;width:100%;height:100%;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}#modelStage{background:var(--ui-f1efeb,#f1efeb)}.canvasTag{position:absolute;left:14px;bottom:12px;font-size:9px;letter-spacing:1px;color:var(--ui-8a8884,#8a8884);pointer-events:none}.canvasHelp{padding:12px;margin:0;font-size:10px;min-height:64px}#wallConfirm{position:absolute;bottom:34px;left:10px;right:10px;background:#fbf9f5ed;border:1px solid var(--ui-c2c0bc,#c2c0bc);border-radius:5px;padding:8px;display:flex;gap:5px;align-items:center;justify-content:center;flex-wrap:wrap}#wallConfirm span{font-size:12px}#wallConfirm button{font-size:11px}#confirmWall{background:var(--ui-716b63,#716b63);color:white}#gpuError{position:absolute;inset:20%;font-size:14px}.inspector .panelHead{padding:12px}.inspector .panelHead button{font-size:10px}#emptyInspector,form,.summary{padding:14px}#emptyInspector p{font-size:12px}form p{font-size:12px;margin-top:0}form label{margin-bottom:10px}form input,form select{display:block;width:100%;margin-top:4px}form button{width:100%;margin:5px 0}.pair{display:flex;gap:8px}.pair label{width:50%}.danger{color:var(--ui-666460,#666460)}.summary{border-top:1px solid var(--line)}.summary p{font-size:12px}.summary p.small{font-size:10px;color:var(--ui-8b8985,#8b8985)}footer{padding:10px 24px 22px;font-size:10px;letter-spacing:1px;color:var(--ui-878581,#878581);display:flex;justify-content:space-between;gap:10px}[hidden]{display:none!important}
@media(max-width:1250px){.workspace{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.inspector{grid-column:1/-1;display:grid;grid-template-columns:220px minmax(0,1fr) 240px}.inspector .panelHead{align-items:start;flex-direction:column;justify-content:start;gap:12px;border:0}form{display:flex;flex-wrap:wrap;gap:8px}form>div{flex:1;min-width:220px}form button{width:auto;align-self:end}form>p{width:100%}.summary{border-left:1px solid var(--line);border-top:0}}
@media(max-width:700px){header{padding:12px 16px}header a{font-size:28px;gap:10px}header a span{padding-left:10px;font-size:9px}header small{font-size:12px}.experiment{font-size:9px;max-width:76px}main{padding:18px 12px}.intro{display:block;margin-bottom:14px}h1{font-size:24px}.samples{margin-top:15px}.samples label{flex:1}.samples select{width:100%}.toolbar{gap:4px}.toolbar button{font-size:11px;padding:7px 9px}.divider{display:none}.workspace{grid-template-columns:minmax(0,1fr)}.canvasWrap,#modelStage{height:360px;height:clamp(300px,53dvh,450px)}.panelHead{min-height:60px}.inspector{display:block;grid-column:auto}.inspector .panelHead{flex-direction:row;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}.summary{border-left:0;border-top:1px solid var(--line)}form>div{min-width:100%}form button{width:100%}footer{flex-direction:column;font-size:9px}.intro>div>p:last-child{font-size:12px}}
@media(max-height:500px) and (min-width:701px){main{padding-top:12px}.intro{margin-bottom:12px}.intro h1{font-size:22px}.canvasWrap,#modelStage{height:70dvh;min-height:230px}.panelHead{min-height:56px}.canvasHelp{font-size:9px}}

.contextTools{position:absolute;z-index:6;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) 44px;gap:6px;width:248px;max-width:calc(100% - 16px);padding:7px;border:1px solid var(--ui-bfbdb9,#bfbdb9);border-radius:7px;background:#fcfaf6f5;box-shadow:0 4px 16px #716b6321;touch-action:manipulation}.contextTools button{min-height:44px;min-width:0;padding:6px 4px;font-size:11px;white-space:nowrap}.contextTools #quickDismiss{grid-column:3;grid-row:1/span 2;align-self:start;font-size:21px}.contextTools #quickSide{grid-column:1;grid-row:1}.contextTools #quickMirror{grid-column:2;grid-row:1}.contextTools #quickUndo{grid-column:1;grid-row:2}.contextTools #quickDelete{grid-column:2;grid-row:2}.contextTools[data-door=false] #quickUndo,.contextTools[data-door=false] #quickDelete{grid-row:1}.canvasHistory{position:absolute;z-index:4;left:10px;top:10px;display:flex;gap:5px;padding:4px;border-radius:5px;background:#fbf9f5e8;border:1px solid var(--ui-cdcbc7,#cdcbc7)}.canvasHistory button{font-size:11px;padding:6px 10px;min-height:44px}

.furnitureCatalog{margin:0 0 12px}.furnitureCatalog summary{cursor:pointer;min-height:48px;padding:14px;font-size:13px;touch-action:manipulation}.furnitureCatalog summary span{font-size:10px;color:var(--ui-8a8884,#8a8884);margin-left:12px}.furnitureCards{display:grid;grid-template-columns:repeat(auto-fit,minmax(125px,1fr));gap:8px;padding:12px;max-height:270px;overflow:auto;overscroll-behavior:contain;border-top:1px solid var(--line)}.furnitureCards button{display:grid;justify-items:center;align-content:center;gap:3px;min-height:112px;padding:7px;font-size:12px}.furnitureCards svg{width:100%;height:64px}.furnitureCards small{font-size:9px;color:var(--ui-85837f,#85837f)}.canvasTabs{display:none}.contextTools #quickRotate{grid-column:1/span 2;grid-row:1}.contextTools[data-furniture=true] #quickUndo,.contextTools[data-furniture=true] #quickDelete{grid-row:2}#furnitureIssues{font-size:11px;color:var(--ui-74726e,#74726e)}.summary #stats{white-space:pre-line}
@media(max-width:900px){.workspace{display:block}.workspace>.panel{margin-bottom:12px}.canvasTabs{display:flex;position:sticky;top:0;z-index:10;gap:4px;padding:7px 0;background:var(--ui-f3f1ed,#f3f1ed)}.canvasTabs button{flex:1;min-height:46px;font-size:12px}body[data-pane=plan] .viewPanel,body[data-pane=plan] .inspector,body[data-pane=model] .planPanel,body[data-pane=model] .inspector,body[data-pane=properties] .planPanel,body[data-pane=properties] .viewPanel{display:none}.canvasWrap,#modelStage{height:clamp(320px,62dvh,650px)}.furnitureCards{grid-template-columns:repeat(auto-fit,minmax(100px,1fr));max-height:240px}.furnitureCards button{min-height:105px}.intro{margin-bottom:12px}#notice{font-size:11px;min-height:34px}.canvasHelp{min-height:0}.inspector{display:block}.inspector .panelHead{flex-direction:row;align-items:center;justify-content:space-between}.summary{border-left:0;border-top:1px solid var(--line)}}
@media(max-width:1100px) and (max-height:500px){.workspace{display:block}.workspace>.panel{margin-bottom:12px}.canvasTabs{display:flex;gap:4px;position:sticky;top:0;z-index:10;background:var(--ui-f3f1ed,#f3f1ed);padding:4px 0}.canvasTabs button{flex:1;min-height:44px}body[data-pane=plan] .viewPanel,body[data-pane=plan] .inspector,body[data-pane=model] .planPanel,body[data-pane=model] .inspector,body[data-pane=properties] .planPanel,body[data-pane=properties] .viewPanel{display:none}.canvasWrap,#modelStage{height:76dvh;min-height:240px}.intro{display:none}.furnitureCards{grid-template-columns:repeat(auto-fit,minmax(105px,1fr));max-height:180px}.canvasHelp{font-size:10px}}

.closureNotice{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px 12px;background:var(--ui-f0eeea,#f0eeea);border-bottom:1px solid var(--ui-cac8c4,#cac8c4);color:var(--ui-676561,#676561);font-size:11px;line-height:1.6}.closureNotice button{min-height:44px;min-width:96px;flex-shrink:0;padding:7px;font-size:11px;background:var(--ui-fdfbf7,#fdfbf7);border-color:var(--ui-afada9,#afada9);color:var(--ui-696763,#696763)}

#propertyFeedback{width:100%;font-size:12px;line-height:1.7;margin:4px 0;padding:9px 10px;background:var(--ui-eceae6,#eceae6);border-radius:4px;color:var(--ui-5e5851,#5e5851)}#propertyFeedback.error{background:var(--ui-f1efeb,#f1efeb);color:var(--ui-615f5b,#615f5b)}

.enterWalk{position:absolute;right:14px;bottom:16px;background:var(--ui-42403c,#42403c);color:var(--ui-ffffff,#ffffff);min-height:48px;z-index:3}.walking{overflow:hidden;overscroll-behavior:none}#walkOverlay{position:fixed;inset:0;z-index:1000;background:var(--ui-eeebe5,#eeebe5);overscroll-behavior:none}#walkOverlay[hidden]{display:none}#walkViewport,#walkViewport #modelStage{position:absolute;inset:0;width:100%;height:100%;min-height:0;max-height:none;border:0;border-radius:0}#walkViewport canvas{width:100%;height:100%;touch-action:none}#walkViewport .canvasTag{display:none}.walkTop{position:absolute;top:max(12px,env(safe-area-inset-top));left:max(16px,env(safe-area-inset-left));right:max(16px,env(safe-area-inset-right));display:flex;align-items:center;justify-content:space-between;gap:16px;pointer-events:none}.walkTop span,.walkTop button{background:#f9f7f3d9;backdrop-filter:blur(6px);padding:10px 14px;border-radius:6px}.walkTop button{pointer-events:auto;min-height:44px}.walkHelp{position:absolute;right:max(16px,env(safe-area-inset-right));bottom:max(14px,env(safe-area-inset-bottom));font-size:11px;line-height:1.7;background:#f9f7f3c9;padding:8px 12px;pointer-events:none;border-radius:6px}#walkJoystick{position:absolute;left:max(22px,env(safe-area-inset-left));bottom:max(24px,env(safe-area-inset-bottom));width:112px;height:112px;border:1px solid #5c5a5666;border-radius:50%;background:#f9f7f380;touch-action:none;overscroll-behavior:none}#walkJoystick span{display:block;position:absolute;left:34px;top:34px;width:44px;height:44px;border-radius:50%;background:#4c4a46b3;transform:translate(var(--jx,0px),var(--jy,0px));pointer-events:none}@media(max-width:500px){.walkHelp{max-width:185px;font-size:10px}.walkTop span{font-size:12px}}@media(max-height:450px){#walkJoystick{width:96px;height:96px;bottom:max(12px,env(safe-area-inset-bottom))}#walkJoystick span{left:26px;top:26px}.walkHelp{bottom:8px}}

/* A diagnostic must never become an invisible gesture blocker over the model. */
#gpuError{pointer-events:none;user-select:none;-webkit-user-select:none}

#furnitureFinishes h3{font-size:14px;font-weight:600}#furnitureFinishes fieldset{border:0;border-top:1px solid var(--line);margin:14px 0;padding:10px 0;display:flex;gap:6px;flex-wrap:wrap}#furnitureFinishes legend{font-size:12px;padding-right:8px}#furnitureFinishes button{display:flex;align-items:center;gap:5px;min-width:64px;min-height:44px;font-size:12px}#furnitureFinishes button i{width:17px;height:17px;border-radius:50%;border:1px solid #7777;display:inline-block}#furnitureFinishes button[aria-pressed=true]{outline:2px solid #9a805f;outline-offset:1px}.proFurnitureCards{max-height:320px;overflow:auto}#quickFinish[hidden],#furnitureFinishes[hidden]{display:none!important}
.proFurnitureCards>button[data-pro-group]{padding:0 0 10px;overflow:hidden}.proFurnitureCards>button[data-pro-group] img{display:block;width:100%;height:94px;object-fit:cover;margin:0 0 8px}.proFurnitureCards>button[data-pro-group] span,.proFurnitureCards>button[data-pro-group] small{display:block}.proGroupHeader{grid-column:1/-1;display:flex;align-items:center;gap:12px;position:sticky;top:0;background:var(--paper);z-index:2;padding:6px 0}.proGroupHeader button{min-height:44px;font-size:12px}.proGroupHeader strong{font-size:12px}#itemQuality{width:100%;margin-top:5px}#furnitureFields label small{display:block;font-size:11px;line-height:1.6;margin:5px 0 12px}
