:root{--font:system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-brand:"Sora", system-ui, -apple-system, "Segoe UI", sans-serif;--navy:#13233a;--amber:#e08a2e;--mist:#f4f6f9;--slate:#4a5868;--fog:#b8c3d1;--bg:var(--mist);--surface:#fff;--surface-2:#f7f9fb;--border:#dde3ea;--border-strong:var(--fog);--border-faint:#edf1f5;--text:var(--navy);--text-2:#2c3b4f;--muted:var(--slate);--faint:#7a8796;--pos:#15803d;--neg:#1d4ed8;--warn:#b45309;--paydown:#2563eb;--invest:#16a34a;--payoff:var(--amber);--verdict-invest-bg:#dcfce7;--verdict-invest-fg:#14532d;--verdict-paydown-bg:#dbeafe;--verdict-paydown-fg:#1e3a8a;--focus:#2563eb2e;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-family:var(--font);color:var(--text);background:var(--bg)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#0c1726;--surface:var(--navy);--surface-2:#182c47;--border:#253b5c;--border-strong:#3a5379;--border-faint:#1b3050;--text:#fff;--text-2:#dce3ec;--muted:var(--fog);--faint:#8796aa;--pos:#4ade80;--neg:#7aa5ff;--warn:#f0a85a;--paydown:#60a5fa;--invest:#22c55e;--verdict-invest-bg:#22c55e24;--verdict-invest-fg:#a7f3c4;--verdict-paydown-bg:#60a5fa29;--verdict-paydown-fg:#c7dcff;--focus:#60a5fa4d;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--bg:#0c1726;--surface:var(--navy);--surface-2:#182c47;--border:#253b5c;--border-strong:#3a5379;--border-faint:#1b3050;--text:#fff;--text-2:#dce3ec;--muted:var(--fog);--faint:#8796aa;--pos:#4ade80;--neg:#7aa5ff;--warn:#f0a85a;--paydown:#60a5fa;--invest:#22c55e;--verdict-invest-bg:#22c55e24;--verdict-invest-fg:#a7f3c4;--verdict-paydown-bg:#60a5fa29;--verdict-paydown-fg:#c7dcff;--focus:#60a5fa4d;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}body{background:var(--bg);margin:0}.app{max-width:1100px;margin:0 auto;padding:24px 16px 48px}h1{font-family:var(--font-brand);letter-spacing:-.035em;color:var(--text);margin:0 0 20px;font-weight:600}h2{font-family:var(--font-brand);letter-spacing:-.01em}header p{color:var(--text-2);margin:0 0 20px}.verdict{border-radius:8px;margin-bottom:16px;padding:12px 16px;font-size:16px}.verdict.invest{background:var(--verdict-invest-bg);color:var(--verdict-invest-fg)}.verdict.paydown{background:var(--verdict-paydown-bg);color:var(--verdict-paydown-fg)}.scenarios{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px;margin-bottom:20px;display:grid}.scenario{background:var(--surface);border:1px solid var(--border);border-top:4px solid;border-radius:8px;padding:12px 16px}.scenario.paydown{border-top-color:var(--paydown)}.scenario.invest{border-top-color:var(--invest)}.scenario.payoff{border-top-color:var(--payoff)}.scenario h2{margin:0 0 8px;font-size:16px}.scenario dl{grid-template-columns:1fr auto;gap:6px 12px;margin:0;display:grid}.scenario dt{color:var(--muted)}.scenario dd{text-align:right;font-variant-numeric:tabular-nums;margin:0;font-weight:600}.chart{background:var(--surface);border:1px solid var(--border);border-radius:8px;height:480px;padding:12px;position:relative}.tabs{border-bottom:1px solid var(--border);flex-wrap:wrap;gap:4px;margin-bottom:16px;display:flex}.tabs button{font:inherit;color:var(--muted);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;padding:8px 14px}.tabs button.active{color:var(--text);border-bottom-color:var(--text);font-weight:600}.note{color:var(--muted);margin:-8px 0 20px;font-size:12px}.break-even{margin-top:6px;font-size:14px}.section{margin:28px 0 4px;font-size:17px}.section+.note{margin:0 0 10px}.chart-small{height:320px}.net-dollars .table-wrap{background:var(--surface);border:1px solid var(--border);border-radius:8px;margin-bottom:12px;overflow-x:auto}.net-dollars table{table-layout:fixed;border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;min-width:560px}.net-dollars th,.net-dollars td{border-bottom:1px solid var(--border-faint);white-space:nowrap;padding:8px 12px}.net-dollars thead th{color:var(--muted);text-align:right;background:var(--surface-2);font-size:12px}.net-dollars thead th:first-child,.net-dollars tbody th{text-align:left;font-weight:400}.net-dollars tbody th small{color:var(--faint);white-space:normal;font-size:11px;display:block}.net-dollars td{text-align:right}.net-dollars th:first-child{white-space:normal;width:40%}.net-dollars tr.total th,.net-dollars tr.total td{border-top:2px solid var(--border);font-weight:700}.net-dollars td.pos{color:var(--pos)}.net-dollars td.neg{color:var(--neg)}.opportunity{background:var(--surface);border:1px solid var(--border);border-radius:8px;margin-bottom:12px;padding:4px 16px}.opportunity dl{margin:0}.opportunity .line{border-bottom:1px solid var(--border-faint);justify-content:space-between;align-items:baseline;gap:12px;padding:8px 0;display:flex}.opportunity .line.total{border-bottom:none;border-top:2px solid var(--border);font-weight:700}.opportunity dt small{color:var(--faint);font-size:11px;font-weight:400;display:block}.opportunity dd{font-variant-numeric:tabular-nums;white-space:nowrap;margin:0}.opportunity dd.pos{color:var(--pos)}.opportunity dd.neg{color:var(--neg)}.inputs{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));align-items:start;gap:16px;margin-bottom:20px;display:grid}.card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:16px}.card>header h2{margin:0;font-size:15px}.card>header p{color:var(--muted);margin:2px 0 14px;font-size:12px}.fields{grid-template-columns:1fr 1fr;gap:14px 12px;display:grid}.field{flex-direction:column;gap:5px;min-width:0;display:flex}.field.wide,.toggle.wide{grid-column:1/-1}.label{color:var(--text-2);font-size:13px;font-weight:600}.hint{color:var(--muted);font-size:12px}.input{border:1px solid var(--border-strong);background:var(--surface);border-radius:8px;align-items:center;display:flex;overflow:hidden}.input:focus-within{border-color:var(--paydown);box-shadow:0 0 0 3px var(--focus)}.input input,.input select{color:inherit;min-width:0;font:inherit;background:0 0;border:none;outline:none;flex:1;padding:9px 10px}.adorn{color:var(--muted);white-space:nowrap;padding:0 10px;font-size:13px}.adorn:first-child{padding-right:0}.adorn:last-child{padding-left:0}.segmented{border:1px solid var(--border-strong);border-radius:8px;display:flex;overflow:hidden}.segmented button{font:inherit;border:none;border-left:1px solid var(--border);background:var(--surface);color:var(--text-2);cursor:pointer;flex:1;padding:8px 0}.segmented button:first-child{border-left:none}.segmented button.active{background:var(--text);color:var(--surface);font-weight:600}.slider{align-items:center;gap:12px;display:flex}.slider input{accent-color:var(--invest);flex:1}.slider-value{text-align:right;font-variant-numeric:tabular-nums;min-width:3.5em;font-weight:600}.toggle{border:1px solid var(--border);background:var(--surface-2);cursor:pointer;border-radius:8px;align-items:flex-start;gap:10px;padding:10px 12px;display:flex}.toggle input{accent-color:var(--invest);margin-top:2px}.toggle>span{flex-direction:column;gap:3px;display:flex}@media (width<=420px){.fields{grid-template-columns:1fr}}.chart-wrap{position:relative}.chart-wrap .reset-zoom{z-index:1;font:inherit;border:1px solid var(--border-strong);background:var(--surface);cursor:pointer;border-radius:6px;padding:4px 10px;font-size:12px;position:absolute;top:10px;right:12px}.chart-hint{color:var(--faint);text-align:right;margin:4px 0 0;font-size:11px}.inputs>.card:first-child .slider input,.inputs>.card:first-child .toggle input{accent-color:var(--paydown)}.rates{border:1px solid var(--border);background:var(--surface-2);border-radius:8px;flex-direction:column;grid-column:1/-1;gap:6px;padding:10px 12px;display:flex}.rates dl{gap:4px;margin:0;display:grid}.rates dl>div{justify-content:space-between;gap:12px;font-size:13px;display:flex}.rates dt{color:var(--muted)}.rates dd{text-align:right;font-variant-numeric:tabular-nums;margin:0;font-weight:600}.growth{border:1px solid var(--border);background:var(--surface-2);border-radius:8px;grid-column:1/-1;grid-template-columns:1fr 1fr;gap:12px;padding:10px 12px;display:grid}.growth>div{flex-direction:column;gap:2px;display:flex}.growth-value{color:var(--pos);font-variant-numeric:tabular-nums;font-size:18px;font-weight:700}.growth-value.cost{color:var(--neg)}.hint.wide{grid-column:1/-1}.tone-invest .slider input{accent-color:var(--pos)}.outcome-stats{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;margin-bottom:12px;display:grid}.outcome-stat{background:var(--surface);border:1px solid var(--border);border-radius:8px;flex-direction:column;gap:2px;padding:12px;display:flex}.outcome-value{font-variant-numeric:tabular-nums;font-size:22px;font-weight:700}.outcome-value.pos{color:var(--pos)}.outcome-value.neg{color:var(--neg)}.outcomes .note{margin-top:8px}.warn{color:var(--warn);font-weight:600}.return-calc{border:1px solid var(--border);background:var(--surface-2);border-radius:8px;grid-column:1/-1;padding:10px 12px}.return-calc summary{cursor:pointer;color:var(--text-2);font-size:13px;font-weight:600}.return-calc[open] summary{margin-bottom:8px}.return-calc textarea{box-sizing:border-box;border:1px solid var(--border-strong);resize:vertical;border-radius:8px;width:100%;margin:8px 0 4px;padding:8px 10px;font:12px/1.5 ui-monospace,SFMono-Regular,Menlo,monospace}.return-results{grid-template-columns:1fr 1fr;gap:10px 12px;margin-top:8px;display:grid}.return-results>div{flex-direction:column;gap:2px;display:flex}.return-results .return-meta,.return-results button{grid-column:1/-1}.growth-value.neutral{color:var(--text-2)}.return-results button{font:inherit;background:var(--pos);color:var(--surface);cursor:pointer;border:none;border-radius:6px;justify-self:start;padding:7px 12px;font-size:13px;font-weight:600}.logo{width:auto;height:36px;margin-bottom:16px;display:block}.masthead-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px;display:flex}.masthead-bar .logo{margin-bottom:0}.theme-switch{flex:none}.theme-switch button{flex:none;padding:6px 12px;font-size:13px}.return-calc textarea{background:var(--surface);color:var(--text)}.growth-value.paydown{color:var(--paydown)}.subsection{font-size:14px;font-family:var(--font-brand);color:var(--text-2);margin:20px 0 8px}.rent .note{margin-top:8px}.scenario.neutral{border-top-color:var(--border-strong)}.subhead{border-top:1px solid var(--border);flex-direction:column;grid-column:1/-1;gap:2px;margin-top:6px;padding-top:14px;display:flex}.subhead>span:first-child{font-family:var(--font-brand);color:var(--text);font-size:14px;font-weight:600}.dd-note{color:var(--muted);font-size:12px;font-weight:400}
