*{box-sizing:border-box} :root{--g:#12372a;--g2:#1e5a42;--lime:#d6f36b;--paper:#f5f7f3;--line:#dce4dd;--muted:#68766f}body{margin:0;background:var(--paper);color:#17231e;font-family:system-ui,-apple-system,"Segoe UI",sans-serif}header{height:72px;background:white;display:flex;align-items:center;gap:12px;padding:0 max(16px,calc((100% - 1120px)/2));border-bottom:1px solid var(--line);position:sticky;top:0}header .logo{background:var(--g);color:var(--lime);font-size:25px;font-weight:900;padding:6px 13px;border-radius:12px}header b{display:block}header small{display:block;font-size:9px;letter-spacing:1.5px;color:var(--muted);margin-top:3px}header button{margin-left:auto}
/* Prominent install call-to-action: always visible, even when the browser does not fire beforeinstallprompt. */
header .install-cta{margin-left:auto;flex-shrink:0;background:var(--lime);color:var(--g);border:2px solid var(--g);font-size:13px;font-weight:950;letter-spacing:.35px;padding:12px 17px;box-shadow:0 4px 0 #12372a22;animation:installPulse 2.8s ease-in-out infinite}
header .install-cta:hover{transform:translateY(-1px);box-shadow:0 6px 14px #12372a24}
header .install-cta:focus-visible{outline:3px solid #1e5a42;outline-offset:3px}
@keyframes installPulse{0%,100%{box-shadow:0 0 0 0 #d6f36b99,0 4px 0 #12372a22}50%{box-shadow:0 0 0 6px #d6f36b00,0 4px 0 #12372a22}}
@media(prefers-reduced-motion:reduce){header .install-cta{animation:none;transition:none}}
@media(max-width:420px){header{gap:8px;padding-left:10px;padding-right:10px}header .logo{font-size:21px;padding:5px 10px}header small{font-size:8px;letter-spacing:1px}header .install-cta{font-size:11px;padding:10px 10px;letter-spacing:0}}main{max-width:1120px;margin:auto;padding:25px 16px 45px}.hero{background:var(--g);color:white;padding:clamp(25px,5vw,54px);border-radius:23px}.hero small{color:var(--lime);font-weight:800;letter-spacing:1.4px}.hero h1{font-size:clamp(34px,5vw,56px);line-height:1.05;letter-spacing:-1.8px;margin:17px 0}.hero em{font-style:normal;color:var(--lime)}.hero p{color:#d4e2d8;line-height:1.6;max-width:570px}.hero b{font-size:12px;line-height:2}.toolbar{display:flex;justify-content:space-between;align-items:end;gap:12px;margin:25px 0 15px}.toolbar label{display:grid;gap:6px;font-size:12px;color:var(--muted);font-weight:800}.toolbar select,.toolbar input,input{font:inherit;border:1px solid var(--line);background:white;border-radius:10px;padding:12px;min-height:43px}.toolbar input{width:min(340px,100%)}nav{display:flex;gap:8px;overflow:auto;margin-bottom:15px}button{cursor:pointer;border:1px solid var(--line);border-radius:10px;background:white;color:var(--g);padding:11px 14px;font-size:12px;font-weight:800}nav button{white-space:nowrap;border-radius:30px;color:var(--muted)}nav button.active, .primary{background:var(--g);color:white;border-color:var(--g)}#cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.card{background:white;border:1px solid var(--line);border-radius:17px;padding:19px;min-height:180px;display:flex;flex-direction:column}.icon{background:#eef5e8;width:38px;height:38px;display:grid;place-items:center;border-radius:12px;font-size:19px}.card h3{font-size:16px;margin:13px 0 7px}.card p{font-size:12px;color:var(--muted);line-height:1.5;flex:1}.card button{width:100%}aside{margin-top:22px;background:white;border:1px solid var(--line);border-radius:16px;padding:18px;display:flex;justify-content:space-between;align-items:center;gap:12px}aside p,.note{font-size:12px;color:var(--muted);margin:6px 0}.note{line-height:1.6;margin:20px 2px}footer{background:white;border-top:1px solid var(--line);padding:22px max(16px,calc((100% - 1120px)/2));display:flex;justify-content:space-between;color:var(--muted);font-size:11px}dialog{width:min(610px,calc(100% - 22px));max-height:88vh;border:0;border-radius:20px;padding:20px;box-shadow:0 20px 80px #0004}dialog::backdrop{background:#102319aa}.head{display:flex;justify-content:space-between;align-items:start;border-bottom:1px solid var(--line);padding-bottom:13px}.head h2{margin:5px 0;font-size:23px}.head small{color:var(--g2);font-weight:800;letter-spacing:1px}.x{border-radius:50%;font-size:21px;padding:3px 10px}#body,#savedBody{padding:18px 0}.fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.field{display:grid;gap:6px;font-size:12px;font-weight:750;color:#4b5b52}.field input{width:100%;min-width:0}.result{background:#eff5e8;border-radius:13px;padding:16px;margin-top:17px}.result small{color:var(--muted);font-weight:800}.result strong{display:block;font-size:clamp(25px,5vw,34px);color:var(--g);margin:5px 0}.details{font-size:12px;line-height:1.7;white-space:pre-line;color:#42554a}.actions{display:flex;gap:8px;flex-wrap:wrap}.saved-item{border:1px solid var(--line);border-radius:12px;padding:12px;margin-bottom:9px}.saved-item p{font-size:12px;white-space:pre-line;color:var(--muted)}#toast{position:fixed;bottom:20px;left:50%;transform:translate(-50%,20px);opacity:0;background:#142b20;color:white;padding:12px 17px;border-radius:30px;font-size:12px;transition:.2s;max-width:90%;z-index:8}#toast.show{opacity:1;transform:translate(-50%,0)}[hidden]{display:none!important}@media(max-width:800px){#cards{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:540px){main{padding:14px 12px 30px}.hero{border-radius:18px;padding:25px 19px}.hero h1{letter-spacing:-1px}.toolbar{align-items:stretch;flex-direction:column}.toolbar select,.toolbar input{width:100%}#cards{grid-template-columns:1fr}.card{min-height:0;padding:16px}aside{align-items:flex-start;flex-direction:column}footer{padding:18px 12px;gap:8px;flex-wrap:wrap}.fields{grid-template-columns:1fr}}

.recommendations{margin-top:13px;border:1px solid #d8e4d7;background:#fbfdf9;border-radius:13px;padding:14px}.recommendations h4{margin:0 0 8px;color:var(--g);font-size:14px}.recommendations ul{padding-left:19px;margin:7px 0}.recommendations li{font-size:12px;line-height:1.6;margin:5px 0;color:#42554a}.scenario-table{width:100%;border-collapse:collapse;margin-top:10px;font-size:12px}.scenario-table th,.scenario-table td{text-align:left;padding:8px 6px;border-bottom:1px solid var(--line)}.scenario-table th{color:var(--muted);font-size:10px;text-transform:uppercase}.scenario-table td:last-child,.scenario-table th:last-child{text-align:right}
@media(max-width:540px){.scenario-table{font-size:11px}.scenario-table th,.scenario-table td{padding:7px 3px}}

/* Calculator guide: dedicated, mobile-friendly reference page. */
.guide-entry{margin:18px 0 26px;padding:22px 24px;border:1px solid var(--line);border-radius:18px;background:#fff;display:flex;align-items:center;justify-content:space-between;gap:20px;box-shadow:0 8px 24px #12372a0a}
.guide-entry small,.guide-heading small{color:var(--g2);font-size:11px;font-weight:900;letter-spacing:1.2px}
.guide-entry h2,.guide-heading h2{margin:6px 0 8px;font-size:clamp(22px,3vw,30px);letter-spacing:-.5px}
.guide-entry p,.guide-heading p{margin:0;color:var(--muted);line-height:1.6;max-width:720px}
.guide-cta{flex-shrink:0;background:var(--g);color:#fff;border:2px solid var(--g);border-radius:11px;padding:14px 18px;font-weight:850;cursor:pointer;box-shadow:0 4px 0 #12372a20}
.guide-cta:hover{background:var(--g2);transform:translateY(-1px)}
.guide-page{margin:12px 0 30px;scroll-margin-top:90px}
.guide-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:22px 0}
.guide-heading h2{font-size:clamp(30px,4vw,42px)}
.guide-heading p{max-width:650px}
.guide-callout{background:#edf4e9;border-left:4px solid var(--g2);border-radius:10px;padding:15px 18px;margin:18px 0 22px;line-height:1.6}
.guide-callout p{margin:5px 0 0}
.guide-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}
.guide-card{background:#fff;border:1px solid var(--line);border-radius:15px;overflow:hidden;min-width:0}
.guide-card summary{cursor:pointer;list-style:none;display:flex;align-items:flex-start;gap:12px;padding:17px;min-height:86px}
.guide-card summary::-webkit-details-marker{display:none}
.guide-card summary:after{content:'+';margin-left:auto;color:var(--g2);font-size:24px;line-height:1;font-weight:700}
.guide-card[open] summary:after{content:'−'}
.guide-icon{display:grid;place-items:center;flex-shrink:0;width:42px;height:42px;background:#edf4e9;border-radius:12px;font-size:22px}
.guide-title{display:block;font-weight:850;line-height:1.35}
.guide-summary{display:block;color:var(--muted);font-size:13px;line-height:1.5;margin-top:4px}
.guide-content{padding:0 17px 18px;border-top:1px solid #edf0ec;line-height:1.6;font-size:14px}
.guide-content h4{margin:15px 0 6px;color:var(--g);font-size:13px;text-transform:uppercase;letter-spacing:.45px}
.guide-content ul{margin:6px 0 0;padding-left:20px}
.guide-content li{margin:6px 0}
.guide-content .example{background:#f5f7f3;border-radius:9px;padding:11px 12px;margin-top:10px;font-size:13px}
.guide-open-tool{margin-top:13px;background:var(--lime);color:var(--g);border:1px solid var(--g);border-radius:9px;padding:10px 13px;font-weight:850;cursor:pointer}
.secondary{background:white;color:var(--g);border:1px solid var(--line);border-radius:10px;padding:11px 14px;font-weight:800;cursor:pointer;flex-shrink:0}
[hidden]{display:none!important}
@media(max-width:700px){.guide-entry{align-items:stretch;flex-direction:column;padding:19px}.guide-cta{width:100%}.guide-heading{align-items:stretch;flex-direction:column}.secondary{align-self:flex-start}.guide-cards{grid-template-columns:1fr}.guide-card summary{min-height:auto}}
