/* GO3D shared workspace rules, matched to the Bill Builder control pattern. */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;}
.review-studio{--screen-height:100dvh;height:var(--screen-height);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;}
.review-studio #panel-model{inset:0;}
.review-studio>header{height:calc(54px + env(safe-area-inset-top));padding:env(safe-area-inset-top) max(10px,env(safe-area-inset-right)) 0 max(10px,env(safe-area-inset-left));border:0;background:linear-gradient(#10232bd9,#10232b00);pointer-events:none;}
.review-studio>header>*{pointer-events:auto;}
.review-studio header img{width:72px;height:28px;}
.review-studio .studio-title{font-size:13px;line-height:1.2;}
.review-studio .studio-title small{display:none;}
.review-studio .header-tools{gap:0;}
.review-studio #reviewMenu{min-width:64px;min-height:44px;padding:7px 10px;font-size:12px;background:#10232bd9;border-color:#718c8c66;}
.review-studio main>.status{top:calc(56px + env(safe-area-inset-top));left:max(10px,env(safe-area-inset-left));right:auto;max-width:min(310px,calc(100% - 20px));width:max-content;border:1px solid #d1ab6770;border-radius:8px;background:#10232bc9;max-height:calc(var(--screen-height) - 146px);font-size:12px;}
.review-studio .status>summary{min-height:44px;padding:8px 10px;gap:8px;font-size:11px;}
.review-studio .status-info{font-family:inherit;font-size:12px;width:18px;height:18px;}
.review-studio .status-brief{display:none;}
.review-studio .status[open]{width:min(390px,calc(100% - 20px));max-width:calc(100% - 20px);background:var(--bg);}
.review-studio .status>p{font-size:13px;line-height:1.5;}
.review-studio .tabs{left:auto;right:max(10px,env(safe-area-inset-right));top:calc(56px + env(safe-area-inset-top));bottom:auto;transform:none;width:170px;grid-template-columns:1fr;padding:5px;gap:3px;border-radius:10px;}
.review-studio .tabs[hidden]{display:none!important;}
.review-studio .tabs button{min-height:44px;font-size:13px;text-align:left;}
.review-studio #panel-drawings,.review-studio #panel-scope{top:calc(58px + env(safe-area-inset-top));bottom:calc(10px + env(safe-area-inset-bottom));right:max(10px,env(safe-area-inset-right));width:min(510px,calc(100% - 20px));max-height:calc(var(--screen-height) - 72px - env(safe-area-inset-top) - env(safe-area-inset-bottom));padding:12px;border-radius:12px;background:var(--bg);}
.review-studio .drawer-heading{top:-12px;align-items:center;padding:4px 0 8px;font-size:16px;}
.review-studio .drawer-heading button{font-size:13px;min-height:44px;}
.review-studio .scope-group,.review-studio details.record{margin:10px 0;border-radius:8px;padding:0 10px;}
.review-studio details.record>summary{font-size:14px;line-height:1.4;}
.review-studio .scope-group p,.review-studio .scope-group li{font-size:13px;line-height:1.5;}
.review-studio .legend{gap:4px 12px;font-size:12px;}
.review-studio .scope-intro h2{font-size:20px;}
.review-studio.workspace-idle:not([data-panel="drawings"]):not([data-panel="scope"])>header>a,
.review-studio.workspace-idle:not([data-panel="drawings"]):not([data-panel="scope"]) .studio-title,
.review-studio.workspace-idle main>.status:not([open]){opacity:0;pointer-events:none;}
.review-studio>header>a,.review-studio .studio-title,.review-studio main>.status{transition:opacity .25s;}
.review-studio.light>header{background:linear-gradient(#f3f6f2e6,#f3f6f200);}
.review-studio.light #reviewMenu,.review-studio.light main>.status{background:#f3f6f2e6;color:var(--fg);}
.review-studio.cinema-active>header{opacity:1;z-index:50;}
.review-studio.cinema-active>header>a,.review-studio.cinema-active .studio-title,.review-studio.cinema-active #reviewMenu,.review-studio.cinema-active main>.status{opacity:0;pointer-events:none;}
.review-studio.cinema-active .header-tools{pointer-events:auto;}
/* The embedded model uses the entire display; controls never reserve empty rows. */
html[data-embedded="1"] body,html[data-embedded="1"] #stage{height:var(--screen-height,100dvh);}
html[data-embedded="1"] #stage .stage-top{top:calc(9px + env(safe-area-inset-top));left:10px;right:10px;}
html[data-embedded="1"] #stage:not(.expanded) .stage-top{top:calc(54px + env(safe-area-inset-top));justify-content:flex-end;}
html[data-embedded="1"] #stage #viewLabel{display:none;}
#stage .axis-lock{display:none;}
#stage .toolbar{left:auto;right:max(10px,env(safe-area-inset-right));bottom:calc(10px + env(safe-area-inset-bottom));max-width:calc(100% - 20px);width:max-content;gap:4px;transform:none;z-index:35;}
#stage .toolbar button{min-width:44px;min-height:44px;max-height:44px;padding:7px 10px;font-size:12px;background:#10232bd9;border-color:#718c8c66;}
#stage .toolbar .explain-control{display:none!important;}
#stage .toolbar #fit{order:0;}#stage .toolbar #modelTools{order:1;}
#stage.viewer-idle .toolbar{opacity:1;pointer-events:auto;}
#stage.viewer-idle .toolbar>#zoomIn,#stage.viewer-idle .toolbar>#zoomOut{display:inline-flex!important;}
#stage .view-options{bottom:54px;max-height:calc(var(--screen-height,100dvh) - 150px - env(safe-area-inset-top));right:0;width:min(344px,calc(100vw - 20px));font-size:13px;}
#stage .view-options>button{max-height:none;min-height:44px;}
#stage .load{bottom:calc(60px + env(safe-area-inset-bottom));left:12px;right:12px;height:auto;min-height:0;padding:6px 9px;border-radius:6px;background:#10232bbf;}
#stage.model-ready .load{display:none;}
#stage[data-tour-loading="true"] .load{display:block!important;opacity:1!important;pointer-events:none!important;max-width:min(340px,calc(100% - 24px));right:auto;font-size:12px;}
html[data-embedded="1"] #stage:not(.expanded) .arrival-help{display:none!important;}
#stage .software-study-help{display:none;}
#stage .interior-detail-info:not([open]){display:none;}
#stage .interior-detail-info[open]{max-height:calc(var(--screen-height,100dvh) - 150px)!important;}
html[data-embedded="1"] #selected{bottom:calc(62px + env(safe-area-inset-bottom));max-height:45dvh;}
#stage.expanded .toolbar{bottom:calc(10px + env(safe-area-inset-bottom));}
#stage.expanded .stage-top{top:calc(8px + env(safe-area-inset-top));}
#stage.expanded .load{bottom:calc(60px + env(safe-area-inset-bottom));}
/* The model background is independent of page theme: give Help an opaque,
   contrasting surface in both themes and every embedded/fullscreen mode. */
#stage .go3d-help-launch{background:var(--panel,#182c32)!important;color:var(--text,#edf5f3)!important;border-color:var(--border,#416068)!important;min-height:44px!important;}
#stage .go3d-help-launch:hover,#stage .go3d-help-launch[aria-expanded=true]{background:var(--bg,#0d1c22)!important;}
#stage .go3d-help-launch:focus-visible{outline:3px solid var(--accent,#88dfd0)!important;outline-offset:2px;}
#stage .arrival-caption{bottom:calc(72px + env(safe-area-inset-bottom));left:14px;right:14px;pointer-events:none;}
#stage .arrival-caption h2{font:600 14px/1.3 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;}
#stage .arrival-caption p{font:11px/1.4 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;max-width:45ch;margin:auto;}
@media(orientation:landscape) and (max-height:550px){
 .review-studio>header{height:calc(48px + env(safe-area-inset-top));}
 .review-studio main>.status,.review-studio .tabs{top:calc(50px + env(safe-area-inset-top));}
 .review-studio #panel-drawings,.review-studio #panel-scope{top:calc(50px + env(safe-area-inset-top));max-height:calc(var(--screen-height) - 60px - env(safe-area-inset-bottom));}
 #stage .arrival-caption{left:16%;right:16%;bottom:10px;}
}
@media(prefers-reduced-motion:reduce){.review-studio *{transition:none!important;}}

/* Scope and files are nonmodal: the exposed model always keeps its controls. */
.review-studio[data-panel=scope] #modelFrame,.review-studio[data-panel=drawings] #modelFrame{pointer-events:auto}
@media(max-width:700px){.review-studio #panel-scope,.review-studio #panel-drawings{top:auto;bottom:calc(8px + env(safe-area-inset-bottom));height:min(52dvh,480px);max-height:calc(var(--screen-height) - 160px);width:calc(100% - 16px);right:8px}.review-studio .drawer-header{position:sticky;top:-12px;z-index:2;background:var(--bg);padding-block:8px}}
.review-studio #panel-drawings,.review-studio #panel-scope{overscroll-behavior:contain;touch-action:pan-y;}

/* Drawer camera actions stay visible even when the model toolbar is covered. */
.scope-model-controls{display:flex;align-items:center;gap:4px;margin-left:auto;margin-right:6px}.scope-model-controls button{min-width:44px;min-height:44px;padding:7px 9px}.drawer-heading{flex-wrap:wrap}.scope-model-controls button:disabled{opacity:.5;cursor:wait}

/* Group optional actions without adding nested menus or hiding recovery. */
#stage .view-options{width:min(480px,calc(100vw - 24px));max-height:min(72dvh,calc(var(--screen-height,100dvh) - 130px));grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:12px;scroll-padding-top:58px;}
#stage .tool-group-label{grid-column:1/-1;margin:10px 0 0;padding:7px 2px 4px;border-top:1px solid var(--border);color:var(--muted);font:600 11px/1.3 system-ui;letter-spacing:.04em;}
#stage .view-options>button{display:flex;align-items:center;justify-content:flex-start;min-height:48px;padding:10px 12px;line-height:1.35;text-align:left;border-radius:8px;white-space:normal;}
#stage .view-options>button:focus-visible{outline-offset:-4px;}
#stage .viewer-tools-heading{margin-bottom:2px;}
@media(max-width:380px){#stage .view-options{width:calc(100vw - 20px);gap:6px;padding:10px;}#stage .view-options>button{font-size:12px;padding:9px;}}
@media(orientation:landscape) and (max-height:550px){#stage .view-options{width:min(620px,calc(100vw - 24px));max-height:calc(var(--screen-height,100dvh) - 110px);grid-template-columns:repeat(3,minmax(0,1fr));}}

#stage .tool-search,#stage .tool-search-status{grid-column:1/-1;font-size:12px;}
#stage .tool-search input{display:block;width:100%;min-height:44px;margin-top:5px;padding:9px 10px;border:1px solid var(--border);border-radius:8px;background:var(--bg);color:var(--text);font:inherit;}
#stage .tool-search-status:empty{display:none;}
#stage .view-options>[hidden]{display:none!important;}

/* Mobile header, menus and keyboard stay inside the usable viewport. */
@media(max-width:700px){
 .review-studio>header{height:auto;min-height:calc(54px + env(safe-area-inset-top));align-items:center;gap:4px;flex-wrap:wrap}
 .review-studio .studio-title{display:none}.review-studio>header>.go3d-wordmark{font-size:17px}
 .review-studio .header-tools{display:flex;align-items:center;gap:4px;flex-wrap:wrap;min-width:0}
 #stage .stage-top{flex-wrap:wrap;justify-content:flex-end;row-gap:4px}
 #stage #viewLabel{flex:1 1 100%;order:4;max-width:100%;white-space:normal;line-height:1.3}
 #stage input,#stage select,#stage textarea,.review-studio input,.review-studio select,.review-studio textarea{font-size:16px}
 #stage .toolbar{flex-wrap:wrap;justify-content:flex-end;width:auto;max-width:calc(100% - 16px)}
}
