@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Source+Serif+4:ital,wght@0,500;0,600;1,500&display=swap');
body{font-family:Inter,sans-serif;background:#f8f6f1;color:#1a1a1a}h1,h2,h3{font-family:'Source Serif 4',Georgia,serif}button,input,select,textarea{font:inherit}button{border-radius:8px;min-height:40px}button.primary{background:#2d7a4f;color:white}.brandMark{object-fit:contain;width:32px!important;height:32px!important;background:none!important}.atelierSteps button.active{border-color:#2d7a4f;background:#edf4ef}.genesisToolbar{display:flex;align-items:center;gap:12px;padding:10px 24px;background:#fff;border-bottom:1px solid #e5e5e0;flex-wrap:wrap}.genesisToolbar label{display:flex;gap:8px;align-items:center;margin:0;font-size:14px}.genesisToolbar select{max-width:240px}.genesisToolbar [role=status]{margin-left:auto;font-size:14px}.cameraLibrary{background:#f4f3f0;border:1px solid #e5e5e0;border-radius:12px;padding:16px;margin-bottom:20px}.cameraLibrary h3{margin:0 0 12px}.cameraRow{display:flex;gap:4px;flex-wrap:wrap;margin-top:8px}.cameraRow button:first-child{flex:1;text-align:left}.cameraRow button{font-size:14px}.finishProducts img{height:130px;object-fit:cover}.finishProducts small{font-size:13px}.finishProducts a{font-size:14px}.genesisDeliver{max-width:650px;width:90%;border:1px solid #e5e5e0;border-radius:16px;padding:24px}.genesisDeliver::backdrop{background:#1a1a1a88}body[data-step=export] .designerDock{display:block}body[data-step=export] aside{overflow:auto}.genesisToolbar+main{height:calc(100dvh - 200px)}@media(max-width:760px){.genesisToolbar{padding:10px}.genesisToolbar+main{height:auto}.genesisToolbar [role=status]{margin-left:0}}

.voiceControls{margin-top:12px}.voiceControls label{display:block;margin-top:8px}.voiceControls p{font-size:14px}.speaking .designerIdentity img{outline:3px solid #2d7a4f;outline-offset:3px}.buildingAssistant{border-top:1px solid #e5e5e0;margin-top:12px;padding-top:10px}

.genesisCameraSetup{display:none;background:#fff;border:1px solid #e5e5e0;border-radius:12px;margin:0 0 12px;padding:12px 16px;max-height:45vh;overflow:auto}.genesisCameraSetup summary{cursor:pointer;font-weight:600}.genesisCameraSetup h2{font-size:23px}.genesisCameraSetup button{margin:4px 4px 4px 0}.genesisCameraSetup select,.cameraLibrary input{width:100%;border:1px solid #e5e5e0;padding:10px;border-radius:8px}.genesisCameraSetup .cameraLibrary{margin-top:12px}.genesisCameraSetup [data-source-preview]{max-height:260px;object-fit:contain}body[data-step=export] .genesisCameraSetup{display:block}.genesisPresentation{height:100%;min-height:550px}.genesisPresentation iframe{height:100%!important;border:0!important;border-radius:0!important}body[data-step=export] aside{padding:0;overflow:hidden}body[data-step=export] aside>#tab-export{padding:0;overflow:auto;flex:1}body[data-step=export] .designerDock{position:fixed;right:24px;bottom:16px;z-index:30;width:330px;max-height:70px;overflow:hidden;box-shadow:0 8px 32px #0002;padding:12px;background:#fff;margin:0}body[data-step=export] .designerDock.expanded{max-height:75vh;overflow:auto}.designerIdentity{cursor:pointer}@media(max-width:760px){body[data-step=export] .designerDock{right:12px;width:300px}.genesisPresentation{min-height:750px}.genesisCameraSetup{max-height:55vh}}

.projectHistory [data-versions]>div{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:8px 0}.projectHistory [data-versions]{max-height:300px;overflow:auto}.cameraRow{padding-bottom:12px;border-bottom:1px solid #ddd}.cameraRow button:first-child{flex-basis:100%}

.productLibrary{padding:16px;border:1px solid #ddd9d0;border-radius:12px;margin:16px 0}.productLibrary img{max-width:100%;max-height:180px;object-fit:contain}.productLibrary [data-evidence]{display:flex;flex-wrap:wrap;gap:8px}.productLibrary [data-evidence] img{width:calc(50% - 8px)}

[data-link],.productLibrary input[type=url],.genesisDeliver input[type=file]{display:block;box-sizing:border-box;width:100%;max-width:100%;padding:10px 12px;border:1px solid #d9ddd5;border-radius:8px;background:#fff;margin:8px 0 12px}.productLibrary label{display:block;margin-top:14px}.genesisDeliver{max-height:85dvh;overflow:auto}.genesisDeliver [role=status]{overflow-wrap:anywhere}

@media(max-width:760px){.workspace .viewport{min-height:360px;height:52dvh;max-height:600px}.atelierSteps{overflow-x:auto;scrollbar-width:thin}.atelierSteps button{white-space:nowrap;flex-shrink:0}}

/* Size the desktop from its actual header rows, not an estimated pixel offset.
   Each column owns one scroll area; the presentation frame keeps its own UI. */
@media(min-width:761px){
 body{height:100dvh;display:grid;grid-template-rows:auto auto auto minmax(0,1fr);overflow:hidden}
 body>header{grid-row:1;min-width:0}
 body>.atelierSteps{grid-row:2;min-width:0}
 body>.genesisToolbar{grid-row:3;min-width:0}
 body>header{height:68px;padding:0 24px}
 .atelierSteps{height:48px;gap:20px}
 .atelierSteps button{padding:10px 8px}
 .panelHeading{display:none}
 body>main,.genesisToolbar+main{grid-row:4;height:auto;min-height:0;grid-template-rows:minmax(0,1fr);overflow:hidden}
 .workspace{min-height:0;overflow:auto;scrollbar-gutter:stable;overscroll-behavior:contain}
 .workspace>.viewport{flex:1 0 300px;min-height:300px}
 .modelHeader{flex:none;min-height:76px;padding:10px 0}
 .modelHeader h2{font-size:22px;overflow-wrap:anywhere}
 .workspace>footer,.workspace>#notice{flex:none}
 aside{display:block;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}
 aside>section[id^="tab-"]{overflow:visible;min-height:0;padding-right:0}
 .designerDock{max-height:none;overflow:visible;margin:0 0 20px}
 .designerDock:not(.expanded)>:not(.designerIdentity){display:none}
 .designerIdentity::after{content:'⌄';margin-left:auto;font-size:20px}
 .designerDock.expanded .designerIdentity::after{content:'⌃'}
 body[data-step=export] main{grid-template-columns:minmax(300px,32%) minmax(0,1fr)}
 body[data-step=export] aside{display:flex;overflow:hidden;scrollbar-gutter:auto;min-width:0;padding:0}
 body[data-step=export] aside>#tab-export{min-height:0;flex:1;overflow:hidden}
 .genesisPresentation{display:flex;flex-direction:column;height:100%;min-height:0}
 .genesisPresentation iframe{display:block;flex:1;min-height:0;height:0!important}
 .genesisCameraSetup{flex:none;max-height:none;overflow:visible}
 body[data-step=export] .designerDock{position:static;flex:none;width:auto;max-height:none;margin:0;border-radius:0;box-shadow:none;overflow:visible;padding:10px 16px}
 body[data-step=export] .designerDock:not(.expanded)>:not(.designerIdentity){display:none}
 body[data-step=export] .designerDock.expanded{max-height:45dvh;overflow:auto}
}
