/* Precision drawing surfaces. The geometry carries the detail; the frame stays quiet. */
.assembly { background:#eeede5; }
.assembly .scene-sticky { padding-top:42px; padding-bottom:30px; }
.assembly .scene-top { position:relative; min-height:125px; }
.assembly .drawing-stamp { text-align:right; color:#5c685d; }
.assembly-diagram { flex:1; min-height:300px; width:100%; display:grid; place-items:center; margin:0; }
.assembly-diagram > svg { display:block; width:100%; height:auto; max-height:500px; overflow:visible; }
.drawing-surface { background-image:none; }
.inspect-workspace { grid-template-columns:minmax(0,1fr) 290px; }
.inspect-canvas { background:#f7f6ef; min-height:540px; }
.inspect-canvas #inspect-drawing { width:100%; min-width:0; margin:0; padding:35px 4px 30px; }
.inspect-canvas #inspect-drawing > svg { width:100%; height:auto; display:block; }
.canvas-corner { top:18px; left:20px; }
.canvas-note { font-size:9px; letter-spacing:.06em; }
.cad-modes { position:absolute; right:18px; top:18px; z-index:3; display:flex; border:1px solid #c5cbbd; padding:2px; background:#f7f6ef; }
.cad-modes[hidden] { display:none; }
.cad-modes button { padding:6px 10px; font-size:10px; }
.cad-modes button.active { background:#27372d; color:#f7f6ef; }
.cad-modes button:hover:not(.active) { background:#e5e8dc; }
.drafting-table { background:#f7f6ef; border-color:#aeb6a7; }
.drafting-top { background:#e6e8de; }
.draft-content { display:block; padding:28px 28px 30px; }
#process-drawing { min-width:0; width:100%; background:none; overflow-x:auto; }
#process-drawing > svg { display:block; width:100%; height:auto; }
.draft-explanation { display:grid; grid-template-columns:1fr 1.35fr; column-gap:50px; padding:30px 5% 5px; }
.draft-explanation h3 { grid-column:1; grid-row:1/3; margin:0; font-size:38px; }
.draft-explanation > .micro { grid-column:1; grid-row:3; margin-top:15px; }
.draft-explanation p { grid-column:2; grid-row:1/4; margin:0; font-size:13px; }
.draft-explanation .draft-foot { grid-column:1/-1; grid-row:4; margin-top:22px; font-size:10px; }
.sheet-tools { display:none; justify-content:space-between; align-items:center; gap:20px; padding:14px 5% 0; color:#5b6857; }
.sheet-tools span { font-size:10px; letter-spacing:.04em; }
.sheet-tools button { font-size:11px; border-bottom:1px solid currentColor; padding:4px 0; }
.sheet-tools button:hover { color:var(--rust); }
.drafting-bottom { color:#53604f; }
.layup-stage { margin:0; }
#material-diagram { width:100%; display:grid; place-items:center; }
#material-diagram > svg { width:100%; max-height:480px; height:auto; overflow:visible; }

@media (min-width:1600px) {
  .assembly-diagram > svg { max-height:550px; }
}
@media (max-width:1050px) and (min-width:761px) {
  .inspect-workspace { grid-template-columns:minmax(0,1fr) 260px; }
  .inspect-canvas { min-height:490px; }
  .draft-content { padding:24px 20px; }
  .draft-explanation h3 { font-size:32px; }
}
@media (max-width:760px) {
  .assembly .scene-sticky { padding:30px 5% 25px; min-height:760px; }
  .assembly .scene-top { min-height:170px; display:block; }
  .assembly .scene-top h2 { position:static; font-size:48px; }
  .assembly .scene-top > p { padding-top:15px; margin-left:0; max-width:250px; font-size:11px; }
  .assembly .drawing-stamp { position:static; display:none; }
  .assembly-diagram { display:grid; position:relative; min-height:300px; margin:0 -3%; width:106%; overflow:visible; }
  .assembly-diagram > svg { position:static; width:100%; min-height:0; max-height:none; transform:none; }
  .assembly-bottom { gap:16px; }
  .assembly-progress { padding-left:52px; }
  .part-caption h3 { font-size:27px; }
  .part-caption p { font-size:11px; }
  .inspect-workspace { grid-template-columns:minmax(0,1fr); }
  .inspect-canvas { min-height:360px; }
  .inspect-canvas #inspect-drawing { padding:65px 0 60px; transform-origin:50% 50%!important; }
  .cad-modes { right:12px; top:54px; }
  .cad-modes button { padding:6px 10px; font-size:10px; min-height:30px; }
  .canvas-corner { font-size:9px; }
  .canvas-corner span { font-size:8px; }
  .canvas-note { font-size:8px; right:12px; bottom:31px; max-width:150px; text-align:right; }
  .drafting-table { margin-left:4%; margin-right:4%; }
  .draft-content { display:block; padding:20px 12px 25px; }
  #process-drawing { margin:0 -4px 0; width:calc(100% + 8px); scrollbar-width:thin; }
  #process-drawing > svg { width:760px; max-width:none; }
  #process-drawing.fit-sheet > svg { width:100%; }
  .sheet-tools { display:flex; padding:12px 6px 25px; gap:15px; }
  .sheet-tools span { font-size:9px; max-width:190px; }
  .sheet-tools button { min-width:65px; }
  .draft-explanation { display:grid; grid-template-columns:1fr 1.1fr; gap:12px 18px; padding:0 6px; }
  .draft-explanation h3 { font-size:31px; grid-column:1; grid-row:1/3; }
  .draft-explanation > .micro { grid-column:1; grid-row:3; margin:0; }
  .draft-explanation p { grid-column:2; grid-row:1/4; font-size:11px; margin:0; }
  .draft-explanation .draft-foot { grid-column:1/-1; grid-row:4; margin:14px 0 0; font-size:9px; }
  .drafting-top { padding:15px 16px; }
  .draft-tabs { padding-left:16px; padding-right:16px; }
  .drafting-top .micro { font-size:9px; }
  .drafting-bottom { font-size:8px; }
  .layup-stage { margin:0 -4%; }
  #material-diagram > svg { max-height:none; }
  #layup .mcad-sheet-header, #layup .mcad-sheet-footer, #layup .mcad-section-detail, #layup .mcad-orientation, #layup .mcad-annotations { display:none; }
}
@media (max-width:760px) and (max-height:740px) {
  .assembly .scene-sticky { height:760px; }
}

/* Solid-model studio. Quiet viewport furniture, close product framing. */
.assembly { background:#ecebe4; }
.model-viewport { position:relative; isolation:isolate; overflow:hidden; }
.model-viewport > canvas { display:block; position:absolute; inset:0; width:100%; height:100%; outline:none; }
.assembly-diagram.model-viewport { width:calc(100% + 7%); margin:0 -3.5%; min-height:330px; }
.model-meta { position:absolute; left:24px; right:24px; bottom:14px; display:flex; justify-content:space-between; gap:20px; font-size:8px; letter-spacing:.12em; color:#667063; pointer-events:none; }
.model-axis { position:absolute; bottom:30px; right:20px; width:50px; height:50px; opacity:.65; pointer-events:none; }
.model-axis svg { width:100%; height:100%; overflow:visible; }
.model-axis path { fill:none; stroke:#657363; stroke-width:.8; }
.model-axis text { font:8px monospace; fill:#50634f; }
.model-axis circle { fill:#50634f; }
.model-labels,.model-leaders { position:absolute; inset:0; width:100%; height:100%; pointer-events:none; }
.model-leaders { overflow:visible; }
.model-leaders path { stroke:#71806c; stroke-width:.6; stroke-dasharray:none; fill:none; opacity:.55; }
.model-leaders circle { fill:#596952; }
.model-label { position:absolute; transform:translate(-50%,-50%); display:flex; align-items:center; gap:9px; white-space:nowrap; font-size:10px; letter-spacing:.03em; color:#364531; }
.model-label > span { font-family:monospace; font-size:9px; color:#737f6d; }
.inspect-canvas { min-height:580px; background:radial-gradient(ellipse at 50% 35%,#faf9f4 0,#ecece4 80%); }
.inspect-canvas #inspect-drawing { position:absolute; inset:0; width:100%; height:100%; padding:0; transition:none; }
.inspect-canvas #inspect-drawing > canvas { cursor:grab; }
.inspect-canvas #inspect-drawing > canvas:active { cursor:grabbing; }
.inspect-canvas .canvas-corner { z-index:2; pointer-events:none; font-size:9px; line-height:1.8; }
.inspect-canvas .canvas-corner span { color:#72806c; font-size:8px; letter-spacing:.06em; }
.inspect-canvas .model-meta { left:auto; right:21px; bottom:21px; text-align:right; }
.inspect-canvas .model-meta span:first-child { display:none; }
.inspect-canvas .model-axis { bottom:50px; }
.inspect-canvas .canvas-note { display:none; }
.camera-presets { position:absolute; top:74px; left:20px; z-index:3; display:flex; gap:4px; }
.camera-presets[hidden] { display:none; }
.camera-presets button { border:1px solid transparent; padding:7px 9px; font-size:9px; color:#687461; }
.camera-presets button.active { border-color:#c8cebe; background:#f7f7ef; color:#26352a; }
.camera-presets button:hover { color:#26352a; background:#e2e5d9; }
.camera-presets #focus-part { border-left:1px solid #c7cebd; margin-left:6px; padding-left:13px; }
.cad-modes { background:#f4f4ed; border-color:#c7cebf; }
.layup-stage { align-items:stretch; min-height:300px; }
#material-diagram.model-viewport { height:100%; min-height:300px; width:100%; }
#material-diagram .model-meta { color:#9cae93; }
#material-diagram .model-axis { display:none; }
.model-fallback { text-align:center; padding:30px; }
.model-fallback img { display:block; width:100%; max-height:320px; object-fit:cover; }
.model-fallback p { font-size:12px; margin-top:15px; }
.model-viewport.is-edges { background-image:linear-gradient(#65715d07 1px,transparent 1px),linear-gradient(90deg,#65715d07 1px,transparent 1px); background-size:28px 28px; }
[hidden] { display:none!important; }
@media(max-width:760px){
  .assembly-diagram.model-viewport { min-height:280px; width:110%; margin:0 -5%; }
  .assembly .scene-top { min-height:170px; }
  .model-label { font-size:8px; gap:4px; }
  .model-label > span { font-size:8px; }
  .model-meta { font-size:6px; left:10px; right:10px; bottom:8px; letter-spacing:.04em; }
  .model-axis { width:36px; height:36px; right:10px; bottom:20px; }
  .inspect-canvas { min-height:400px; }
  .inspect-canvas #inspect-drawing { padding:0; }
  .inspect-canvas .model-meta { right:12px; bottom:23px; font-size:6px; }
  .camera-presets { top:91px; left:12px; gap:1px; }
  .camera-presets button { padding:8px 8px; font-size:9px; min-height:32px; }
  .camera-presets #focus-part { padding-left:9px; margin-left:3px; }
  .cad-modes { top:52px; }
  .inspect-canvas .canvas-corner { left:13px; top:14px; }
  .inspect-canvas .model-axis { bottom:58px; }
  #material-diagram.model-viewport { min-height:270px; }
  .layup-stage { margin:0 -5%; min-height:270px; }
  .model-leaders path { stroke-width:.5; }
}
