:root{--bg:#f5f1ea;--card:#fbf9f4;--ink:#1a1f1c;--muted:#5e6e63;--line:#ddd8cc;--accent:#5a8a5e;--warn-bg:#fdf3e2;--warn:#8a4b0f}*{box-sizing:border-box}body{background:var(--bg);color:var(--ink);margin:0;font:16px/1.5 system-ui,-apple-system,Segoe UI,sans-serif}main{max-width:860px;margin:0 auto;padding:20px 16px 60px}h1{margin:8px 0 2px;font:400 30px/1.2 Georgia,Times New Roman,serif}h2{margin:34px 0 10px;font:400 21px/1.3 Georgia,Times New Roman,serif}.sub{color:var(--muted);margin:0 0 20px;font-size:15px}.userbar{color:var(--muted);justify-content:flex-end;gap:12px;padding:8px 16px;font-size:13px;display:flex}.link{color:var(--accent);font:inherit;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}a{color:var(--accent)}.card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:20px}.payoff{gap:4px;display:grid}.payoff .label{color:var(--muted);font-size:15px}.payoff .big{letter-spacing:-.5px;font-variant-numeric:tabular-nums;font:600 40px/1.1 system-ui,sans-serif}.payoff .perday{font-size:16px}.split{color:var(--muted);flex-wrap:wrap;gap:8px 28px;margin-top:12px;font-size:14px;display:flex}.split b{color:var(--ink);font-variant-numeric:tabular-nums}.note{background:var(--warn-bg);border:1px solid #efd5ad;border-radius:12px;margin-top:16px;padding:14px 16px}.note h3{color:var(--warn);margin:0 0 6px;font-size:15px}.note p{margin:0 0 10px;font-size:14px}.note p:last-child{margin-bottom:0}table{border-collapse:collapse;width:100%;font-size:14px}th,td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:7px 8px}th{color:var(--muted);font-size:13px;font-weight:500}td.n,th.n{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}tr.total td{border-bottom:0;font-weight:600}tr.interest td{color:var(--muted)}tr.payment td{background:#eef4ec}.small{color:var(--muted);font-size:12px}details{background:var(--card);border:1px solid var(--line);border-radius:12px;margin-bottom:8px}summary{cursor:pointer;flex-wrap:wrap;justify-content:space-between;gap:12px;padding:12px 16px;display:flex}summary span:last-child{color:var(--muted);font-variant-numeric:tabular-nums}details>div{padding:0 8px 10px;overflow-x:auto}.demo{background:#e8eef7;border:1px solid #c4d3ea;border-radius:10px;margin-bottom:16px;padding:8px 12px;font-size:14px}@media (max-width:560px){h1{font-size:25px}.payoff .big{font-size:33px}.hide-sm{display:none}th,td{padding:6px 4px}}
