/* FIT1 — an additive, reversible workspace. Existing routes and source geometry stay intact. */
.fit-nav{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0 0 14px}.fit-nav strong{margin-right:auto;font-size:.9rem}.fit-nav button{min-width:44px;font-size:.8rem}.fit-stage{display:grid;grid-template-columns:minmax(0,1fr) minmax(340px,430px);gap:16px;align-items:start}.fit-stage .workspace{display:block;min-width:0;position:sticky;top:12px}.fit-stage .review-sidebar{display:none}.fit-stage>#design-workbench{margin:0;min-width:0;padding:0 16px 16px;border:1px solid var(--line);border-radius:12px;background:var(--surface);max-height:calc(100dvh - 24px);overflow-y:auto;scrollbar-gutter:stable;overscroll-behavior:contain}.fit-stage #design-workbench>summary{min-height:48px;position:sticky;top:0;z-index:4;background:var(--surface)}.fit-stage .workbench-tabs{position:sticky;top:47px;z-index:3;background:var(--surface);padding:6px 2px;grid-template-columns:repeat(3,minmax(0,1fr))!important}.fit-stage .workbench-tabs button{font-size:.76rem;min-height:46px;overflow-wrap:anywhere}.fit-stage .workbench-body .small{font-size:.82rem;line-height:1.55}.fit-stage .viewer-card .canvas-wrap{min-height:260px}.fit-stage .viewer-card canvas#model{height:clamp(320px,49dvh,620px)}.fit-stage .viewer-card>.caption{margin:8px 0}.fit-stage .viewer-card .part-grid button{min-height:44px}.fit-stage .viewer-head{padding:10px 12px}.fit-stage .section-dock{max-height:50%}.fit-stage .viewer-card .view-controls{padding:8px 12px}.fit-stage .viewer-card.fullscreen{position:fixed}.fit-stage .viewer-card.fullscreen canvas#model{height:100%}.fit-stage .viewer-card.fullscreen .canvas-wrap{min-height:0}.fit-description{padding:12px;border:1px solid var(--line);background:var(--surface2);border-radius:9px;margin:10px 0}.fit-description p{margin:0 0 8px;font-size:.84rem}.fit-description button{font-size:.78rem}.fit-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:10px 0}.fit-card{display:flex;flex-direction:column;background:var(--surface2);color:var(--text);border:1px solid var(--line);min-width:0;text-align:left;padding:8px;font-size:.78rem;overflow:hidden}.fit-card img{width:100%;height:92px;object-fit:contain;background:#11212e;border-radius:6px}.fit-card span{display:block;overflow-wrap:anywhere;width:100%}.fit-card small{font-weight:400;color:var(--muted);font-size:.7rem}.fit-card[aria-pressed=true]{outline:2px solid var(--accent)}.fit-inline{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.fit-inline>*{flex:1}.fit-inline input{min-width:0}.fit-dialog{max-width:min(720px,calc(100vw - 24px));width:720px;max-height:calc(100dvh - 24px);overflow:auto;padding:24px;border:1px solid var(--line);border-radius:14px;background:var(--surface);color:var(--text)}.fit-dialog::backdrop{background:#071119cc}.fit-dialog .dialog-top{position:sticky;top:-24px;background:var(--surface);z-index:2;padding:10px 0}.fit-dialog .dialog-top button{min-width:68px}.fit-dialog h2{margin:0}.fit-dialog img{max-width:100%;max-height:240px;object-fit:contain;border-radius:8px;background:#11212e}.fit-dialog .fit-illustration{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:center;margin:12px 0}.fit-dialog figcaption{font-size:.78rem;color:var(--muted)}.fit-dialog .fit-options{display:grid;grid-template-columns:1fr 1fr;gap:8px}.fit-dialog .fit-option{font-size:.83rem;margin:0;border:1px solid var(--line);padding:10px;border-radius:8px;display:flex;align-items:flex-start;gap:8px}.fit-option input{width:20px;min-height:24px;flex:none;margin:0}.fit-dialog input:not([type=radio]):not([type=checkbox]),.fit-dialog select{font-size:16px}.fit-dialog .frame-inputs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.fit-dialog label{font-size:.85rem}.fit-dialog .fit-warning{font-size:.82rem;line-height:1.5;color:var(--muted)}.fit-preview-bar{margin:10px 0;padding:12px;border:2px solid var(--accent);border-radius:9px;background:var(--surface);position:sticky;bottom:8px;z-index:12;box-shadow:var(--shadow)}.fit-preview-bar p{font-size:.83rem;margin:0 0 8px}.fit-preview-bar .button-row{margin:0}.fit-preview-bar button{min-width:44px}.fit-files{display:flex;flex-wrap:wrap;gap:8px;border-top:1px solid var(--line);padding-top:12px;margin-top:12px}.fit-files button{flex:1;min-width:120px;font-size:.78rem}.fit-empty{font-size:.83rem;color:var(--muted);padding:10px}.fit-help-steps{padding-left:22px;line-height:1.7}.fit-stage [hidden],.fit-dialog [hidden],.fit-preview-bar[hidden]{display:none!important}.fit-stage .workbench-list button{min-height:44px;min-width:44px}.fit-stage .workbench-body input,.fit-stage .workbench-body select{font-size:16px;min-height:44px}.fit-stage .workbench-body input[type=checkbox]{min-height:20px}.fit-stage.fit-model-only{grid-template-columns:1fr}.fit-stage.fit-model-only>#design-workbench{display:none}.fit-stage.fit-tools-only{grid-template-columns:1fr}.fit-stage.fit-tools-only>.workspace{display:none}.fit-stage.fit-tools-only>#design-workbench{max-height:none}.fit-review-expanded .review-sidebar{display:block;margin-top:12px}.fit-stage.fit-review-expanded .workspace{position:static}.fit-stage .mechanical-catalog{margin:12px 0}.fit-stage .builder-instructions{margin-bottom:8px!important}.fit-stage .workbench-body>label:first-child{margin-top:4px}.fit-nav button:focus-visible,.fit-dialog button:focus-visible,.fit-card:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
@media(min-width:1000px){body:has(.fit-stage) main{max-width:1700px;padding-top:20px}.fit-stage~.downloads-card{margin-top:24px}.fit-stage .workspace .viewer-card>.part-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.page-heading:has(~.fit-nav){margin-bottom:16px}.page-heading:has(~.fit-nav) h1{font-size:2.3rem}.page-heading:has(~.fit-nav) .intro{font-size:.9rem}}
@media(max-width:1000px){.fit-stage{grid-template-columns:minmax(0,1fr) minmax(300px,370px);gap:10px}.fit-stage .viewer-card .part-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.fit-stage .view-controls button{font-size:.7rem;padding-inline:7px}.fit-nav{position:sticky;top:0;z-index:15;background:var(--bg);padding:8px 0}}
@media(max-width:740px){body:has(.fit-stage) main{padding:16px 10px 28px}.page-heading:has(~.fit-nav){display:block;margin:0 0 12px}.page-heading:has(~.fit-nav) h1{font-size:1.8rem}.page-heading:has(~.fit-nav) .intro{font-size:.86rem}.page-heading:has(~.fit-nav) .source-card{max-width:none;margin-top:10px;padding:8px 12px}.fit-stage{display:flex;flex-direction:column;gap:10px}.fit-stage>.workspace{position:relative;top:0;width:100%}.fit-stage>#design-workbench{width:100%;max-height:none;padding:0 12px 14px;overflow:visible}.fit-stage .viewer-card canvas#model{height:40dvh;min-height:230px}.fit-stage .viewer-card .canvas-wrap{min-height:230px}.fit-stage .workbench-tabs{top:59px}.fit-stage #design-workbench>summary{position:relative;top:auto}.fit-stage .viewer-card:not(.fullscreen)>.part-grid{display:none}.fit-stage.fit-model-only .viewer-card:not(.fullscreen)>.part-grid{display:grid}.fit-stage.fit-model-only .viewer-card canvas#model{height:58dvh}.fit-stage .workbench-tabs button{font-size:.75rem;min-height:46px}.fit-dialog{padding:16px;width:calc(100vw - 20px);max-width:none}.fit-dialog .dialog-top{top:-16px}.fit-dialog .fit-options{grid-template-columns:1fr}.fit-dialog .fit-illustration{grid-template-columns:110px 1fr}.fit-dialog .fit-illustration img{max-height:140px}.fit-dialog h2{font-size:1.3rem}.fit-nav{gap:6px}.fit-nav strong{width:100%;font-size:.8rem}.fit-nav button{font-size:.75rem;padding:8px 10px}.fit-preview-bar{bottom:calc(env(safe-area-inset-bottom) + 8px)}.fit-dialog .button-row{flex-wrap:wrap}.fit-dialog .button-row button{flex:1}.fit-stage .workbench-body .frame-inputs{gap:6px}.fit-stage .workbench-body input[type=range]{min-height:44px}.fit-stage .viewer-card>.section-dock{position:relative;max-height:38dvh}}
@media(prefers-reduced-motion:reduce){.fit-stage *,.fit-dialog *{scroll-behavior:auto!important;transition:none!important}}

/* Compact initial viewport; explanations stay one click away. */
body:has(.fit-stage) .step-nav{margin:10px 0 12px;gap:8px}
body:has(.fit-stage) .step-nav a{padding:8px 12px;min-height:44px;font-size:.78rem}
body:has(.fit-stage) .page-heading{margin-bottom:8px}
body:has(.fit-stage) .page-heading h1{font-size:1.9rem;margin:4px 0}
body:has(.fit-stage) .page-heading .intro{margin:6px 0;font-size:.85rem;max-width:650px}
body:has(.fit-stage) .page-heading .eyebrow{margin:0}
body:has(.fit-stage) .source-card{padding:8px 12px;font-size:.78rem}
.fit-regions{margin:0 12px 6px;border-bottom:1px solid var(--line)}
.fit-regions>summary{min-height:44px;display:flex;align-items:center;font-size:.82rem;font-weight:700;cursor:pointer}
.fit-regions>summary::after{content:' +';margin-left:auto}.fit-regions[open]>summary::after{content:' −'}
.fit-regions>.part-grid{display:grid!important}
.fit-stage .view-layers{margin-top:6px}
.fit-stage .workbench-body>label+p{margin:4px 0 8px}
@media(max-width:740px){
 body:has(.fit-stage) .topbar{padding:10px;gap:5px}
 body:has(.fit-stage) .top-actions{gap:6px}
 body:has(.fit-stage) .top-actions>a{font-size:.72rem;min-height:44px;display:inline-flex;align-items:center}
 body:has(.fit-stage) .top-actions .studio-brand{width:65px;height:auto}
 body:has(.fit-stage) .top-actions #theme{font-size:.7rem;padding:6px;min-height:44px}
 body:has(.fit-stage) .page-heading h1{font-size:1.5rem}
 body:has(.fit-stage) .source-card{display:flex;flex-direction:row;gap:6px;flex-wrap:wrap;font-size:.69rem;padding:6px 8px}
 body:has(.fit-stage) .source-card>span:nth-child(2){display:none}
 body:has(.fit-stage) .step-nav a{padding:7px 8px;min-height:44px;font-size:.7rem}
 .fit-nav{margin-bottom:8px}.fit-nav strong{font-size:.74rem}
 .fit-stage .viewer-head{padding:8px}
 .fit-stage .view-layers{margin:4px 8px 6px}.fit-regions{margin:0 8px 2px}
 .fit-stage .viewer-head-actions button{font-size:.65rem;padding:6px}
}
.fit-stage .workbench-tabs button[aria-pressed=false]{background:var(--surface2);color:var(--text);border:1px solid var(--line)}
.fit-site-links{position:relative;align-self:center}
.fit-site-links>summary{list-style:none;cursor:pointer;padding:10px 12px;min-height:44px;border:1px solid #526e7a;border-radius:7px;display:flex;align-items:center;font-size:.8rem}
.fit-site-links>div{position:absolute;top:100%;right:0;z-index:70;display:flex;flex-direction:column;min-width:215px;background:#132e3b;padding:10px;border-radius:7px;box-shadow:0 8px 24px #0008}
.fit-site-links>div>a{display:block!important;min-height:44px;white-space:nowrap;padding:10px;font-size:.8rem}
@media(max-width:740px){body:has(.fit-stage) .topbar{display:flex;flex-wrap:nowrap}.fit-site-links>summary{padding:6px;font-size:.7rem}}

/* Shrink grid children rather than clip long supplier filenames on phones. */
.fit-dialog .fit-illustration{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.fit-dialog .fit-illustration>*{min-width:0;max-width:100%;overflow-wrap:anywhere}
.fit-dialog .fit-illustration img,.fit-dialog .fit-illustration canvas{max-width:100%}
@media(max-width:740px){.fit-dialog .fit-illustration{grid-template-columns:90px minmax(0,1fr)}.fit-dialog .fit-illustration strong{font-size:.9rem}.fit-dialog fieldset{min-width:0}.fit-dialog .form-grid>*{min-width:0}}
