@font-face{font-family:Inter;src:url('../assets/Inter.woff2') format('woff2');font-display:swap}@font-face{font-family:Saira;src:url('../assets/SairaSemiCondensed-700.woff2') format('woff2');font-weight:700;font-display:swap}
:root{--paper:#f6f4ef;--ink:#232e29;--muted:#58645e;--line:#d6dbd3;--accent:#294f3d;--white:#fff;--radius:8px;color-scheme:light}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:14px/1.6 Inter,Arial,sans-serif}::selection{background:#c1d6c8;color:#183b29}button,input,select{font:inherit}button,select,.file-button{min-height:44px}button,.file-button{border:1px solid var(--line);border-radius:var(--radius);padding:9px 15px;background:var(--white);color:var(--ink);cursor:pointer;font-weight:600}button:hover,.file-button:hover{background:#e8eee8}button:disabled{opacity:.5;cursor:not-allowed}button.primary{background:var(--accent);color:white;border-color:var(--accent)}:focus-visible{outline:3px solid #9c6c36;outline-offset:3px}input{accent-color:var(--accent);caret-color:var(--accent)}button[aria-pressed=true]{background:#dbe7dd;border-color:#476d54}.topbar{height:82px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:28px;padding:0 4vw}.identity{display:flex;align-items:center;gap:12px;color:var(--ink);text-decoration:none;font-weight:700;font-size:18px}.local-label{margin-left:auto;color:var(--muted);font-size:12px}main{max-width:1600px;margin:auto;padding:30px 4vw 50px}.intro{margin:0 0 27px}.intro h1{font:700 clamp(30px,3.4vw,48px)/1.12 Saira,Georgia,serif;letter-spacing:-.025em;margin:0 0 10px}.intro p{margin:0;color:var(--muted)}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:30px;align-items:start}.preview{min-width:0}.preview-toolbar{display:flex;justify-content:space-between;gap:8px;padding:0 0 14px}.segmented{display:flex;gap:5px}.toolbar-right{display:flex;gap:8px}#stage{position:relative;height:clamp(350px,45vw,660px);border-radius:12px;overflow:hidden;background:#dfe8ec;touch-action:none}#loading{position:absolute;inset:45% 10% auto;text-align:center;margin:0}#stage canvas{position:relative;z-index:1}.preview-foot{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 0;color:var(--muted);font-size:12px}.preview-foot button{font-size:12px}.drawing-summary{display:flex;gap:38px;padding:20px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.drawing-summary span{display:block;color:var(--muted);font-size:12px}.drawing-summary strong{font-size:20px;font-weight:600;font-variant-numeric:tabular-nums}.disclosure{font-size:12px;color:var(--muted);max-width:80ch}.controls{background:white;border-radius:12px;padding:24px}.controls h2{font:700 26px/1.2 Saira,Georgia,serif;margin:0 0 22px}.field{margin-bottom:15px}.field label{display:block;font-size:13px;font-weight:600;margin:0 0 6px}.field output{float:right;color:var(--accent);font-variant-numeric:tabular-nums}.field select{width:100%;border:1px solid var(--line);border-radius:6px;padding:10px;color:var(--ink);background:var(--paper)}input[type=range]{display:block;width:100%;height:28px;margin:4px 0}.section-label{font-size:13px;font-weight:700;margin:25px 0 12px;border-top:1px solid var(--line);padding-top:18px}.finishes{display:flex;flex-wrap:wrap;gap:8px}.finish{display:flex;align-items:center;gap:8px;font-size:12px;padding:7px 9px;flex:1 0 40%}.swatch{width:22px;height:22px;border:1px solid #7e877f;border-radius:50%}.option{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:11px 0;border-bottom:1px solid var(--line);font-size:12px}.option label{flex:1}.option select{width:65px;border:1px solid var(--line);border-radius:6px}.option input[type=checkbox]{width:20px;height:20px}.sides{display:flex;gap:6px;flex-wrap:wrap;padding:10px 0}.sides button{font-size:11px;padding:6px 9px}.project-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}.project-actions>*{font-size:12px;flex:1}.file-button{display:block;text-align:center}.file-button input{position:absolute;width:1px;height:1px;opacity:0}.file-button:focus-within{outline:3px solid #9c6c36;outline-offset:3px}details{margin-top:22px;font-size:12px}summary{cursor:pointer;font-weight:600;min-height:32px}.price{font-size:23px;display:block;margin-top:10px}details p{color:var(--muted)}#status{min-height:22px;color:var(--accent);font-size:12px;margin-bottom:0}.notes{max-width:80ch;padding-top:42px}.notes h2{font:700 26px Saira,Georgia,serif;margin:0 0 8px}.notes p{color:var(--muted);font-size:13px}footer{border-top:1px solid var(--line);padding:22px 4vw;font-size:11px;color:var(--muted)}@media(max-width:950px){.workspace{grid-template-columns:minmax(0,1fr) 290px;gap:18px}.controls{padding:18px}.local-label{display:none}.topbar .primary{margin-left:auto}.drawing-summary{gap:22px}}@media(max-width:720px){.workspace{grid-template-columns:1fr}.topbar{height:72px;padding:0 20px}.identity{font-size:16px}.topbar .primary{font-size:12px;padding:8px 12px}main{padding:25px 20px 40px}.preview-toolbar button{font-size:11px;padding:8px 12px}#stage{height:380px}.drawing-summary{justify-content:space-between;gap:10px}.drawing-summary strong{font-size:16px}.preview-foot span{max-width:170px}.controls{padding:24px}.finishes{gap:10px}.finish{flex:1 0 25%}.notes{padding-top:28px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
