:root{color-scheme:light;--ink:#132630;--muted:#4c6270;--paper:#f3f6f7;--line:#ced9de;--navy:#101e2a;--accent:#b8f376;--accent-dark:#356324}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.5 system-ui,sans-serif}.wrap{width:min(1180px,calc(100% - 40px));margin:auto}.mast,.hero,footer{background:var(--navy);color:#fff}.mast{border-bottom:1px solid #344654}.bar{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:68px}.brand{display:flex;align-items:center;gap:9px;font-weight:800;text-decoration:none}.brand img{width:34px;height:34px}nav,.toolbar{display:flex;flex-wrap:wrap;gap:10px 16px}nav a{font-size:.9rem;text-decoration:none}a{color:inherit}a:hover{text-decoration:underline}h1,h2,h3,p{margin:0 0 .65rem}h1{font-size:clamp(2.7rem,6.3vw,5.4rem);line-height:1.01;letter-spacing:-.065em}h1 em{color:var(--accent);font-style:normal}h2{font-size:clamp(1.7rem,4vw,2.6rem);letter-spacing:-.045em;line-height:1.13}h3{font-size:1.12rem}.hero{padding:68px 0 64px;background-image:linear-gradient(110deg,#101e2a 42%,#1c3341)}.hero-grid{display:grid;grid-template-columns:1.7fr 1fr;gap:36px;align-items:end}.eyebrow{font:750 .73rem/1.5 system-ui,sans-serif;letter-spacing:.15em;color:var(--accent-dark);margin-bottom:12px}.hero .eyebrow,.summary .eyebrow{color:var(--accent)}.eyebrow span{display:inline-block;width:8px;height:8px;background:var(--accent);border-radius:50%;margin-right:5px}.lead{max-width:550px;color:#d8e4ec;font-size:1.13rem;margin:20px 0}.primary,button{display:inline-flex;align-items:center;gap:12px;padding:9px 13px;border:1px solid #b7c8d0;border-radius:7px;background:#fff;color:var(--ink);font:650 .9rem/1.4 system-ui,sans-serif;cursor:pointer;text-decoration:none}.primary,.summary button:first-child{background:var(--accent);border-color:var(--accent);color:#142a16}.primary{padding:12px 16px}.hero-card{border:1px solid #5a6e79;border-radius:14px;padding:20px;background:#172c39}.hero-card ol{margin:0;padding:0;list-style:none}.hero-card li{display:flex;gap:16px;padding:12px 0;border-top:1px solid #455c69;font-weight:700}.hero-card b{color:var(--accent);font-size:.8rem}.hero-card small{display:block;color:#c5d5dd;font-weight:400}.workspace,.method{padding-block:44px}.section-head{display:flex;justify-content:space-between;align-items:end;gap:16px;margin-bottom:20px}.section-head p:not(.eyebrow),.muted{color:var(--muted)}.work-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(285px,1fr);gap:18px;align-items:start}.card{padding:clamp(13px,2.2vw,22px);border:1px solid var(--line);border-radius:13px;background:#fff}.assumptions,.breakdown{margin-top:16px}.phase{min-inline-size:0;margin:12px 0;padding:10px;border:1px solid var(--line);border-radius:8px;display:grid;grid-template-columns:1.45fr .65fr 1fr 1fr auto;gap:8px;align-items:end}.phase legend{padding:0 5px;font-size:.78rem;color:var(--muted);font-weight:750}.phase button{font-size:1.25rem;min-height:39px;padding:4px 10px}.phase label,.settings label{display:block;font-weight:650;font-size:.78rem}input{display:block;width:100%;margin-top:4px;padding:8px;border:1px solid #8ca2ad;border-radius:6px;background:#fff;color:var(--ink);font:inherit;font-size:.95rem}input[aria-invalid=true]{border-color:#ad251c;background:#fff0ec}#error{color:#91251c;font-weight:650;margin-top:8px}.settings{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:10px}.muted{font-size:.88rem}.summary{padding:22px;border-radius:13px;background:#142c39;color:white}.summary output{font-size:clamp(1.7rem,3.6vw,3rem);font-weight:850;line-height:1.12;color:var(--accent);overflow-wrap:anywhere}.summary dl{margin:16px 0}.summary dl div{display:flex;justify-content:space-between;gap:10px;border-top:1px solid #49626e;padding:6px 0;font-size:.88rem}.summary dd{margin:0;text-align:right;font-variant-numeric:tabular-nums}.summary .em{font-weight:800}.summary .muted{color:#d0e1e8;margin:12px 0 0}.scroll{overflow:auto}table{width:100%;border-collapse:collapse;min-width:450px}td,th{padding:10px;text-align:right;border-bottom:1px solid var(--line);overflow-wrap:anywhere}th:first-child{text-align:left}thead{background:#edf4f0}tbody th{max-width:230px}.method{background:#e4edf0}.method-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:20px 0}.method-grid article{border-top:2px solid #557d65;padding-top:14px}details{border-top:1px solid #aabcc4;padding:12px 0}summary{cursor:pointer;font-weight:750}details p{margin:10px 0 0;max-width:760px}footer .bar{font-size:.87rem}footer span{color:#c5d5dd}button:hover:not(:disabled){box-shadow:inset 0 0 0 1px #456779}button:disabled{opacity:.53;cursor:default}:focus-visible{outline:3px solid #1974c5;outline-offset:3px}.skip{position:absolute;left:10px;top:-100px;background:#fff;padding:10px;z-index:1}.skip:focus{top:8px}
@media(max-width:900px){.work-grid{grid-template-columns:1fr}.summary{max-width:none}}@media(max-width:650px){.wrap{width:calc(100% - 24px)}.hero{padding:38px 0}.hero-grid,.method-grid{grid-template-columns:1fr;gap:16px}.section-head{align-items:start;flex-direction:column}.phase,.settings{grid-template-columns:repeat(2,minmax(0,1fr))}.phase button{justify-self:start}.bar{flex-wrap:wrap;padding-block:10px}.workspace,.method{padding-block:28px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}@media print{.mast,.hero,footer,.method,button,.skip,.eyebrow,#error{display:none!important}.wrap{width:100%}.workspace{padding:0}.work-grid{grid-template-columns:1fr}.summary{color:#000;background:#fff;border:1px solid #999;break-inside:avoid}.summary output,.summary .muted{color:#000}.phase{break-inside:avoid}.breakdown{break-inside:avoid}table{min-width:0}body{background:white}}