/* Existing comparison and editing hooks remain unchanged. */
#result{scroll-margin-top:20px}.workspace-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:12px 0 24px}.workspace-heading h2{font-size:clamp(1.75rem,3vw,2.625rem)}.workspace-heading p{margin-top:8px;font-size:.75rem}.workspace-file{max-width:55vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.outcome-controls{display:flex;align-items:center;flex-wrap:wrap;gap:16px 24px;margin:20px 0 24px}.outcome-controls>.control{flex:1;min-width:200px;max-width:400px}.outcome-controls>p{flex-basis:100%;margin:0;max-width:85ch;font-size:.75rem}.outcome-controls small{font-size:.75rem;color:var(--muted)}#keep-subject{align-self:flex-end;background:transparent;color:var(--ink);border-color:var(--divider)}#comparison-stage{position:sticky;top:0;z-index:2;isolation:isolate;background:var(--paper);padding-top:8px}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;background:var(--surface);border:1px solid var(--divider);border-bottom:0;border-radius:24px 24px 0 0;padding:16px 16px}.view-switch{display:flex;align-items:center;gap:4px;padding:3px;border:1px solid var(--divider);border-radius:999px;background:var(--paper)}.view-switch button{min-height:40px;padding:8px 16px;font-size:.75rem;background:transparent;color:var(--muted);border-color:transparent}.view-switch button[aria-pressed=true]{background:var(--ink);color:var(--paper);border-color:var(--ink)}.zoom-tools{display:flex;align-items:center;gap:12px;font-size:.75rem}.zoom-tools select{min-height:40px;padding:8px 24px 8px 12px;border-radius:999px;max-width:110px;font-size:.75rem}.zoom-tools button{min-height:40px;padding:8px 16px;font-size:.75rem}.panels{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1px;background:var(--divider);border:1px solid var(--divider);border-radius:0 0 24px 24px;overflow:hidden}.panel{min-width:0;position:relative;background:var(--paper)}.caption{height:48px;padding:16px 20px;display:flex;align-items:center;justify-content:space-between;gap:8px;color:var(--muted);font-size:.75rem;letter-spacing:.08em;line-height:1.4}.caption span{font-size:.75rem;letter-spacing:0;text-align:right;max-width:60%}.canvas{position:relative;height:clamp(300px,47vh,600px);overflow:auto;background:repeating-conic-gradient(#efede8 0% 25%,#fdfdfb 0% 50%) 0/16px 16px;overscroll-behavior:contain}.canvas img{display:block;width:100%;height:100%;object-fit:contain;max-width:none}#result[data-adjusting=true] .canvas{height:clamp(200px,32svh,360px)}.placeholder{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:16px;text-align:center;padding:24px;background:var(--paper);font-size:.8125rem;color:var(--muted);line-height:1.6}.placeholder .spinner{height:24px;width:24px;border:1px solid var(--divider);border-top-color:var(--accent);border-radius:50%;animation:spin 1s linear infinite}.placeholder.error{color:var(--warning)}.placeholder.error .spinner{display:none}.placeholder.error button{font-size:.75rem}.status-row{display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:76px}#status{font-size:.8125rem;line-height:1.55;color:var(--ink);margin:16px 0}.status-row button{flex-shrink:0;font-size:.75rem;white-space:nowrap}#metrics{font-size:.75rem;color:var(--muted);line-height:1.7}#intelligence{font-size:.75rem;margin-top:12px}#warnings{font-size:.75rem;color:var(--warning);margin:12px 0 24px}#result[data-view=original] .panel-vector,#result[data-view=vector] .panel-original{display:none}#result[data-view=original] .panels,#result[data-view=vector] .panels{grid-template-columns:minmax(0,1fr)}#result[data-state=dirty] #vector-label{color:var(--warning)}.settings-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:24px 0}.control{display:flex;flex-direction:column;gap:12px;font-size:.75rem}.control>span{display:flex;justify-content:space-between;gap:16px}.control input[type=range]{width:100%;min-height:26px;margin:0}.control select{width:100%}.check{font-size:.75rem;display:flex;align-items:center;gap:12px;line-height:1.6;min-height:44px}.check input{width:18px;height:18px;flex-shrink:0}.palette{display:flex;flex-wrap:wrap;gap:12px;margin:16px 0 24px}.palette-colour{display:flex;align-items:center;gap:12px;background:var(--surface);border:1px solid var(--divider);border-radius:16px;padding:8px 12px}.palette label{display:flex;align-items:center;gap:8px;font-size:.75rem;min-height:44px;color:var(--muted);cursor:pointer}.palette input[type=color]{width:34px;height:34px;padding:3px;border:1px solid var(--divider);border-radius:9px;background:var(--paper);cursor:pointer}.palette input[type=checkbox]{width:18px;height:18px}.palette button{font-size:.75rem;min-height:40px;padding:8px 12px}.palette .secondary{background:transparent}.palette-colour>button{border-color:transparent}#advanced>.row{gap:8px 24px}#advanced>.row:last-child button{font-size:.75rem;margin:4px 0}
/* CAD uses the same surfaces and hierarchy; its canvas and geometry are untouched. */
.cad-page main{max-width:1440px}.cad-page .intro{max-width:900px;margin:24px 0 40px}.cad-page .intro h1{font-size:clamp(2.625rem,5vw,4.5rem);line-height:1.05;letter-spacing:-.04em;margin:20px 0}.cad-page .intro p{max-width:58ch;font-size:1rem}.cad-page .drop{background:var(--surface);border:1px solid var(--divider);padding:32px;min-height:150px;align-items:flex-start;text-align:left;border-radius:24px}.cad-page .drop strong{font-size:1.5rem;letter-spacing:-.04em}.upload-row{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin:20px 0 32px}.settings{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;padding:24px 0}.settings label{font-size:.75rem;color:var(--muted);display:flex;flex-direction:column;gap:12px}.settings select,.settings input{width:100%}.cad-page .workspace{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:20px}.view,.inspector{border:1px solid var(--divider);border-radius:24px;background:var(--surface);min-width:0;overflow:hidden}.cad-page .toolbar{border:0;border-bottom:1px solid var(--divider);border-radius:0;justify-content:flex-start;gap:8px;padding:16px}.cad-page .toolbar button{font-size:.75rem;padding:8px 12px;min-height:40px}.cad-page .toolbar label{display:flex;gap:8px;align-items:center;font-size:.75rem}.cad-page .toolbar select{width:auto;font-size:.75rem;min-height:40px;border-radius:999px}.viewport{position:relative;height:450px;overflow:hidden;background:#fdfdfb}canvas{width:100%;height:100%;display:block;touch-action:none;cursor:grab}.help{border-top:1px solid var(--divider);font-size:.75rem;padding:16px 20px}.inspector{padding:24px}.inspector .eyebrow{font-size:.75rem}.dimensions{font-size:1.5rem;letter-spacing:-.04em;line-height:1.5;margin:16px 0 12px;overflow-wrap:anywhere}#unit-note,.model-name{font-size:.75rem;line-height:1.7;margin:12px 0;overflow-wrap:anywhere}#layers label{display:flex;align-items:center;gap:12px;font-size:.75rem;min-height:40px;overflow-wrap:anywhere}input[type=checkbox]{accent-color:var(--ink)}.tag,.badge{display:inline-block;padding:4px 12px;border:1px solid var(--divider);border-radius:999px;font-size:.75rem;width:max-content;color:var(--warning);background:var(--paper)}.tag.failed,.badge.failed{color:#b44530}.badge.passed{color:#48704d}.badge.warning{color:var(--warning)}.checks{border-top:1px solid var(--divider);margin:32px 0;padding-top:24px}.checks h2{font-size:1.75rem;margin-bottom:16px}.checks>.hint{max-width:80ch;margin-bottom:20px}.checks .check{display:grid;grid-template-columns:100px 190px 1fr;gap:16px;padding:16px 0;border-top:1px solid var(--divider);align-items:start;font-size:.75rem}.checks .check strong{font-weight:400}.checks .check p{font-size:.75rem;overflow-wrap:anywhere}.exports{display:flex;flex-wrap:wrap;gap:12px}.exports .action,.exports button{font-size:.75rem}.inspector hr{border:0;border-top:1px solid var(--divider);margin:20px 0}

@keyframes spin{to{transform:rotate(360deg)}}
@media(max-width:1050px){#introduction{grid-template-columns:minmax(0,1fr) minmax(300px,.9fr);gap:32px}.intro-copy h1{font-size:clamp(3rem,6vw,4.5rem)}.intro-steps{gap:16px}.upload-panel{padding:24px}.settings{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){header{min-height:80px;gap:16px;padding:16px 20px}header .brand{font-size:.9375rem}header nav{gap:16px}header nav a{font-size:.75rem}main{padding:16px 20px}.studio-footer{margin-top:48px;padding-bottom:64px;flex-direction:column;gap:16px}#introduction{display:block;min-height:0;margin-top:32px;margin-bottom:32px}.intro-copy .studio-label{font-size:.75rem;margin-bottom:24px}.intro-copy h1{font-size:clamp(2.625rem,10.5vw,3.75rem);letter-spacing:-.04em}.intro-copy h1 .offset{margin-left:6%;margin-top:4px}.intro-copy>p:last-of-type{font-size:.9375rem;margin:24px 0 0 6%;max-width:30ch}.intro-steps{display:none}.drafting-motif{opacity:.32;top:-30%;height:150%;left:0;width:100%}.upload-panel{margin-top:40px;border-radius:26px;padding:24px}.upload-panel .panel-heading{margin-bottom:20px}.upload-panel h2{font-size:1.5rem;max-width:none}.drop{min-height:160px;padding:24px 12px;margin-top:24px}.upload-panel .row{margin-top:16px}.studio-note{font-size:.75rem!important}.workspace-heading{align-items:flex-start;gap:12px;margin:8px 0 24px}.workspace-heading h2{font-size:1.75rem;max-width:9ch}.workspace-heading .download{padding:12px 16px;font-size:.75rem;min-height:44px;white-space:nowrap}.workspace-file{max-width:45vw;font-size:.75rem!important}.outcome-controls{gap:16px;margin-bottom:16px}.outcome-controls>.control{max-width:none;min-width:0;flex-basis:100%}.outcome-controls #keep-subject{min-height:44px;font-size:.75rem;padding:12px 16px}.outcome-controls>p{font-size:.75rem}.toolbar{padding:12px;gap:8px;border-radius:20px 20px 0 0}.view-switch{padding:2px;gap:0}.view-switch button{min-height:36px;padding:8px 12px;font-size:.75rem}.zoom-tools{gap:8px;font-size:.75rem}.zoom-tools select{min-height:36px;font-size:.75rem;max-width:100px}.zoom-tools button{min-height:36px;font-size:.75rem;padding:8px 12px}.caption{height:46px;padding:12px;font-size:.75rem;letter-spacing:.08em}.caption span{font-size:.75rem;max-width:62%}.canvas{height:clamp(220px,36svh,330px)}.panels{border-radius:0 0 20px 20px}#result[data-adjusting=true] .canvas{height:clamp(180px,28svh,260px)}.status-row{gap:12px;align-items:flex-start;min-height:68px}#status{font-size:.75rem}.status-row button{font-size:.75rem;min-height:40px;padding:8px 12px;margin-top:12px}#metrics{font-size:.75rem}#warnings,#intelligence{font-size:.75rem}.placeholder{padding:12px;font-size:.75rem}.settings-grid{grid-template-columns:minmax(0,1fr);gap:20px}.palette{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.palette-colour{min-width:0;gap:4px;padding:8px 8px;flex-wrap:wrap}.palette label{font-size:.75rem;min-height:34px;gap:8px}.palette input[type=color]{margin-left:auto;width:30px;height:30px}.palette-colour button{flex-basis:100%;border-top:1px solid var(--divider);border-radius:0;font-size:.75rem;min-height:30px;padding:4px}.palette>button{min-height:44px;font-size:.75rem}.cad-page .intro{margin:24px 0}.cad-page .intro h1{font-size:2.625rem}.cad-page .intro p{font-size:.875rem}.cad-page .drop{padding:24px 24px;min-height:150px}.cad-page .drop strong{font-size:1.5rem}.cad-page .drop span{font-size:.75rem}.settings{grid-template-columns:1fr 1fr;gap:20px 12px}.cad-page .workspace{grid-template-columns:minmax(0,1fr)}.viewport{height:340px}.inspector{padding:24px}.checks .check{grid-template-columns:82px minmax(0,1fr);gap:12px}.checks .check p{grid-column:2}.theme-toggle{right:auto;bottom:auto}}
@media(max-width:370px){header{gap:16px;padding-inline:16px}header nav{gap:12px}main{padding-inline:16px}.intro-copy h1{font-size:2.5rem}.upload-panel{padding:20px}.workspace-heading h2{font-size:1.5rem}.workspace-heading .download{padding-inline:12px}.palette{grid-template-columns:minmax(0,1fr)}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media(prefers-contrast:more){:root{--muted:var(--ink);--divider:var(--ink)}.theme-toggle{backdrop-filter:none;background:var(--paper)}}



.documents-page main{max-width:1120px}.document-intro{max-width:700px;margin:32px 0}.document-intro h1{font-size:clamp(2.25rem,6vw,3.75rem);line-height:1.05;letter-spacing:-.04em;margin:16px 0}.document-intro p{color:var(--muted);line-height:1.6}.document-card{padding:24px;border:1px solid var(--divider);border-radius:28px;background:var(--surface)}.document-fields{display:grid;grid-template-columns:1fr 1fr;gap:24px}.document-fields label{display:grid;gap:8px;font-size:.8125rem}.document-fields select,.document-fields input{width:100%;min-width:0;min-height:44px}.document-fields input[type=checkbox]{width:20px;min-height:20px}.document-fields .check-label{display:flex;align-items:center;gap:12px}.document-help{min-height:45px;font-size:.875rem;line-height:1.6;color:var(--muted);margin:16px 0}.document-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:24px 0 8px}.document-actions input{max-width:100%}#document-status{min-height:24px;margin:20px 0;line-height:1.5}#document-result{margin-top:32px}#document-result h2{font-size:1.75rem;letter-spacing:-.04em}#document-warnings{padding:16px 24px;border:1px solid var(--divider);border-radius:18px;line-height:1.6}#document-warnings li+li{margin-top:8px}.document-preview{display:grid;gap:24px;margin:24px 0}.table-scroll{overflow:auto;max-height:460px;border:1px solid var(--divider);border-radius:14px}.document-preview table{border-collapse:collapse;font-size:.8125rem;width:100%;min-width:400px}.document-preview td{padding:12px;border-bottom:1px solid var(--divider);white-space:pre-wrap;overflow-wrap:anywhere;max-width:340px;min-width:90px}.document-preview tr:first-child{font-weight:500;background:var(--paper)}.page-images{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}.page-images figure{margin:0;min-width:0;max-width:560px}.page-images img{width:100%;border:1px solid var(--divider);background:white}.page-images figcaption{margin:8px 0;font-size:.75rem;color:var(--muted)}.text-preview{white-space:pre-wrap;overflow-wrap:anywhere;padding:20px;border:1px solid var(--divider);border-radius:16px;font-size:.875rem;line-height:1.6}.document-fields [hidden], [hidden]{display:none!important}.document-note{color:var(--muted);font-size:.8125rem;line-height:1.6}.doc-check{margin:12px 0;font-size:.8125rem}.doc-check strong{text-transform:capitalize}.document-actions .action{min-height:44px}@media(max-width:650px){.document-card{padding:20px}.document-fields{grid-template-columns:1fr;gap:16px}.document-intro{margin:24px 0}.document-actions{align-items:stretch;flex-direction:column}.document-actions button,.document-actions a{width:100%;text-align:center}header nav{gap:12px}header nav a{font-size:.75rem}.document-preview table{font-size:.75rem}.page-images{grid-template-columns:1fr}}
