/* Readable CAD viewport, separate modelling and commit controls. */
.cad-canvas-wrap{position:relative;isolation:isolate;min-height:420px;height:clamp(460px,61vh,820px);max-height:none;background:radial-gradient(ellipse at 45% 40%,#294251,#162836)}
.studio-webgl{position:absolute;inset:0;width:100%;height:100%;z-index:0;pointer-events:none}
.cad-canvas-wrap #mesh-canvas{position:relative;z-index:1;background:transparent;width:100%;height:100%}
.cad-canvas-wrap .mesh-hint,.cad-canvas-wrap .cad-cursor{z-index:2;font-size:.875rem;background:#0f202de8;max-width:calc(100% - 1.5rem);letter-spacing:0}
.cad-canvas-wrap.light-preview{background:#e2eaf0}.light-preview .cad-cursor,.light-preview .mesh-hint{background:#ffffffec;color:#183242}.viewport-tools{display:flex;align-items:center;flex-wrap:wrap;gap:.65rem;padding:.7rem .8rem;border:1px solid var(--border);background:#1c2c39;border-radius:8px;margin:.5rem 0}.viewport-tools label{display:flex;align-items:center;gap:.35rem;font-size:.875rem;margin:0;color:#d9e3e9}.viewport-tools select{width:auto;max-width:190px;min-height:38px;margin:0}.viewport-tools input[type=checkbox]{margin:0;width:17px;height:17px;min-height:17px;accent-color:#efb474}.viewport-tools button{min-height:38px;padding:.45rem .65rem}.viewport-tools button[aria-pressed=true]{background:#644729;border-color:#e9b579}.viewport-readout{display:flex;justify-content:space-between;gap:.7rem;flex-wrap:wrap;font-size:.875rem;color:#b8d0df;margin:.65rem 0}.viewport-readout strong{color:#f6d7aa;font-variant-numeric:tabular-nums}.assembly-panel{padding:.7rem 1rem;margin:.6rem 0;background:#1c2e3a;border-color:#597181}.assembly-heading{display:flex;justify-content:space-between;gap:.8rem;cursor:pointer;line-height:1.55;font-size:1rem}.assembly-heading span{font-size:.875rem;color:#c1d2de}.assembly-panel[open] .assembly-heading{padding-bottom:.8rem;border-bottom:1px solid #445b6b;margin-bottom:.8rem}.assembly-grid{display:grid;grid-template-columns:1.2fr 1.2fr auto;gap:.7rem;align-items:end}.assembly-grid label{font-size:.875rem;margin:0}.assembly-grid button{min-height:43px}.assembly-panel .note{margin:.65rem 0;font-size:.875rem;color:#c8d5df;line-height:1.6}.assembly-align{border-top:1px solid #4b6270;margin-top:.75rem;padding-top:.5rem}.assembly-align summary{font-size:.875rem;cursor:pointer;margin-bottom:.5rem}.assembly-align .assembly-grid{grid-template-columns:.6fr 1.2fr 1fr auto}.assembly-options{display:flex;flex-wrap:wrap;gap:.8rem;margin:.7rem 0}.assembly-options label{font-size:.875rem;color:#ebd3ad;margin:0}#assembly-result{border-top:1px solid #598777;margin-top:.8rem;padding-top:.8rem}#assembly-result-summary{font-size:1rem;color:#b5ebcc}#assembly-warnings{font-size:.875rem;line-height:1.6;color:#ffda9d;padding-left:1.2rem}#assembly-status{font-weight:500;color:#e2dbc2}.cad-object{gap:.45rem;padding:.2rem .5rem}.cad-object input[type=checkbox]{height:18px;width:18px;margin:0;accent-color:#f2c086}.cad-object input[data-object-visible]{accent-color:#7fb6c0;opacity:.8}.cad-object.primary-selection{border-left:4px solid #f3b777}.cad-object.selected{background:#403d31;border-color:#c6a671}.cad-object button small{font-size:.875rem;line-height:1.4}.selection-actions{display:flex;gap:.4rem;flex-wrap:wrap;margin:.5rem 0}.selection-actions button{font-size:.875rem;padding:.4rem .55rem}.cad-object-list{max-height:320px}.cad-workspace.expanded-preview{display:block}.expanded-preview>.cad-left,.expanded-preview>.cad-right{display:none}.expanded-preview .cad-canvas-wrap{height:72vh;min-height:500px}.expanded-preview .cad-center{width:100%}.expanded-preview .cad-help{max-width:1000px}.cad-help p{line-height:1.7}.cad-right .note{line-height:1.65}.cad-right{width:100%;min-width:0}.cad-right input{font-size:1rem}.cad-left,.cad-right{scrollbar-color:#768b9a #1a2633}
@media(max-width:1050px){.assembly-grid{grid-template-columns:1fr 1fr}.assembly-align .assembly-grid{grid-template-columns:1fr 1fr}.assembly-grid button{width:100%}.viewport-tools{gap:.6rem}.cad-canvas-wrap{height:58vh;min-height:400px}}
@media(max-width:800px){.cad-center{order:0}.cad-left{order:1}.assembly-panel{padding:.7rem}.assembly-heading{flex-wrap:wrap}.viewport-tools label{font-size:.875rem}.viewport-readout{display:block;line-height:1.7}.viewport-readout strong{display:block}.cad-canvas-wrap{height:60vh;min-height:360px}.cad-canvas-wrap .mesh-hint{font-size:.875rem}.expanded-preview .cad-canvas-wrap{height:65vh;min-height:360px}.assembly-options{display:block}.assembly-options label{margin:.6rem 0}.assembly-grid{gap:.5rem}}
