:root{--bg:#fbfaf6;--surface:#fff;--surface-alt:#eef5f1;--ink:#112b26;--muted:#546963;--line:#dde7e2;--brand:#0e3b34;--brand-soft:#d9efe6;--leaf:#237760;--accent:#f6b94e;--accent-soft:#fff1d6;--on-brand:#f4fbf8;--danger:#b42318;--radius:16px;--shadow:0 24px 60px -36px #0e3b3459;--font:ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;color-scheme:light}@media (prefers-color-scheme:dark){:root{--bg:#0b1715;--surface:#12221f;--surface-alt:#162a26;--ink:#e8f2ee;--muted:#a5bab3;--line:#24403a;--brand:#0a2b26;--brand-soft:#1b3d36;--leaf:#5cc7a5;--accent:#f6b94e;--accent-soft:#3a2f17;--on-brand:#f4fbf8;--danger:#ff8a80;--shadow:0 24px 60px -36px #0009;color-scheme:dark}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--ink);font-family:var(--font);margin:0;font-size:17px;line-height:1.6}img,svg{max-width:100%;display:block}a{color:var(--leaf);text-underline-offset:2px}h1,h2,h3{letter-spacing:-.01em;line-height:1.2}h1{margin:.2em 0 .4em;font-size:clamp(1.9rem,4vw,2.6rem)}h2{margin:2rem 0 .6rem;font-size:1.35rem}[hidden]{display:none!important}.wrap{width:100%;max-width:1080px;margin:0 auto;padding:0 16px}@media (width>=720px){.wrap{padding:0 28px}}.skip-link{position:absolute;left:-9999px}.skip-link:focus{z-index:10;background:var(--surface);border-radius:8px;padding:8px 12px;top:12px;left:16px}:focus-visible{outline:3px solid var(--leaf);outline-offset:2px}.site-header{border-bottom:1px solid var(--line);background:var(--surface)}.header-inner{justify-content:space-between;align-items:center;gap:16px;min-height:60px;display:flex}.brand{color:var(--ink);align-items:center;gap:10px;font-size:1.15rem;font-weight:600;text-decoration:none;display:flex}.brand b{color:var(--leaf)}.brand-mark{width:30px;height:30px}.mark-bg{fill:var(--brand)}.mark-ink{stroke:var(--accent);stroke-width:2.4px;stroke-linecap:round;fill:none}.site-header ul,.site-footer ul{flex-wrap:wrap;gap:6px 20px;margin:0;padding:0;list-style:none;display:flex}.site-header nav a{color:var(--ink);font-weight:500;text-decoration:none}.site-header nav a:hover{color:var(--leaf)}.site-footer{border-top:1px solid var(--line);color:var(--muted);margin-top:64px;padding:28px 0 40px;font-size:.92rem}.footer-inner{gap:12px;display:grid}.footer-inner p{margin:0}.hero{padding:40px 0 8px}.hero h1{max-width:18em}.lede-big{color:var(--muted);max-width:38em;margin:0;font-size:1.15rem}.cards{grid-template-columns:repeat(auto-fill,minmax(min(100%,240px),1fr));gap:14px;margin:0;padding:0;list-style:none;display:grid}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);height:100%;color:var(--ink);flex-direction:column;gap:4px;padding:16px 18px;text-decoration:none;transition:border-color .15s,transform .15s;display:flex}.card:hover{border-color:var(--leaf);transform:translateY(-1px)}.card strong{color:var(--leaf)}.card span{color:var(--muted);font-size:.93rem;line-height:1.45}.promise-list{max-width:44em;padding-left:1.2em}.promise-list li{margin:.4em 0}.category-blurb{color:var(--muted);margin:-.3rem 0 1rem}.crumbs{color:var(--muted);padding-top:20px;font-size:.9rem}.lede{max-width:44em;color:var(--muted);font-size:1.05rem}.lede p{margin:0 0 .6em}.calc{grid-template-columns:minmax(0,1fr);gap:20px;margin-top:20px;display:grid}@media (width>=860px){.calc{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);align-items:start}.calc-output{position:sticky;top:16px}}.calc-inputs,.calc-output{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);min-width:0;box-shadow:var(--shadow);padding:20px}.calc-form{grid-template-columns:minmax(0,1fr);gap:16px;display:grid}.field label{margin-bottom:6px;font-weight:600;display:block}.control{border:1px solid var(--line);background:var(--bg);border-radius:10px;align-items:stretch;display:flex;overflow:hidden}.control:focus-within{border-color:var(--leaf);box-shadow:0 0 0 3px var(--brand-soft)}.control input{min-width:0;color:var(--ink);font:inherit;background:0 0;border:0;flex:1;padding:10px 12px;font-size:1.05rem}.control input:focus{outline:none}.control input[aria-invalid]{color:var(--danger)}.field:has([aria-invalid]) .control{border-color:var(--danger)}.affix{color:var(--muted);background:var(--surface-alt);white-space:nowrap;align-items:center;padding:0 12px;font-size:.93rem;display:flex}.control .affix:first-child{background:0 0;padding-right:4px}select{font:inherit;color:var(--ink);background:var(--bg);border:1px solid var(--line);border-radius:10px;width:100%;min-width:0;max-width:100%;padding:10px 12px}.control select.unit{border:0;border-left:1px solid var(--line);background:var(--surface-alt);border-radius:0;width:auto;padding:0 10px}.help{color:var(--muted);margin:6px 0 0;font-size:.88rem;line-height:1.45}.error{color:var(--danger);margin:4px 0 0;font-size:.88rem;font-weight:500}.error:empty{display:none}.output-title{color:var(--muted);margin:0 0 12px;font-size:1rem;font-weight:600}.answers{gap:10px;display:grid}.answer{background:var(--brand);color:var(--on-brand);border-radius:12px;gap:2px;padding:14px 16px;display:grid}.answer+.answer{background:var(--brand-soft);color:var(--ink)}.answer-label{opacity:.85;font-size:.9rem}.answer-value{letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:1.9rem;font-weight:700;line-height:1.15}.answer-note{opacity:.9;font-size:.9rem}.answer:first-child .answer-note{color:var(--accent);opacity:1;font-weight:600}.details{border-collapse:collapse;width:100%;margin-top:14px;font-size:.95rem}.details th,.details td{border-bottom:1px solid var(--line);vertical-align:top;padding:8px 0}.details th{text-align:left;padding-right:12px;font-weight:500}.details td{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.row-note{color:var(--muted);font-size:.82rem;font-weight:400;display:block}.result-notes{background:var(--accent-soft);border-radius:10px;margin:12px 0 0;padding:10px 12px 10px 28px;font-size:.92rem}.results.is-stale{opacity:.9}.results-empty{color:var(--muted);margin:0}.output-actions{flex-wrap:wrap;gap:8px;margin-top:16px;display:flex}.btn{font:inherit;border:1px solid var(--leaf);color:var(--leaf);cursor:pointer;background:0 0;border-radius:999px;padding:8px 16px;font-size:.93rem;font-weight:600}.btn:hover{background:var(--brand-soft)}.btn-quiet{border-color:var(--line);color:var(--muted)}.status{color:var(--muted);margin:8px 0 0;font-size:.88rem}.status:empty{display:none}.content{max-width:46em}.steps{font-variant-numeric:tabular-nums;padding-left:1.4em}.steps li{margin:.35em 0}.faq{border-bottom:1px solid var(--line);padding:10px 0}.faq summary{cursor:pointer;font-weight:600}.faq p{margin:8px 0 4px}.sources ul{padding-left:1.2em}.checked{color:var(--muted);font-size:.92rem}.cards-small{grid-template-columns:repeat(auto-fill,minmax(min(100%,200px),1fr))}textarea{width:100%;font:inherit;color:var(--ink);background:var(--bg);border:1px solid var(--line);resize:vertical;border-radius:10px;padding:10px 12px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.95rem}textarea:focus{border-color:var(--leaf);box-shadow:0 0 0 3px var(--brand-soft);outline:none}.answer-long{word-break:break-all;letter-spacing:0;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:1.15rem}.btn-solid{background:var(--leaf);color:var(--surface)}.btn-solid:hover{background:var(--leaf);opacity:.9}.table-wrap{border:1px solid var(--line);border-radius:10px;max-height:420px;margin-top:14px;overflow:auto}.data-table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:.88rem}.data-table caption{text-align:left;color:var(--muted);padding:8px 10px;font-weight:600}.data-table th,.data-table td{border-top:1px solid var(--line);text-align:right;white-space:nowrap;padding:6px 10px}.data-table th:first-child,.data-table td:first-child{text-align:left}.data-table thead th{background:var(--surface-alt);position:sticky;top:0}.diagram{max-width:420px;color:var(--ink);margin:28px 0 0}.diagram svg{width:100%;height:auto}.dg-fill{fill:var(--brand-soft)}.dg-side{fill:var(--surface-alt)}.dg-side2{fill:var(--line)}.dg-wood{fill:#c89a5b}.dg-wood2{fill:#a87a3e}.dg-line,.dg-tile,.dg-dim{stroke:currentColor;stroke-width:1.4px;stroke-linejoin:round}.dg-tile{fill:var(--surface)}.dg-dim{stroke-dasharray:4 4}.dg-cut{fill:var(--bg);stroke:currentColor;stroke-width:1.2px}.dg-accent{stroke:#c47f12;stroke-width:2.4px}.dg-text{fill:currentColor;font-size:12px;font-family:var(--font)}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.header-inner{flex-wrap:wrap;padding-top:8px;padding-bottom:8px}.search{flex:260px;order:3;max-width:420px;position:relative}@media (width>=720px){.search{order:0}}.search input{width:100%;font:inherit;color:var(--ink);background:var(--bg);border:1px solid var(--line);border-radius:999px;padding:8px 16px;font-size:1rem}.search input:focus{border-color:var(--leaf);box-shadow:0 0 0 3px var(--brand-soft);outline:none}.search-results{z-index:20;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:12px;max-height:70vh;margin:0;padding:6px;list-style:none;position:absolute;top:calc(100% + 6px);left:0;right:0;overflow:auto}.search-results a{color:var(--ink);border-radius:8px;gap:2px;padding:8px 10px;text-decoration:none;display:grid}.search-results [aria-selected=true] a,.search-results a:hover{background:var(--brand-soft)}.search-results strong{color:var(--leaf)}.search-results span,.search-none{color:var(--muted);font-size:.85rem}.search-none{padding:8px 10px}.calc-list{columns:2 300px;column-gap:32px;margin:0;padding:0;list-style:none}.calc-list li{break-inside:avoid;padding:6px 0;display:grid}.calc-list a{font-weight:600}.calc-list span{color:var(--muted);font-size:.88rem}.category-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,240px),1fr));gap:14px;margin:0;padding:0;list-style:none;display:grid}.category-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);height:100%;color:var(--ink);gap:4px;padding:16px 18px;text-decoration:none;display:grid}.category-card:hover{border-color:var(--leaf)}.category-card strong{color:var(--leaf);font-size:1.05rem}.category-card span{color:var(--muted);font-size:.92rem}.category-card .count{font-size:.82rem;font-weight:600}.category-jump{flex-wrap:wrap;gap:6px 16px;margin-bottom:8px;display:flex}.prose-wide{padding-top:20px}.control .sub{align-items:stretch;display:flex}.control .sub[hidden]{display:none!important}.control input.inches{border-left:1px solid var(--line);flex:none;width:4.5em}.sub-affix{padding:0 8px}.control select.frac{border:0;border-left:1px solid var(--line);background:var(--bg);border-radius:0;width:auto;padding:0 6px}.negate{font:inherit;border:0;border-left:1px solid var(--line);background:var(--surface-alt);min-width:44px;color:var(--ink);cursor:pointer;font-weight:700}.unit-pick{vertical-align:middle;border-radius:6px;width:auto;margin-left:8px;padding:2px 6px;font-size:.85rem}.answer .unit-pick{color:inherit;background:0 0;border-color:currentColor;justify-self:start;margin:4px 0 0}.answer .unit-pick option{color:var(--ink);background:var(--surface)}.mini-result{display:none}@media (width<=859px){.mini-result{z-index:10;background:var(--brand);color:var(--on-brand);font-variant-numeric:tabular-nums;margin:0 -16px;padding:10px 16px;font-weight:600;display:block;position:sticky;top:0;box-shadow:0 6px 16px -10px #00000080}}.privacy-note{color:var(--muted);margin:12px 0 0;font-size:.82rem}.ad-slot{max-width:46em;margin:24px 0 0}.ad-label{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;margin:0 0 4px;font-size:.75rem}.ad-box{border:1px dashed var(--line);border-radius:10px;min-height:120px}body.embed{background:var(--surface)}.embed-wrap{padding:12px}.embed-title{margin:0 0 12px;font-size:1.2rem}.calc-embed{margin-top:0}.embed-code textarea{margin-top:8px}.affiliates{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);padding:12px 16px}.affiliates .help{margin-top:0}.prose{max-width:46em;padding-top:20px}.prose li{margin:.4em 0}@media (prefers-reduced-motion:reduce){*{transition:none!important}}
