@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Libre+Caslon+Display&display=swap');
:root{--paper:#f6f5ef;--ink:#173b32;--muted:#58665e;--line:#d2d7cc;--accent:#d9ed86;--surface:#fffef9;--font:'DM Sans','Helvetica Neue',sans-serif;--display:'Libre Caslon Display',Georgia,serif;--radius:5px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font);font-size:15px;line-height:1.6}button,input{font:inherit}button,a,input{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}a{color:inherit;text-underline-offset:4px}a:hover{text-decoration-thickness:2px}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #496807;outline-offset:4px}.prototype{background:var(--ink);color:var(--accent);padding:7px 5%;font-size:10px;font-weight:700;letter-spacing:1.3px;display:flex;justify-content:center;gap:24px}.prototype span{color:#f2f5e9;font-weight:400;letter-spacing:.2px}header,main,footer{max-width:1380px;margin:auto;padding-left:5%;padding-right:5%}header{height:103px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}.wordmark{font-size:23px;font-weight:700;text-decoration:none;display:flex;gap:9px;align-items:center;letter-spacing:-1px}.mark{font-size:40px;font-weight:400;line-height:1}.quiet{font-size:13px;text-decoration:none}.intro{display:grid;grid-template-columns:1.2fr 1fr;column-gap:10%;padding-top:55px;padding-bottom:38px}.eyebrow{font-size:10px;font-weight:700;letter-spacing:2px;margin:0 0 18px}.intro .eyebrow{grid-column:1/-1}h1{font-family:var(--display);font-size:clamp(64px,7vw,98px);font-weight:400;line-height:.98;letter-spacing:-3px;margin:0}h1 em{font-weight:400}.lead{max-width:410px;margin:8px 0 0;align-self:end;font-size:18px;line-height:1.65;letter-spacing:-.3px}.promise{grid-column:1/-1;display:flex;gap:29px;font-size:9px;letter-spacing:1.6px;font-weight:600;margin-top:35px}.workbench{display:grid;grid-template-columns:370px minmax(0,1fr);border:1px solid var(--line);background:var(--surface);border-radius:var(--radius);overflow:hidden;min-height:650px}.controls{padding:30px;border-right:1px solid var(--line)}.step-heading{display:flex;gap:12px;align-items:center}.step{font-size:10px;color:var(--muted)}h2{margin:0;font-size:16px;font-weight:600;letter-spacing:-.4px}.drop{margin-top:20px;display:flex;flex-direction:column;align-items:center;text-align:center;padding:25px 12px 22px;border:1px dashed #a9b4a5;border-radius:var(--radius);cursor:pointer;position:relative;overflow:hidden;transition:background .2s}.drop:hover,.drop:focus-within{background:#f0f4e6}.drop svg{height:36px;width:30px;stroke:var(--ink);fill:none;stroke-width:1.2;margin-bottom:12px}.drop strong{font-size:13px;max-width:260px;overflow-wrap:anywhere}.drop span{font-size:10px;margin-top:5px;color:var(--muted)}.drop input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.text-button{border:0;background:transparent;text-decoration:underline;text-underline-offset:4px;padding:10px 0;color:var(--muted);font-size:11px}.second{margin-top:20px}.hint{font-size:11px;line-height:1.7;color:var(--muted);margin:12px 0 15px}.dimensions{display:flex;align-items:center;gap:10px}.dimensions label{width:calc(50% - 12px);font-size:11px;font-weight:600}.dimensions label span{float:right;font-weight:400;color:var(--muted);font-size:10px}.dimensions input{width:100%;border:1px solid var(--line);background:var(--paper);border-radius:var(--radius);padding:10px;margin-top:6px;min-width:0;color:var(--ink);font-size:14px}.times{align-self:end;margin-bottom:12px;color:var(--muted)}fieldset{border:0;padding:0;margin:22px 0}legend{font-size:10px;color:var(--muted);margin-bottom:9px}.method{display:flex;gap:9px;align-items:flex-start;margin:10px 0;cursor:pointer}.method input{margin:5px 0;accent-color:var(--ink)}.method strong{display:block;font-size:12px;font-weight:500}.method small{display:block;font-size:10px;color:var(--muted);margin-top:2px}.primary{border:1px solid var(--ink);color:var(--surface);background:var(--ink);border-radius:var(--radius);padding:12px 15px;display:flex;justify-content:space-between;align-items:center;width:100%;font-size:12px;font-weight:600;transition:background .2s}.primary:hover:enabled{background:#2e5744}.primary span{font-size:18px;line-height:1}.error{font-size:12px;color:#8b301f;margin:14px 0 0}.preview-panel{padding:30px;background:#ecf0e5;min-width:0;display:flex;flex-direction:column}.preview-heading{display:flex;justify-content:space-between;gap:15px;align-items:center}.preview-heading h2{font-size:12px;font-weight:500}.local{font-size:9px;color:var(--muted)}.local span{color:#486f36;font-size:8px;margin-right:3px}#empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:440px;color:var(--muted)}#empty p{font-size:13px;margin:25px 0 2px}#empty small{font-size:11px}.book-outline{height:153px;width:217px;border:1px solid #b8c1af;transform:rotate(-5deg);display:flex;justify-content:center;box-shadow:7px 9px 0 #dfe6d5;background:#f3f5eb}.book-outline i{display:block;height:100%;width:12px;border-left:1px solid #b8c1af;border-right:1px solid #b8c1af}.canvas-area{display:flex;align-items:center;justify-content:center;min-height:300px;padding:32px 0 18px}canvas{max-width:100%;height:auto;box-shadow:0 6px 15px #223c2318;display:block}.view-controls{display:flex;align-items:center;gap:5px;flex-wrap:wrap}.tab{background:none;color:var(--muted);font-size:10px;border:1px solid transparent;padding:5px 11px;border-radius:var(--radius)}.tab[aria-pressed=true]{border-color:#abb5a1;background:#f7f8f0;color:var(--ink)}#size-label{font-size:10px;color:var(--muted);margin-left:auto}#result-status{font-size:12px;line-height:1.7;margin:20px 0;padding-bottom:18px;border-bottom:1px solid #cbd4c2}.measurements{display:flex;gap:30px;margin-bottom:22px}.measurements div{display:flex;flex-direction:column;gap:3px}.measurements span{color:var(--muted);font-size:10px}.measurements strong{font-size:14px;font-weight:500;font-variant-numeric:tabular-nums}.confirm{display:flex;gap:10px;font-size:11px;line-height:1.7;align-items:flex-start;cursor:pointer}.confirm input{margin:5px 0;accent-color:var(--ink);flex-shrink:0}.export{background:var(--accent);color:var(--ink);border-color:#b5c875;margin-top:17px}.export:hover:enabled{background:#c8e36f}.export-note{font-size:10px;color:var(--muted);margin:9px 0 0}.notes{display:grid;grid-template-columns:1fr 1fr;gap:15%;padding:65px 0 60px}.notes h2{font-family:var(--display);font-size:43px;font-weight:400;line-height:1.15}.notes p{max-width:50ch;font-size:12px;line-height:1.9;color:var(--muted)}.notes .eyebrow{font-size:9px}.notes h3{font-size:13px;font-weight:600;margin:0 0 16px}.notes a{font-size:11px}footer{display:flex;gap:25px;justify-content:space-between;border-top:1px solid var(--line);padding-top:23px;padding-bottom:28px;font-size:9px;color:var(--muted)}[hidden]{display:none!important}@media(min-width:1500px){header,main,footer{padding-left:40px;padding-right:40px}}@media(max-width:850px){.workbench{grid-template-columns:320px minmax(0,1fr)}.controls,.preview-panel{padding:24px}.intro{column-gap:5%}.lead{font-size:15px}.measurements{flex-direction:column;gap:8px}.canvas-area{min-height:220px}.local{display:none}}@media(max-width:650px){.prototype{gap:9px;flex-wrap:wrap;padding:8px 14px;font-size:9px}.prototype span{font-size:10px}header{height:78px}.intro{display:block;padding-top:38px}.intro h1{font-size:72px;letter-spacing:-2px}.intro .lead{margin-top:24px;max-width:37ch}.promise{gap:16px;font-size:8px;margin-top:25px}.workbench{display:flex;flex-direction:column}.controls{border-right:0;border-bottom:1px solid var(--line)}.preview-panel{min-height:390px}.preview-heading h2{font-size:14px}.local{display:block}.drop{padding:20px}.notes{gap:35px;grid-template-columns:1fr;padding:45px 0}.notes h2{font-size:38px}.notes p{font-size:13px}.measurements{flex-direction:row;gap:25px}footer{flex-direction:column;gap:7px}.canvas-area{min-height:190px}#empty{min-height:310px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.document{max-width:900px;padding-top:55px;padding-bottom:70px}.document h1{font-size:64px;letter-spacing:-2px;margin-bottom:30px}.document h2{margin:32px 0 8px;font-size:20px}.document p{max-width:70ch;font-size:14px;line-height:1.85}.document .eyebrow{font-size:10px}.document a{overflow-wrap:anywhere}@media(max-width:650px){.document h1{font-size:48px}.document{padding-top:35px}}
