:root{--ink:#1f2926;--muted:#66716c;--paper:#f4f1e8;--card:#fffdf8;--line:#d8d5ca;--green:#175f4c;--amber:#f1b53a;--cut:#e53935;--score:#1e88e5;--engrave:#212121}*{box-sizing:border-box}body{color:var(--ink);background:var(--paper);margin:0;font-family:Arial,Helvetica,sans-serif}button,input{font:inherit}main{width:min(1480px,100% - 40px);margin:0 auto;padding:36px 0 56px}.masthead{justify-content:space-between;align-items:flex-end;gap:32px;margin-bottom:22px;display:flex}.eyebrow,.section-kicker{color:var(--green);letter-spacing:.11em;text-transform:uppercase;margin:0 0 7px;font-size:.75rem;font-weight:800}h1{letter-spacing:-.045em;max-width:820px;margin:0;font-family:Georgia,serif;font-size:clamp(2.5rem,5vw,5.5rem);font-weight:500;line-height:.94}.lede{max-width:760px;color:var(--muted);margin:18px 0 0;font-size:1.05rem;line-height:1.55}.machine-card{border-left:3px solid var(--green);background:#e4ece7;min-width:230px;padding:18px}.machine-card span,.machine-card small{color:var(--muted);display:block}.machine-card strong{margin:5px 0;font-family:Georgia,serif;font-size:1.3rem;display:block}.notice{background:#fff4d7;border:1px solid #d9a532;margin-bottom:18px;padding:13px 16px;font-size:.91rem}.panel-card{border:1px solid var(--line);background:var(--card);box-shadow:0 10px 32px #1f29260d}.workbench-grid{grid-template-columns:285px minmax(0,1fr);gap:18px;display:grid}.controls{padding:22px}.section-heading h2{margin:0;font-family:Georgia,serif;font-size:1.55rem;font-weight:500}.controls label{color:var(--muted);margin-top:20px;font-size:.83rem;font-weight:700;display:block}.input-row{grid-template-columns:1fr auto;align-items:center;gap:9px;margin-top:6px;display:grid}.input-row input{border:1px solid var(--line);width:100%;color:var(--ink);background:#fff;border-radius:2px;padding:10px 11px}.input-row input:focus{outline-offset:1px;outline:2px solid #79a899}.input-row small{color:var(--muted)}button{background:var(--green);color:#fff;cursor:pointer;border:0;border-radius:2px;padding:10px 15px;font-weight:750}button:disabled{cursor:not-allowed;opacity:.5}.secondary-button{border:1px solid var(--green);width:100%;color:var(--green);background:0 0;margin-top:22px}.fit-summary{border-top:1px solid var(--line);margin:22px 0 0;padding-top:16px}.fit-summary div{justify-content:space-between;gap:8px;margin-top:9px;font-size:.75rem;display:flex}.fit-summary dt{color:var(--muted)}.fit-summary dd{text-align:right;margin:0;font-weight:700}.preview-card{min-width:0;padding:22px}.preview-header{justify-content:space-between;align-items:center;gap:16px;display:flex}.legend{color:var(--muted);gap:18px;margin:18px 0 12px;font-size:.78rem;font-weight:700;display:flex}.legend span{align-items:center;gap:7px;display:inline-flex}.legend i{background:currentColor;width:24px;height:2px}.legend .cut{color:var(--cut)}.legend .score{color:var(--score)}.legend .engrave{color:var(--engrave)}.svg-preview{border:1px solid var(--line);background:#fff;width:100%;overflow:auto}.svg-preview svg{width:100%;height:auto;min-height:420px;display:block}.error-state{color:#8c2520;text-align:center;background:#fff0ed;border:1px solid #bc4a43;place-items:center;min-height:300px;padding:30px;display:grid}.validation-card{margin-top:18px;padding:22px}.validation-summary{justify-content:space-between;align-items:center;gap:18px;display:flex}.status-counts{text-transform:uppercase;gap:8px;font-size:.72rem;font-weight:800;display:flex}.status-counts span{border-radius:999px;padding:7px 9px}.status-counts .has-errors{color:#9a2c25;background:#ffe0dc}.status-counts .has-warnings{color:#7a5411;background:#fff0c5}.status-counts .clear{color:var(--green);background:#e3eee8}.finding-list{margin:18px 0 0;padding:0;list-style:none}.finding{background:#faf8f1;border-left:3px solid;justify-content:space-between;align-items:center;gap:24px;padding:14px;display:flex}.finding+.finding{margin-top:8px}.finding.error{border-color:#c5483f}.finding.warning{border-color:var(--amber)}.finding strong{letter-spacing:.04em;font-size:.74rem}.finding p{margin:4px 0;font-size:.86rem}.finding small{color:var(--muted);line-height:1.4}.acknowledgment{white-space:nowrap;align-items:center;gap:7px;font-size:.77rem;font-weight:800;display:flex}.acknowledgment input{width:17px;height:17px;accent-color:var(--green)}.all-clear{color:var(--green);margin-bottom:0}.data-grid{grid-template-columns:1.1fr 1fr 1fr;gap:18px;margin-top:18px;display:grid}.data-grid article{min-width:0;padding:22px}table{border-collapse:collapse;width:100%;margin-top:16px;font-size:.8rem}th,td{border-bottom:1px solid var(--line);text-align:left;padding:9px 6px}th{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:.68rem}.joint-list,.steps{margin:17px 0 0;padding:0;list-style:none}.joint-list li,.steps li{border-bottom:1px solid var(--line);padding:13px 0}.joint-list strong,.joint-list span,.joint-list small,.steps strong,.steps small{display:block}.joint-list strong{color:var(--green);text-transform:uppercase;font-size:.78rem}.joint-list span{overflow-wrap:anywhere;margin-top:5px;font-size:.8rem}.joint-list small,.steps small{color:var(--muted);margin-top:6px;line-height:1.4}.subheading{margin:20px 0 8px;font-family:Georgia,serif;font-size:1rem;font-weight:500}.dependency-list{margin:0;padding:0;list-style:none}.dependency-list li{border-bottom:1px solid var(--line);justify-content:space-between;gap:12px;padding:7px 0;font-size:.76rem;display:flex}.dependency-list code{color:var(--green);font-weight:800}.dependency-list span{color:var(--muted)}.steps{counter-reset:steps}.steps li{counter-increment:steps;padding-left:35px;position:relative}.steps li:before{background:var(--green);color:#fff;content:counter(steps);border-radius:50%;place-items:center;width:24px;height:24px;font-size:.72rem;font-weight:800;display:grid;position:absolute;top:11px;left:0}.steps p{color:var(--muted);margin:5px 0 0;font-size:.82rem;line-height:1.45}@media (max-width:980px){main{width:min(100% - 24px,760px);padding-top:22px}.masthead{flex-direction:column;align-items:flex-start}.machine-card{width:100%}.workbench-grid,.data-grid{grid-template-columns:1fr}.validation-summary,.finding{flex-direction:column;align-items:flex-start}}
