.calc{background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.15rem;box-shadow:var(--shadow)}@media(min-width:40rem){.calc{padding:1.5rem}}.calc__fields{display:grid;gap:1rem;border:0;padding:0;margin:0}@media(min-width:34rem){.calc__fields{grid-template-columns:1fr 1fr}.calc__fields .field--full{grid-column:1 / -1}}.field label{display:block;font-size:.9rem;font-weight:600;margin-bottom:.35rem;color:var(--text)}.field__hint{display:block;font-weight:400;font-size:.82rem;color:var(--text-faint);margin-top:.15rem}.field__control{position:relative;display:flex;align-items:center}.field__affix{position:absolute;color:var(--text-faint);font-size:1rem;pointer-events:none}.field__affix--prefix{left:.8rem}.field__affix--suffix{right:.85rem}.field input[type=text]{width:100%;font:inherit;font-size:1.05rem;font-variant-numeric:tabular-nums;padding:.7rem .85rem;min-height:2.95rem;border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--bg);color:var(--text);-moz-appearance:textfield}.field input[type=text]:focus{border-color:var(--accent);outline:2px solid var(--accent);outline-offset:-1px}.field--money input[type=text]{padding-left:1.75rem}.field--percent input[type=text]{padding-right:2rem}.field--years .field__control{gap:.85rem}.field--years input[type=range]{flex:1;width:100%;accent-color:var(--accent);min-height:2.5rem;cursor:pointer}.years-output{flex-shrink:0;min-width:5.2rem;text-align:right;font-variant-numeric:tabular-nums;font-weight:650;font-size:.98rem}.calc__advanced{margin-top:1.1rem;border-top:1px solid var(--border);padding-top:.9rem}.calc__advanced>summary{cursor:pointer;font-size:.92rem;font-weight:600;color:var(--accent);list-style:none;padding:.25rem 0}.calc__advanced>summary::-webkit-details-marker{display:none}.calc__advanced>summary:before{content:"+ "}.calc__advanced[open]>summary:before{content:"−"}.calc__advanced .calc__fields{margin-top:.9rem}.calc__actions{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1.15rem}.calc-result{margin-top:1.25rem;background:var(--accent-soft);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.25rem 1.15rem;min-height:20rem}@media(min-width:40rem){.calc-result{padding:1.6rem 1.5rem;min-height:17rem}}.result__label{font-size:.92rem;color:var(--text-muted);margin:0 0 .2rem}.result__headline{font-size:clamp(2.1rem,9vw,3.1rem);font-weight:700;letter-spacing:-.03em;line-height:1.05;margin:0 0 .5rem;font-variant-numeric:tabular-nums;color:var(--text);overflow-wrap:break-word}.result__sentence{margin:0 0 1.4rem;color:var(--text-muted);font-size:.97rem;line-height:1.55;max-width:34rem}.stats{display:grid;gap:.9rem;margin:0}@media(min-width:32rem){.stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem 1.4rem}}@media(min-width:54rem){.stats{grid-template-columns:repeat(3,minmax(0,1fr))}}.stat{min-width:0}.stat dt{font-size:.8rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-faint);font-weight:650;margin-bottom:.15rem}.stat dd{margin:0;font-size:1.22rem;font-weight:650;font-variant-numeric:tabular-nums;letter-spacing:-.015em;overflow-wrap:break-word}.stat__note{margin:.15rem 0 0;font-size:.82rem;color:var(--text-faint);line-height:1.45}.chart-figure{margin:1.75rem 0 0}.chart{display:block;width:100%;height:auto;overflow:visible}.chart__contrib{fill:var(--border-strong)}.chart__interest{fill:var(--accent)}.chart__label{fill:var(--text-faint);font-size:13px;font-family:var(--font-sans)}.chart-legend{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem .9rem;font-size:.83rem;color:var(--text-muted);margin-top:.6rem}.chart-legend__key{display:inline-block;width:.7rem;height:.7rem;border-radius:2px;margin-right:.1rem}.chart-legend__key--contrib{background:var(--border-strong)}.chart-legend__key--interest{background:var(--accent)}.calc-breakdown{margin-top:1.5rem}.calc-breakdown>summary{cursor:pointer;font-weight:600;font-size:.95rem;color:var(--accent);padding:.5rem 0;list-style:none}.calc-breakdown>summary::-webkit-details-marker{display:none}.calc-breakdown>summary:before{content:"+ "}.calc-breakdown[open]>summary:before{content:"−"}.calc-breakdown .table-scroll{margin-top:.5rem}.calc-assumptions{margin-top:1.1rem;font-size:.86rem;color:var(--text-faint);line-height:1.55}.calc-assumptions a{color:var(--text-muted)}.copy-feedback{font-size:.86rem;color:var(--accent);align-self:center}
