/* v518: the viewport owns its height, including fullscreen. */
html.design-page518,html.design-page518 body{height:100%;height:100dvh;overflow:hidden}
.design-page518 body{display:flex;flex-direction:column}
.design-page518 #decorStudio{flex:1;min-height:0;display:flex;flex-direction:column}
.design-page518 .pl{height:100%!important;min-height:0;flex:1;padding:0!important}
.design-page518 .pl .pl-header{grid-template-columns:110px minmax(180px,1fr) auto;padding:10px 16px!important;gap:10px;flex-shrink:0;min-height:0}
.design-page518 .pl .pl-header h2{font-size:23px!important}
.design-page518 .pl .pl-home{padding:0;border:0}.design-page518 .pl .pl-home img{max-width:105px}
.design-page518 .pl .pl-actions{grid-column:auto;gap:5px;max-width:850px}
.design-page518 .pl .pl-actions button,.design-page518 .pl .pl-actions a{font-size:14px!important;padding:8px 10px;min-height:40px!important}
.design-page518 .design-help514{padding:7px 16px;margin:0;border-radius:0;font-size:14px;flex-shrink:0}
.design-page518 .pl .pl-shell{grid-template-columns:150px minmax(0,1fr) 310px;flex:1;min-height:0!important;height:auto!important;overflow:hidden}
.design-page518 .pl.pl-rooms-hidden513 .pl-shell{grid-template-columns:minmax(0,1fr) 310px}
.design-page518 .pl .pl-stage{min-width:0;min-height:0;overflow:hidden}
.design-page518 .pl .pl-toolbar{padding:8px 10px;gap:5px;min-height:0;flex-wrap:wrap}
.design-page518 .pl .pl-toolbar button{padding:7px 10px;font-size:14px;min-height:38px}
.design-page518 .pl .pl-toolbar select{font-size:14px;min-height:38px;max-width:120px}
.design-page518 .pl .perf514{font-size:12px;padding:6px 8px}
.design-page518 .pl .pl-axis513 small{display:none}
.design-page518 .pl .pl-view{height:auto!important;min-height:160px!important;flex:1 1 0;overflow:hidden}
.design-page518 .pl .pl-view .ds-fps-wrap,.design-page518 .pl .pl-view .ds-fps-view{position:absolute;inset:0;width:100%!important;height:100%!important;min-height:0!important;max-height:none!important}
.design-page518 .pl .pl-view canvas{display:block;width:100%!important;height:100%!important}
.design-page518 .pl .pl-plan{display:block;width:100%;height:100%}
.design-page518 .pl .pl-rooms,.design-page518 .pl .pl-settings{min-height:0;max-height:none;overflow:auto}
.design-page518 .pl .pl-rooms{padding:12px 8px}.design-page518 .pl .pl-rooms button{padding:10px 8px}
.design-page518 .pl .pl-rooms span,.design-page518 .pl .pl-rooms b{font-size:14px}
.design-page518 .pl .pl-rooms small,.design-page518 .pl .pl-legend{font-size:12px}
.design-page518 .pl .pl-settings{overflow:hidden}.design-page518 .pl .pl-panel{max-height:none!important;min-height:0;overflow:auto;padding:16px}
.design-page518 .pl .pl-settings nav{padding:10px;gap:5px}.design-page518 .pl .pl-settings nav button{font-size:14px;min-height:40px}
.design-page518 .pl .pl-status{padding:6px 12px;flex-wrap:wrap;gap:10px;font-size:12px}
.design-page518 .pl .pl-surface-tabs{padding:6px 10px}.design-page518 .pl .pl-surface-tabs button{padding:6px 10px;min-height:36px;font-size:13px}
.design-page518 .pl .pl-footnote{font-size:11px;padding:0 12px 5px}
.pl .pl-view:fullscreen{width:100vw!important;height:100dvh!important;min-height:0!important;max-height:none!important;flex:none!important}
.pl .pl-view:fullscreen .ds-fps-wrap,.pl .pl-view:fullscreen .ds-fps-view{position:absolute;inset:0;width:100%!important;height:100%!important;min-height:0!important;max-height:none!important}
.pl-stair-symbol513{cursor:move;touch-action:none}.pl-stair-symbol513:focus{outline:none}.pl-stair-symbol513:focus>polygon{stroke:#27377b;stroke-width:.07}
.pl-stair-handle518{cursor:crosshair;fill:#fff;stroke:#27377b;stroke-width:.035}
.pl-stairs513 details[data-selected=true]{border-color:#27377b;background:#fff;padding:10px;border-radius:10px}
@media(min-width:1900px){.design-page518 .pl .pl-shell{grid-template-columns:165px minmax(0,1fr) 340px}.design-page518 .pl.pl-rooms-hidden513 .pl-shell{grid-template-columns:minmax(0,1fr) 340px}}
@media(min-width:901px) and (max-width:1150px){.design-page518 .pl .pl-header{grid-template-columns:100px minmax(0,1fr)}.design-page518 .pl .pl-actions{grid-column:1/-1;justify-content:flex-start}.design-page518 .pl .pl-shell{grid-template-columns:125px minmax(0,1fr) 280px}.design-page518 .pl.pl-rooms-hidden513 .pl-shell{grid-template-columns:minmax(0,1fr) 280px}.design-page518 .pl .pl-footnote{display:none}}
@media(max-width:900px){html.design-page518,html.design-page518 body{height:auto;min-height:100dvh;overflow:auto}.design-page518 .pl .pl-header{grid-template-columns:95px minmax(0,1fr)}.design-page518 .pl .pl-actions{grid-column:1/-1;justify-content:flex-start}.design-page518 .pl .pl-header h2{font-size:20px!important}.design-page518 .pl .pl-shell{display:flex!important;overflow:visible!important}.design-page518 .pl .pl-stage{flex:none!important;overflow:hidden!important;min-height:0!important}.design-page518 .pl .pl-view{height:clamp(320px,54dvh,640px)!important;min-height:0!important;flex:none!important}.design-page518 .pl .pl-rooms{max-height:100px;overflow:auto}.design-page518 .pl.pl-rooms-hidden513 .pl-rooms{display:none!important}.design-page518 .pl .pl-legend{display:none}.design-page518 .pl .pl-settings{flex:none!important}.design-page518 .pl .pl-panel{max-height:none!important}.design-page518 .pl .pl-footnote{display:none}.design-page518 .pl .pl-toolbar{flex-wrap:wrap}.design-page518 .pl .pl-tools{flex-wrap:wrap}.design-page518 .pl .pl-status{font-size:11px}}
/* Exterior: reserve most of the workspace for the model. */
body:has(#scene) main{grid-template-columns:minmax(0,1fr) 340px}
body:has(#scene) header{padding:12px 18px;gap:14px}body:has(#scene) header h1{font-size:23px}body:has(#scene) header nav>*{font-size:14px!important;padding:8px 11px}
body:has(#scene) .workspace{padding:16px;min-width:0}body:has(#scene) #scene{height:clamp(400px,calc(100dvh - 290px),900px)}
body:has(#scene) aside{padding:20px}body:has(#scene) aside h2{font-size:23px}
.plan-floors518{background:#eef2fa;border:1px solid #d6deec;border-radius:12px;padding:12px;margin-bottom:20px;font-size:14px}.plan-floors518 b,.plan-floors518 span{display:block}.plan-floors518 a{text-decoration:underline}
.walk-controls514{padding:9px;font-size:13px}.walk-controls514 button{font-size:15px;min-height:40px}.walk-controls514 span{font-size:13px}
@media(max-width:1100px){body:has(#scene) main{grid-template-columns:minmax(0,1fr) 300px}}
@media(max-width:900px){body:has(#scene) main{grid-template-columns:1fr}body:has(#scene) #scene{height:clamp(340px,56dvh,650px)}body:has(#scene) .workspace{position:static;padding:12px}}

.design-page518 .pl:not(.pl-edit518) .pl-axis513{display:none}
@media(min-width:901px) and (max-width:1500px){.design-page518 .pl .pl-toolbar .perf514{display:none}.design-page518 .pl .pl-home img{max-width:88px}.design-page518 .pl .pl-home:after{font-size:12px}.design-page518 .pl .pl-header{padding:8px 14px!important}.design-page518 .pl .pl-header h2{font-size:21px!important}.design-page518 .pl .pl-footnote{display:none}}
.design-page518 .pl .pl-message{position:fixed!important;top:auto!important;bottom:14px;left:50%!important;right:auto!important;transform:translateX(-50%);width:max-content;max-width:calc(100vw - 32px);z-index:100;padding:10px 16px;border-radius:10px;pointer-events:none;box-shadow:0 5px 24px #24345a22}

/* v519: independent exterior panes with no chained scrolling. */
@media(min-width:901px){
html:has(#scene),body:has(#scene){height:100%;height:100dvh;overflow:hidden}
body:has(#scene){display:flex;flex-direction:column}
body:has(#scene)>header{flex:none}
body:has(#scene)>main{flex:1;min-height:0;overflow:hidden;align-items:stretch}
body:has(#scene) .workspace,body:has(#scene) main>aside{position:relative;top:auto;height:100%;min-height:0;max-height:none;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}
body:has(#scene) #scene{height:clamp(340px,calc(100dvh - 300px),860px)}
}
body:has(#scene) .viewtop,body:has(#scene) .mode-toolbar514{gap:8px}
body:has(#scene) .mode-toolbar514 button,body:has(#scene) .mode-toolbar514 select{min-height:42px;padding:9px 14px;border-radius:10px}
body:has(#scene) .mode-toolbar514 label{font-size:12px}
body:has(#scene) #fps{font-size:12px;padding:10px;align-self:end}
