/* GO3D shared clean-screen pattern: the model is the workspace. */
.studio-focus,.studio-focus body{height:100%;height:100dvh;overflow:hidden;overscroll-behavior:none}
.studio-focus .app-header,.studio-focus>.app-header,.studio-focus .dragonfire-intro,.studio-focus .tour-entry,.studio-focus .mobile-tools-shell{display:none!important}
.studio-focus main,.studio-focus .workspace{display:block;width:100%;max-width:none;height:100%;margin:0;min-height:0;overflow:hidden}
.studio-focus .viewer,.studio-focus.viewer-expanded .viewer{position:fixed;inset:0;width:100%;height:100%;height:100dvh;min-height:0;border:0;z-index:1;background:radial-gradient(ellipse at 48% 45%,#24414c 0,#102531 52%,#0b1821 100%)}
.studio-focus .viewer canvas,.studio-focus .viewer.touring canvas,.studio-focus.viewer-expanded .viewer.touring canvas{position:absolute;inset:0;width:100%;height:100%;top:0;left:0;touch-action:none}
.studio-focus .viewer-heading,.studio-focus .viewer-caption{display:none!important}
.studio-focus .viewer-actions{position:absolute;top:max(10px,env(safe-area-inset-top));right:max(10px,env(safe-area-inset-right));left:auto;gap:5px;z-index:15;flex-wrap:nowrap;justify-content:flex-end}
.studio-focus .viewer-actions button,.studio-focus .viewport-tools button{min-width:44px;min-height:44px;height:44px;margin:0;padding:8px 12px;font:600 12px/1.2 system-ui,sans-serif;border:1px solid #54758180;border-radius:9px;background:#0f2631b8;color:#edf6f7;backdrop-filter:blur(9px);-webkit-backdrop-filter:blur(9px)}
.studio-focus .viewer-actions>.mobile-info{display:none!important}
.studio-focus .viewer-actions #viewerHelp{display:inline-flex;align-items:center;gap:6px}
.studio-focus .go3d-info-glyph{display:inline-grid;place-items:center;box-sizing:border-box;min-width:18px;width:18px;height:18px;border:1.5px solid currentColor;border-radius:50%;font:700 12px/1 system-ui,sans-serif;color:#74d3e9}
.studio-focus .viewport-tools,.studio-focus.viewer-expanded .viewport-tools{display:flex;position:absolute;left:max(12px,env(safe-area-inset-left));right:auto;bottom:max(12px,env(safe-area-inset-bottom));gap:6px;z-index:15;flex-wrap:nowrap;max-width:calc(100% - 24px)}
.studio-focus .viewport-tools>.mobile-info,.studio-focus .viewport-tools>span{display:none!important}
.studio-focus .viewer.touring .viewport-tools{top:66px;bottom:auto}
.studio-focus .viewer.touring .viewport-tools #pause,.studio-focus .viewer.touring .viewport-tools #inspectInside{display:none}
.studio-focus .viewer-status{top:61px;right:12px;font-size:10px;max-width:65%;text-align:right}
.studio-focus .workspace-brand{position:absolute;z-index:13;top:max(18px,env(safe-area-inset-top));left:max(12px,env(safe-area-inset-left));display:block;width:88px;opacity:.7}
.studio-focus .workspace-brand img{display:block;width:100%;height:auto}
.studio-focus .tour-panel,.studio-focus.viewer-expanded .tour-panel{position:absolute;left:max(12px,env(safe-area-inset-left));right:max(12px,env(safe-area-inset-right));bottom:max(12px,env(safe-area-inset-bottom));width:auto;max-width:820px;padding:8px 10px;margin:0 auto;border:1px solid #7597a33d;border-radius:10px;background:#0a1a24a8;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:none;display:flex;align-items:center;gap:10px;overflow:visible}
.studio-focus .tour-panel[hidden]{display:none!important}
.studio-focus .tour-copy{flex:1;min-width:0;pointer-events:none}
.studio-focus .tour-copy strong{font-size:11px;font-weight:600;color:#9dc3d1}
.studio-focus .tour-copy p{font-size:12px;line-height:1.4;margin:3px 0 0;color:#f2f7f8}
.studio-focus .tour-copy small{display:none}
.studio-focus .tour-controls{display:flex;gap:3px;margin:0;flex:none;flex-wrap:nowrap}
.studio-focus .tour-controls button{min-width:44px;min-height:44px;height:44px;padding:6px 9px;margin:0;font:600 11px/1.2 system-ui,sans-serif;border:1px solid #7696a34d;border-radius:8px;background:#17323b88;color:#eef7f8}
.studio-focus .tour-controls #tourEnd{margin:0}
.studio-focus .tour-detail-dialog{width:min(440px,calc(100vw - 24px));max-height:calc(100dvh - 24px);box-sizing:border-box;padding:18px;background:#102632;color:#edf7fa;border:1px solid #648d9c;border-radius:14px;font:14px/1.6 system-ui,sans-serif;overflow:auto}
.studio-focus .tour-detail-dialog::backdrop{background:#05111abd}
.studio-focus .tour-detail-dialog>div{display:flex;justify-content:space-between;align-items:center;gap:12px}
.studio-focus .tour-detail-dialog button{min-height:44px;padding:8px 14px}
.studio-focus .tour-detail-dialog small{color:#b5cad2}
.studio-focus aside#controls{display:block;position:fixed;inset:0 0 0 auto;z-index:60;width:min(390px,100vw);height:100%;height:100dvh;box-sizing:border-box;padding:0 20px 24px;background:#0d1f2bf5;border-left:1px solid #42616e;overflow:auto;overscroll-behavior:contain;box-shadow:-18px 0 70px #0008;max-width:100%;scrollbar-gutter:stable}
.studio-focus aside#controls[hidden]{display:none!important}
.studio-focus .drawer-heading{position:sticky;z-index:2;top:0;display:flex;justify-content:space-between;align-items:center;gap:10px;min-height:66px;padding:10px 0;background:#0d1f2b}
.studio-focus .drawer-heading h2{font:600 16px/1.3 system-ui;margin:0}
.studio-focus .drawer-heading button{min-height:44px;min-width:44px;padding:8px 12px}
.studio-focus .drawer-heading div{display:flex;gap:6px;align-items:center}
.studio-focus #controls .character-picker{margin-top:8px}
.studio-focus #controls .character-picker p{font:12px/1.6 system-ui;margin:10px 0;color:#b8ccd6}
.studio-focus #controls .growth-panel,.studio-focus #controls .processing-disclosure{padding:0;background:none}
.studio-focus #controls .growth-panel>summary,.studio-focus #controls .processing-disclosure>summary{min-height:52px;font-size:14px}
.studio-focus #controls .dragonfire-intro{display:block!important;padding:12px 0;margin:0;border:0}
.studio-focus #controls .dragonfire-intro h1{font-size:22px}
.studio-focus #controls .intro-primary-actions{display:flex;flex-wrap:wrap;max-width:100%;margin-top:15px}
.studio-focus .drawer-about>summary{min-height:52px;display:flex;align-items:center;font:600 14px/1.4 system-ui}
.studio-focus .drawer-about .intro-details-content{display:block}
.studio-focus .drawer-shade{position:fixed;inset:0;z-index:55;background:#03101766;border:0;padding:0;width:100%;height:100%;border-radius:0}
.studio-focus .drawer-shade[hidden]{display:none!important}
.studio-focus .mobile-tool-guide{z-index:90;top:max(64px,env(safe-area-inset-top));right:12px;width:min(440px,calc(100vw - 24px));max-height:calc(100dvh - 90px);font-size:13px}
.studio-focus .layout-tooltip,.studio-focus .mobile-tooltip{z-index:100;max-width:min(300px,calc(100vw - 24px));font:12px/1.5 system-ui}
.studio-focus .viewer.idle .viewer-actions>*:not(#viewerHelp):not(#studioTools):not(#viewerFullscreen),.studio-focus .viewer.idle:not(.touring) .viewport-tools>*:not(#fit){opacity:0;pointer-events:none;transition:opacity .25s ease}
.studio-focus .viewer .viewer-actions>*,.studio-focus .viewer .viewport-tools>*{transition:opacity .15s ease}
.studio-focus .viewer-actions>*:focus-visible,.studio-focus .viewport-tools>*:focus-visible{opacity:1!important;pointer-events:auto!important}
.studio-focus .site-modal{z-index:110}
.studio-focus #go3d-network-bar{display:none!important}
.studio-focus #controls .mobile-info,.studio-focus #controls .intro-info{font-family:system-ui,sans-serif;font-size:13px;color:#72d4ed}
.studio-focus[data-theme=light] .viewer{background:radial-gradient(ellipse at 48% 45%,#e8f3f5 0,#cad9df 70%,#bbcbd3 100%)}
.studio-focus[data-theme=light] aside#controls,.studio-focus[data-theme=light] .drawer-heading{background:#f3f8fb;color:#17313f}
.studio-focus[data-theme=light] #controls .character-picker p{color:#3b5f70}
@media(max-width:600px){.studio-focus .workspace-brand{top:max(22px,env(safe-area-inset-top));width:60px;opacity:.6}.studio-focus .viewer-actions{gap:4px}.studio-focus .viewer-actions button{font-size:11px;padding:8px}.studio-focus #viewerHelp .help-word{display:none}.studio-focus .tour-panel,.studio-focus.viewer-expanded .tour-panel{display:block;padding:6px 8px}.studio-focus .tour-copy{display:flex;gap:8px;align-items:baseline}.studio-focus .tour-copy strong{white-space:nowrap;font-size:10px}.studio-focus .tour-copy p{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:0}.studio-focus .tour-controls{margin-top:5px;justify-content:space-between}.studio-focus .tour-controls button{flex:1;padding:5px;font-size:11px}.studio-focus .viewport-tools button{font-size:11px}.studio-focus .mobile-tool-guide>dl{grid-template-columns:1fr}.studio-focus .viewer.touring .viewport-tools{top:62px}.studio-focus .viewer-status{display:none}}
@media(orientation:landscape) and (max-height:600px){.studio-focus .workspace-brand{width:70px;top:max(18px,env(safe-area-inset-top))}.studio-focus .tour-panel,.studio-focus.viewer-expanded .tour-panel{display:flex;left:max(12px,env(safe-area-inset-left));right:max(12px,env(safe-area-inset-right));width:auto;max-width:none;padding:5px 8px;bottom:max(6px,env(safe-area-inset-bottom))}.studio-focus .tour-copy{display:block}.studio-focus .tour-copy p{font-size:11px;margin-top:2px;white-space:normal}.studio-focus .tour-controls{margin:0}.studio-focus .tour-controls button{flex:none;min-width:44px}.studio-focus .viewer.touring .viewport-tools{top:61px}.studio-focus .mobile-tool-guide{top:58px;max-height:calc(100dvh - 70px)}}
@media(prefers-reduced-motion:reduce){.studio-focus *{scroll-behavior:auto!important;transition:none!important}}
.studio-focus aside#controls{display:block!important}
.studio-focus aside#controls[hidden]{display:none!important}
.studio-focus .go3d-info-glyph{font-weight:800;font-size:13px}
.studio-focus #controls .mobile-info,.studio-focus #controls .intro-info{position:relative;border:0;background:transparent;font-size:0;min-height:44px;min-width:44px;width:44px;height:44px;border-radius:8px}
.studio-focus #controls .mobile-info::after,.studio-focus #controls .intro-info::after{content:'i';display:inline-grid;place-items:center;width:18px;height:18px;border:1.5px solid currentColor;border-radius:50%;font:800 13px/1 system-ui,sans-serif}
@media(max-width:360px){.studio-focus .workspace-brand{display:none}.studio-focus .viewer-actions{left:10px;right:10px}.studio-focus .viewer-actions #studioTools{margin-right:auto}}

/* Canonical Bill Builder visual token shared with the main GO3D site. */
.studio-focus #controls .mobile-info::after,.studio-focus #controls .intro-info::after{box-sizing:border-box;width:20px;height:20px;border:1px solid currentColor;font:800 14px/1 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}

/* Original source audio remains recoverable without opening the drawer. */
.studio-focus .narration-toggle{position:absolute;z-index:16;top:64px;right:max(12px,env(safe-area-inset-right));min-height:44px;padding:8px 12px;border:1px solid #54758180;border-radius:9px;background:#0f2631da;color:#edf6f7;font:600 12px/1.2 system-ui,sans-serif;max-width:140px}
.studio-focus .narration-toggle[hidden]{display:none!important}
.studio-focus[data-theme=light] .narration-toggle{background:#f3f8fb;color:#17313f}
.studio-focus .visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
