@charset "UTF-8";:root{--bg: #f7f8fa;--surface: #ffffff;--surface-2: #f2f4f7;--surface-hover: #eef1f5;--surface-sunken: #f4f6f9;--border: #e2e5ea;--border-soft: #eceff3;--field-border: #d3d8e0;--text: #12161d;--text-dim: #5b6472;--text-mute: #707682;--accent: #1a8654;--accent-hover: #17824f;--accent-ink: #ffffff;--accent-bg: #eaf6f0;--accent-bg-hover: #dcefe5;--accent-border: #bfe3d1;--warm: #b8791f;--error: #c1503a;--loan: #3b6fd6;--loan-hover: #2c5bc0;--loan-ink: #ffffff;--loan-bg: #eaf0fc;--loan-bg-hover: #dce7fa;--loan-border: #c3d5f5;--warn-bg: #fdf6e8;--warn-border: #f0dba8;--warn-text: #7a5310;--error-bg: #fdeeec;--error-border: #f3c4b8;--error-text: #8a3524;--chart-opex: #38a26d;--chart-capex: #bd7221;--chart-total: #88909f;--chart-acquisition: #3a4152;--chart-interest: #b8791f;--chart-principal: #1f6f9e;--chart-payoff: #9c2f77;--chart-run-1: #3b6fd6;--chart-run-2: #1a8654;--chart-run-3: #b8791f;--chart-run-4: #b0452a;--chart-run-5: #7b3fa0;--bar-backdrop: var(--surface);--scrim: rgb(247 248 250 / 88%);--shadow: rgb(15 23 42 / 12%);--shadow-strong: rgb(15 23 42 / 18%);--font-sans: system-ui, -apple-system, "Segoe UI", Inter, Roboto, sans-serif;--font-mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;--radius: 11px;--radius-sm: 7px;--bar-height: 74px}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg: #0c0e12;--surface: #12151b;--surface-2: #171b23;--surface-hover: #1a212b;--surface-sunken: #0f1319;--border: #242a35;--border-soft: #1c222c;--field-border: #2f3745;--text: #e8ecf2;--text-dim: #a2acbd;--text-mute: #747f93;--accent: #5ee2a0;--accent-hover: #7cebb4;--accent-ink: #07100c;--accent-bg: #101a15;--accent-bg-hover: #16311f;--accent-border: #23402f;--warm: #f0a868;--error: #e5484d;--loan: #7ba3f0;--loan-hover: #9bbcf5;--loan-ink: #06101f;--loan-bg: #141c2b;--loan-bg-hover: #16233a;--loan-border: #2f4a7a;--warn-bg: #1c1608;--warn-border: #3a2f10;--warn-text: #e0c586;--error-bg: #1c1210;--error-border: #43241d;--error-text: #f0b8a8;--chart-opex: #3baa73;--chart-capex: #bd7221;--chart-total: #a2acbd;--chart-acquisition: #3a4152;--chart-interest: #e0a45a;--chart-principal: #5ea3e0;--chart-payoff: #c15ea0;--chart-run-1: #7ba3f0;--chart-run-2: #5ee2a0;--chart-run-3: #e0a45a;--chart-run-4: #e07a5f;--chart-run-5: #c48ae0;--bar-backdrop: var(--bg) url(/assets/images/background.jpg) center / cover no-repeat;--scrim: rgb(14 17 22 / 82%);--shadow: rgb(0 0 0 / 35%);--shadow-strong: rgb(0 0 0 / 60%)}}:root[data-theme=dark]{--bg: #0c0e12;--surface: #12151b;--surface-2: #171b23;--surface-hover: #1a212b;--surface-sunken: #0f1319;--border: #242a35;--border-soft: #1c222c;--field-border: #2f3745;--text: #e8ecf2;--text-dim: #a2acbd;--text-mute: #747f93;--accent: #5ee2a0;--accent-hover: #7cebb4;--accent-ink: #07100c;--accent-bg: #101a15;--accent-bg-hover: #16311f;--accent-border: #23402f;--warm: #f0a868;--error: #e5484d;--loan: #7ba3f0;--loan-hover: #9bbcf5;--loan-ink: #06101f;--loan-bg: #141c2b;--loan-bg-hover: #16233a;--loan-border: #2f4a7a;--warn-bg: #1c1608;--warn-border: #3a2f10;--warn-text: #e0c586;--error-bg: #1c1210;--error-border: #43241d;--error-text: #f0b8a8;--chart-opex: #3baa73;--chart-capex: #bd7221;--chart-total: #a2acbd;--chart-acquisition: #3a4152;--chart-interest: #e0a45a;--chart-principal: #5ea3e0;--chart-payoff: #c15ea0;--chart-run-1: #7ba3f0;--chart-run-2: #5ee2a0;--chart-run-3: #e0a45a;--chart-run-4: #e07a5f;--chart-run-5: #c48ae0;--bar-backdrop: var(--bg) url(/assets/images/background.jpg) center / cover no-repeat;--scrim: rgb(14 17 22 / 82%);--shadow: rgb(0 0 0 / 35%);--shadow-strong: rgb(0 0 0 / 60%)}*{box-sizing:border-box}html{height:100%}body{height:100%;margin:0;background:var(--bg);color:var(--text);font-family:var(--font-sans);-webkit-font-smoothing:antialiased}.mono{font-family:var(--font-mono)}.eyebrow{font-family:var(--font-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--text-mute)}.eyebrow--accent{color:var(--accent)}.surface-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}.field-label{display:block;font-size:12px;color:var(--text-mute);margin-bottom:6px}.text-input{width:100%;background:var(--surface-2);border:1px solid var(--field-border);border-radius:var(--radius-sm);padding:9px 12px;font-size:14px;color:var(--text)}.text-input:focus{outline:none;border-color:var(--accent)}.btn-primary{background:var(--accent);color:var(--accent-ink);border:0;border-radius:var(--radius-sm);padding:10px 18px;font-size:14.5px;font-weight:500;cursor:pointer}.btn-primary:disabled{opacity:.45;cursor:not-allowed}.btn-ghost{background:transparent;color:var(--text);border:1px solid var(--border);border-radius:var(--radius-sm);padding:10px 18px;font-size:14px;cursor:pointer}.chart-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:18px 22px;display:flex;flex-direction:column;gap:8px;min-width:0}.chart-head{font-size:15px;font-weight:500;color:var(--text)}.chart-card>app-annual-bar-chart,.chart-card>app-monthly-cashout-chart{flex:1 1 auto;min-height:0}.split{display:flex;gap:20px;align-items:stretch;min-height:288px}.split>.chart-card{flex:1;min-width:0}.side-note{border-left:2px solid var(--warm);background:var(--surface);padding:14px 18px;border-radius:0 9px 9px 0;font-size:13.5px;line-height:1.6;color:var(--text-dim)}.side-note strong{color:var(--text);font-weight:500}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-hover);text-decoration:underline}.pane{display:flex;flex-direction:column;gap:16px}.pane>.head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px}.pane .head h1{margin:0;font-size:19px;font-weight:600;letter-spacing:-.02em}.pane .head p{margin:4px 0 0;font-size:12.5px;color:var(--text-mute);max-width:80ch;line-height:1.55}.pane .primary{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--accent-ink);background:var(--accent);border:0;border-radius:8px;padding:9px 14px;cursor:pointer;white-space:nowrap}.pane .primary:hover{background:var(--accent-hover)}.pane .primary.small{padding:7px 12px}.pane .ghost{font-family:var(--font-mono);font-size:10.5px;text-transform:uppercase;color:var(--text-mute);border:1px solid var(--border);background:transparent;border-radius:7px;padding:8px 13px;cursor:pointer}.pane .quiet{font-family:var(--font-mono);font-size:10.5px;text-transform:uppercase;color:var(--text-mute);background:transparent;border:0;padding:7px 6px;cursor:pointer}.pane .ghost-accent{font-family:var(--font-mono);font-size:10.5px;text-transform:uppercase;color:var(--accent);border:1px solid var(--accent-border);background:var(--accent-bg);border-radius:7px;padding:6px 10px;cursor:pointer}.pane .ghost-accent:hover{background:var(--accent-bg-hover)}.pane .card,.pane .chart-card,.pane .table-card{background:var(--surface);border:1px solid var(--border);border-radius:11px}.pane .card,.pane .table-card{overflow:hidden}.pane .row{display:grid;gap:8px;align-items:center;padding:10px 16px;border-bottom:1px solid var(--border-soft)}.pane .head-row{padding:8px 16px;font-family:var(--font-mono);font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-mute);border-bottom:1px solid var(--border-soft)}.pane .mono{font-family:var(--font-mono);font-size:12px}.pane .dim{color:var(--text-dim)}.pane .r{text-align:right}.pane .none{margin:0;padding:22px 6px;font-size:12.5px;color:var(--text-mute);line-height:1.6;max-width:72ch}.pane .icon-button{width:22px;height:22px;border:0;border-radius:5px;background:transparent;color:var(--text-mute);cursor:pointer;font-size:12px}.pane .icon-button:hover{background:var(--surface-hover);color:var(--text)}.pane .icon-button.danger:hover{background:var(--error-bg);color:var(--error)}.pane .field-label{font-family:var(--font-mono);font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-mute)}.pane input,.pane select{background:var(--bg);border:1px solid var(--border);border-radius:6px;padding:7px 9px;color:var(--text);font-family:var(--font-mono);font-size:12px;outline:none}.pane input:focus,.pane select:focus{border-color:var(--field-border)}.pane input:disabled{opacity:.45;cursor:not-allowed}
