/* Shared review presentation shell. Does not change source geometry or editor data. */
.ccr-review-stage{position:relative}
.ccr-review-viewing-bar{position:absolute;z-index:40;right:12px;bottom:12px;display:flex;gap:6px;align-items:center;padding:4px;border-radius:10px;background:#0c2633ed;box-shadow:0 2px 12px #07121c55}
.ccr-review-viewing-bar button{min-width:44px;min-height:44px;padding:8px 12px;border:1px solid #7897a6;border-radius:7px;background:#153e52;color:#fff;font:650 12px/1.2 system-ui,sans-serif;cursor:pointer;touch-action:manipulation}
.ccr-review-viewing-bar button:focus-visible{outline:3px solid #ffd27f;outline-offset:3px}
.ccr-review-prototype>.stage-bottom{bottom:68px}
.ccr-review-prototype>.stage-study-actions{bottom:125px}
.ccr-review-legacy>.ccr-review-viewing-bar{bottom:auto;top:9px;right:9px}
.ccr-review-legacy.player-expanded>.ccr-review-viewing-bar{top:auto;bottom:6px;right:9px}
.ccr-review-legacy.player-expanded:not(.ccr-review-clean) .player-warning{padding-right:245px;min-height:54px}
.ccr-review-fullscreen{position:fixed!important;z-index:2147483647!important;inset:auto!important;top:var(--ccr-review-top,0)!important;left:var(--ccr-review-left,0)!important;width:var(--ccr-review-width,100vw)!important;height:var(--ccr-review-height,100dvh)!important;min-width:0!important;min-height:0!important;max-width:none!important;max-height:none!important;margin:0!important;border:0!important;border-radius:0!important;overflow:hidden!important}
body.ccr-review-fullscreen-active>:not(.ccr-review-fullscreen){visibility:hidden!important}
.ccr-review-prototype.ccr-review-fullscreen>canvas,
body.ccr-review-embedded .ccr-review-prototype>canvas{position:absolute!important;inset:0!important;top:0!important;left:0!important;width:100%!important;height:100%!important;max-height:none!important}
.ccr-review-fullscreen>.ccr-review-viewing-bar{right:max(12px,env(safe-area-inset-right));bottom:max(12px,env(safe-area-inset-bottom))}
.ccr-review-clean>.ccr-review-viewing-bar,
.ccr-review-clean>.headline,
.ccr-review-clean>.tour-overlay,
.ccr-review-clean>.stage-bottom,
.ccr-review-clean>.stage-study-actions,
.ccr-review-clean>.stage-audio-enable,
.ccr-review-clean>#partLabels,
.ccr-review-clean .go3d-transition,
.ccr-review-clean .go3d-tour-transition,
.ccr-review-clean .tour-transition,
.ccr-review-clean .player-toolbar,
.ccr-review-clean .player-screenbar,
.ccr-review-clean .player-warning,
.ccr-review-clean .player-inside-shortcut,
.ccr-review-clean #concept-banner,
.ccr-review-clean #notice,
.ccr-review-clean .player-watermark,
.ccr-review-clean .canvas-key{display:none!important}
.ccr-review-legacy.ccr-review-clean .model-stage{display:block!important;position:absolute;inset:0;padding:0!important;height:100%!important}
.ccr-review-legacy.ccr-review-clean #view{height:100%!important;width:100%!important;border-radius:0!important}
body.ccr-review-embedded{margin:0!important;overflow:hidden!important}
body.ccr-review-embedded>header,
body.ccr-review-embedded>footer,
body.ccr-review-embedded .ccr-review-viewing-bar,
body.ccr-review-embedded main>aside,
body.ccr-review-embedded .ccr-review-prototype>.headline,
body.ccr-review-embedded .ccr-review-prototype>.stage-study-actions,
body.ccr-review-embedded .ccr-review-legacy .player-toolbar,
body.ccr-review-embedded .ccr-review-legacy .player-screenbar,
body.ccr-review-embedded .ccr-review-legacy .player-inside-shortcut{display:none!important}
body.ccr-review-embedded main{display:block!important;width:100%!important;height:100dvh!important;margin:0!important;padding:0!important}
body.ccr-review-embedded .ccr-review-prototype{position:fixed!important;inset:0!important;width:100vw!important;height:100dvh!important;min-height:0!important;margin:0!important;border-radius:0!important}
body.ccr-review-embedded .ccr-review-prototype>.tour-overlay{top:8px!important;left:8px!important;right:8px!important;width:auto!important;max-width:360px;padding:8px 10px}
body.ccr-review-embedded .ccr-review-prototype>.stage-bottom{bottom:8px!important;font-size:11px}
body.ccr-review-embedded .ccr-review-prototype>.stage-bottom strong{font-size:13px}
body.ccr-review-embedded .ccr-review-prototype>.stage-audio-enable{bottom:68px;left:10px}
body.ccr-review-embedded .ccr-review-legacy.player-expanded .player-warning{padding:8px 10px;min-height:0;font-size:11px;line-height:1.4}
@media(max-width:540px){
 .ccr-review-viewing-bar{right:8px;bottom:8px;gap:4px}
 .ccr-review-viewing-bar button{font-size:11px;padding-inline:9px}
 .ccr-review-prototype>.stage-bottom{bottom:63px}
 .ccr-review-prototype>.stage-study-actions{bottom:112px}
 .ccr-review-legacy.player-expanded:not(.ccr-review-clean) .player-warning{padding-right:210px}
 .ccr-review-prototype.ccr-review-fullscreen>.headline{top:10px}
 .ccr-review-prototype.ccr-review-fullscreen>.tour-overlay{top:43px}
}
@media(prefers-reduced-motion:reduce){.ccr-review-viewing-bar{transition:none}}

body.ccr-review-clean-active .ccr-app-menu,body.ccr-review-clean-active .ccr-app-switcher,body.ccr-review-embedded .ccr-app-menu,body.ccr-review-embedded .ccr-app-switcher{display:none!important}

body.ccr-review-embedded.ccr-review-prototype-page>:not(main):not(script):not(style):not(link),body.ccr-review-embedded.ccr-review-legacy-page>:not(.model-workspace):not(script):not(style):not(link){display:none!important}

/* STUDIO2: the model is the workspace; optional tools live in a drawer. */
body.studio2-prototype{overflow:hidden}
body.studio2-prototype>header{height:56px;min-height:56px!important;display:flex!important;gap:10px!important;padding:6px 12px!important;box-sizing:border-box}
body.studio2-prototype>header img{width:42px!important;max-height:36px}
body.studio2-prototype>header>div{min-width:0;flex:1}
body.studio2-prototype>header strong{font-size:16px}
body.studio2-prototype>header small{display:none}
body.studio2-prototype>header nav{width:auto!important;max-width:none!important;display:flex!important;margin-left:auto!important;overflow:visible!important}
body.studio2-prototype>header nav>a{display:none!important}
body.studio2-prototype main{display:block!important;height:calc(100dvh - 56px)!important;padding:0;margin:0}
body.studio2-prototype main>.stage{height:100%!important;min-height:0!important;width:100%}
body.studio2-prototype main>aside{display:none}
body.studio2-prototype .stage>canvas{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;max-height:none!important}
body.studio2-prototype .stage>.headline,body.ccr-review-focused .stage-bottom,body.ccr-review-focused .stage-study-actions,body.ccr-review-focused .go3d-transition{display:none!important}
body.studio2-prototype .stage>.tour-overlay{top:auto!important;left:10px!important;right:10px!important;bottom:66px;width:auto!important;max-width:560px;padding:7px 10px;backdrop-filter:none;border:0;background:#102532d9;pointer-events:none}
body.studio2-prototype .tour-overlay .tour-mode,body.studio2-prototype .tour-overlay .tour-steps,body.studio2-prototype .tour-overlay>small{display:none}
body.studio2-prototype #tourCaption{font-size:12px;line-height:1.35;min-height:0;margin:0}
body.studio2-prototype .build-meter{margin:5px 0 0}
body.ccr-review-focused .ccr-review-viewing-bar{left:8px;right:8px;bottom:max(8px,env(safe-area-inset-bottom));top:auto;display:grid;grid-template-columns:repeat(6,minmax(44px,1fr));gap:4px;max-width:520px;margin-inline:auto;padding:4px;box-sizing:border-box}
body.ccr-review-focused .ccr-review-viewing-bar button{width:100%;min-width:44px;min-height:44px;padding:5px 3px;line-height:1.12;font-size:11px;white-space:normal}
body.ccr-review-focused .ccr-review-viewing-bar button[hidden]{display:none!important}
body.ccr-review-focused .ccr-review-legacy .player-warning{display:none}
.ccr-view-menu{position:absolute;z-index:52;left:8px;bottom:66px;width:min(270px,calc(100% - 16px));padding:6px;display:grid;grid-template-columns:1fr 1fr;gap:5px;border:1px solid #739aab;border-radius:10px;background:#112b3b;box-shadow:0 5px 25px #0008;color:#edf7fb}
.ccr-view-menu[hidden],.ccr-tools-panel[hidden]{display:none!important}
.ccr-view-menu button{min-width:44px;min-height:44px;padding:8px;border:1px solid #668b9d;border-radius:6px;background:#193c50;color:#fff;font:600 12px system-ui}
.ccr-view-menu button[aria-pressed=true]{background:#16695d;border-color:#9deedc}
.ccr-view-menu button:disabled{opacity:.5}
.ccr-tools-panel{position:absolute;z-index:55;top:8px;right:8px;bottom:8px;width:min(380px,calc(100% - 16px));max-height:calc(100% - 16px);display:flex;flex-direction:column;min-height:0;padding:0;border:1px solid #7294a5;border-radius:12px;background:#102533;color:#eef6fa;box-shadow:0 12px 45px #0009;text-align:left;overflow:hidden}
.ccr-tools-panel>header{flex:none;position:static!important;display:flex!important;align-items:center;justify-content:space-between;min-height:52px;height:auto!important;padding:6px 10px!important;gap:8px!important;margin:0;border-bottom:1px solid #466474;background:#102533}
.ccr-tools-panel h2{font-size:16px;line-height:1.3;margin:0;color:#eef6fa}
.ccr-tools-panel>header button{min-width:44px;min-height:44px;padding:7px 12px;border:1px solid #7b9aac;border-radius:7px;background:#193d51;color:#fff;font:600 12px system-ui}
.ccr-tools-panel>aside,.ccr-tools-panel>.player-toolbar{display:block!important;flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;height:auto!important;max-height:none!important;margin:0!important;padding:14px!important;border:0!important;border-radius:0!important;background:#102533!important;color:#eef6fa}
.ccr-tools-panel :is(button,select,input:not([type=range]),summary,a){min-height:44px}
.ccr-tools-panel input[type=range]{min-height:36px}
.ccr-tools-panel :is(button,select,input,textarea){max-width:100%}
.ccr-tools-panel .player-viewing-options{color:#eef6fa}
.ccr-tools-panel :is(.player-status,.player-view-note,.player-viewing-options,.walkthrough-panel){color:inherit}
.ccr-tools-panel .player-views{flex-wrap:wrap}
.ccr-review-stage>.ccr-view-menu,.ccr-review-stage>.ccr-tools-panel{touch-action:auto}
.ccr-review-clean>.ccr-view-menu,.ccr-review-clean>.ccr-tools-panel{display:none!important}
body.ccr-review-embedded .ccr-view-menu,body.ccr-review-embedded .ccr-tools-panel{display:none!important}
body.ccr-review-focused .ccr-review-legacy:not(.player-expanded) .model-stage{min-height:440px;height:calc(100svh - 110px);max-height:850px}
body.ccr-review-focused .ccr-review-legacy:not(.player-expanded) #view{height:100%!important;min-height:0!important}
body.ccr-review-focused .ccr-review-legacy:not(.player-expanded){scroll-margin-top:8px}
@media(max-width:540px){body.studio2-prototype>header{padding-inline:8px!important;gap:6px!important}body.studio2-prototype>header strong{font-size:15px}body.studio2-prototype>header nav .ccr-app-switcher{font-size:11px;padding-inline:7px}body.studio2-prototype #tourCaption{font-size:11px}.ccr-tools-panel>aside,.ccr-tools-panel>.player-toolbar{padding:11px!important}}
@media(orientation:landscape) and (max-height:500px){body.studio2-prototype>header{height:48px;min-height:48px!important}body.studio2-prototype main{height:calc(100dvh - 48px)!important}body.studio2-prototype .stage>.tour-overlay{bottom:61px;max-width:55%;font-size:10px}.ccr-tools-panel{left:auto;width:min(380px,calc(100% - 16px))}}
/* Reserve the top-right Help target while the tools drawer is open. */
.ccr-tools-panel>header{padding-right:94px!important}
@media(max-width:360px){.ccr-tools-panel h2{font-size:14px}.ccr-tools-panel>header{gap:4px!important;padding-left:8px!important}.ccr-tools-panel>header button{padding-inline:7px}}
body.ccr-review-embedded .go3d-transition{display:none!important}
.ccr-tools-panel .tour-steps{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;pointer-events:auto}
.ccr-tools-panel .tour-steps button{min-height:44px;padding:6px;font-size:11px;white-space:normal}

/* Source-load recovery remains usable in the clean model view. */
.load-recovery{position:absolute;z-index:75;left:50%;top:50%;transform:translate(-50%,-50%);width:min(430px,calc(100% - 28px));box-sizing:border-box;padding:20px;border:1px solid #7798a8;border-radius:12px;background:#0b2232;box-shadow:0 10px 35px #0008}.load-recovery h2{font-size:20px;margin:0 0 10px}.load-recovery p{font-size:14px;line-height:1.5}.load-recovery .row{margin-bottom:0}.load-recovery :is(button,a){min-height:44px;display:inline-flex;align-items:center;justify-content:center;padding:9px 12px;box-sizing:border-box}.load-recovery a{border:1px solid #7798a8;border-radius:6px;text-decoration:none}.load-recovery :is(button,a):focus-visible{outline:3px solid #8cf3dc;outline-offset:3px}#retryDownloads{min-height:44px}#downloadIndexStatus{font-size:13px;color:#d3e7ee}.ccr-review-clean>.load-recovery{display:block!important}.ccr-review-clean>.load-recovery[hidden]{display:none!important}
.stage>#loading{left:50%;transform:translateX(-50%);width:max-content;max-width:calc(100% - 28px);box-sizing:border-box;text-align:center}

.stage.load-failed>.stage-study-actions{display:none!important}
