/* Calculator page, extends /style.css */
.calc-head{background:linear-gradient(180deg,var(--brand-50),var(--bg));border-bottom:1px solid var(--line)}
.calc-head .wrap{padding-top:var(--sp-6);padding-bottom:var(--sp-6)}.calc-head h1{margin-bottom:var(--sp-2)}.sub{margin:0;color:var(--ink-500)}
main.calc{max-width:var(--wrap);margin:0 auto;padding:var(--sp-6) var(--sp-5)}
form#f{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-5);align-items:stretch}
form#f .fs-ev{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);column-gap:var(--sp-5);align-items:start}
form#f .fs-ev legend{grid-column:1/-1}
@media (max-width:760px){form#f{grid-template-columns:1fr}form#f .fs-ev{display:block}}
fieldset{border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);padding:var(--sp-5);min-width:0;margin:0;box-shadow:var(--sh-1);transition:box-shadow .2s,border-color .2s}
fieldset:focus-within{box-shadow:var(--sh-2);border-color:var(--brand-300)}
legend{float:left;width:100%;padding:0 0 var(--sp-3);margin:0 0 var(--sp-1);border-bottom:1px solid var(--line);font-weight:700;color:var(--brand-700);font-size:var(--fs-lg);line-height:1.3}
legend+*{clear:both}
label{display:block;margin:var(--sp-3) 0 0;font-size:var(--fs-sm);font-weight:500;color:var(--ink-700)}
input,select{display:block;width:100%;margin-top:var(--sp-1);padding:.6rem .75rem;font:400 var(--fs-md) var(--font);color:var(--ink-900);background:#fff;border:1px solid var(--line-strong);border-radius:var(--r-sm);transition:border-color .15s,box-shadow .15s}
input:hover,select:hover{border-color:var(--brand-500)}
input:focus,select:focus{outline:none;border-color:var(--brand-500);box-shadow:0 0 0 3px rgba(47,122,90,.25)}
input:disabled{background:var(--bg)}
.form-actions{grid-column:1/-1;display:flex;align-items:center;gap:var(--sp-4);flex-wrap:wrap}
#status{color:var(--ink-500);font-size:var(--fs-sm)}.err{color:var(--danger)!important}
.src{display:block;color:var(--ink-500);font-size:var(--fs-xs);line-height:1.45;margin-top:var(--sp-1)}
#results{margin-top:var(--sp-7);scroll-margin-top:80px}#results h2{margin-top:0}
#loc{color:var(--ink-700)}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sp-5)}
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);padding:var(--sp-5);box-shadow:var(--sh-1);transition:box-shadow .2s,transform .2s}
.card:hover{box-shadow:var(--sh-3);transform:translateY(-2px)}
.card h3{margin:0 0 var(--sp-4);font-size:var(--fs-lg);color:var(--brand-700)}
.stats{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-2);margin:0 0 var(--sp-4)}
.stat{background:var(--brand-50);border:1px solid var(--brand-100);border-radius:var(--r-sm);padding:var(--sp-3)}
.stat dt{font-size:var(--fs-xs);color:var(--ink-500);font-weight:500}.stat dd{margin:0;font-size:var(--fs-xl);font-weight:700;letter-spacing:-.02em;font-variant-numeric:tabular-nums;color:var(--ink-900)}
.stat.neg dd{color:var(--danger)}.stat.pos dd{color:var(--brand-600)}
.card table{width:100%;font-size:var(--fs-sm);border-collapse:collapse}.card td{padding:var(--sp-2) 0;border-top:1px solid var(--line);vertical-align:top;color:var(--ink-700)}
.card td:last-child{text-align:right;font-variant-numeric:tabular-nums;font-weight:600;color:var(--ink-900);padding-left:var(--sp-3);white-space:nowrap}
.note{background:var(--brand-50);border:1px solid var(--brand-100);padding:var(--sp-3) var(--sp-4);border-radius:var(--r-sm);margin-top:var(--sp-5)}
.warn{background:var(--warn-bg);border-left:4px solid #c88a00;padding:var(--sp-2) var(--sp-3);margin:var(--sp-3) 0 0;font-size:var(--fs-sm);border-radius:0 var(--r-sm) var(--r-sm) 0}.warn.strong{background:var(--danger-bg);border-left-color:var(--danger)}
.chart-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);padding:var(--sp-5);box-shadow:var(--sh-1);margin-top:var(--sp-5)}
.chart-card h3{margin-top:0}
.chart-grid{display:grid;grid-template-columns:3fr 2fr;gap:var(--sp-5)}
#chart svg rect{fill:var(--brand-500)}#chart svg text{fill:var(--ink-500);font-family:var(--font)}
.legend{display:flex;flex-wrap:wrap;gap:var(--sp-4);font-size:var(--fs-sm);color:var(--ink-700);margin:var(--sp-2) 0 0;padding:0;list-style:none}.legend span{display:inline-block;width:12px;height:12px;border-radius:3px;margin-right:6px;vertical-align:-1px}
#cumchart svg{display:block;width:100%;height:auto}#cumchart text{font-family:var(--font);font-size:12px;fill:var(--ink-500)}
.assump{margin-top:var(--sp-7);background:var(--surface);border:1px solid var(--line);padding:var(--sp-5) var(--sp-6);border-radius:var(--r-md);box-shadow:var(--sh-1)}
.assump h2{margin-top:0;font-size:var(--fs-xl)}
.assump ul{padding-left:1.2rem;color:var(--ink-700);font-size:var(--fs-sm)}.assump li{margin-bottom:var(--sp-2)}
@media (max-width:960px){.cards{grid-template-columns:1fr}.chart-grid{grid-template-columns:1fr}}
