.calc-grid{grid-template-columns:1fr;gap:20px;margin-top:24px;display:grid}@media (width>=860px){.calc-grid{grid-template-columns:5fr 6fr;align-items:start}.calc-grid .results{position:sticky;top:78px}}.calc-grid{& .inputs{gap:22px;padding:22px;display:grid}& .field{border:0;min-width:0;margin:0;padding:0}& .field>label,& legend{margin-bottom:6px;padding:0;font-size:15px;font-weight:650;display:block}& .opt{color:var(--muted);margin-left:4px;font-size:13px;font-weight:500}& .hint{color:var(--muted);margin:-2px 0 8px;font-size:14px}& .money{border:1.5px solid var(--line);background:var(--bg);border-radius:10px;align-items:center;transition:border-color .15s,box-shadow .15s;display:flex}& .money:focus-within{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-soft)}& .money span{color:var(--muted);padding-left:14px;font-size:20px}& .money input{min-width:0;color:var(--fg);font-variant-numeric:tabular-nums;background:0 0;border:0;outline:none;flex:1;padding:13px 14px 13px 6px;font-family:inherit;font-size:22px;font-weight:650;line-height:1}& .slider{appearance:none;background:linear-gradient(to right, var(--accent) var(--fill,20%), var(--line) var(--fill,20%));cursor:pointer;border-radius:99px;width:100%;height:6px;margin:16px 0 2px}& .slider::-webkit-slider-thumb{appearance:none;background:var(--card);border:3px solid var(--accent);width:22px;height:22px;box-shadow:var(--shadow);border-radius:50%}& .slider::-moz-range-thumb{background:var(--card);border:3px solid var(--accent);border-radius:50%;width:18px;height:18px}& .ticks{color:var(--muted);justify-content:space-between;font-size:12px;display:flex}& .seg{background:var(--bg-soft);border-radius:10px;grid-template-columns:1fr 1fr;gap:4px;padding:4px;display:grid}& .seg label{position:relative}& .seg input{opacity:0;cursor:pointer;position:absolute;inset:0}& .seg span{text-align:center;color:var(--muted);border-radius:8px;padding:9px 6px;font-size:15px;font-weight:600;transition:background .15s,color .15s;display:block}& .seg input:checked+span{background:var(--card);color:var(--fg);box-shadow:0 1px 3px #0000001f}& .seg input:focus-visible+span{outline:2px solid var(--accent)}& .private{color:var(--muted);align-items:center;gap:6px;margin:0;font-size:13px;display:flex}& .results{padding:24px}& .label{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin:0;font-size:14px;font-weight:600}& .total{letter-spacing:-.03em;font-variant-numeric:tabular-nums;margin:2px 0 0;font-size:clamp(40px,7vw,56px);font-weight:800;line-height:1.1}& .rate{color:var(--muted);margin:4px 0 18px}& .rate strong{color:var(--fg)}& .bar{background:var(--line);border-radius:99px;height:14px;display:flex;overflow:hidden}& .bar span{height:100%;transition:width .35s;display:block}& .b-keep,& .d-keep{background:var(--keep)}& .b-se,& .d-se{background:var(--se)}& .b-inc,& .d-inc{background:var(--inc)}& .legend{gap:6px;margin:12px 0 0;padding:0;font-size:15px;list-style:none;display:grid}& .legend li{align-items:center;gap:8px;display:flex}& .legend strong{font-variant-numeric:tabular-nums;margin-left:auto}& .legend i{border-radius:3px;flex:none;width:10px;height:10px}& .setaside{background:var(--accent-soft);border-radius:12px;align-items:center;gap:14px;margin:20px 0 6px;padding:14px 16px;font-size:15px;display:flex}& .setaside .big{color:var(--accent);font-variant-numeric:tabular-nums;flex:none;font-size:30px;font-weight:800}& h3{margin:22px 0 10px;font-size:16px}& .quarters{grid-template-columns:repeat(4,1fr);gap:8px;margin:0;padding:0;list-style:none;display:grid}& .quarters li{border:1px solid var(--line);background:var(--bg);border-radius:10px;gap:2px;padding:10px;display:grid}& .quarters .q{color:var(--accent);font-size:12px;font-weight:700}& .quarters strong{font-variant-numeric:tabular-nums;font-size:16px}& .quarters .due{color:var(--muted);font-size:12px}@media (width<=480px){& .quarters{grid-template-columns:1fr 1fr}}& .breakdown{margin-top:18px}& .breakdown summary{cursor:pointer;color:var(--accent);font-size:15px;font-weight:600}& table{border-collapse:collapse;width:100%;margin-top:8px;font-size:15px}& th,& td{border-bottom:1px solid var(--line);text-align:left;color:var(--muted);padding:8px 0;font-weight:450}& td{text-align:right;color:var(--fg);font-variant-numeric:tabular-nums}& .note{color:var(--muted);margin:12px 0 0;font-size:13px}& .warn{color:var(--se)}}
