/* Viewer layout: the scene and item panel occupy separate grid cells. */
.engine-explorer{height:100svh;min-height:420px;display:flex;flex-direction:column;overflow:hidden}
.engine-explorer .masthead{height:65px;min-height:65px;margin:0 22px;flex:none;border-bottom:1px solid var(--line)}
.engine-explorer .wordmark{font-size:31px;letter-spacing:-2px}.engine-explorer .wordmark small{max-width:none;font-size:8px;margin-left:17px;padding-left:17px}
.engine-explorer .header-right,.header-controls{display:flex;align-items:center;gap:19px}.header-links{display:flex;align-items:center;gap:10px}.header-link{display:inline-flex;align-items:center;gap:9px;padding:9px 12px;border:1px solid #ffffff24;border-radius:2px;background:#171a1c;font:12px var(--mono);color:#e5e9e7;white-space:nowrap}.header-link span{color:var(--accent)}.header-link:hover{color:var(--accent);border-color:#ff753970;background:#242a2d}.header-link:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.explorer-toolbar{position:relative;z-index:5;min-height:57px;display:flex;gap:16px;align-items:stretch;justify-content:space-between;padding:0 22px;border-bottom:1px solid var(--line);background:#0d0f10;flex:none}
.explorer-tabs{display:flex;gap:22px;align-items:stretch;overflow-x:auto;scrollbar-width:none;flex:none}.explorer-tabs::-webkit-scrollbar{display:none}
.explorer-tabs button{position:relative;white-space:nowrap;background:transparent;padding:0;color:#9ca2a3;font-size:11px}
.explorer-tabs button[aria-current]{color:#f1f1eb}.explorer-tabs button[aria-current]::after{content:"";position:absolute;bottom:0;left:0;right:0;height:2px;background:var(--accent)}
.view-tools{display:flex;gap:5px;align-items:center;justify-content:flex-end;flex-wrap:wrap}.view-tools button{background:#171a1c;border:1px solid #ffffff17;border-radius:2px;padding:8px 9px;font:9px var(--mono);white-space:nowrap}
.view-tools button:hover{background:#242a2d}.view-tools button[aria-pressed="true"]{border-color:#ff753970;color:var(--accent);background:#2b1c14}.view-tools #zoom-in,.view-tools #zoom-out{font:16px var(--mono);width:29px;padding:4px 0}
.engine-explorer main.workspace{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 300px;flex:1;min-height:0;height:auto;pointer-events:auto;z-index:1}
.workspace.is-car,.workspace.panel-hidden{grid-template-columns:minmax(0,1fr)!important}.workspace.panel-hidden .inspector{display:none}
.engine-stage{position:relative;display:flex;flex-direction:column;min-width:0;min-height:0;overflow:hidden}
.stage-canvas{position:relative;min-height:0;flex:1;isolation:isolate;overflow:hidden}
.engine-explorer .sam-garage .sam-canvas-wrap{inset:0}
.engine-explorer .sam-garage .sam-poster{left:3%;top:3%;height:94%;width:94%;max-width:none}
.engine-explorer .sam-garage::before{background:radial-gradient(ellipse at 54% 33%,#212527 0%,#0a0b0d 70%)}
.engine-explorer .sam-garage::after{left:10%;right:10%;top:9%}
.engine-explorer .sam-garage canvas{touch-action:none;cursor:grab}.engine-explorer .sam-garage canvas:active{cursor:grabbing}
.sam-garage[data-labels="false"] .sam-marker span{display:none}.sam-garage[data-labels="false"] .sam-marker i{width:9px;height:9px;box-shadow:0 0 0 4px #ff743912,0 0 12px #ff743950}
.view-readout{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:35px;flex:none;padding:8px 17px;border-top:1px solid #ffffff0c;background:#0d0f10}
.view-readout strong{font:9px var(--mono);font-weight:400;color:var(--accent)}.view-readout>span{font:8px var(--mono);color:#737c7f;white-space:nowrap}
.inspector{display:flex;min-width:0;min-height:0;flex-direction:column;background:#101315;border-left:1px solid var(--line);overflow:hidden}
.panel-header{padding:15px;flex:none;border-bottom:1px solid var(--line)}.panel-header>div{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:11px}
#panel-title{font:600 12px var(--sans);letter-spacing:0;line-height:1.3;margin:0;max-width:none}.panel-header #panel-count{font:8px var(--mono);color:#737c80}
.panel-header input{font:11px var(--sans);border:1px solid #ffffff20;background:#090b0d;border-radius:2px;padding:9px 10px;color:#eee;width:100%;min-width:0;outline-offset:2px}
.item-list{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-color:#414b50 #101315;scrollbar-width:thin;padding:4px 0}
.part-button{position:relative;display:flex;flex-direction:column;gap:4px;width:100%;padding:11px 16px;text-align:left;background:transparent;border-bottom:1px solid #ffffff0a;border-left:2px solid transparent}
.part-button strong{font-size:11px;font-weight:500;line-height:1.35}.part-button small{font:8px var(--mono);color:#6e7b80}.part-button .fault-code{font:9px var(--mono);color:#bd947d}
.part-button:hover{background:#ffffff05}.part-button[aria-pressed="true"]{border-left-color:var(--accent);background:#ff753910}.part-button[aria-pressed="true"] strong,.part-button[aria-pressed="true"] .fault-code{color:var(--accent)}
.item-detail{border-top:1px solid var(--line);flex:none;max-height:245px;min-height:145px;padding:15px;overflow:auto;scrollbar-width:thin}
.item-detail #detail-category{font:7px var(--mono);letter-spacing:.11em;text-transform:uppercase;color:#828d91;margin:0 0 7px}
.item-detail h2{font-size:14px;line-height:1.4;margin:0 0 9px;font-weight:500}.item-detail #detail-description{font-size:11px;line-height:1.75;color:#b5bdbf;margin:0}
.item-detail #detail-location{font:8px/1.65 var(--mono);color:#7f8b90;margin:11px 0 0}
#related-items{display:flex;flex-wrap:wrap;gap:5px;margin-top:12px}#related-items:empty{display:none}#related-items button{border:1px solid #ffffff20;border-radius:2px;background:#181e21;padding:5px 7px;font:8px var(--mono);color:#bdc6c8}#related-items button:hover{color:var(--accent);border-color:#ff753960}
.list-empty{padding:18px 16px;color:#8e999e;font-size:11px;line-height:1.7}
.viewer-footer{min-height:31px;flex:none;border-top:1px solid var(--line);display:flex;gap:18px;align-items:center;padding:7px 18px;font:7px var(--mono);color:#6d777b;background:#0a0c0e}.viewer-footer>div{display:flex;gap:14px;margin-left:auto}.viewer-footer a:hover{color:#f1f1eb}
.log-panel{padding:15px;overflow:auto;flex:1;min-height:0}.log-panel .panel-label{margin-bottom:15px}.log-panel .readouts{justify-content:space-between;gap:10px;margin-top:20px}.log-panel .readout strong{font-size:16px}.log-panel .readout span{font-size:6px}.log-panel .trace{height:95px}.log-panel select{margin-top:23px;background:#090b0d;color:#ccc;padding:9px;border:1px solid #ffffff20;width:100%;font:10px var(--sans)}.log-panel label{display:block;color:#7c8a90;font:8px var(--mono);margin-top:22px}.log-panel label select{margin-top:8px}
.engine-explorer.is-background .masthead,.engine-explorer.is-background .explorer-toolbar,.engine-explorer.is-background .viewer-footer,.engine-explorer.is-background .inspector,.engine-explorer.is-background .view-readout{display:none!important}.engine-explorer.is-background .workspace{grid-template-columns:1fr!important;grid-template-rows:1fr!important}.engine-explorer.is-background .stage-canvas{height:100svh}
@media(min-width:1400px){.engine-explorer main.workspace{grid-template-columns:minmax(0,1fr) 330px}.part-button{padding:12px 18px}.part-button strong{font-size:12px}.item-detail{padding:18px}}
@media(max-width:1100px){.explorer-toolbar{flex-wrap:wrap;padding-top:0;padding-bottom:8px;gap:2px}.explorer-tabs{height:43px}.view-tools{margin-left:auto}.engine-explorer main.workspace{grid-template-columns:minmax(0,1fr) 275px}.explorer-tabs{gap:24px}}
@media(max-width:760px){
 .engine-explorer .masthead{height:auto;min-height:55px;margin:0 13px;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:55px auto}.engine-explorer .wordmark{font-size:28px;grid-column:1;grid-row:1}.engine-explorer .wordmark small{font-size:7px;margin-left:13px;padding-left:13px}.engine-explorer .header-right{display:contents}.header-controls{grid-column:2;grid-row:1;gap:13px}.header-links{grid-column:1/-1;grid-row:2;gap:8px;padding-bottom:10px}.header-link{font-size:11px;padding:9px 11px}.engine-explorer .icon-button{width:27px;height:27px}
 .explorer-toolbar{padding:0 12px 8px;gap:6px}.explorer-tabs{height:39px;justify-content:space-between;width:100%;gap:13px}.explorer-tabs button{font-size:10px}.view-tools{width:100%;gap:5px;justify-content:flex-start}.view-tools button{padding:7px 8px;font-size:8px}.view-tools #zoom-in,.view-tools #zoom-out{width:28px;font-size:15px;padding:3px 0}
 .engine-explorer main.workspace{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(180px,1fr) minmax(205px,32svh)}.workspace.is-car,.workspace.panel-hidden{grid-template-rows:minmax(0,1fr)!important}
 .engine-explorer .sam-garage .sam-poster{left:2%;top:2%;height:96%;width:96%}.engine-explorer .sam-garage .sam-canvas-wrap{inset:0}
 .inspector{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);grid-template-rows:49px minmax(0,1fr);border-left:0;border-top:1px solid var(--line)}
 .panel-header{grid-column:1/-1;display:flex;gap:12px;align-items:center;padding:9px 12px}.panel-header>div{margin:0;gap:9px;flex:1;min-width:0}#panel-title{font-size:11px;white-space:nowrap}.panel-header #panel-count{font-size:7px;white-space:nowrap}.panel-header input{width:45%;font-size:10px;padding:7px 8px}
 .item-list{grid-column:1;grid-row:2;min-width:0}.part-button{padding:9px 11px;gap:3px}.part-button strong{font-size:10px}.part-button small,.part-button .fault-code{font-size:7px}
 .item-detail{grid-column:2;grid-row:2;border-top:0;border-left:1px solid var(--line);max-height:none;min-height:0;padding:12px}.item-detail h2{font-size:12px;margin-bottom:7px}.item-detail #detail-description{font-size:10px;line-height:1.7}.item-detail #detail-category{font-size:6px}.item-detail #detail-location{font-size:7px;margin-top:8px}#related-items{gap:4px;margin-top:9px}#related-items button{font-size:7px;padding:5px}
 .view-readout{min-height:29px;padding:7px 12px}.view-readout strong{font-size:8px}.view-readout>span{font-size:6px}.viewer-footer{font-size:6px;gap:8px;padding:7px 12px;min-height:27px}.viewer-footer>div{gap:9px}#data-note{display:none}
 .log-panel{grid-column:1/-1;grid-row:2;display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:10px 12px}.log-chart{min-width:0}.log-panel .trace{height:65px}.log-panel .readouts{margin-top:0;gap:10px}.log-panel label{margin-top:14px}.log-panel select{font-size:9px;padding:6px}.log-panel .readout strong{font-size:13px}.log-panel .readout small{font-size:7px}
}
@media(max-width:370px){.explorer-tabs button{font-size:9px}.explorer-tabs{gap:10px}.view-tools{gap:4px}.view-tools button{font-size:7px;padding:7px}.panel-header{gap:8px}.panel-header #panel-count{display:none}.item-detail #detail-description{font-size:9px}.view-readout>span{display:none}.viewer-footer>span{font-size:5px}}

/* Minimize only the visual layer; keep the active controls and selection in place. */
#viewer-toggle{display:inline-flex;align-items:center;justify-content:center;flex:none}
#viewer-toggle svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
#viewer-toggle .expand-icon{display:none}.viewer-minimized #viewer-toggle .minimize-icon{display:none}.viewer-minimized #viewer-toggle .expand-icon{display:block}
body.viewer-minimized #viewer-toggle{color:var(--accent);border-color:#ff753970}
.engine-explorer.viewer-minimized main.workspace{display:block}
.viewer-minimized .view-tools{display:none}
.viewer-minimized .engine-stage{position:absolute;inset:0;z-index:0;opacity:.3;pointer-events:none}
.viewer-minimized .view-readout{display:none}
.viewer-minimized .inspector{position:relative;z-index:1;width:100%;height:100%;display:grid;grid-template-columns:minmax(220px,.7fr) minmax(0,1.3fr);grid-template-rows:auto minmax(0,1fr);border-left:0;background:#0d1012c9;backdrop-filter:blur(3px)}
.viewer-minimized .panel-header{grid-column:1/-1;display:flex;align-items:center;gap:20px;min-height:62px}
.viewer-minimized .panel-header>div{flex:1;margin:0;max-width:340px}
.viewer-minimized .panel-header input{width:min(340px,45%);margin-left:auto}
.viewer-minimized .item-list{grid-column:1;grid-row:2}
.viewer-minimized .item-detail{grid-column:2;grid-row:2;max-height:none;min-height:0;border-top:0;border-left:1px solid var(--line);padding:22px}
.viewer-minimized .inspector:not(.has-selection) .item-list{grid-column:1/-1;display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));align-content:start}
.viewer-minimized .inspector:not(.has-selection) .part-button{border-right:1px solid #ffffff0a}
.viewer-minimized .log-panel{grid-column:1/-1;grid-row:2;display:grid;grid-template-columns:minmax(0,2fr) minmax(200px,1fr);gap:24px;padding:22px;align-content:start}
.viewer-minimized .log-panel .trace{height:clamp(130px,30svh,300px)}
@media(max-width:760px){
 .viewer-minimized .inspector{grid-template-columns:minmax(145px,.8fr) minmax(0,1.2fr);grid-template-rows:49px minmax(0,1fr)}
 .viewer-minimized .panel-header{min-height:0;gap:10px}.viewer-minimized .panel-header>div{max-width:none}.viewer-minimized .panel-header input{width:45%}
 .viewer-minimized .item-detail{padding:13px}.viewer-minimized .inspector:not(.has-selection) .item-list{grid-template-columns:repeat(auto-fill,minmax(145px,1fr))}
 .viewer-minimized .log-panel{grid-template-columns:minmax(0,1fr);padding:14px;gap:18px}.viewer-minimized .log-panel .trace{height:150px}
}
