:root{font-family:Segoe UI,system-ui,sans-serif;color:#253c34;background:#f6f5ef;font-synthesis:none;color-scheme:light}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,select,summary{cursor:pointer}a,button{color:inherit}[hidden]{display:none!important}:focus-visible{outline:3px solid #b56835;outline-offset:3px}.site-header{min-height:88px;padding:20px max(4vw,(100vw - 1440px) / 2);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e1e3d9;background:#fbfbf7;gap:20px}.brand{display:flex;align-items:center;gap:10px;font-size:27px;letter-spacing:-.05em;font-weight:650;text-decoration:none}.brand-symbol{background:#315d4d;color:#fff;width:36px;height:36px;border-radius:50%;text-align:center;line-height:30px}.brand-caption{font-size:12px;font-weight:400;letter-spacing:.03em;margin-left:17px;padding-left:22px;border-left:1px solid #c7cec5}.local-badge{font-size:12px;color:#647068}.local-badge span{color:#658467;margin-right:6px}main{max-width:1440px;margin:0 auto;padding:40px 32px 60px}.intro{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:4px 0 32px}.intro p:not(.eyebrow){color:#647068;margin:12px 0;font-size:15px}.eyebrow{color:#65775d;text-transform:uppercase;letter-spacing:.14em;font-size:10px;font-weight:650;margin:0 0 10px}h1{font-family:Georgia,serif;font-weight:400;font-size:clamp(34px,4.5vw,52px);letter-spacing:-.04em;margin:0;line-height:1.15}h2{font-size:18px;font-weight:550;margin:0;letter-spacing:-.025em}h3{font-size:17px;font-weight:500}p{line-height:1.6}.button{min-height:43px;border:1px solid transparent;border-radius:7px;padding:11px 17px;font-size:13px;font-weight:550;transition:background .15s}.primary{background:#315d4d;color:#fff}.primary:hover{background:#214b3a}.secondary{background:#fcfcf8;border-color:#ccd3c8}.secondary:hover{background:#edf0e7}.wide{width:100%}button:disabled{cursor:not-allowed;opacity:.5}.text-button{display:inline-block;border:0;background:transparent;font-size:12px;padding:10px 0;color:#315d4d;text-decoration:underline;text-underline-offset:3px;cursor:pointer}.view-tabs{display:flex;border-bottom:1px solid #cfd6cb;margin-bottom:24px;gap:30px}.view-tabs button{border:0;background:none;padding:14px 2px;font-size:11px;color:#647068;border-bottom:3px solid transparent;margin-bottom:-1px}.view-tabs button span:not(.count){font-size:14px;margin-left:8px}.view-tabs button[aria-pressed=true]{color:#315d4d;border-bottom-color:#315d4d}.count{padding:2px 6px;border-radius:4px;background:#e7eadf;margin-left:8px;font-size:11px}.workspace{display:grid;grid-template-columns:295px minmax(0,1fr);gap:24px;align-items:start}.panel{background:#fffefa;border:1px solid #e1e3d9;border-radius:10px;padding:24px}.measurements{padding:23px}.section-heading{display:flex;align-items:center;gap:10px}.step{border:1px solid #dce1d4;border-radius:50%;font-size:10px;width:25px;height:25px;display:inline-flex;align-items:center;justify-content:center;color:#64785c}.muted,.help{color:#647068;font-size:12px}.help{margin:9px 0;line-height:1.6}label{font-size:12px;font-weight:550;display:block;margin:17px 0 8px}label>span{color:#647068;font-weight:400;float:right}input:not([type=checkbox],[type=file]),select{background:#fffefa;border:1px solid #ced4c9;border-radius:6px;min-height:42px;padding:10px 12px;width:100%;color:#253c34}input:invalid{box-shadow:none}.unit-input{position:relative}.unit-input input{padding-right:45px!important;font-variant-numeric:tabular-nums}.unit-input>span{position:absolute;right:14px;top:12px;font-size:12px;color:#647068}.checkbox{display:flex;align-items:center;gap:8px;font-weight:400;line-height:1.5;margin:14px 0}.checkbox input{accent-color:#315d4d;width:16px;height:16px;flex-shrink:0}.checkbox span{float:none}.shade-preview{height:145px;margin:20px 0 4px}.shade-preview svg{width:100%;height:100%}.save-template{border-top:1px solid #e1e3d9;margin-top:23px;padding-top:3px}.save-template button{margin-top:10px}.main-column{display:grid;gap:20px;min-width:0}.panel-heading{display:flex;justify-content:space-between;align-items:center;gap:12px}.pill{color:#55734f;background:#edf1e6;border:1px solid #dfe5d7;border-radius:5px;font-size:10px;padding:5px 9px;white-space:nowrap}.preview-options{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:6px}.preview-options>span{color:#647068;font-size:10px}.pattern-preview{min-height:260px;height:clamp(260px,28vw,365px);background-color:#f9faf5;background-image:radial-gradient(#cdd4c5 .7px,transparent .7px);background-size:16px 16px;border:1px solid #e7eadd;border-radius:6px}.pattern-preview svg{width:100%;height:100%}.legend{display:flex;flex-wrap:wrap;gap:15px;font-size:10px;color:#647068;padding:16px 0}.legend>span{display:inline-flex;align-items:center;gap:6px}.swatch{display:inline-block;width:11px;height:11px;border:1px solid #a5b6a1;border-radius:2px}.swatch.poly{background:#bbcebd}.swatch.fabric{background:#ead5ae;border-color:#b99c67}.swatch.handling{background:#f0eee0;border-style:dashed}.swatch.nominal{height:0;border-style:dashed;border-color:#315d4d}.metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid #e1e3d9;padding-top:17px;gap:16px}.metrics>div{border-right:1px solid #e1e3d9}.metrics>div:last-child{border:none}.metrics span{display:block;font-size:10px;color:#647068}.metrics strong{display:block;font-size:20px;font-weight:500;margin:7px 0 3px;font-variant-numeric:tabular-nums}.metrics small{font-size:10px;color:#647068}.details-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.fabric-size{font-family:Georgia,serif;font-size:27px;letter-spacing:-.04em;margin:20px 0 5px}.fabric-panel{background:#f0f2e9}.print-panel .primary{margin-top:14px}.print-note{font-size:11px;color:#647068;padding-top:12px;border-top:1px solid #e1e3d9;margin-bottom:0}.assumptions{padding:17px 21px;font-size:12px;color:#647068}.assumptions summary{color:#253c34}.error{color:#a23723;font-size:12px;background:#fcf0e9;padding:10px;border-radius:5px;line-height:1.5}.notice{border:1px solid #ced8c4;background:#edf3e8;font-size:13px;padding:12px 16px;margin-bottom:15px;border-radius:6px}.plan-workspace{display:grid;grid-template-columns:335px minmax(0,1fr);gap:24px;align-items:start}.plan-sidebar{display:grid;gap:20px}.template-item{border-top:1px solid #e1e3d9;padding:15px 0}.template-item .template-name{font-weight:550;font-size:13px;overflow-wrap:anywhere}.template-item .template-meta{color:#647068;font-size:11px;margin:5px 0}.template-item .template-actions{display:flex;align-items:center;gap:12px}.template-item input{width:65px;min-height:34px;padding:6px 8px}.template-item label{margin:0}.backup-actions{border-top:1px solid #e1e3d9;display:flex;gap:15px;margin-top:18px}.backup-actions .text-button{font-weight:400;margin:0}.plan-canvas .metrics{margin-top:20px}.plan-preview{margin-top:24px;background:#f8f9f3;border:1px solid #e1e3d9;border-radius:6px;padding:18px;min-height:350px;overflow:auto}.plan-preview svg{width:100%;max-height:1000px;display:block}.empty-state{text-align:center;padding:55px 15px;color:#647068}.empty-state>span{font-size:55px;color:#8b9d7e}.empty-state p{font-size:13px;max-width:340px;margin:auto}.site-footer{max-width:1440px;margin:0 auto;padding:22px 32px;border-top:1px solid #e1e3d9;color:#647068;font-size:11px;display:flex;justify-content:space-between;gap:16px}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:1000px){main{padding:28px 20px}.workspace{grid-template-columns:255px minmax(0,1fr);gap:16px}.panel{padding:18px}.details-grid{grid-template-columns:1fr}.preview-options>span{display:none}.plan-workspace{grid-template-columns:290px minmax(0,1fr);gap:16px}.metrics{gap:10px}.metrics strong{font-size:17px}}@media(max-width:720px){.site-header{padding:17px 20px;min-height:70px}.local-badge{display:none}.brand-caption{font-size:11px;margin-left:7px;padding-left:14px}.intro{align-items:flex-start;flex-direction:column;padding-bottom:20px}.intro .button{font-size:12px}.workspace,.plan-workspace{grid-template-columns:1fr}.shade-preview{height:125px}.measurements{display:block}.pattern-preview{height:270px;min-height:200px}.legend{gap:10px}.metrics strong{font-size:18px}.site-footer{flex-direction:column;padding:20px}.view-tabs{gap:20px}.panel-heading{flex-wrap:wrap}.plan-preview{padding:8px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}
