:root{--paper:#eceeef;--surface:#f7f8f7;--surface-2:#e3e6e7;--ink:#121719;--ink-soft:#2b3336;--muted:#4b5457;--muted-strong:#333b3e;--line:#c1c7c9;--strong-line:#868f93;--signal:#b9361c;--ready:#126f54;--warning:#97402a;--row-split:minmax(290px, 1fr) minmax(430px, 1.5fr);--display:"Avenir Next Condensed", "Arial Narrow", "Roboto Condensed", system-ui, sans-serif;--body:"Avenir Next", "Segoe UI", system-ui, sans-serif;--mono:"SFMono-Regular", "Cascadia Mono", "Roboto Mono", ui-monospace, monospace;--text-caps:13.5px;--text-meta:15px;--text-small:17px;--text-body:19px;--text-lead:21px;--text-title:23px;--text-section:30px;color:var(--ink);background:var(--paper);font-size:19px;font-family:var(--body);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}html{scroll-behavior:smooth}body{min-width:0;min-height:100vh;font-size:var(--text-body);background:linear-gradient(#12171909 1px, transparent 1px), linear-gradient(90deg, #12171909 1px, transparent 1px), var(--paper);background-size:26px 26px;margin:0;line-height:1.5}button,select,input,option,textarea{font-family:inherit;font-size:var(--text-body);color:var(--ink);line-height:1.4}button,label,select{-webkit-tap-highlight-color:transparent}button:focus-visible,select:focus-visible,input:focus-visible,summary:focus-visible,a:focus-visible{outline-offset:2px;outline:3px solid #d8401f73}label:has(input:focus-visible){outline-offset:2px;outline:3px solid #d8401f73}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.topbar{border-bottom:1px solid var(--ink);background:#f7f8f7f0;justify-content:space-between;align-items:center;gap:20px;min-height:86px;padding:14px clamp(18px,4vw,60px);display:flex}.brand{color:var(--ink);font:600 var(--text-lead) / 1 var(--display);letter-spacing:.07em;align-items:center;gap:14px;text-decoration:none;display:flex}.brand small{color:var(--muted);font:400 var(--text-caps) / 1.2 var(--mono);letter-spacing:.07em;text-transform:uppercase;margin-top:7px;display:block}.brand-mark{flex:none;width:42px;height:42px;display:block}.topbar-actions{align-items:center;gap:clamp(14px,2vw,26px);display:flex}.feedback-link,.source-link-header{color:var(--muted-strong);cursor:pointer;font:600 var(--text-caps) / 1 var(--mono);letter-spacing:.05em;text-transform:uppercase;background:0 0;border:0;flex:none;padding:8px 0;text-decoration:none}.source-link-header{place-items:center;width:34px;height:34px;padding:6px;text-decoration:none;display:grid}.source-link-header svg{fill:currentColor;width:22px;height:22px}.feedback-link:hover,.source-link-header:hover{color:var(--signal);text-underline-offset:5px;text-decoration:underline}.feedback-dialog{width:min(580px,100vw - 32px);max-width:none;color:var(--ink);background:var(--surface);border:1px solid var(--ink);border-radius:0;padding:0;box-shadow:10px 10px #12171933}.feedback-dialog::backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#1217199e}.feedback-dialog form{grid-template-columns:50px minmax(0,1fr);display:grid}.feedback-dialog-mark{background:var(--ink);justify-content:center;align-items:flex-end;gap:4px;padding:24px 10px;display:flex}.feedback-dialog-mark i{background:var(--paper);width:6px;height:18px}.feedback-dialog-mark i:nth-child(2){background:var(--signal);height:30px}.feedback-dialog-mark i:nth-child(3){height:12px}.feedback-dialog-copy{min-width:0;padding:24px 26px 22px}.feedback-dialog-eyebrow{color:var(--signal);font:700 .68rem / 1.2 var(--mono);letter-spacing:.12em;text-transform:uppercase;margin:0 0 8px}.feedback-dialog h2{font:700 1.45rem / 1.1 var(--display);margin:0}.feedback-dialog-intro{color:var(--ink-soft);margin:10px 0 20px;font-size:.9rem}.feedback-field{color:var(--ink);font:700 var(--text-caps) / 1.3 var(--mono);letter-spacing:.03em;text-transform:uppercase;gap:7px;margin-top:15px;display:grid}.feedback-field small{color:var(--muted);letter-spacing:0;text-transform:none;font-weight:400}.feedback-field textarea,.feedback-field input{width:100%;color:var(--ink);border:1px solid var(--strong-line);font:400 var(--text-meta) / 1.45 var(--body);resize:vertical;background:#fff;border-radius:0;padding:11px 12px}.feedback-field textarea{min-height:128px;max-height:300px}.feedback-trap{position:absolute;left:-10000px}.feedback-dialog-status{min-height:1.4em;color:var(--muted);font:600 var(--text-caps) / 1.4 var(--mono);margin:14px 0 0}.feedback-dialog-status.is-error{color:var(--warning)}.feedback-dialog-status.is-success{color:var(--ready)}.feedback-dialog-actions{border-top:1px solid var(--ink);grid-column:1/-1;grid-template-columns:1fr 1fr;display:grid}.feedback-dialog-actions button{cursor:pointer;min-height:52px;font:700 .78rem / 1.2 var(--mono);border:0;border-radius:0;padding:12px 18px}.feedback-dialog-cancel{color:var(--ink);background:0 0}.feedback-dialog-submit{color:var(--paper);background:var(--signal);border-left:1px solid var(--ink)!important}.feedback-dialog-actions button:hover:not(:disabled){filter:brightness(.94)}.feedback-dialog-actions button:disabled{cursor:wait;opacity:.72}main{width:min(1500px,100%);margin:0 auto;padding:0 clamp(18px,4vw,60px) 90px}.intro{border-bottom:1px solid var(--ink);grid-template-columns:minmax(0,.92fr) minmax(460px,1.08fr);align-items:end;gap:clamp(48px,7vw,110px);padding:56px 0 40px;display:grid}.intro-copy>p{max-width:610px;color:var(--muted-strong);font-size:var(--text-small);margin-top:24px;line-height:1.55}.intro-guide{gap:18px;display:grid}.local-note{color:var(--muted-strong);font:400 var(--text-meta) / 1.4 var(--mono);grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px;display:grid}.local-note>.local-dot{background:var(--ready);border-radius:50%;flex:none;width:9px;height:9px;box-shadow:0 0 0 4px #126f541f}.local-note strong{color:var(--ready);font-weight:600}.workflow{border:1px solid var(--ink);grid-template-columns:repeat(3,minmax(0,1fr));margin:0;padding:0;list-style:none;display:grid}.workflow li{border-right:1px solid var(--ink);background:#f7f8f7bd;gap:2px;min-width:0;padding:18px 16px 17px 46px;display:grid;position:relative}.workflow li:last-child{border-right:0}.workflow li>span{color:var(--signal);font:600 var(--text-caps) / 1 var(--mono);position:absolute;top:20px;left:16px}.workflow strong{font:600 var(--text-small) / 1.2 var(--display)}.workflow small{color:var(--muted);font:400 var(--text-caps) / 1.4 var(--mono);text-overflow:ellipsis;overflow:hidden}.eyebrow{color:var(--signal);font:500 var(--text-caps) / 1.2 var(--mono);letter-spacing:.12em;margin-bottom:20px;display:block}h1,h2,h3,p{margin:0}h1{max-width:16ch;font:600 clamp(36px, 4.2vw, 58px) / 1.05 var(--display);letter-spacing:-.042em}.source-link{color:inherit;-webkit-text-decoration-color:var(--strong-line);text-decoration-color:var(--strong-line);text-underline-offset:3px}.source-link:hover{color:var(--signal);text-decoration-color:currentColor}.inputs{border-bottom:1px solid var(--ink);grid-template-columns:1fr 1fr;display:grid}.file-station{grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:8px 18px;min-height:72px;padding:11px 22px 11px 0;transition:background .16s;display:grid;position:relative}.inputs:not(.is-compact){background:var(--ink);border-bottom:0;gap:1px;padding:1px}.inputs:not(.is-compact) .file-station{background:#f7f8f7f7}.inputs:not(.is-compact) .file-station:not(.is-loaded){grid-template-rows:auto auto;grid-template-columns:minmax(0,1fr) auto;gap:12px 24px;min-height:124px;padding:20px 22px}.inputs:not(.is-compact) .file-station:first-child{border-right:0}.inputs:not(.is-compact) .file-station:not(.is-loaded) .station-copy{align-content:center;gap:5px;display:grid}.inputs:not(.is-compact) .file-station:not(.is-loaded) .station-copy h2{font-size:var(--text-title)}.inputs:not(.is-compact) .file-station:not(.is-loaded) .station-state{font-size:var(--text-meta)}.inputs:not(.is-compact) .file-station:not(.is-loaded) .drop-hint{color:var(--muted);text-transform:none;letter-spacing:0;align-self:end}.inputs:not(.is-compact) .file-station:not(.is-loaded) .file-action{grid-area:1/2/-1;align-self:center}.inputs:not(.is-compact) .file-station:not(.is-loaded) .file-action>span{min-width:126px;min-height:50px;font-size:var(--text-meta);padding-inline:18px}.file-station.is-loaded .drop-hint{display:none}.inputs:not(.is-compact) .file-station.is-loaded{grid-template-rows:auto auto;grid-template-columns:minmax(0,1fr) auto auto;gap:10px 12px;min-height:124px;padding:20px 22px}.inputs:not(.is-compact) .file-station.is-loaded .station-copy{grid-area:1/1;align-content:center}.inputs:not(.is-compact) .file-station.is-loaded .file-action{grid-area:1/2;width:118px}.inputs:not(.is-compact) .file-station.is-loaded .file-action>span,.inputs:not(.is-compact) .file-station.is-loaded .station-clear{width:100%}.inputs:not(.is-compact) .file-station.is-loaded .station-clear{grid-area:1/3;width:150px}.inputs:not(.is-compact) .file-station.is-loaded .station-prompt{grid-area:2/1/auto/-1}.file-station:first-child{border-right:1px solid var(--ink)}.file-station:last-child{padding-left:22px}.station-copy{flex-wrap:wrap;align-items:baseline;gap:0 14px;min-width:0;display:flex}.file-station.is-dragging{box-shadow:inset 0 0 0 2px var(--signal);background:#d8401f1a}.inputs.is-compact .file-station{grid-template-rows:auto auto;grid-template-columns:minmax(0,1fr) auto auto;gap:10px 12px;min-height:92px;padding:16px 18px}.inputs.is-compact{border:1px solid var(--ink);background:#f7f8f7c2;margin-top:24px}.inputs.is-compact .station-copy{grid-template-columns:auto auto minmax(0,1fr);align-items:baseline;gap:4px 12px;display:grid}.inputs.is-compact .file-station .station-copy{grid-area:1/1}.inputs.is-compact .file-station .file-action{grid-area:1/2}.inputs.is-compact .file-station .station-clear{grid-area:1/3}.inputs.is-compact .file-station .station-prompt{grid-area:2/1/auto/-1}.inputs.is-compact .file-station:last-child{padding-left:18px}.inputs.is-compact .drop-hint{display:none}.inputs.is-compact .station-file{grid-column:1/-1}.section-head h2{font:600 var(--text-section) / 1.1 var(--display);letter-spacing:-.03em}.station-copy h2{font:600 var(--text-lead) / 1.2 var(--display);letter-spacing:-.02em}.station-state{color:var(--muted-strong);font:500 var(--text-meta) / 1.35 var(--mono);white-space:nowrap;flex:none}.file-station:not(.is-loaded) .station-state{min-width:0;color:var(--muted);white-space:normal;flex:auto;font-weight:400}.station-file{min-width:0;color:var(--muted);font:400 var(--text-meta) / 1.35 var(--mono);text-overflow:ellipsis;white-space:nowrap;flex:18ch;overflow:hidden}.station-prompt{color:var(--warning);font:400 var(--text-meta) / 1.35 var(--mono);grid-column:1/-1;margin-top:2px}.meta-sep{color:var(--strong-line)}.is-stale .station-state time{color:var(--warning);font-weight:500}.status-mark{color:var(--muted-strong);font:500 var(--text-caps) / 1 var(--mono);text-transform:uppercase;letter-spacing:.07em;white-space:nowrap}.is-loaded .status-mark{color:var(--ready)}.is-stale .status-mark{color:var(--warning)}.file-action{cursor:pointer;justify-self:end}.file-action input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute;overflow:hidden}.file-action>span,.text-button{color:var(--surface);background:var(--ink);border:1px solid var(--ink);cursor:pointer;border-radius:0;justify-content:center;align-items:center;transition:background-color .14s,color .14s,border-color .14s;display:inline-flex}.text-button{min-height:46px;font:500 var(--text-small) / 1 var(--mono);padding:0 20px}.file-action>span{min-height:44px;font:500 var(--text-caps) / 1 var(--mono);white-space:nowrap;padding:0 14px}.station-clear{min-height:44px;color:var(--muted-strong);border-color:var(--strong-line);font:500 var(--text-caps) / 1 var(--mono);white-space:nowrap;background:0 0;padding-inline:12px}.station-clear:hover:not(:disabled){color:var(--warning);border-color:var(--warning)}.is-loaded .file-action>span{color:var(--muted-strong);border-color:var(--strong-line);background:0 0}.file-action:hover>span,.text-button:hover:not(:disabled){color:var(--ink);background:0 0}.is-loaded .file-action:hover>span{border-color:var(--ink)}.drop-hint{color:var(--strong-line);font:400 var(--text-caps) / 1 var(--mono);text-transform:uppercase;letter-spacing:.06em;white-space:nowrap}.spinner{border:2px solid;border-right-color:#0000;border-radius:50%;width:15px;height:15px;margin-right:10px;animation:.7s linear infinite spin}.notice{z-index:40;color:#f7f8f7;background:var(--ink);width:fit-content;max-width:720px;font-size:var(--text-small);align-items:baseline;gap:10px;padding:9px 8px 10px 14px;line-height:1.3;animation:.16s ease-out notice-in;display:flex;position:fixed;inset:auto clamp(18px,4vw,60px) 18px;box-shadow:0 12px 28px #1217194d}@keyframes notice-in{0%{opacity:0;transform:translateY(10px)}}.notice>p{flex:1}.notice>span{font:500 var(--text-small) / 1.3 var(--mono)}.notice.success>span{color:#63d3ac}.notice.error{background:#79291c}.notice button{color:#f7f8f799;cursor:pointer;background:0 0;border:0;align-self:center;padding:0 6px;font-size:22px;line-height:1}.notice button:hover,.notice button:focus-visible{color:#f7f8f7}.confirm-dialog{width:min(480px,100vw - 32px);max-width:none;color:var(--ink);background:var(--surface);border:1px solid var(--ink);border-radius:0;padding:0;box-shadow:10px 10px #12171933}.confirm-dialog::backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#1217199e}.confirm-dialog form{grid-template-columns:50px 1fr;display:grid}.confirm-dialog-mark{background:var(--ink);justify-content:center;align-items:flex-end;gap:4px;padding:24px 10px;display:flex}.confirm-dialog-mark i{background:var(--paper);width:6px;height:18px}.confirm-dialog-mark i:nth-child(2){background:var(--signal);height:30px}.confirm-dialog-mark i:nth-child(3){height:12px}.confirm-dialog-copy{min-width:0;padding:24px 26px 22px}.confirm-dialog-eyebrow{color:var(--signal);font:700 .68rem / 1.2 var(--mono);letter-spacing:.12em;text-transform:uppercase;margin:0 0 8px}.confirm-dialog h2{font:700 1.45rem / 1.1 var(--display);margin:0}.confirm-dialog-copy>p:last-child{color:var(--ink-soft);margin:12px 0 0;font-size:.94rem;line-height:1.5}.confirm-dialog-actions{border-top:1px solid var(--ink);grid-column:1/-1;grid-template-columns:1fr 1fr;display:grid}.confirm-dialog-actions button{cursor:pointer;min-height:52px;font:700 .78rem / 1.2 var(--mono);letter-spacing:.02em;border:0;border-radius:0;padding:12px 18px}.confirm-dialog-cancel{color:var(--ink);background:0 0}.confirm-dialog-submit{color:var(--paper);background:var(--signal);border-left:1px solid var(--ink)!important}.confirm-dialog-actions button:hover{filter:brightness(.94)}.confirm-dialog-actions button:focus-visible{z-index:1;outline:3px solid var(--ink);outline-offset:-4px;position:relative}.work-section{padding:52px 0 0}.section-head{justify-content:space-between;align-items:end;gap:30px;margin-bottom:26px;display:flex}.section-head>p{max-width:400px;color:var(--muted);font:400 var(--text-meta) / 1.55 var(--mono);text-align:right;padding-bottom:3px}.project-strip{--strip-pad:14px;padding:var(--strip-pad) 0 var(--strip-pad) var(--strip-pad);color:#fff;background:#202729;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:20px;display:grid}.project-strip img,.model-placeholder{object-fit:cover;background:#313a3d;flex:none;width:92px;height:74px}.model-placeholder{font:500 var(--text-meta) / 1 var(--mono);place-items:center;display:grid}.project-strip strong{font:600 var(--text-lead) / 1.2 var(--display);margin-bottom:6px;display:block}.project-meta{min-width:0;font:400 var(--text-meta) / 1.35 var(--mono);flex-wrap:wrap;align-items:baseline;gap:0 14px;margin:0;display:flex}.project-state{color:#dfe4e5;white-space:nowrap;flex:none;font-weight:500}.project-file{color:#98a2a5;text-overflow:ellipsis;white-space:nowrap;flex:18ch;min-width:0;overflow:hidden}.project-strip .meta-sep{color:#737d80}.project-copy{overflow-wrap:anywhere;min-width:0}.export-actions{margin-block:calc(-1 * var(--strip-pad));align-self:stretch;display:flex;position:relative}.export-primary{color:#f7f8f7;background:var(--signal);border:1px solid var(--signal);cursor:pointer;text-align:left;flex-direction:column;justify-content:center;align-items:flex-start;min-height:62px;padding:8px 22px;transition:background-color .14s,border-color .14s,opacity .14s;display:flex}.export-primary strong,.project-strip .export-primary strong{color:inherit;font:600 var(--text-small) / 1.2 var(--display);letter-spacing:0;align-items:center;margin:0;display:flex}.export-primary small{color:#fff;font:400 var(--text-caps) / 1.2 var(--mono);margin-top:4px;display:block}.export-primary .spinner{width:14px;height:14px}.export-primary:hover:not(:disabled){background:#b83318}.export-primary:disabled{color:#c9d0d2;cursor:not-allowed;opacity:1;background:#394346;border-color:#394346}.export-primary:disabled small{color:#c9d0d2}.readiness{border:1px solid var(--ink);background:var(--surface);border-top:0;border-left-width:6px;grid-template-columns:minmax(280px,.9fr) minmax(0,1.1fr);display:grid}.readiness-ok{border-left-color:var(--ready)}.readiness-warn{border-left-color:var(--warning)}.readiness-summary{padding:17px 22px 18px 18px}.readiness-summary .pane-label{margin-bottom:7px;display:block}.readiness-summary strong{font:600 var(--text-title) / 1.15 var(--display);letter-spacing:-.02em;display:block}.readiness-ok .readiness-summary strong{color:var(--ready)}.readiness-warn .readiness-summary strong{color:var(--warning)}.readiness-summary p{max-width:60ch;color:var(--muted);font:400 var(--text-meta) / 1.45 var(--mono);margin-top:6px}.readiness-list,.project-actions-note{color:var(--muted-strong);border-left:1px solid var(--line);font:400 var(--text-meta) / 1.45 var(--mono);align-self:stretch;margin:0;padding:17px 22px}.readiness-list{align-content:center;gap:5px;padding-left:42px;display:grid}.readiness-list li::marker{color:var(--warning)}.project-actions-note{color:var(--ready);align-items:center;font-weight:500;display:flex}.match-list{border:1px solid var(--ink);border-top:0}.match-row{grid-template-columns:var(--row-split);border-bottom:1px solid var(--line);background:#f7f8f7d1;align-items:start;display:grid}.match-row:last-child{border-bottom:0}.pane-label{color:var(--muted-strong);font:500 var(--text-caps) / 1.3 var(--mono);text-transform:uppercase;letter-spacing:.09em}.fact-line{color:var(--muted);font:400 var(--text-meta) / 1.5 var(--mono);margin:0;display:block}.fact-line>span,.fact-line dd{white-space:nowrap}.design-pane{border-right:1px solid var(--line);grid-template-columns:56px minmax(0,1fr);align-items:center;gap:14px;min-width:0;padding:14px 20px 14px 18px;display:grid}.design-pane>.pane-label{grid-column:1/-1;margin-bottom:4px}.design-figure{align-self:start;justify-items:center;gap:5px;display:grid}.filament-number{color:var(--muted);font:500 var(--text-caps) / 1 var(--mono)}.design-swatch{background:var(--swatch);border:1px solid #1217192e;width:56px;height:56px;display:block;box-shadow:inset 0 -6px #00000014}.design-id{min-width:0}.design-name{font:600 var(--text-lead) / 1.2 var(--display);margin-bottom:4px}.design-hex{color:var(--ink);font:500 var(--text-meta) / 1 var(--mono);letter-spacing:.04em;margin-bottom:6px}.design-facts{font:400 var(--text-meta) / 1.35 var(--mono);gap:3px;margin:0;display:grid}.design-material{color:var(--ink-soft)}.design-profile{min-width:0;color:var(--muted);overflow-wrap:anywhere}.design-facts dt{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.design-facts dd{white-space:nowrap;margin:0;display:inline}.design-facts .design-profile dd{overflow-wrap:anywhere;white-space:normal}.design-facts .design-printer{margin-left:14px}.stock-pane{flex-direction:column;min-width:0;display:flex}.match-verdict{align-items:center;gap:12px;min-width:0;padding:14px 20px 12px;display:flex}.tag{font:500 var(--text-caps) / 1.2 var(--mono);text-transform:uppercase;letter-spacing:.05em;border:1px solid;padding:4px 9px}.tag-ok{color:var(--ready)}.tag-warn{color:var(--warning);background:#97402a17}.mini-swatch{background:var(--swatch);border:1px solid #12171933;border-radius:50%;flex:none;display:block}.no-match small{color:var(--muted);font:400 var(--text-meta) / 1.4 var(--mono)}.no-match{flex-direction:column;justify-content:center;align-items:start;gap:7px}.no-match strong,.no-match small{display:block}.no-match strong{font:600 var(--text-title) / 1.2 var(--display)}.alternatives{border-top:1px solid var(--line);border-bottom:1px solid var(--line);gap:0;margin:0 20px;padding:0;display:grid}@media (width>=681px){.alternatives{grid-template-columns:repeat(2,minmax(0,1fr))}}.alternative{min-width:0;min-height:64px;color:var(--ink);text-align:left;border:0;border-right:1px solid var(--line);cursor:pointer;background:0 0;grid-template:"swatch name name""swatch meta flags"/24px minmax(0,1fr) auto;align-items:center;gap:2px 10px;padding:8px 12px;transition:background-color .14s,border-color .14s,box-shadow .14s;display:grid}.alternative:hover,.alternative.is-selected{background:#1217190b}.alternative.is-selected{box-shadow:inset 0 -2px 0 var(--signal)}.alternative:last-child{border-right:0}@media (width>=681px){.alternative:nth-child(-n+2){border-bottom:1px solid var(--line)}.alternative:nth-child(2n){border-right:0}}.mini-swatch{grid-area:swatch;align-self:center;width:24px;height:24px}.alternative-name{font:500 var(--text-meta) / 1.25 var(--mono);overflow-wrap:anywhere;grid-area:name}.alternative-meta{overflow-wrap:anywhere;grid-area:meta}.alternative-flags{grid-area:flags;justify-content:end;align-items:center;gap:6px;display:flex}.alternative-rank{color:var(--muted-strong);font:500 var(--text-caps) / 1 var(--mono);text-transform:uppercase;letter-spacing:.06em}.selection-check{color:var(--signal);visibility:hidden}.alternative.is-selected .selection-check{visibility:visible}.spool-picker{margin:0 20px;position:relative}.spool-picker-trigger{width:100%;min-height:42px;color:var(--muted-strong);cursor:pointer;text-align:left;font:500 var(--text-caps) / 1.2 var(--mono);background:0 0;border:0;align-items:center;gap:10px;padding:0;display:flex}.spool-picker-trigger small{color:var(--muted);font:inherit;font-weight:400}.spool-picker-trigger:hover>span:first-child,.spool-picker-trigger:focus-visible>span:first-child,.spool-picker-trigger[aria-expanded=true]>span:first-child{color:var(--ink)}.spool-picker-trigger:focus-visible{outline:1px solid var(--muted-strong);outline-offset:1px}.spool-picker-chevron{color:var(--signal);margin-left:auto;transition:transform .14s}.spool-picker-trigger[aria-expanded=true] .spool-picker-chevron{transform:rotate(180deg)}.spool-picker.has-expanded-selection{margin-block:6px}.spool-picker-trigger.is-expanded-selection{min-height:54px;box-shadow:inset 3px 0 0 var(--signal);background:#1217190b;gap:10px;padding:7px 10px}.spool-picker-selected-swatch{background:var(--swatch);border:1px solid #12171933;border-radius:50%;flex:0 0 30px;width:30px;height:30px}.spool-picker-selected-copy{gap:2px;min-width:0;display:grid}.spool-picker-selected-copy strong{text-overflow:ellipsis;white-space:nowrap;color:var(--ink);font:600 var(--text-meta) / 1.2 var(--mono);overflow:hidden}.spool-picker-selected-copy small{color:var(--muted);font:400 var(--text-caps) / 1.2 var(--mono)}.spool-picker-selected-meta{display:block}.spool-picker-mismatch{color:var(--warning);font:500 var(--text-caps) / 1.25 var(--mono);align-items:center;gap:6px;display:flex}.spool-picker-mismatch:before{content:"";background:currentColor;border-radius:50%;flex:0 0 5px;width:5px;height:5px}.spool-picker-trigger.is-expanded-selection:hover,.spool-picker-trigger.is-expanded-selection[aria-expanded=true]{background:#12171913}.spool-menu{z-index:20;width:100%;max-height:min(390px,58vh);color:var(--ink);background:var(--surface);border:1px solid var(--ink);overscroll-behavior:contain;position:absolute;top:100%;left:0;right:0;overflow-y:auto;box-shadow:8px 10px #1217191f}.spool-menu[hidden]{display:none}.spool-menu.opens-upward{top:auto;bottom:100%}.spool-menu-group-label{z-index:1;color:var(--ready);border-top:1px solid var(--strong-line);border-bottom:1px solid var(--line);font:600 var(--text-caps) / 1.2 var(--mono);letter-spacing:.07em;text-transform:uppercase;background:#eef0ef;padding:8px 12px;position:sticky;top:0}.spool-menu-group-label.is-warning{color:var(--warning)}.spool-menu-option{width:100%;min-height:58px;color:var(--ink);text-align:left;border:0;border-bottom:1px solid var(--line);cursor:pointer;background:0 0;grid-template-columns:28px minmax(0,1fr) auto 18px;grid-template-areas:"swatch copy score check""swatch copy warning check";align-items:center;gap:1px 10px;padding:8px 12px;display:grid}.spool-menu-option:hover,.spool-menu-option:focus-visible,.spool-menu-option.is-selected{background:#1217190e}.spool-menu-option:focus-visible,.spool-menu-clear:focus-visible{outline:2px solid var(--signal);outline-offset:-2px}.spool-menu-swatch{background:var(--swatch);border:1px solid #12171933;border-radius:50%;grid-area:swatch;width:28px;height:28px}.spool-menu-copy{grid-area:copy;gap:2px;min-width:0;display:grid}.spool-menu-copy strong,.spool-menu-copy small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.spool-menu-copy strong{font:600 var(--text-meta) / 1.25 var(--mono)}.spool-menu-copy small,.spool-menu-score,.spool-menu-warning{color:var(--muted);font:400 var(--text-caps) / 1.25 var(--mono)}.spool-menu-score{color:var(--muted-strong);grid-area:score}.spool-menu-warning{color:var(--warning);text-align:right;grid-area:warning}.spool-menu-check{color:var(--signal);visibility:hidden;grid-area:check}.spool-menu-option.is-selected .spool-menu-check{visibility:visible}.spool-menu-clear{width:100%;min-height:40px;color:var(--muted-strong);cursor:pointer;font:500 var(--text-caps) / 1.2 var(--mono);background:0 0;border:0;justify-content:space-between;align-items:center;padding:0 12px;display:flex}.spool-menu-clear:hover,.spool-menu-clear.is-selected{color:var(--ink);background:#1217190a}select{width:100%;min-height:44px;color:var(--ink);background:var(--surface) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='13' height='8'%3E%3Cpath d='m1.5 1.5 5 5 5-5' fill='none' stroke='%23121719' stroke-width='1.6'/%3E%3C/svg%3E") no-repeat right 14px center;border:1px solid var(--strong-line);appearance:none;font:400 var(--text-small) / 1.4 var(--mono);border-radius:0;padding:0 40px 0 14px}select:hover{border-color:var(--ink)}option{font:400 var(--text-small) / 1.5 var(--mono)}.text-button:disabled{cursor:not-allowed;opacity:.38}.scope{border:1px solid var(--ink);background:var(--surface);border-top:0;padding:22px}.scope-head{justify-content:space-between;align-items:center;gap:18px;margin-bottom:18px;display:flex}.scope-all{min-height:46px;color:var(--ink);border:1px solid var(--strong-line);font:500 var(--text-meta) / 1 var(--mono);white-space:nowrap;cursor:pointer;background:0 0;flex:none;padding:0 20px}.scope-all:hover{border-color:var(--ink)}.scope-all.is-active{color:var(--surface);background:var(--ink);border-color:var(--ink)}.plate-grid{overscroll-behavior-inline:contain;scroll-snap-type:inline proximity;scrollbar-color:var(--strong-line) transparent;scrollbar-width:thin;grid-template-columns:none;grid-auto-columns:220px;grid-auto-flow:column;align-items:stretch;gap:14px;padding-bottom:10px;display:grid;overflow-x:auto}.plate-card{text-align:left;background:var(--paper);border:1px solid var(--line);cursor:pointer;scroll-snap-align:start;align-content:start;gap:10px;padding:12px;transition:background-color .14s,border-color .14s,box-shadow .14s;display:grid}.plate-card:hover{border-color:var(--ink)}.plate-card.is-active{border-color:var(--ink);box-shadow:inset 0 -4px 0 var(--signal);background:#fff}.plate-figure{aspect-ratio:4/3;background:var(--surface-2);border:1px solid var(--line);display:block;position:relative}.plate-figure img{object-fit:contain;width:100%;height:100%;display:block}.plate-fallback{height:100%;color:var(--muted);font:400 var(--text-caps) / 1 var(--mono);place-items:center;display:grid}.plate-number{min-width:30px;color:var(--surface);background:var(--ink);font:500 var(--text-caps) / 1 var(--mono);text-align:center;padding:4px 7px;position:absolute;top:0;left:0}.plate-name{font:600 var(--text-lead) / 1.2 var(--display)}.plate-swatches{flex-wrap:wrap;gap:4px;display:flex}.plate-swatches i{background:var(--swatch);border:1px solid #12171933;width:22px;height:22px}.plate-count{color:var(--muted);font:400 var(--text-caps) / 1.4 var(--mono)}.plate-inspector{border:1px solid var(--ink);background:var(--surface);border-top:0}.inspector-head{border-bottom:1px solid var(--ink);justify-content:space-between;align-items:center;gap:22px;padding:20px 22px;display:flex}.inspector-head h3{font:600 var(--text-title) / 1.2 var(--display)}.inspector-head p{color:var(--muted);font:400 var(--text-meta) / 1.35 var(--mono);margin-top:5px}.viewer-frame{background:#202729;height:clamp(500px,42vw,640px);position:relative;overflow:hidden}.viewer-frame canvas{cursor:grab;touch-action:none;width:100%;height:100%;display:block}.viewer-frame canvas:active{cursor:grabbing}.viewer-labels{z-index:2;pointer-events:none;grid-template-columns:1fr 1fr;display:grid;position:absolute;inset:0}.viewer-labels:after{background:var(--signal);content:"";width:2px;position:absolute;top:0;bottom:0;left:50%;transform:translate(-1px)}.viewer-labels span{color:var(--ink);border-left:4px solid var(--signal);font:600 var(--text-caps) / 1 var(--mono);text-transform:uppercase;letter-spacing:.07em;background:#f7f8f7f0;place-self:start;margin:16px;padding:7px 10px 6px}.viewer-status{z-index:3;color:#f7f8f7;font:500 var(--text-small) / 1.4 var(--mono);text-align:center;pointer-events:none;background:#121719c7;justify-content:center;align-items:center;gap:12px;padding:30px;display:flex;position:absolute;inset:0}.viewer-status.is-hidden{display:none}.viewer-status .spinner{margin:0}.viewer-help{color:var(--muted-strong);border-top:1px solid var(--ink);font:400 var(--text-caps) / 1.4 var(--mono);text-transform:uppercase;letter-spacing:.05em;flex-wrap:wrap;align-items:center;gap:10px 20px;padding:10px 14px 10px 22px;display:flex}.viewer-help button{min-height:44px;color:var(--ink);border:1px solid var(--strong-line);font:inherit;text-transform:inherit;letter-spacing:inherit;cursor:pointer;background:0 0;padding:0 11px}.viewer-views{flex-wrap:wrap;gap:6px;margin-left:auto;display:flex}.viewer-help button:hover{color:var(--surface);background:var(--ink);border-color:var(--ink)}.row-legend{grid-template-columns:var(--row-split);border:1px solid var(--ink);background:var(--surface-2);border-bottom:0;display:grid}.row-legend span{color:var(--muted-strong);font:500 var(--text-caps) / 1.3 var(--mono);text-transform:uppercase;letter-spacing:.08em;padding:11px 22px}.row-legend span:first-child{border-right:1px solid var(--line)}.work-section.recents{padding-top:48px}.recent-drawer{border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);margin-top:48px}.recent-drawer summary{cursor:pointer;align-items:center;gap:18px;min-height:64px;padding:10px 4px;list-style:none;display:flex;position:relative}.recent-drawer summary::-webkit-details-marker{display:none}.recent-drawer summary:after{color:var(--signal);font:500 var(--text-lead) / 1 var(--mono);content:"+";margin-left:auto}.recent-drawer[open] summary:after{content:"−"}.recent-drawer summary>span{font:600 var(--text-lead) / 1.2 var(--display)}.recent-drawer summary small{color:var(--muted);font:400 var(--text-meta) / 1.3 var(--mono)}.recent-drawer .session-list{margin-bottom:18px}.session-list{border:1px solid var(--ink);margin:0;padding:0;list-style:none}.session-card{border-bottom:1px solid var(--line);background:#f7f8f7d1;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:22px;padding:18px 22px;transition:background-color .14s,box-shadow .14s;display:grid}.session-card:last-child{border-bottom:0}.session-card.is-active{box-shadow:inset 5px 0 0 var(--ready);background:#fff}.session-swatches{gap:3px;display:flex}.session-swatches i{background:var(--swatch);border:1px solid #1217192e;width:15px;height:36px}.session-copy{min-width:0}.session-copy strong{font:600 var(--text-lead) / 1.2 var(--display);margin-bottom:6px;display:block}.session-state{color:var(--muted-strong);font:500 var(--text-meta) / 1.4 var(--mono);margin:0}.session-meta{min-width:0;color:var(--muted);font:400 var(--text-meta) / 1.4 var(--mono);flex-wrap:nowrap;align-items:baseline;gap:0 6px;margin:3px 0 0;display:flex}.session-file{text-overflow:ellipsis;white-space:nowrap;flex:0 auto;min-width:0;overflow:hidden}.session-meta time{flex:none}.session-note{color:var(--warning);flex:none;margin-left:8px}.session-actions{align-items:center;gap:10px;display:flex}.ghost-button{min-height:46px;color:var(--muted-strong);border:1px solid var(--strong-line);font:500 var(--text-meta) / 1 var(--mono);cursor:pointer;background:0 0;padding:0 18px}.ghost-button:hover{color:var(--ink);border-color:var(--ink)}.history-clear{min-height:44px;color:var(--warning);border-color:var(--strong-line);font:500 var(--text-caps) / 1 var(--mono);background:0 0;margin:14px 0 0 auto;padding-inline:14px;display:flex}.history-clear:hover:not(:disabled){color:var(--surface);background:var(--warning);border-color:var(--warning)}.recent-drawer .history-clear{margin:0 0 18px auto}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=1080px){.intro{grid-template-columns:minmax(0,1fr);gap:34px}.intro-copy>p{max-width:720px}.project-strip{gap:14px}.project-strip img,.model-placeholder{width:78px;height:66px}:root{--row-split:minmax(280px, 1fr) minmax(390px, 1.3fr)}.design-pane{grid-template-columns:52px minmax(0,1fr);gap:12px;padding:14px 18px}.design-swatch{width:52px;height:52px}}@media (width<=880px){.project-strip{padding:var(--strip-pad) var(--strip-pad) 0;grid-template-columns:auto minmax(0,1fr);row-gap:16px}.export-actions{margin:0 calc(-1 * var(--strip-pad));grid-column:1/-1;align-self:stretch}.export-primary{flex:auto}}@media (width<=760px){:root{--row-split:minmax(0, 1fr)}.design-pane{border-right:0;border-bottom:1px solid var(--line)}.row-legend{display:none}.alternatives{grid-template-columns:1fr}.alternative{border-right:0;border-bottom:1px solid var(--line)}.alternative:last-child{border-bottom:0}}@media (width<=1120px){.file-station{grid-template-columns:minmax(0,1fr) auto}.file-station.is-loaded{grid-template-columns:minmax(0,1fr) auto auto}.drop-hint{display:none}}@media (width<=780px){.inputs{grid-template-columns:1fr}.file-station:first-child{border-right:0;border-bottom:1px solid var(--ink)}.file-station:last-child,.inputs.is-compact .file-station:last-child{padding-left:0}.inputs.is-compact .file-station,.inputs.is-compact .file-station:last-child{padding-inline:18px}}@media (width<=720px){.readiness{grid-template-columns:minmax(0,1fr)}.readiness-list,.project-actions-note{border-top:1px solid var(--line);border-left:0}}@media (width<=680px){:root{--text-section:26px;font-size:18px}main{padding-bottom:60px}.intro{padding:40px 0 32px}.intro-copy>p{margin-top:18px}.workflow{grid-template-columns:minmax(0,1fr)}.workflow li{border-right:0;border-bottom:1px solid var(--ink);padding:13px 14px 13px 44px}.workflow li:last-child{border-bottom:0}.workflow li>span{top:16px;left:16px}.file-station,.inputs.is-compact .file-station{gap:6px 14px;padding:12px 0}.inputs.is-compact .file-station,.inputs.is-compact .file-station:last-child{padding:14px 16px 16px}.section-head{flex-direction:column;align-items:start;gap:14px}.section-head>p{text-align:left}.alternatives{margin-inline:18px;padding-inline:0}.inspector-head{flex-direction:column;align-items:stretch}.plate-grid{overscroll-behavior-inline:contain;scroll-snap-type:inline mandatory;scrollbar-color:var(--strong-line) transparent;scrollbar-width:thin;grid-template-columns:none;grid-auto-columns:minmax(190px,min(72vw,250px));grid-auto-flow:column;align-items:stretch;gap:10px;margin-inline:-22px;padding:0 22px 12px;scroll-padding-inline:22px;overflow-x:auto}.plate-card{scroll-snap-align:start;min-width:0}.plate-figure{aspect-ratio:16/10}.viewer-frame{height:clamp(360px,78vw,460px)}.viewer-frame canvas{cursor:default;touch-action:pan-y pinch-zoom!important}.viewer-gesture{width:100%;margin-left:0}.viewer-views{margin-left:0}.recent-drawer summary{flex-direction:column;align-items:flex-start;gap:3px;padding-block:14px}.recent-drawer summary:after{position:absolute;right:22px}.notice{inset:auto 12px max(12px, env(safe-area-inset-bottom));align-items:flex-start;width:auto;max-width:none;max-height:min(40vh,320px);padding:11px 8px 11px 12px;overflow-y:auto}.notice button{flex:0 0 36px;min-width:36px;min-height:36px;margin-block:-4px}}@media (width<=460px){.brand small{display:none}.inputs:not(.is-compact) .file-station:not(.is-loaded){grid-template-rows:auto auto auto;grid-template-columns:minmax(0,1fr);gap:10px}.inputs:not(.is-compact) .file-station:not(.is-loaded) .file-action{grid-area:3/1;justify-self:stretch}.inputs:not(.is-compact) .file-station:not(.is-loaded) .file-action>span{width:100%}.project-strip{--strip-pad:12px;align-items:start}.project-strip img,.model-placeholder{width:66px;height:60px}.project-state{overflow-wrap:anywhere;white-space:normal;flex:100%;min-width:0;max-width:100%}.scope-head{flex-direction:column;align-items:stretch}.scope-all{white-space:normal;width:100%;min-width:0;padding:10px 12px;line-height:1.25}.file-station.is-loaded,.inputs.is-compact .file-station.is-loaded{grid-template-rows:auto auto auto;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.file-station.is-loaded .station-copy,.inputs.is-compact .file-station.is-loaded .station-copy{grid-area:1/1/auto/-1}.inputs.is-compact .file-station.is-loaded .station-copy{grid-template-columns:auto minmax(0,1fr)}.inputs.is-compact .file-station.is-loaded .station-state,.inputs.is-compact .file-station.is-loaded .station-file{grid-column:1/-1;width:100%}.inputs.is-compact .file-station.is-loaded .file-action{grid-area:2/1}.inputs.is-compact .file-station.is-loaded .station-clear{grid-area:2/2}.inputs.is-compact .file-station.is-loaded .station-prompt{grid-area:3/1/auto/-1}.file-station.is-loaded .file-action,.file-station.is-loaded .file-action>span,.station-clear{width:100%}.file-station.is-loaded .file-action>span,.file-station.is-loaded .station-clear{overflow-wrap:anywhere;white-space:normal;min-width:0;padding:8px 6px;line-height:1.2}.readiness-summary,.readiness-list,.project-actions-note{padding:15px 16px}.readiness-list{padding-left:36px}.design-pane{grid-template-columns:48px minmax(0,1fr);gap:12px}.design-swatch{width:48px;height:48px}.session-card{grid-template-columns:minmax(0,1fr);gap:14px}.viewer-help{padding:12px}.viewer-views{grid-template-columns:repeat(3,1fr);width:100%;display:grid}.viewer-help>button{width:100%}.export-primary{padding-inline:16px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
