*,:after,:before{box-sizing:border-box;margin:0;padding:0}.app{max-width:var(--page-max);margin:0 auto;padding:44px 40px 100px}@media (max-width:720px){.app{padding:24px 18px 64px}}.header{margin-bottom:30px;position:relative}.header-eyebrow{font-size:var(--fs-sm);font-weight:600;letter-spacing:var(--ls-kicker);text-transform:uppercase;color:var(--accent-700);margin-bottom:12px}.header-title{font-family:var(--font-display);font-size:var(--fs-h1);font-weight:600;color:var(--ink);line-height:var(--lh-head);letter-spacing:var(--ls-head)}.header-sub{font-size:var(--fs-body);color:var(--ink2);margin-top:6px}.inputs-panel{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);margin-bottom:30px;overflow:hidden}.inputs-header{padding:16px 26px;border-bottom:1px solid var(--divider);display:flex;align-items:center;justify-content:space-between;gap:12px}.inputs-header-title{font-size:var(--fs-h3);letter-spacing:var(--ls-head)}.inputs-header-title,.inputs-toggle{font-family:var(--font-display);font-weight:600}.inputs-toggle{font-size:var(--fs-sm);color:var(--accent-700);cursor:pointer;border:none;background:none;padding:4px 0}.inputs-body{padding:0}.inputs-grid{display:flex;flex-wrap:wrap;gap:0 24px}.inputs-grid>.field{flex:1 1 200px}@media (max-width:560px){.inputs-grid>.field{flex:1 1 100%}}.input-section-label{width:100%;font-size:var(--fs-xs);font-weight:600;letter-spacing:var(--ls-label);text-transform:uppercase;color:var(--ink3);padding:16px 0 10px}.field{margin-bottom:16px}.field label{display:block;font-size:var(--fs-xs);font-weight:600;color:var(--ink2);margin-bottom:6px;letter-spacing:.01em}.field-row{display:flex;align-items:center;gap:6px}.field-pre,.field-suf{font-size:var(--fs-sm);color:var(--ink3);flex-shrink:0}.field input[type=date],.field input[type=number],.field input[type=text]{flex:1;min-width:0;border:1px solid var(--control-border);border-radius:var(--radius-sm);padding:9px 11px;font-size:var(--fs-body);font-family:var(--font-display);color:var(--ink);background:var(--card);transition:border-color .15s,box-shadow .15s;-moz-appearance:textfield}.field input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none}.field input:focus{outline:none;border-color:var(--accent-500);box-shadow:0 0 0 3px var(--accent-100)}.field-note{font-size:var(--fs-2xs);color:var(--ink3);margin-top:4px;line-height:1.45}.field-req{color:var(--red);margin-left:2px;font-weight:700}.field--missing input[type=number],.field--missing input[type=text]{border-color:var(--red);background:var(--red-bg);color:var(--red)}.field--missing input:focus{border-color:var(--red);box-shadow:0 0 0 3px var(--red-bg)}.example-note{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:12px 26px;background:var(--surface);border-bottom:1px solid var(--divider);font-size:var(--fs-sm);color:var(--ink2);line-height:1.5}.example-note-clear{all:unset;cursor:pointer;color:var(--accent-700);text-decoration:underline}.example-note-clear:hover{color:var(--accent-600)}.example-note-clear:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (max-width:720px){.example-note{padding:12px 18px}}.field-legend{font-size:var(--fs-2xs);color:var(--ink3);line-height:1.45;padding:0 26px 20px;margin:0}@media (max-width:720px){.field-legend{padding:0 18px 18px}}.dark .field input[type=date]::-webkit-calendar-picker-indicator{filter:invert(.85)}.field select{width:100%;padding:9px 11px;font-size:var(--fs-body);font-family:var(--font-display);color:var(--ink);background:var(--card);border:1px solid var(--control-border);border-radius:var(--radius-sm);appearance:none;cursor:pointer}.field select:focus{outline:none;border-color:var(--accent-500);box-shadow:0 0 0 3px var(--accent-100)}.field select option{color:var(--ink);background:var(--card)}.toggle-row{display:flex;align-items:center;gap:10px;cursor:pointer;padding:10px 0}.toggle-track{width:44px;height:26px;border-radius:var(--radius-pill);background:var(--control-border);position:relative;transition:background .2s;flex-shrink:0}.toggle-track.on{background:var(--accent)}.toggle-thumb{position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;transition:transform .2s;box-shadow:var(--shadow-sm)}.toggle-track.on .toggle-thumb{transform:translateX(18px)}.toggle-label{font-size:var(--fs-body);color:var(--ink);font-weight:600}.disclaimer{font-size:var(--fs-2xs);color:var(--ink3);line-height:1.6;border-top:1px solid var(--divider);padding:14px 26px;background:var(--surface)}.results-panel{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);overflow:hidden}.tab-bar{display:flex;overflow-x:auto;-webkit-overflow-scrolling:touch;border-bottom:1px solid var(--border);background:var(--card);scrollbar-width:none}.tab-bar::-webkit-scrollbar{display:none}.tab-btn{padding:16px 22px;font-size:var(--fs-body);font-family:var(--font-display);font-weight:600;color:var(--ink3);background:none;border:none;border-bottom:2px solid transparent;cursor:pointer;white-space:nowrap;transition:color .15s,border-color .15s}.tab-btn.active{color:var(--ink);border-bottom-color:var(--accent-700)}.tab-btn:hover:not(.active){color:var(--ink2)}.tab-body{padding:34px}.tab-hint{display:none}@media (max-width:720px){.tab-hint{display:block;padding:8px 18px 0;font-size:var(--fs-2xs);color:var(--ink3);text-align:center}.tab-body{padding:22px 18px}.tab-btn{padding:14px 16px;font-size:var(--fs-sm)}}.stat-row{display:flex;flex-wrap:wrap;gap:var(--sp-4);margin-bottom:var(--sp-6)}.stat,.stat-row.cols2>.stat,.stat-row.cols3>.stat,.stat-row.cols4>.stat{flex:1 1 180px}.stat{min-width:0;background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:16px 18px}.stat-label{font-size:var(--fs-2xs);color:var(--ink3);margin-bottom:6px;text-transform:uppercase;letter-spacing:.06em;font-weight:600}.stat-value{font-family:var(--font-display);font-size:30px;font-weight:600;color:var(--ink);line-height:1.1;letter-spacing:var(--ls-head);font-variant-numeric:tabular-nums}.stat-value.lg{font-size:36px}.stat-value.green{color:var(--status-good)}.stat-value.red{color:var(--status-bad)}.stat-value.amber{color:var(--status-caution)}.stat-sub{font-size:var(--fs-xs);color:var(--ink3);margin-top:6px;line-height:1.45}.stat-sub.green{color:var(--status-good)}.stat-sub.red{color:var(--status-bad)}.stat-sub.amber{color:var(--status-caution)}.ledger{width:100%;border-collapse:collapse}.ledger th{font-size:var(--fs-2xs);font-weight:600;text-transform:uppercase;letter-spacing:var(--ls-label);color:var(--ink3);padding:10px 12px;border-bottom:1px solid var(--border);text-align:left}.ledger th.num{text-align:right}.ledger-header td{padding:20px 12px 6px;font-size:var(--fs-2xs);font-weight:600;letter-spacing:var(--ls-label);text-transform:uppercase;color:var(--ink3)}.ledger-header td,.ledger-row td{border-bottom:1px solid var(--divider)}.ledger-row td{padding:11px 12px;font-size:var(--fs-body);vertical-align:top}.ledger-row td.num{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.ledger-row td.label{color:var(--ink);font-weight:400}.ledger-row .note{font-size:var(--fs-2xs);color:var(--ink3);line-height:1.45;font-weight:400;margin-top:2px}.ledger-row.price-row td,.ledger-row.subtotal td{background:var(--surface);font-weight:600}.ledger-row.subtotal td{border-top:1px solid var(--border)}.ledger-row.final td{font-family:var(--font-display);font-size:var(--fs-h3);font-weight:600;border-top:2px solid var(--ink);background:var(--surface);padding:16px 12px}.debit{color:var(--status-bad)!important}.credit{color:var(--status-good)!important}.section-title{font-family:var(--font-display);font-size:var(--fs-h2);font-weight:600;letter-spacing:var(--ls-head);margin-bottom:4px;color:var(--ink)}.section-sub{font-size:var(--fs-body);color:var(--ink2);margin-bottom:26px;line-height:var(--lh-body)}.dti-bar-track{height:10px;border-radius:6px;background:var(--border2);margin:8px 0 4px;overflow:hidden}.dti-bar-fill{height:100%;border-radius:6px;transition:width .4s}.divider{border:none;margin:24px 0}.breakdown,.divider{border-top:1px solid var(--divider)}.breakdown{margin-bottom:var(--sp-5)}.breakdown-row{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:11px 0;border-bottom:1px solid var(--divider);font-size:var(--fs-body)}.breakdown-row.total{font-weight:600;color:var(--ink)}.breakdown-label{color:var(--ink2)}.breakdown-value{font-weight:600;white-space:nowrap;font-variant-numeric:tabular-nums;color:var(--ink)}.verdict{border-radius:var(--radius);padding:16px 20px;margin-bottom:var(--sp-6);border:1px solid transparent}.verdict.green{background:var(--status-good-bg);border-color:var(--status-good-border)}.verdict.amber{background:var(--status-caution-bg);border-color:var(--status-caution-border)}.verdict.red{background:var(--status-bad-bg);border-color:var(--status-bad-border)}.verdict-title{font-family:var(--font-display);font-size:var(--fs-lead);font-weight:600;margin-bottom:4px}.verdict.green .verdict-title{color:var(--status-good)}.verdict.amber .verdict-title{color:var(--status-caution)}.verdict.red .verdict-title{color:var(--status-bad)}.verdict-body{font-size:var(--fs-sm);color:var(--ink2);line-height:var(--lh-body)}.summary-section{margin-bottom:var(--sp-7)}.summary-section-title{font-size:var(--fs-xs);font-weight:600;text-transform:uppercase;letter-spacing:var(--ls-label);color:var(--ink3);margin-bottom:14px;padding-bottom:8px;border-bottom:1px solid var(--border)}.summary-grid{display:flex;flex-wrap:wrap;gap:var(--sp-4)}.summary-highlight{flex:1 1 220px;background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:16px 18px}.summary-highlight-label{font-size:var(--fs-2xs);text-transform:uppercase;letter-spacing:.06em;color:var(--ink3);margin-bottom:6px;font-weight:600}.summary-highlight-value{font-family:var(--font-display);font-size:30px;font-weight:600;letter-spacing:var(--ls-head);font-variant-numeric:tabular-nums}.action-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:9px 16px;font-size:var(--fs-sm);font-family:var(--font-display);font-weight:600;line-height:1.2;border-radius:var(--radius-sm);border:1px solid var(--accent);background:var(--accent);color:var(--accent-ink);cursor:pointer;white-space:nowrap;transition:background-color .15s,border-color .15s,color .15s,opacity .15s}.action-btn:hover:not(:disabled){background:var(--accent-600);border-color:var(--accent-600)}.action-btn:disabled{opacity:.5;cursor:not-allowed}.action-btn.secondary{background:var(--card);color:var(--ink);border-color:var(--border)}.action-btn.secondary:hover:not(:disabled){background:var(--card);border-color:var(--ink3)}.term-toggle{display:inline-flex;padding:3px;gap:3px;width:fit-content;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm)}.term-option{padding:7px 15px;font-size:var(--fs-sm);font-family:var(--font-display);font-weight:600;color:var(--ink2);background:none;border:none;border-radius:var(--radius-sm);cursor:pointer;transition:background-color .15s,color .15s}.term-option:hover{color:var(--ink)}.term-option.active{color:var(--accent-ink);background:var(--accent)}.dm-icon-btn{width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;font-size:15px;line-height:1;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--card);color:var(--ink2);cursor:pointer;transition:border-color .15s,color .15s}.dm-icon-btn:hover{border-color:var(--accent-500);color:var(--accent-700)}.compare-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--border);border-radius:var(--radius);background:var(--card)}.compare-table{border-collapse:separate;border-spacing:0;width:100%;font-size:var(--fs-body);min-width:640px}.compare-table td,.compare-table th{padding:12px 16px;text-align:right;white-space:nowrap;border-bottom:1px solid var(--divider)}.compare-label,.compare-label-head{position:sticky;left:0;z-index:2;text-align:left;background:var(--card);min-width:220px;max-width:260px;white-space:normal;border-right:1px solid var(--border);color:var(--ink2)}.compare-label-head{z-index:3}.compare-col-head{background:var(--card);vertical-align:bottom;min-width:160px}.compare-col-name{font-family:var(--font-display);font-weight:600;color:var(--ink);font-size:var(--fs-lead);white-space:normal;letter-spacing:var(--ls-head)}.compare-col-date{font-weight:400;margin-top:2px;white-space:normal}.compare-col-date,.compare-group td{color:var(--ink3);font-size:var(--fs-2xs)}.compare-group td{text-align:left;font-weight:600;letter-spacing:var(--ls-label);text-transform:uppercase;padding:10px 16px}.compare-group .compare-label,.compare-group td{background:var(--surface)}.compare-value{color:var(--ink);font-variant-numeric:tabular-nums}.compare-standout{background:var(--accent-100);font-weight:700;color:var(--ink)}.compare-verdict{display:inline-block;padding:2px 10px;border-radius:var(--radius-sm);font-size:var(--fs-xs);font-weight:600}.compare-verdict.green{background:var(--status-good-bg);color:var(--status-good)}.compare-verdict.amber{background:var(--status-caution-bg);color:var(--status-caution)}.compare-verdict.red{background:var(--status-bad-bg);color:var(--status-bad)}.compare-verdict.none{color:var(--ink3)}.compare-mobile{display:none}@media (max-width:720px){.compare-desktop{display:none}.compare-mobile{display:block}}.compare-pair{border:1px solid var(--border);border-radius:var(--radius);background:var(--card);overflow:hidden}.compare-pair-pickers{display:flex;flex-direction:column;gap:8px;padding:16px;border-bottom:1px solid var(--border)}.compare-pair-kicker{font-size:var(--fs-2xs);font-weight:600;letter-spacing:var(--ls-label);text-transform:uppercase;color:var(--ink3)}.compare-pair-side{min-width:0}.compare-pair-name{font-family:var(--font-display);font-weight:600;font-size:var(--fs-lead);color:var(--ink);letter-spacing:var(--ls-head);overflow-wrap:anywhere}.compare-pair-open{display:inline-block;margin-top:4px;font-size:var(--fs-xs)}.compare-pair-vs{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:var(--fs-sm);color:var(--ink3)}.compare-pair-table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:var(--fs-body)}.compare-pair-table td,.compare-pair-table th{padding:10px 16px;text-align:left;vertical-align:top;border-bottom:1px solid var(--divider);overflow-wrap:anywhere}.compare-pair-table thead th{font-size:var(--fs-xs);font-weight:600;color:var(--ink2);background:var(--card)}.compare-pair-table .compare-pair-diff{width:42%;text-align:right}.compare-pair-table td.compare-pair-diff{white-space:nowrap;overflow-wrap:normal}.compare-pair-direction{font-weight:400;color:var(--ink3);font-size:var(--fs-2xs);margin-top:2px}.compare-pair-label{color:var(--ink2)}.compare-pair-values{margin-top:3px;font-size:var(--fs-xs);color:var(--ink3);font-variant-numeric:tabular-nums}.compare-tray{position:sticky;bottom:20px;z-index:20;display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:14px 20px;margin-top:16px;background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-md)}.compare-tray-count{font-size:var(--fs-body);font-weight:600;color:var(--ink);white-space:nowrap}.compare-tray-chips{display:flex;gap:8px;flex-wrap:wrap;flex:1;min-width:0}.compare-chip{display:inline-flex;align-items:center;gap:6px;max-width:190px;padding:4px 8px 4px 10px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-pill);font-size:var(--fs-xs);color:var(--ink2)}.compare-chip-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.compare-chip-x{cursor:pointer;border:none;background:none;color:var(--ink3);font-size:15px;line-height:1;padding:0 2px}.compare-chip-x:hover{color:var(--status-bad)}.calc-check{width:18px;height:18px;accent-color:var(--accent);cursor:pointer}.calc-check:disabled{cursor:not-allowed;opacity:.4}.home-pill{display:inline-flex;align-items:center;gap:8px;padding:9px 18px;border-radius:var(--radius-sm);font-family:var(--font-display);font-size:var(--fs-sm);font-weight:600;text-decoration:none;white-space:nowrap;cursor:pointer;border:1px solid transparent;transition:background-color .15s,border-color .15s,color .15s}.home-pill-accent{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.home-pill-accent:hover{background:var(--accent-600);border-color:var(--accent-600)}.home-pill-outline{background:var(--card);border-color:var(--border);color:var(--ink)}.home-pill-outline:hover{border-color:var(--ink3)}.home-pill-count{color:var(--ink3);font-weight:400}.home-pill-outline:hover .home-pill-count{color:var(--ink2)}.home-pill-locked{background:none;border-color:var(--accent-2);color:var(--accent-2-700)}.home-pill-locked:hover{background:var(--accent-2-100)}.home-lock-ico{font-size:var(--fs-xs);line-height:1}.home-upgrade-tag{margin-left:2px;padding:2px 8px;border-radius:var(--radius-sm);background:var(--accent-2);color:var(--accent-2-ink);font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.home-avatar{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background:var(--accent-2-100);color:var(--accent-2-800);font-family:var(--font-display);font-weight:600;font-size:15px;text-decoration:none;border:1px solid transparent}.home-avatar:hover{border-color:var(--accent-2-400)}.home-lanes{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.home-lane{display:flex;flex-direction:column;align-items:flex-start;padding:24px 26px 26px;min-width:0}.home-lane+.home-lane{border-left:1px solid var(--border)}.home-lane:first-child{padding-left:0}.home-lane:last-child{padding-right:0}@media (max-width:760px){.home-lanes{grid-template-columns:1fr}.home-lane{padding:20px 0 22px}.home-lane+.home-lane{border-left:none;border-top:1px solid var(--border)}}.home-lane-kicker{font-size:var(--fs-2xs);font-weight:600;letter-spacing:var(--ls-label);text-transform:uppercase;color:var(--accent-700);margin-bottom:8px}.home-lane-title{font-family:var(--font-display);font-weight:600;font-size:var(--fs-h3);line-height:1.3;letter-spacing:var(--ls-head);color:var(--ink);margin:0 0 6px}.home-lane-body{font-size:var(--fs-sm);line-height:1.55;color:var(--ink2);margin:0}.home-lane-more{font-size:var(--fs-sm);margin-top:auto;padding-top:12px}.home-launch{list-style:none;width:100%;margin:4px 0 0;padding:0}.home-launch-link{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 8px 9px 0;text-decoration:none;border-bottom:1px solid var(--divider);transition:background-color .15s,padding-left .15s}.home-launch li:first-child .home-launch-link{border-top:1px solid var(--divider)}.home-launch-link:hover{background:var(--card);padding-left:8px}.home-launch-name{font-size:var(--fs-body);color:var(--ink);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.home-launch-go{color:var(--ink3);font-size:17px;line-height:1;flex-shrink:0}.home-board td:first-child,.home-board th:first-child{width:1%;padding-right:4px}.home-board-name{font-family:var(--font-display);font-weight:600;font-size:var(--fs-body);color:var(--ink);text-decoration:none}.home-board-name:hover{color:var(--accent-700)}.home-board-date{font-size:var(--fs-2xs);color:var(--ink3);margin-top:2px}.home-board tr.is-selected td{background:var(--accent-100)}.home-board tr.is-selected td:first-child{box-shadow:inset 3px 0 0 var(--accent)}.home-upsell{background:var(--accent-2-100);border:1px solid var(--accent-2-300);border-radius:var(--radius);padding:26px}.authnav-item{display:block;padding:9px 11px;border-radius:var(--radius-sm);font-size:var(--fs-body);color:var(--ink);text-decoration:none;font-family:var(--font-display)}.authnav-item:hover{background:var(--surface)}