:root{--dark:#194736;--border:#d7e5db;--muted:#536a5d}*{box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:system-ui,-apple-system,'Segoe UI',sans-serif;margin:0;background:#f6faf7;color:#243d30;font-size:15px;line-height:1.5}input,select,button{font:inherit}a{color:#1e694c}.warning{background:#ffe16b;color:#111;border:2px solid #bb9300;position:sticky;top:0;z-index:10}.warning summary{cursor:pointer;padding:8px 16px;font-weight:700;font-size:13px}.warning p{padding:4px 16px 12px;margin:0;font-size:13px;max-width:1050px}header{padding:16px 22px;max-width:1390px;margin:auto;display:flex;justify-content:space-between;gap:14px;align-items:center}header .brand{text-decoration:none;font-size:21px;font-weight:800;color:var(--dark)}.brand b{background:#184d39;color:white;padding:3px 9px;border-radius:7px}nav{display:flex;gap:17px;flex-wrap:wrap;font-size:13px}nav a{text-decoration:none}.selected{font-weight:800}main{padding:0 22px 38px;max-width:1390px;margin:auto}.intro{max-width:875px}.intro h1{font-size:clamp(28px,4vw,43px);line-height:1.12;margin:6px 0 9px;letter-spacing:-.035em;color:var(--dark)}.intro p{color:#4e6358;margin:9px 0}.kicker{font-size:11px;font-weight:800;letter-spacing:.1em;color:#27775a!important}.scope{border-left:4px solid #e0b852;background:#fff8e3;padding:10px 13px;font-size:13px!important;border-radius:6px}.layout{display:grid;grid-template-columns:minmax(310px,360px) minmax(0,1fr);align-items:start;gap:22px;margin-top:18px}.controls,.results{background:white;border:1px solid var(--border);border-radius:12px;box-shadow:0 2px 12px #113c1b0a;min-width:0}.heading{padding:13px 18px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--border)}.heading h2,.resultinner h2{font-size:20px;color:var(--dark);margin:0}.heading button{padding:8px 12px;border-radius:7px;color:var(--dark);border:1px solid #bfdbc9;background:#eaf5ec;min-height:42px}.fields{padding:15px 18px}.fields h3{margin:22px 0 12px;border-top:1px solid var(--border);padding-top:14px;font-size:16px;color:var(--dark)}.fields h3:first-of-type{border:0}.fields .selectlabel{font-weight:700;display:block}.fields select{width:100%;margin:8px 0;padding:10px;border:1px solid #bad1c3;border-radius:7px}.field{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:12px 0}.field label{font-weight:650;font-size:13px;max-width:64%;line-height:1.35}.field input{width:121px;min-height:42px;padding:8px;border:1px solid #b6c9bc;border-radius:7px;text-align:right;font-variant-numeric:tabular-nums}.field input:focus,.fields select:focus,.charttools input:focus{outline:2px solid #3b9870;outline-offset:1px}#retireSlider{width:100%;accent-color:#207150;min-height:40px;cursor:pointer}.hint{font-size:12px;color:var(--muted);line-height:1.55;margin:5px 0 12px}.checkbox{display:flex;gap:9px;align-items:flex-start;font-size:13px;font-weight:600}.checkbox input{flex:none;width:19px;height:19px;accent-color:var(--dark)}.resultinner{padding:18px}.summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:14px 0}.summary>div{border:1px solid #d5e8da;border-radius:8px;background:#f2faf4;padding:11px;min-width:0}.summary small{display:block;font-size:11px;color:#587161}.summary strong{display:block;color:#14513a;font-size:clamp(17px,2vw,24px);overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.charttools{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.charttools label{font-size:12px;font-weight:700}.charttools select,.charttools input{border:1px solid #c8d9cd;border-radius:6px;min-height:37px;padding:6px;background:white}.charttools input{width:72px}#chart{margin-top:12px;border:1px solid #d9e8dd;border-radius:9px;background:linear-gradient(#fff,#f7fcf8);min-height:190px;padding:4px}#chart svg{display:block;width:100%;height:auto}.readout{font-size:13px;background:#ebf5ed;padding:10px 12px;border-radius:8px;margin-top:10px;font-variant-numeric:tabular-nums}.resultinner>h3{margin:24px 0 10px;color:var(--dark);font-size:17px}.tablewrap{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--border);border-radius:7px}table{border-collapse:collapse;width:100%;min-width:850px;font-size:12px}th,td{padding:9px 10px;border-bottom:1px solid #e5eee8;white-space:nowrap;text-align:right;font-variant-numeric:tabular-nums}th:first-child,td:first-child,th:nth-child(2),td:nth-child(2){text-align:left}th{background:#eaf4ed}tbody tr:nth-child(even){background:#fafcfa}tbody tr.selected-year{background:#fff3d4!important}td.shortfall{color:#ab3529;font-weight:750}.limitations{padding:12px;border:1px solid var(--border);border-radius:8px;margin:20px 0 12px}.limitations summary{cursor:pointer;font-weight:700}.limitations p{font-size:13px;color:#526657}.privacy,footer{font-size:12px;color:#5b7262}footer{text-align:center;padding:22px}@media(min-width:1100px){.results{position:sticky;top:60px;max-height:calc(100vh - 70px);overflow-y:auto}}@media(max-width:930px){.layout{grid-template-columns:1fr}.fields{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}.fields h3,.fields .selectlabel,.fields>select,.fields>.hint,.fields>.checkbox,#retireSlider{grid-column:1/-1}}@media(max-width:600px){header{align-items:flex-start;flex-direction:column}main,header{padding-left:14px;padding-right:14px}.fields{display:block}.resultinner{padding:12px}.summary{grid-template-columns:1fr 1fr}.summary>div:last-child{grid-column:1/-1}.scope{line-height:1.45}.field label{max-width:60%}}
