:root{color-scheme:light;--ink:#252c28;--muted:#626e65;--line:#dfe5dc;--green:#315d49;--green-hover:#244b39;--canvas:#f3f4f0;--soft:#f6f7f4;--surface:#fff;font-family:Inter,'Segoe UI',sans-serif;color:var(--ink);background:var(--canvas);font-synthesis:none}
*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,input,select,summary{touch-action:manipulation;-webkit-tap-highlight-color:transparent}button,summary{cursor:pointer}a{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #74a38d;outline-offset:3px}button,a{transition:background .18s,border-color .18s,color .18s}button:disabled{cursor:wait;opacity:.6}[hidden]{display:none!important}svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.site-header{min-height:84px;padding:18px 32px;background:var(--surface);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:18px}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;white-space:nowrap;font-size:19px;font-weight:650;letter-spacing:-.6px}.brand b{font-weight:400;color:var(--muted)}.brand-mark{display:grid;place-items:center;width:40px;height:40px;border-radius:10px;background:var(--green);color:#fff}.brand-mark svg{width:26px;height:26px;stroke-width:1.3}.back-link{display:inline-flex;align-items:center;gap:9px;min-height:44px;font-size:13px;text-decoration:none;color:var(--green);font-weight:500}.back-link:hover{color:var(--green-hover);text-decoration:underline;text-underline-offset:4px}.page{max-width:1240px;margin:auto;padding:46px 40px 24px}.intro{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:30px}.eyebrow{font-size:10px;font-weight:600;letter-spacing:1.7px;color:#65745e}h1{font-size:38px;letter-spacing:-1.3px;font-weight:500;line-height:1.18;margin:12px 0}p{line-height:1.7}.intro p,.tool-heading p{font-size:14px;color:var(--muted);margin:0}.tool-count{font-size:12px;color:#52634b;border:1px solid #d4decf;border-radius:20px;padding:9px 14px;white-space:nowrap}.cutting-card{padding:30px 34px;background:var(--green);color:#fff;border-radius:16px;display:flex;justify-content:space-between;gap:24px;text-decoration:none;align-items:center;overflow:hidden}.cutting-card:hover{background:var(--green-hover)}.card-kicker{font-size:10px;letter-spacing:1.4px;color:#d3e0d2;font-weight:500}.cutting-card h2{font-size:27px;font-weight:500;letter-spacing:-.7px;margin:12px 0 8px}.cutting-card p{font-size:13px;color:#e0e9dd;margin:0}.cutting-cta{display:inline-flex;gap:30px;font-size:13px;font-weight:600;margin-top:23px}.cutting-art{width:250px;height:155px;stroke:#b4cbb5;stroke-width:1.5;margin-right:18px;flex-shrink:0}.cutting-art rect{fill:#ffffff08}.cutting-art .edge-accent{stroke:#e7c48a;stroke-width:3}.cutting-art text{fill:#e0e9dd;stroke:none;font-size:11px;font-family:inherit}.catalog-tools{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:30px 0 18px;flex-wrap:wrap}.filters{display:flex;gap:5px;flex-wrap:wrap}.filter{font-size:12px;color:#52634b;min-height:44px;padding:0 12px;border:1px solid transparent;background:transparent;border-radius:8px}.filter:hover{background:#e8ede4}.filter.active{background:#fff;border-color:var(--line);color:var(--green);font-weight:600}.search{height:44px;max-width:240px;display:flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--line);border-radius:8px;padding:0 12px}.search svg{width:17px;height:17px;color:#6f7d68}.search input{min-width:0;width:100%;border:0;outline:0;background:none;font-size:12px;color:var(--ink)}.search:focus-within{outline:2px solid #74a38d;outline-offset:2px}.tool-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.tool-card{position:relative;display:block;min-height:182px;background:var(--surface);border:1px solid var(--line);border-radius:12px;text-decoration:none;padding:23px 24px}.tool-card:hover{border-color:#9bb096;background:#fdfefa}.tool-icon{width:39px;height:39px;border-radius:10px;display:grid;place-items:center;background:#eef2e9;color:var(--green);margin-bottom:18px}.tool-card h2{font-size:15px;font-weight:600;letter-spacing:-.2px;margin:0 24px 7px 0}.tool-card p{font-size:12px;color:var(--muted);margin:0;line-height:1.65}.card-arrow{position:absolute;right:22px;top:28px;color:#73866a;font-size:18px}.empty-search{padding:35px;text-align:center;color:var(--muted)}.page-footer{display:flex;align-items:center;gap:12px 24px;flex-wrap:wrap;font-size:10px;line-height:1.6;color:var(--muted);padding-top:32px;margin-top:14px}.page-footer a{color:var(--green);text-decoration:none}.page-footer a:hover{text-decoration:underline}.page-footer>span:last-child{margin-left:auto}.workspace-nav{display:flex;justify-content:space-between;gap:20px;align-items:center;margin:-14px 0 22px}.switcher select{font-size:13px;color:var(--green);max-width:340px;min-height:44px;background:#fff;border:1px solid var(--line);border-radius:8px;padding:0 34px 0 12px;width:100%}.tool-heading{max-width:740px;margin-bottom:28px}.tool-heading h1{font-size:33px;margin:10px 0}.calculator-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;align-items:start}.input-panel,.result-panel{min-width:0;border:1px solid var(--line);border-radius:14px;background:#fff;padding:26px}.panel-heading{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:23px;flex-wrap:wrap}.panel-heading h2{font-size:15px;letter-spacing:-.2px;font-weight:600;margin:0}.text-button{font-size:12px;color:var(--green);border:0;background:transparent;min-height:44px;padding:0 7px;margin:-12px -7px -12px 0}.text-button:hover{text-decoration:underline}.fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:19px 16px}.field{display:flex;flex-direction:column;gap:8px;min-width:0}.field.wide{grid-column:1/-1}.field label{font-size:12px;line-height:1.4;font-weight:500;color:#465642;min-height:17px}.control{position:relative;display:flex;align-items:center}.field input,.field select{width:100%;height:46px;min-width:0;background:#fcfdfa;border:1px solid #dce3d7;border-radius:8px;padding:0 12px;color:var(--ink);font-size:16px;font-variant-numeric:tabular-nums}.field input.has-unit{padding-right:49px}.unit{position:absolute;right:12px;pointer-events:none;font-size:11px;color:#65745e}.field small{font-size:11px;color:var(--muted);line-height:1.5}.field input[aria-invalid=true]{border-color:#ac4b36;background:#fff8f4}.field-error{color:#9e3e2c!important}.input-hint{font-size:11px;color:var(--muted);margin:14px 0 0}.primary-button{width:100%;display:flex;justify-content:center;align-items:center;gap:20px;min-height:48px;background:var(--green);border:0;border-radius:8px;color:#fff;font-size:13px;font-weight:600;margin-top:25px}.primary-button:hover{background:var(--green-hover)}details{border-top:1px solid var(--line);margin-top:24px;padding-top:3px}summary{font-size:12px;line-height:1.5;color:var(--green);min-height:48px;align-content:center}details .fields{margin-top:12px}details[open]{padding-bottom:0}.result-status{font-size:10px;color:#65745e}.result-main{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:20px}.metric{padding:17px 16px;background:#f0f4ec;border-radius:10px;min-width:0}.metric:first-child:last-child{grid-column:1/-1}.metric-label{display:block;color:#4e6246;font-size:11px;line-height:1.5;margin-bottom:10px}.metric strong{font-size:27px;line-height:1.15;font-weight:550;letter-spacing:-.8px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.metric .metric-unit{font-size:12px;margin-left:5px;color:#506447;font-weight:400;letter-spacing:0}.result-table{width:100%;border-collapse:collapse;font-size:12px;margin:16px 0}.result-table td{border-bottom:1px solid #e6ebe2;padding:12px 0;line-height:1.5}.result-table td:last-child{text-align:right;padding-left:16px;font-weight:500;font-variant-numeric:tabular-nums;white-space:nowrap}.result-note{font-size:12px;line-height:1.75;color:#56634f;margin:16px 0 0}.formula{background:#f7f8f4;border:1px solid #e5e9e0;border-radius:8px;padding:12px 14px;font-size:11px;line-height:1.8;color:#56634f;margin-top:16px;overflow-wrap:anywhere}.formula strong{display:block;font-weight:600;color:#3d5238;margin-bottom:3px}.sources{font-size:11px;line-height:1.6;margin:16px 0 0;color:#56634f;display:flex;gap:5px 12px;flex-wrap:wrap}.sources a{color:var(--green);text-underline-offset:3px}.copy-button{width:100%;min-height:44px;border:1px solid #d8e2d2;background:#fff;border-radius:8px;color:var(--green);font-size:12px;font-weight:500;margin-top:22px}.copy-button:hover{background:#edf2e9}.result-error{font-size:13px;line-height:1.7;color:#963b2b;background:#fff2eb;border:1px solid #eacfc2;border-radius:10px;padding:16px}.result-empty{font-size:13px;color:var(--muted);line-height:1.8}.diagram{background:#fafbf7;border:1px solid #e4e9de;border-radius:10px;margin:18px 0 0;padding:12px}.diagram svg{display:block;width:100%;height:150px;stroke:#6b8162;stroke-width:1.6}.diagram text{stroke:none;fill:#405637;font:12px Inter,'Segoe UI',sans-serif}.diagram .dimension{stroke:#8a9e80;stroke-dasharray:3 4}.diagram .accent{stroke:#b7743c;stroke-width:2}.diagram figcaption{font-size:10px;color:#626e65;text-align:center;line-height:1.5;margin-top:5px}.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);max-width:calc(100vw - 32px);z-index:20;background:#253d2d;color:#fff;border-radius:9px;padding:13px 18px;font-size:12px;line-height:1.5;box-shadow:0 5px 30px #20331a22}.skip-link{position:fixed;top:-100px;left:20px;background:#fff;z-index:10;padding:14px}.skip-link:focus{top:10px}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(min-width:1450px){.page{padding-top:56px}.tool-grid{gap:20px}.tool-card{min-height:190px}}
@media(max-width:1000px){.page{padding:36px 28px 22px}.tool-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.catalog-tools{align-items:flex-start}.search{max-width:260px}.input-panel,.result-panel{padding:22px}.calculator-layout{gap:18px}.fields{gap:18px 12px}.cutting-art{margin-right:0;width:220px}.filter{padding:0 10px}.page-footer>span:last-child{margin-left:0;flex-basis:100%}}
@media(max-width:700px){.site-header{padding:14px 20px;min-height:72px;gap:12px}.brand{font-size:16px;gap:9px}.brand-mark{width:35px;height:35px;border-radius:9px}.brand-mark svg{width:23px;height:23px}.site-header .back-link{font-size:11px;gap:5px}.page{padding:28px 20px 22px}.intro{margin-bottom:24px;align-items:flex-start;gap:10px}.intro h1{font-size:31px;letter-spacing:-1px;margin:11px 0}.intro p{font-size:12px}.intro p br{display:none}.eyebrow{font-size:9px;letter-spacing:1.2px}.tool-count{font-size:10px;padding:7px 10px;margin-top:34px}.cutting-card{padding:25px;position:relative;gap:0;min-height:221px}.cutting-card>div{position:relative;z-index:1;max-width:280px}.cutting-card h2{font-size:25px}.cutting-card p{font-size:12px;max-width:235px}.desktop-break{display:none}.cutting-art{position:absolute;width:180px;right:-75px;top:30px;opacity:.18}.card-kicker{font-size:9px}.cutting-cta{margin-top:21px}.catalog-tools{gap:14px;margin:22px 0 17px}.filters{gap:4px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.filter{text-align:left;padding:0 10px;font-size:11px;min-height:44px}.search{max-width:none;width:100%;height:46px}.search input{font-size:16px}.tool-grid{gap:12px}.tool-card{padding:18px;min-height:185px}.tool-card h2{font-size:13px;line-height:1.45;margin-right:0}.tool-card p{font-size:11px}.tool-icon{width:34px;height:34px;border-radius:8px;margin-bottom:15px}.tool-icon svg{width:20px;height:20px}.card-arrow{top:22px;right:16px;font-size:16px}.page-footer{font-size:10px;padding-top:24px;gap:12px 20px}.workspace-nav{flex-wrap:wrap;gap:10px;margin:-8px 0 22px}.workspace-nav .back-link{font-size:12px}.switcher{width:100%}.switcher select{max-width:none;width:100%;font-size:16px;min-height:46px}.tool-heading{margin-bottom:22px}.tool-heading h1{font-size:27px;letter-spacing:-.7px}.tool-heading p{font-size:12px;line-height:1.8}.calculator-layout{grid-template-columns:1fr;gap:18px}.input-panel,.result-panel{padding:22px}.result-panel{scroll-margin-top:18px}.fields{gap:19px 14px}.field label{font-size:12px}.field input,.field select{height:48px}.metric strong{font-size:29px}.result-table{font-size:12px}.result-status{font-size:10px}.primary-button{min-height:48px}h1{overflow-wrap:anywhere}}
@media(max-width:370px){.page{padding-left:15px;padding-right:15px}.site-header{padding-left:15px;padding-right:15px}.brand{font-size:14px}.site-header .back-link{font-size:10px}.tool-count{display:none}.tool-grid{grid-template-columns:1fr}.tool-card{min-height:150px}.fields{grid-template-columns:1fr}.input-panel,.result-panel{padding:20px}.result-main{grid-template-columns:1fr}}
#tool-title:focus,#main:focus{outline:none}
.new-badge{position:absolute;left:76px;top:32px;padding:4px 7px;font-size:9px;font-weight:600;letter-spacing:.2px;line-height:1.3;border:1px solid #d9e5d2;border-radius:5px;color:#45663b;background:#f5f8f0}
.parts-actions{border-top:1px solid var(--line);padding-top:20px;margin-top:22px}.parts-actions .copy-button{margin-top:0;background:var(--green);color:#fff;border-color:var(--green)}.parts-actions .copy-button:hover{background:var(--green-hover)}.parts-link{display:flex;justify-content:center;align-items:center;gap:12px;min-height:44px;color:var(--green);font-size:12px;font-weight:500;margin-top:7px;text-decoration:none}.parts-link:hover{text-decoration:underline;text-underline-offset:4px}.parts-actions p{font-size:11px;line-height:1.7;margin:10px 0 0;color:var(--muted)}.copy-button:disabled{cursor:not-allowed}
@media(max-width:700px){.new-badge{left:63px;top:24px;font-size:9px}.filter:last-child:nth-child(odd){grid-column:1/-1}}
.result-table td.text-value{white-space:normal;overflow-wrap:anywhere}
@media(max-width:700px){.fields{grid-template-columns:1fr}.dimension-metric{grid-column:1/-1}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;scroll-behavior:auto!important}}
.tool-card{padding:0}.tool-card-link{display:block;min-height:inherit;padding:26px;text-decoration:none;border-radius:inherit}.pin-button{position:absolute;right:14px;top:14px;z-index:2;display:grid;place-items:center;width:44px;height:44px;border:0;border-radius:10px;background:transparent;color:#657269}.pin-button svg{width:21px;height:21px;stroke-width:1.7}.pin-button:hover{background:#eef2e9;color:var(--green)}.pin-button.is-favorite{color:#896017}.pin-button.is-favorite svg{fill:#edcf7d}.pin-button:disabled{cursor:wait;opacity:.5}.pin-button[aria-busy=true]{background:var(--soft)}.is-pinned{border-color:#c9d8bd}.cutting-card-wrap{position:relative}.cutting-card-wrap .cutting-card{padding-right:70px}.pin-button.on-dark{color:#f4f8ee;background:#ffffff12}.pin-button.on-dark:hover{background:#ffffff25}.pin-button.on-dark.is-favorite{color:#f2d286}.pin-button.on-dark.is-favorite svg{fill:#f2d286}
.favorites-section{margin:0 0 28px;padding:22px 24px;border:1px solid #d7e0d0;border-radius:12px;background:#eef2e8;min-height:98px}.favorites-heading{display:flex;justify-content:space-between;align-items:center;gap:16px}.favorites-heading h2{margin:0 0 7px;font-size:17px;font-weight:550;letter-spacing:-.3px}.favorites-heading p{margin:0;font-size:12px;line-height:1.6;color:#52644b}.favorites-login{display:inline-flex;align-items:center;gap:12px;min-height:44px;flex-shrink:0;font-size:12px;font-weight:500;color:var(--green);text-underline-offset:4px}.favorites-section .tool-grid{margin-top:20px;gap:14px}.favorites-section .tool-card{min-height:160px}.favorites-section .tool-card-link{padding:22px}.favorites-section .tool-card h2{font-size:14px}.favorites-section .tool-card p{font-size:11px}.favorites-section .new-badge{display:none}.favorites-section .tool-icon{margin-bottom:14px}.tool-heading-top{display:flex;justify-content:space-between;align-items:center;gap:16px}.favorite-action{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:8px 12px;background:#fff;border:1px solid var(--line);border-radius:8px;color:var(--green);font-size:12px;white-space:nowrap}.favorite-action svg{width:19px;height:19px}.favorite-action.is-favorite{color:#795511;border-color:#d7c28d;background:#fffaf0}.favorite-action.is-favorite svg{fill:#edcf7d}.favorite-action:disabled{cursor:wait;opacity:.5}.tool-heading .tool-favorites-status{font-size:11px;margin-top:10px}.tool-favorites-status:empty{display:none}.tool-favorites-status a{color:var(--green);text-underline-offset:3px}
.inline-retry{border:0;background:none;color:var(--green);font:inherit;text-decoration:underline;text-underline-offset:3px;padding:8px;min-height:44px}
@media(max-width:700px){.intro{display:block;position:relative}.intro .eyebrow{display:block;max-width:calc(100% - 100px);font-size:8px;letter-spacing:1px;min-height:25px}.intro .tool-count{position:absolute;right:0;top:0;margin:0;font-size:9px;padding:5px 8px}}
@media(max-width:700px){.tool-card-link{padding:18px}.pin-button{top:9px;right:7px;width:44px;height:44px}.pin-button svg{width:20px;height:20px}.favorites-section{padding:19px 17px;margin-bottom:22px}.favorites-heading{align-items:flex-start;flex-wrap:wrap;gap:8px}.favorites-heading h2{font-size:16px}.favorites-heading p{font-size:11px}.favorites-login{font-size:12px}.favorites-section .tool-grid{grid-template-columns:1fr;margin-top:15px;gap:10px}.favorites-section .tool-card{min-height:135px}.favorites-section .tool-card-link{padding:19px}.favorites-section .tool-card h2{font-size:14px}.favorites-section .tool-card p{font-size:12px}.cutting-card-wrap .cutting-card{padding-right:48px}.tool-heading-top{gap:8px;align-items:center}.favorite-action{font-size:11px;padding:8px 10px}.favorite-action svg{width:17px;height:17px}}
