.tool-page{min-width:0}.tool-intro{max-width:68ch}.tool-section{margin:2.2rem 0}.tool-panel{background:var(--white,#fffdf8);border:1px solid var(--line,#d4d7c5);border-radius:1rem;padding:clamp(1rem,3vw,2rem);box-shadow:0 8px 26px rgba(23,58,43,.06)}.tool-panel>h3{margin-bottom:1.4rem}.tool-fields{border:0;border-top:1px solid var(--line,#d4d7c5);margin:1.5rem 0 0;padding:1.2rem 0 0}.tool-fields legend{font-family:var(--serif,Georgia,serif);font-size:1.25rem;padding-right:.7rem}.tool-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem 1.25rem}.tool-field{display:flex;flex-direction:column;gap:.4rem;min-width:0}.tool-field label{font-size:.95rem;font-weight:700;line-height:1.35}.tool-field input,.tool-field select{display:block;width:100%;min-height:48px;border:1px solid #7d897b;border-radius:.45rem;padding:.65rem .75rem;background:#fff;color:var(--ink,#173a2b);font:inherit;font-size:1rem}.tool-field input:focus-visible,.tool-field select:focus-visible,.tool-actions button:focus-visible,.tool-faq summary:focus-visible{outline:3px solid #a76d18;outline-offset:3px}.tool-field input[aria-invalid=true]{border-color:#a62f20;box-shadow:0 0 0 2px rgba(166,47,32,.16)}.tool-field small,.field-note{color:var(--muted,#526456);font-size:.88rem;line-height:1.45}.tool-field--wide{margin-top:1.25rem;max-width:38rem}.tool-field--unit{max-width:18rem;margin-bottom:1.1rem}.field-note{margin:.8rem 0 0}.tool-actions{display:flex;flex-wrap:wrap;gap:.7rem;margin:1.35rem 0 .5rem}.tool-actions button{min-height:48px;cursor:pointer}.tool-actions .button--secondary{background:transparent;color:var(--green,#163b2c);border:1px solid var(--green,#163b2c)}.tool-status{min-height:1.6em;margin:.5rem 0;color:var(--muted,#526456);font-size:.95rem}.tool-status:not(:empty){padding:.55rem .75rem;border-left:3px solid var(--gold,#c18e3c);background:#f6f3e9}.tool-results{margin-top:1.4rem;padding:1.25rem;background:#edf0e5;border-radius:.65rem}.tool-results[hidden]{display:none!important}.tool-results h3{margin-bottom:1rem}.result-list{margin:0}.result-list>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.75rem;padding:.7rem 0;border-bottom:1px solid #cbd2c2}.result-list dt{font-weight:600}.result-list dd{margin:0;text-align:right;font-variant-numeric:tabular-nums}.result-list .result-total{border-top:2px solid var(--green,#163b2c);border-bottom:0;margin-top:.3rem;padding-top:.9rem;font-size:1.1rem;font-weight:700}.tool-results>p{margin:1rem 0 0;font-size:.93rem}.result-limit{font-weight:700}.area-results{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem}.area-results>div{padding:1rem;background:var(--white,#fffdf8);border:1px solid var(--line,#d4d7c5);border-radius:.55rem;min-width:0}.area-results h4{margin:0 0 .6rem;font-family:var(--serif,Georgia,serif);font-size:1.2rem}.area-results p{overflow-wrap:anywhere}.measure-diagram{margin:1rem 0 1.5rem;padding:.7rem;background:#fffdf8;border:1px solid var(--line,#d4d7c5);border-radius:.6rem}.measure-diagram svg{display:block;width:100%;height:auto;max-height:190px}.measure-diagram svg text{font-family:Arial,sans-serif;font-size:15px;fill:#173a2b}.measure-diagram figcaption{margin:.45rem .3rem .15rem;font-size:.88rem;color:var(--muted,#526456)}.tool-faq details{border-top:1px solid var(--line,#d4d7c5);padding:1rem 0}.tool-faq details:last-child{border-bottom:1px solid var(--line,#d4d7c5)}.tool-faq summary{font-weight:700;cursor:pointer}.tool-faq details p{margin:.75rem 0 0}.tool-promo{padding:1.25rem 1.4rem;border-left:4px solid var(--gold,#c18e3c);background:#edf0e5}.tool-promo h2{font-size:1.4rem;margin-bottom:.55rem}.tool-promo p{margin-bottom:0}.tool-page .notice{margin:1.2rem 0}.tool-page .notice h3{margin-bottom:.45rem}
@media(max-width:650px){.tool-grid,.area-results{grid-template-columns:minmax(0,1fr)}.tool-panel{padding:1rem}.tool-actions{display:grid;grid-template-columns:1fr}.tool-actions button{width:100%}.result-list>div{grid-template-columns:minmax(0,1fr);gap:.2rem}.result-list dd{text-align:left}.measure-diagram{padding:.35rem}.measure-diagram svg text{font-size:18px}.tool-promo{padding:1rem}}
