@font-face{font-family:Editorial;src:url(italiana.ttf)}*{box-sizing:border-box}body{margin:0;background:#f7f4ee;color:#262720;font-family:Arial,Helvetica,sans-serif;font-size:13px}button,a,input,label{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer;border:0;background:none}button:disabled{opacity:.35;cursor:default}button:focus-visible,a:focus-visible,label:focus-within{outline:2px solid #916b43;outline-offset:3px}header{height:100px;margin:0 40px;border-bottom:1px solid #d6d0c6;display:flex;align-items:center;justify-content:space-between;gap:24px}header img{width:148px;height:60px;object-fit:contain}.edition{font-size:10px;letter-spacing:.28em}.prototype{font-size:9px;letter-spacing:.16em;display:flex;align-items:center;gap:9px}.prototype i{width:6px;height:6px;background:#8f7653;border-radius:50%}.prototype small{padding-left:30px;color:#8b867d}main{display:grid;grid-template-columns:minmax(0,1fr) 365px;min-height:760px}#stage{position:relative;min-width:0;background:radial-gradient(ellipse at center,#eee8df 0,#f7f4ee 70%);overflow:hidden;height:calc(100vh - 142px);min-height:760px}.stage-head{position:absolute;top:32px;left:40px;z-index:1;pointer-events:none}.eyebrow{font-size:9px;letter-spacing:.2em;color:#807665}h1{font-family:Editorial,Georgia,serif;font-weight:400;font-size:clamp(35px,3.8vw,56px);line-height:1.05;margin:15px 0}h1 em{font-weight:400;color:#8b6f4a;font-style:normal}.viewbar{display:flex;position:absolute;right:24px;top:32px;z-index:2;padding:4px;border:1px solid #d9d2c7;background:#f9f6f0de;border-radius:3px}.viewbar button{font-size:10px;padding:9px 12px}.viewbar button.active{background:#292b24;color:#faf7f0}#canvas{position:absolute;inset:0;touch-action:none}#canvas canvas{display:block;width:100%;height:100%}#loading{position:absolute;top:52%;left:0;right:0;text-align:center;color:#877052}.canvas-footer{position:absolute;bottom:66px;left:40px;right:24px;display:flex;align-items:center;justify-content:space-between;gap:10px;color:#847c70;font-size:10px;pointer-events:none}.canvas-footer button{pointer-events:auto;border-bottom:1px solid #b7a88f;padding:6px 0;color:#5b5346}.model-caption{position:absolute;bottom:28px;left:40px;display:flex;gap:28px;font-size:8px;letter-spacing:.14em;color:#766c5a}.model-caption i{display:inline-block;width:7px;height:7px;background:#bfa98a;margin-right:7px}.model-caption span+span i{background:#d6c9b5}aside{border-left:1px solid #d9d3c8;padding:29px 27px 23px;background:#faf8f3}.panel-intro h2{font-family:Editorial,Georgia,serif;font-size:36px;line-height:1.05;font-weight:400;letter-spacing:-.025em;margin:13px 0}.panel-intro p{color:#807b70;font-size:11px;line-height:1.7}.section-label{margin:24px 0 11px;font-size:8px;letter-spacing:.18em;display:flex;gap:13px;align-items:center}.section-label span{color:#ad9473}.roomtabs{display:flex;border:1px solid #d6d0c5}.roomtabs button{flex:1;padding:11px 5px;font-size:10px;border-right:1px solid #d6d0c5}.roomtabs button:last-child{border:0}.roomtabs button.active{background:#e7ddce}.partition-row{display:flex;align-items:center;justify-content:space-between;margin-top:13px;font-size:11px;cursor:pointer}.partition-row small{display:block;margin-top:5px;font-size:9px;color:#8d8578}.partition-row input{position:absolute;opacity:0;width:1px}.switch{display:block;width:31px;height:17px;border-radius:20px;background:#d7d1c7;padding:3px}.switch:after{content:'';display:block;background:#fff;width:11px;height:11px;border-radius:50%;transition:transform .2s}.partition-row input:checked+.switch{background:#927044}.partition-row input:checked+.switch:after{transform:translateX(14px)}.presets{display:grid;grid-template-columns:1fr 1fr;gap:7px}.presets button{padding:10px 6px;border:1px solid #ddd7cc;display:flex;flex-direction:column;align-items:center;gap:6px;font-size:10px;transition:background .2s}.presets button:hover{background:#eee7db}.presets button.active{border-color:#9e8057;background:#eee5d7}.presets svg{width:65px;height:33px;fill:none;stroke:#77634b;stroke-width:1.15}.text-action{width:100%;text-align:left;border-bottom:1px solid #d6c9b5;padding:11px 0 8px;font-size:10px}.text-action span{float:right;color:#8f7047}.micro{font-size:9px;line-height:1.5;color:#958a79}.mode-switch{display:flex;background:#eae5dc;padding:3px}.mode-switch button{flex:1;padding:8px 3px;font-size:10px}.mode-switch .active{background:#fffdf8;box-shadow:0 1px 4px #443b2512}.edit-help{font-size:10px;line-height:1.6;color:#827765}.selected-card{border:1px solid #ddd6c9;padding:10px 10px;background:#f4efe6}.selected-card>span{font-size:10px}.selected-card>div{display:flex;gap:11px;margin-top:10px}.selected-card button{padding:0;font-size:9px;text-decoration:underline;text-underline-offset:3px}.add-row{display:flex;align-items:center;gap:7px;margin-top:12px;font-size:9px;color:#867b69}.add-row button{padding:6px;background:#eee7dc;color:#544a3b}.savebar{display:flex;gap:7px;margin-top:24px}.primary{background:#292b24;color:#fffdf8;padding:13px 14px;text-align:left}.savebar .primary{flex:1;font-size:10px}.primary span{float:right}.savebar>button+button{border:1px solid #d7cfbf;font-size:10px}.bottom-actions{display:flex;align-items:center;justify-content:space-between;margin-top:11px;font-size:9px;color:#85765f}.bottom-actions button{padding:4px 0;font-size:9px}.import{cursor:pointer}.disclaimer{font-size:8px;line-height:1.7;color:#a09787;margin:20px 0 0}footer{height:42px;border-top:1px solid #ded7cb;margin:0 40px;display:flex;justify-content:space-between;align-items:center;color:#928675;font-size:8px;letter-spacing:.12em}#toast{position:fixed;left:50%;bottom:28px;transform:translateX(-50%) translateY(20px);background:#292b24;color:#fffcf4;padding:13px 22px;opacity:0;pointer-events:none;transition:.2s;z-index:30;font-size:12px;max-width:90vw;box-shadow:0 8px 35px #0002}#toast.show{opacity:1;transform:translateX(-50%)}#walk{position:absolute;left:40px;bottom:102px;font-size:9px;z-index:3;color:#867763}#walk div{display:flex;gap:6px;margin-top:9px}#walk button{border:1px solid #baa78c;background:#f9f5ece8;padding:9px 16px;font-size:17px}dialog{border:1px solid #d5c9b7;background:#faf7ef;padding:30px;max-width:400px;color:#292b24}dialog::backdrop{background:#201c1580}dialog h2{font:36px Editorial,Georgia;margin:16px 0}dialog p{font-size:12px;line-height:1.7;color:#766b5a}dialog form>div{display:flex;justify-content:space-between;margin-top:22px}dialog button{padding:12px 18px}body.editing #canvas{cursor:grab}body.dragging #canvas{cursor:grabbing}
@media(min-width:1500px){main{grid-template-columns:minmax(0,1fr) 410px}aside{padding:34px 38px}#stage{min-height:840px}.panel-intro h2{font-size:42px}.presets button{padding:14px}.section-label{margin-top:27px}}
@media(max-width:1000px){header{margin:0 22px}.edition{display:none}.stage-head{left:22px;top:25px}h1{font-size:37px}.viewbar{top:158px;left:22px;right:auto}main{grid-template-columns:minmax(0,1fr) 320px}aside{padding:24px 20px}.canvas-footer{left:22px}.model-caption{left:22px;gap:12px;font-size:7px}.canvas-footer>span{max-width:210px;line-height:1.6}#walk{left:22px}}
@media(max-width:700px){header{height:75px}header img{width:115px;height:48px}.prototype{font-size:7px}.prototype small{display:none}main{display:block;min-height:0}#stage{height:68vh;min-height:500px}.stage-head{top:20px}h1{font-size:32px}.eyebrow{font-size:7px}.viewbar{top:139px}.canvas-footer{bottom:52px;font-size:8px}.model-caption{bottom:23px}aside{border-left:0;border-top:1px solid #d7cdbf;padding:27px 24px}.panel-intro h2{font-size:35px}.panel-intro h2 br{display:none}.presets{grid-template-columns:repeat(4,1fr)}.presets button{font-size:9px}.presets svg{width:49px}.roomtabs button{padding:13px}.savebar{margin-top:20px}.bottom-actions{margin-top:16px}footer{height:auto;padding:18px 0;line-height:1.8;margin:0 24px;gap:20px}footer span{max-width:48%}.model-caption{font-size:6px}#walk{bottom:90px}#walk>span{max-width:220px;display:block}.disclaimer{font-size:9px}.edition{display:none}}

.presets button[hidden]{display:none}.add-row{flex-wrap:wrap}

@media (min-width:701px){
  main{height:calc(100vh - 142px);height:calc(100dvh - 142px);min-height:0;grid-template-rows:minmax(0,1fr)}
  #stage{height:100%;min-height:0}
  aside{min-height:0;overflow-y:auto;overscroll-behavior-y:contain}
}
@media (max-width:700px){
  #stage{position:sticky;top:0;z-index:5;height:46vh;height:46dvh;min-height:0}
}
