/* Desktop: controls first, with an independent scroll area. */
@media(min-width:901px){
 .workspace{grid-template-columns:390px minmax(0,1fr);grid-template-areas:'settings stage'}
 .settings{grid-area:settings;border-left:0;border-right:1px solid #dde2dc}
 .stage{grid-area:stage;min-width:0}
 .view-tools button,.day-switch button{min-width:40px;min-height:40px}
 .view-tools{grid-template-columns:repeat(2,40px)}
 .settings-content{scrollbar-gutter:stable}
}
@media(min-width:1600px){.workspace{grid-template-columns:410px minmax(0,1fr)}}
@media(min-width:901px) and (max-width:1100px){.workspace{grid-template-columns:350px minmax(0,1fr)}}
#mobile-roof-toggle,#mobile-preview,.mobile-daylight{display:none}
.season-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.season-options button{min-height:44px}
.image-origin{font-size:11px;line-height:1.5;color:#536257;margin:12px 0}
.product-options button img{width:102px;height:76px;object-fit:cover;border-radius:4px}
.image-option img{height:104px}.image-option>span{font-size:13px}.image-option strong{font-size:13px}
.swatches .color-chip{display:inline-block!important;width:18px!important;height:18px!important;margin:0 7px 0 0!important;border:1px solid #0002!important;border-radius:50%!important;vertical-align:middle;background:var(--swatch)!important;padding:0!important}
.color-code{display:block;font-size:10px;color:#536257;margin:3px 0 0 25px}
@media(max-width:900px){
 html,body{height:100%;overflow:hidden}
 .header{height:56px;padding:0 14px}.header-right{gap:6px}.brand,.brand img{width:112px}.demo-badge{display:none}
 .header .quiet{min-height:44px;font-size:11px;padding:8px 10px}#open-project{display:none}
 .workspace{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:clamp(240px,34dvh,320px) minmax(0,1fr);height:calc(100dvh - 56px);min-height:0}
 .stage{height:auto;min-height:0;grid-column:1;grid-row:1}
 .settings{grid-column:1;grid-row:2;min-height:0;min-width:0;border-top:1px solid #d9dfd9;overflow:hidden}
 .settings-heading{padding:6px 12px;min-height:54px;gap:6px}.settings-heading h2{font-size:14px;letter-spacing:-.25px;max-width:130px;line-height:1.3}.settings-heading p{display:none}
 .history-controls{gap:2px}.history-controls button,.settings-heading #reset{width:44px;height:44px;flex-shrink:0}.settings-heading #reset{display:none}
 #mobile-preview{display:block;min-height:44px;font-size:11px;padding:8px;white-space:nowrap;margin-left:auto}
 .tabs{padding:0 10px;flex-shrink:0;gap:2px}.tabs button{min-height:45px;padding:7px 2px!important;font-size:11px!important;flex-direction:row;gap:4px}.tabs button>img{display:none}.tabs button>span{position:static;font-size:9px;width:15px;height:15px;flex-shrink:0}
 .settings-content{min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:0 14px 18px;scroll-padding-block:12px;flex:1}
 .settings-content .tab-panel{max-width:none}.settings-content input:not([type=checkbox]),.settings-content select,.settings-content textarea{font-size:16px}.settings-content input[type=range]{height:28px;margin:8px 0}
 .settings-content summary{min-height:44px;align-content:center}.settings-content button{min-height:44px}.settings-content label{font-size:13px}
 .tab-panel h3{margin:17px 0 10px;font-size:13px}.section-description,.note{font-size:12px}
 .settings-footer{padding:8px 14px max(8px,env(safe-area-inset-bottom));margin:0;flex-shrink:0;display:grid;grid-template-columns:64px minmax(0,1fr);gap:6px 10px;align-items:center}
 .summary-line{grid-column:1/-1;margin:0;display:flex;align-items:center;gap:8px}.summary-line div{flex-direction:row;align-items:center;gap:7px}.summary-line span{font-size:10px}.summary-line strong{font-size:15px;letter-spacing:0}.settings-footer .primary{min-height:44px;padding:10px 12px;grid-column:2;grid-row:2;font-size:12px}.settings-footer #previous-step{min-height:44px;grid-column:1;grid-row:2;margin:0;padding:6px;font-size:12px}.settings-footer:has(#previous-step[hidden]) .primary{grid-column:1/-1}.settings-footer p{display:none}.settings-footer:has(#review[hidden]){display:none}
 .product-options{gap:7px}.product-options button{padding:7px;gap:10px;min-height:76px}.product-options button img{width:92px;height:64px}.product-options span{font-size:12px}.product-options small{font-size:10px;line-height:1.4}
 .image-card-grid{gap:7px}.image-option img{height:86px}.image-option>span{padding:8px 9px!important}.image-option strong{font-size:12px}.visual-toggle>img{width:68px;height:54px;flex-basis:68px}.visual-toggle{padding:10px 0!important}.toggle-row input{width:44px;height:44px}.section-illustration{display:none}
 .scene-top{top:8px;left:10px;right:10px}.scene-top>div:first-child{padding:7px 10px;max-width:calc(100% - 20px);background:#fffffff0}.scene-top h1{font-size:14px;max-width:none;letter-spacing:-.3px;margin:0 0 2px}.scene-subtitle{font-size:10px;max-width:none;line-height:1.5}
 .environment-switch{top:70px;left:10px;padding:0}.environment-switch button{min-width:62px;min-height:44px;padding:6px 10px}
 .camera-picker{top:70px;left:auto;right:10px;max-width:calc(100% - 154px);padding:0 7px;min-height:44px;font-size:11px}.camera-picker select{min-height:44px;font-size:12px;padding:5px 2px;max-width:130px}.camera-picker>span{display:none}
 .view-tools{left:50%;transform:translateX(-50%);bottom:8px;padding:3px;gap:3px;display:flex;flex-direction:row;border-radius:7px;max-width:calc(100% - 20px)}
 .view-tools button{width:44px;height:44px;min-width:44px;min-height:44px;padding:10px}.view-tools button svg{width:19px;height:19px}
 #front,#perspective,#top-view,#garden-view,#detail-view,#zoom-in,#zoom-out{display:none}
 #mobile-roof-toggle{display:block;width:auto;min-width:76px;font-size:11px;font-weight:650;padding:8px;color:#28382e;border-right:1px solid #dde2dc;border-radius:0}
 #mobile-roof-toggle[aria-expanded=true]{background:#fff5ce}
 .roof-control{display:none;bottom:65px;left:50%;width:250px;padding:10px 12px}.mobile-roof-open .roof-control{display:block}.roof-control input{height:26px;margin:5px 0}.roof-control .range-ends{display:none}.roof-control button{min-height:44px}.roof-control label{font-size:12px}
 .scene-bottom{display:none}.renderer-note{bottom:65px}.side-hotspot{font-size:10px;min-height:44px;padding:6px 9px}
 .mobile-daylight{display:block}.mobile-daylight .day-switch{display:flex;flex-direction:row;box-shadow:none;border:0;background:#f2f3ee;border-radius:6px;margin:0 0 18px;padding:3px}.mobile-daylight .day-switch button{flex:1;min-height:44px;font-size:12px}
 .side-editor{position:fixed;left:12px;right:12px;top:auto;bottom:max(12px,env(safe-area-inset-bottom));width:auto;max-height:62dvh;padding:14px;z-index:20;box-shadow:0 -12px 70px #12231955}.side-editor .side-editor-heading{position:sticky;top:-14px;background:#fff;padding:9px 0;z-index:2}.side-editor .visual-options{max-height:none}.side-editor .image-option img{height:70px}.side-editor input[type=range]{height:28px}
 .footer{display:none}dialog{max-height:calc(100dvh - 24px);width:calc(100vw - 24px);padding:22px 16px}.dialog-close{width:44px;height:44px;right:7px;top:5px}dialog input,dialog select,dialog textarea{font-size:16px}dialog button{min-height:44px}
 .mobile-preview-mode .workspace{grid-template-rows:minmax(0,1fr) 55px}.mobile-preview-mode .settings>:not(.settings-heading){display:none}.mobile-preview-mode .settings-heading h2{max-width:none}.mobile-preview-mode .history-controls{display:none}
 .presentation-mode .workspace{height:100dvh;display:block}.presentation-mode .stage{height:100dvh;min-height:0}.presentation-mode .view-tools{bottom:12px}.presentation-mode .roof-control{bottom:70px}
 #toast{bottom:90px;max-width:calc(100% - 24px);font-size:12px}
}
@media(max-width:370px){.settings-heading h2{max-width:105px;font-size:13px}.history-controls button{width:40px;min-width:40px}.tabs{padding:0 5px}.tabs button{font-size:10px!important}.tabs button>span{display:none}.camera-picker{max-width:calc(100% - 149px)}.camera-picker select{max-width:122px}.summary-line span{font-size:9px}}
@media(max-width:900px) and (max-height:650px){.workspace{grid-template-rows:210px minmax(0,1fr)}.settings-heading{min-height:44px;padding-block:0}.settings-heading h2{font-size:12px}.summary-line{display:none}.settings-footer{padding-block:5px}.settings-footer .primary,.settings-footer #previous-step{grid-row:1}.tabs button{min-height:40px}}
@media(max-width:900px) and (orientation:landscape) and (max-height:550px){.workspace{grid-template-columns:minmax(0,1fr) 320px;grid-template-rows:minmax(0,1fr)}.stage{grid-column:1;grid-row:1}.settings{grid-column:2;grid-row:1}.settings-heading h2{max-width:100px}.camera-picker{display:none}.mobile-preview-mode .workspace{grid-template-columns:minmax(0,1fr) 110px;grid-template-rows:minmax(0,1fr)}.mobile-preview-mode .settings-heading{flex-wrap:wrap}.mobile-preview-mode .settings-heading h2{display:none}}
@media print{html,body{height:auto;overflow:visible}.workspace{display:block;height:auto}.mobile-daylight,#mobile-preview,#mobile-roof-toggle{display:none!important}}

@media(max-width:900px){.tour-panel{max-height:32dvh;overflow:auto;flex-shrink:0}.configuration-help .starter-presets{margin-top:12px}.camera-picker{gap:0;font-size:0}.camera-picker select{font-size:12px}}

.mobile-import{display:none}@media(max-width:900px){.mobile-import{display:block;grid-column:1/-1;min-height:44px}}
