*{box-sizing:border-box}body{margin:0;background:#eae4d8;color:#283e43;font:16px/1.55 system-ui}main{max-width:1000px;margin:auto;padding:28px 22px}h1{font:60px Georgia;margin:0}h2{font:27px Georgia;margin:10px 0}.eyebrow{letter-spacing:.22em;font-size:11px}.subtitle{font:23px Georgia}.intro{background:#fffaf0;border-left:4px solid #ab783f;padding:18px 22px;margin:24px 0}.intro p{margin:8px 0}.toolbar,.actions,.wheels,.rack{display:flex;gap:9px;flex-wrap:wrap;align-items:center;margin:17px 0}button,select{font:inherit;min-height:44px;border:1px solid #a49a87;border-radius:7px;padding:9px 14px;background:#fffaf1;color:#293d42;cursor:pointer}button:disabled{opacity:.45;cursor:default}button:focus-visible,select:focus-visible{outline:3px solid #bd682f;outline-offset:3px}.active,.primary{background:#2c5556;color:#fff}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.metrics div{border:1px solid #b5aa93;padding:12px;border-radius:8px;font-size:12px;background:#f9f3e7}.metrics strong{display:block;font-size:20px}.machine{background:#faf5e9;border:1px solid #a9b8b1;border-radius:12px;overflow:hidden;margin:18px 0}canvas{display:block;width:100%;height:auto}#fit{padding:12px 18px;margin:0;background:#e0e6dd;font-size:14px}#status{padding:18px;background:#29494d;color:white;border-radius:8px;min-height:60px}.rack button{min-width:56px}#progress{font-size:13px}details{margin-top:30px;border-top:1px solid #b5aa93;padding-top:15px}summary{cursor:pointer}a{color:#305e6d}@media(max-width:600px){main{padding:18px 12px}h1{font-size:44px}.metrics{grid-template-columns:repeat(2,1fr)}.intro{padding:13px}canvas{min-height:230px;object-fit:contain}.wheels button{flex:1 1 42%}.rack{gap:7px}.rack button{flex:1 1 15%;padding:8px}.toolbar label{width:100%}.toolbar select{max-width:100%}.actions button{flex:1 1 44%}}.views{display:grid;grid-template-columns:1fr 1.3fr;gap:14px}.views .machine{padding:12px;margin:5px 0}.views h2{font-size:24px;margin:0}.controls{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin:20px 0}.controls label{display:flex;flex-direction:column;font-size:14px}.controls select{width:100%;padding:7px}.scrub{display:flex;gap:15px;align-items:center;margin:15px 0}.scrub input{flex:1}#brief{padding:12px;background:#dce5dc;border-radius:8px}@media(max-width:650px){.views{grid-template-columns:1fr}.controls{grid-template-columns:repeat(2,1fr)}.controls label:last-child{grid-column:1/-1}.views canvas{min-height:0}.views h2{font-size:23px}}