:root{--ink:#102a2b;--muted:#526768;--paper:#f4f8f6;--white:#fff;--line:#c8d7d1;--deep:#123f42;--teal:#087f72;--mint:#daf2e8;--amber:#ed9b32;--amber-pale:#fff2d8;--red:#a73a32;--red-pale:#fbe9e6;--shadow:0 20px 55px rgba(16,42,43,.1);--radius:18px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font-family:"Segoe UI",Tahoma,sans-serif;line-height:1.55}button,input,select{font:inherit}a{color:var(--teal)}a:hover{color:var(--deep)}:focus-visible{outline:3px solid rgba(237,155,50,.65);outline-offset:3px}.shell{width:min(1180px,calc(100% - 32px));margin-inline:auto}
.site-header{background:rgba(244,248,246,.97);border-bottom:1px solid var(--line)}.nav{min-height:68px;display:flex;align-items:center;justify-content:space-between;gap:18px}.brand{color:var(--deep);font-weight:900;text-decoration:none;letter-spacing:-.025em}.nav-links{display:flex;gap:18px;font-size:.9rem;font-weight:750}.nav-links a{color:var(--deep);text-decoration:none}
.hero{padding:56px 0 30px}.eyebrow{margin:0 0 10px;color:var(--teal);font:800 .78rem/1.2 ui-monospace,Consolas,monospace;letter-spacing:.11em;text-transform:uppercase}h1,h2,h3{font-family:Georgia,"Times New Roman",serif;line-height:1.12;letter-spacing:-.025em}h1{max-width:930px;margin:0;font-size:clamp(2.45rem,6vw,5.1rem);font-weight:500}.lede{max-width:770px;margin:20px 0 0;color:var(--muted);font-size:clamp(1.05rem,2vw,1.23rem)}
.equation-strip{margin-top:28px;padding:18px 20px;display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:center;background:var(--deep);color:#fff;border-radius:12px;box-shadow:var(--shadow)}.equation-strip .mark{color:var(--amber);font:800 1.4rem ui-monospace,Consolas,monospace}.equation-strip code{font:600 clamp(.78rem,1.7vw,.98rem)/1.6 ui-monospace,Consolas,monospace;white-space:normal}
.mode-bar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:22px 0 0;padding:14px 16px;background:#e8f0ed;border:1px solid var(--line);border-radius:12px}.mode-copy strong{display:block}.mode-copy span{display:block;color:var(--muted);font-size:.82rem}.mode-switch{display:inline-grid;grid-template-columns:1fr 1fr;padding:4px;background:#d7e4df;border-radius:9px}.mode-switch button{border:0;padding:9px 14px;border-radius:7px;background:transparent;color:var(--deep);font-weight:800;cursor:pointer}.mode-switch button[aria-pressed=true]{background:#fff;box-shadow:0 2px 8px rgba(16,42,43,.12)}
.calculator-layout{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(340px,.88fr);gap:26px;align-items:start;padding:22px 0 64px}.panel{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 8px 30px rgba(16,42,43,.05)}.input-panel{padding:clamp(20px,4vw,38px)}.result-panel{position:sticky;top:18px;overflow:hidden}.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:18px;margin-bottom:20px}.section-head h2{margin:0;font-size:1.7rem;font-weight:500}.section-head span{color:var(--muted);font-size:.82rem}.input-section+.input-section{margin-top:34px;padding-top:30px;border-top:1px solid var(--line)}.input-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.field{min-width:0}.field.full{grid-column:1/-1}label{display:block;margin-bottom:7px;font-weight:750;font-size:.91rem}.hint{display:block;margin-top:6px;color:var(--muted);font-size:.78rem;line-height:1.4}.control-wrap{position:relative}.prefix,.suffix{position:absolute;top:50%;transform:translateY(-50%);color:var(--muted);font:700 .84rem ui-monospace,Consolas,monospace;pointer-events:none}.prefix{left:13px}.suffix{right:12px}input,select{width:100%;min-height:48px;border:1px solid #9fb1ac;border-radius:9px;background:#fbfdfc;color:var(--ink);padding:10px 12px}input.with-prefix{padding-left:29px}input.with-suffix{padding-right:58px}input:focus,select:focus{border-color:var(--teal);box-shadow:0 0 0 3px rgba(8,127,114,.12);outline:0}.detail-only{display:none}body[data-mode=detailed] .detail-only{display:block}.detail-card{margin-top:30px;padding:24px 18px;border:1px solid var(--line);border-radius:12px;background:#f8fbf9}.check-row{display:flex;align-items:flex-start;gap:10px}.check-row input{width:18px;min-height:18px;margin-top:3px;accent-color:var(--teal)}.check-row label{margin:0;font-weight:650}.form-note{margin:24px 0 0;padding:14px 16px;background:var(--amber-pale);border-left:3px solid var(--amber);border-radius:7px;color:#65430e;font-size:.85rem}.error{display:none;margin:0 0 18px;padding:12px 14px;color:#76271f;background:var(--red-pale);border-left:3px solid var(--red);border-radius:7px;font-size:.86rem}.error.show{display:block}
.result-top{padding:28px 28px 22px;background:var(--deep);color:#fff}.result-top .eyebrow{color:#9ee0d1}.verdict{margin:7px 0 8px;font-family:Georgia,"Times New Roman",serif;font-size:clamp(1.65rem,3vw,2.35rem);line-height:1.12;font-weight:500}.verdict-note{margin:0;color:#d8e7e4;font-size:.92rem}.result-body{padding:24px 28px 30px}.primary-result{display:grid;grid-template-columns:1fr 1fr;gap:12px}.metric{padding:15px;background:#f0f5f3;border-radius:10px}.metric.emphasis{background:var(--mint)}.metric .k{display:block;color:var(--muted);font-size:.74rem;font-weight:750;text-transform:uppercase;letter-spacing:.055em}.metric .v{display:block;margin-top:3px;font:750 clamp(1.08rem,2.4vw,1.5rem)/1.2 ui-monospace,Consolas,monospace}.metric .sub{display:block;margin-top:4px;color:var(--muted);font-size:.72rem}.ledger{margin-top:24px;border-top:1px solid var(--line)}.ledger-row{display:grid;grid-template-columns:1fr auto;gap:20px;padding:11px 0;border-bottom:1px solid #e4ebe8;font-size:.88rem}.ledger-row strong{font-family:ui-monospace,Consolas,monospace}.ledger-row.total{font-weight:800;color:var(--deep)}.chart-wrap{margin-top:24px}.chart-title{margin:0 0 8px;font-size:.82rem;font-weight:800}#cashChart{display:block;width:100%;height:auto;overflow:visible}.chart-axis{stroke:#9fb1ac;stroke-width:1}.chart-zero{stroke:var(--amber);stroke-width:1.5;stroke-dasharray:5 4}.chart-line{fill:none;stroke:var(--teal);stroke-width:4;stroke-linecap:round;stroke-linejoin:round}.chart-area{fill:rgba(8,127,114,.1)}.chart-label{fill:var(--muted);font:11px ui-monospace,Consolas,monospace}.assumption-line{margin:18px 0 0;color:var(--muted);font-size:.76rem}.result-actions{display:flex;gap:12px;margin-top:18px;flex-wrap:wrap}.button{display:inline-flex;justify-content:center;align-items:center;min-height:43px;padding:9px 15px;border-radius:8px;border:1px solid var(--deep);font-weight:800;text-decoration:none;cursor:pointer}.button.primary{color:#fff;background:var(--deep)}.button.secondary{color:var(--deep);background:#fff}
.explain{padding:66px 0;background:#e9f0ed;border-top:1px solid var(--line)}.explain-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:50px;align-items:start}.explain h2{margin:0;font-size:clamp(2rem,4vw,3.25rem);font-weight:500}.explain-copy{display:grid;grid-template-columns:1fr 1fr;gap:24px}.explain-copy h3{margin:0 0 8px;font-size:1.18rem}.explain-copy p{margin:0;color:var(--muted);font-size:.91rem}footer{padding:30px 0;background:#0d2f31;color:#c9d9d6;font-size:.85rem}footer .shell{display:flex;justify-content:space-between;gap:22px;flex-wrap:wrap}footer a{color:#c9d9d6}
@media(max-width:900px){.calculator-layout,.explain-grid{grid-template-columns:1fr}.result-panel{position:static}.explain-copy{grid-template-columns:1fr 1fr}}@media(max-width:620px){.shell{width:min(100% - 22px,1180px)}.hero{padding-top:36px}.nav-links a:first-child{display:none}.equation-strip{grid-template-columns:1fr;gap:5px}.mode-bar{display:block}.mode-switch{display:grid;margin-top:12px}.input-grid,.primary-result,.explain-copy{grid-template-columns:1fr}.field.full{grid-column:auto}.input-panel,.result-body,.result-top{padding:21px}.section-head{display:block}.section-head span{display:block;margin-top:4px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.calculator-layout>*{min-width:0}
@media(max-width:620px){body{overflow-x:hidden}.shell{width:calc(100% - 22px);max-width:none}.mode-switch{width:100%}.mode-switch button{min-width:0;padding-inline:8px}.equation-strip code{overflow-wrap:anywhere}.panel{max-width:100%}}
