:root{--ink:#2d2822;--brown:#724833;--rust:#c1653d;--paper:#f6f2e9;--line:#ded4c3;--muted:#786f63;--green:#58694e}*{box-sizing:border-box}body{margin:0;background:#fbf9f4;color:var(--ink);font:15px/1.6 Arial,sans-serif}header{height:73px;padding:0 max(6vw,22px);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:#fffdf8}.brand{text-decoration:none;color:var(--ink);font-size:13px;font-weight:900;letter-spacing:.1em;display:flex;align-items:center;gap:9px}.brand .mark{display:grid;place-items:center;width:31px;height:31px;background:var(--brown);color:#fff;border-radius:2px;font:700 16px Georgia}.brand i{font-style:normal;color:var(--rust);margin-left:-8px}nav{display:flex;gap:24px;font-size:12px}nav a{color:inherit;text-decoration:none}.badge,.kicker{font-size:10px;letter-spacing:.17em;color:#8a593d;font-weight:bold}.hero{padding:63px max(9vw,24px) 50px;display:grid;grid-template-columns:1fr .95fr;align-items:center;gap:7vw;background:#eee7d9}.hero h1{font:700 clamp(47px,5.7vw,72px)/1.02 Georgia,serif;letter-spacing:-2.6px;margin:16px 0}.hero h1 em{font-weight:400;color:var(--rust)}.hero p:not(.kicker){max-width:470px;color:#655b4e}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:23px;padding:13px 17px;border:0;background:var(--brown);color:#fff;text-decoration:none;font-weight:bold;cursor:pointer}.bench{height:245px;position:relative;background:#e2d3b9;border:1px solid #d5c2a2;padding:27px 20px;display:flex;flex-direction:column;justify-content:center;gap:15px;box-shadow:10px 11px 0 #cdbb9c}.board{height:52px;background:linear-gradient(90deg,#9a6947,#c18b5e,#a2704e);display:flex;align-items:stretch;position:relative;color:#fff;font-size:9px;box-shadow:inset 0 2px #ffffff40,inset 0 -2px #51352255}.board i{font-style:normal;border-right:2px dashed #f2dcc055;display:grid;place-items:center}.board-one i:nth-child(1){width:28%}.board-one i:nth-child(2){width:28%}.board-one i:nth-child(3){width:20%}.board span{position:absolute;right:8px;top:16px;color:#fff9;font-size:8px;letter-spacing:.07em}.board-two i{width:23%;border-right:2px dashed #f2dcc055}.saw{position:absolute;right:23px;top:34px;color:var(--rust);font-size:33px;transform:rotate(-35deg)}.bench small{font-size:8px;letter-spacing:.16em;color:#6f5c42}.ad{height:88px;max-width:970px;margin:0 auto 35px;border:1px dashed #d5cbb9;color:#908779;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:12px}.ad small{font-size:9px;letter-spacing:.18em}.planner{padding:40px max(9vw,24px)}.heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:18px}.heading h2,.boardfeet h2,.method h2{font:600 36px/1.1 Georgia,serif;letter-spacing:-1.2px;margin:7px 0}.heading>p{font-size:11px;color:var(--muted);max-width:350px}.controls{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;padding:18px;background:#efe9dc;border:1px solid var(--line)}label{display:grid;gap:6px;font-size:11px;color:#665d50}.controls input,.controls select,.bf-card input{height:40px;border:1px solid #d6cbb8;background:#fffefa;padding:0 9px;color:var(--ink);font:14px Arial}.controls small{font-size:9px;color:#8b8174}.parts-wrap{background:#fffefa;border:1px solid var(--line);border-top:0;padding:15px 18px}.parts{width:100%;border-collapse:collapse}.parts th{text-align:left;font-size:9px;letter-spacing:.14em;color:#8a8175;padding:9px 6px}.parts td{border-top:1px solid #ece7dc;padding:7px 6px}.parts input{width:100%;height:37px;border:1px solid #e0d8ca;padding:0 8px;font:13px Arial}.parts th:nth-child(1){width:42%}.parts th:nth-child(2){width:24%}.parts th:nth-child(3){width:20%}.parts th:nth-child(4){width:14%}.remove{border:0;background:transparent;color:#a66142;font-size:18px;cursor:pointer}.actions{display:flex;gap:10px;align-items:center;margin-top:13px;flex-wrap:wrap}.actions .button{margin-left:auto}.light-button,.text-button{height:38px;padding:0 12px;cursor:pointer;font-size:11px}.light-button{background:#e9e5da;border:1px solid #d9d0c1;color:var(--ink)}.text-button{background:transparent;border:0;color:#786f63}.plan{margin-top:17px}.plan-empty{padding:27px;border:1px dashed #d4c9b8;text-align:center;color:#82786a}.plan-empty span{font:600 19px Georgia;color:var(--brown)}.plan-empty p{font-size:12px;margin:5px}.summary{display:grid;grid-template-columns:repeat(4,1fr);background:#3d372f;color:#fff;padding:18px;margin-bottom:13px}.summary div{padding:0 13px;border-right:1px solid #ffffff2b}.summary div:first-child{padding-left:0}.summary div:last-child{border:0}.summary span{display:block;font-size:9px;letter-spacing:.13em;color:#d1c3a8}.summary strong{font:600 24px Georgia}.board-row{background:#fffefa;border:1px solid var(--line);padding:15px 17px;margin:9px 0}.board-head{display:flex;justify-content:space-between;font-size:11px;font-weight:bold}.board-head span{color:#6f7d58}.bar{height:35px;display:flex;margin:12px 0 5px;background:#eee9dd;overflow:hidden}.segment{display:flex;align-items:center;justify-content:center;min-width:26px;color:#fff;background:#99704d;border-right:1px solid #fff9;font-size:9px;white-space:nowrap;overflow:hidden}.segment:nth-child(3n+2){background:#aa7a50}.segment:nth-child(3n){background:#815b41}.offcut{font-size:10px;color:#80786b}.safety{margin-top:13px;background:#f1ead9;border-left:3px solid #bd8650;padding:13px 15px;display:flex;gap:12px;font-size:10px;color:#6f6657}.safety b{min-width:95px;color:#735433}.boardfeet{padding:42px max(9vw,24px);background:#e9ece2;display:grid;grid-template-columns:.8fr 1.2fr;gap:7vw;align-items:center}.boardfeet>div>p:last-child{font-size:12px;color:#687065;max-width:380px}.bf-card{background:#fffefa;border:1px solid #d9ded1;padding:19px;display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.bf-result{grid-column:span 3;background:#536248;color:#fff;padding:12px 15px;font-size:12px}.bf-result strong{font:600 25px Georgia;margin-right:8px}.bf-result small{color:#e1e9d5}.method{padding:38px max(9vw,24px);display:grid;grid-template-columns:.8fr 1.2fr;gap:7vw;align-items:center}.method>p{font-size:12px;color:#6f6a60}@media print{header,nav,.hero,.ad,.controls,.parts-wrap,.boardfeet,footer,.safety{display:none!important}.planner{padding:0}.board-row{break-inside:avoid}.summary{print-color-adjust:exact}}@media(max-width:720px){.badge{display:none}nav{gap:12px;font-size:10px}.hero{grid-template-columns:1fr;padding-top:40px;gap:26px}.bench{height:205px}.heading{display:block}.heading>p{max-width:400px}.controls{grid-template-columns:repeat(2,minmax(0,1fr));padding:13px}.controls label,.boardfeet>*,.method>*,.bf-card label{min-width:0}.controls input,.controls select,.bf-card input{width:100%;min-width:0}.parts-wrap{padding:9px}.parts th:nth-child(1){width:36%}.parts th:nth-child(2){width:29%}.parts th:nth-child(3){width:20%}.parts th:nth-child(4){width:15%}.parts td{padding:6px 3px}.parts input{font-size:12px;padding:0 5px}.actions{gap:5px}.actions .button{margin-left:0}.summary{grid-template-columns:1fr 1fr;gap:12px}.summary div:nth-child(2){border-right:0}.summary div:nth-child(3){padding-left:0}.boardfeet,.method{grid-template-columns:minmax(0,1fr);gap:8px;padding:32px 22px}.bf-card{grid-template-columns:repeat(2,minmax(0,1fr));padding:14px;gap:10px;min-width:0}.bf-result{grid-column:span 2}.planner{padding:33px 18px}.ad{margin-left:14px;margin-right:14px}.safety{display:block}.safety b{display:block;margin-bottom:5px}footer{flex-direction:column;gap:7px}}

:focus-visible{outline:3px solid #df784d;outline-offset:3px}.skip-link{position:absolute;left:-10000px;top:8px;background:#fff;color:#111;padding:10px;z-index:20}.skip-link:focus{left:8px}.guide-page{max-width:850px;margin:0 auto;padding:48px 24px 64px;line-height:1.75}.guide-page h1{font-size:clamp(38px,5vw,58px);line-height:1.08}.guide-page h2{margin-top:38px}.guide-intro{font-size:1.15rem;color:var(--muted,#657066);max-width:680px}.source-list{border-top:1px solid var(--line,#ddd);margin-top:36px;padding-top:12px}.source-list li{margin:10px 0}.source-list a{text-decoration:underline;text-underline-offset:3px}.guide-back{margin-top:30px}.validation{padding:12px;border-left:3px solid #a33;background:#fff1ef;color:#531b1b}
