html,body,#root{min-height:100%;margin:0;padding:0}html{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}html[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root{--bg:#f5f7fa;--card:#fff;--ink:#1c2433;--muted:#6a7587;--accent:#00b5b7;--accent-soft:#e0f6f6;--highlight:#fff5d6;--border:#e3e8ef;--bumped:#fff1f1;--badge:#c0392b;--warn-bg:#fff8e1;--warn-border:#f1d97a;--warn-ink:#6b5400;--compare-inner:#fffdf5;--input-bg:#fff;--stat-bg:#fafbfd;--highlight-border:#ead8a0;--modal-backdrop:#1418248c;--tooltip-bg:#1c2433;--tooltip-ink:#fff;--floor-neutral-bg:#f1f5fb;--floor-neutral-ink:#2a3754;--floor-neutral-border:#d8e1f0;--floor-warn-bg:#fff5e6;--floor-warn-ink:#7a4400;--floor-warn-border:#f5cd86}:root[data-theme=dark]{--bg:#0f1419;--card:#1a1f27;--ink:#e6ebf2;--muted:#8a93a3;--accent:#2dd5d7;--accent-soft:#133537;--highlight:#3a2f0d;--border:#2a313d;--bumped:#3a1f1f;--badge:#ff6b5e;--warn-bg:#2a2410;--warn-border:#7a6420;--warn-ink:#fde9a0;--compare-inner:#1f1d18;--input-bg:#232a35;--stat-bg:#232a35;--highlight-border:#6a541f;--modal-backdrop:#000000b3;--tooltip-bg:#e6ebf2;--tooltip-ink:#1a1f27;--floor-neutral-bg:#1f2a3d;--floor-neutral-ink:#c5d6ee;--floor-neutral-border:#2e3e58;--floor-warn-bg:#3a2a14;--floor-warn-ink:#f5c98a;--floor-warn-border:#7a5520}*{box-sizing:border-box}body{background:var(--bg);color:var(--ink);margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,sans-serif;line-height:1.45}.page{max-width:960px;margin:0 auto;padding:32px 20px 80px}.site-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:20px;padding:6px 0 20px;display:flex}.theme-toggle{border:1px solid var(--border);background:var(--card);width:36px;height:36px;color:var(--ink);cursor:pointer;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:18px;line-height:1;transition:background .15s,transform .15s;display:inline-flex}.theme-toggle:hover{background:var(--accent-soft);transform:rotate(15deg)}.brand{align-items:center;gap:16px;display:flex}.brand-logo-link{border-radius:8px;flex-shrink:0;transition:opacity .15s;display:inline-flex}.brand-logo-link:hover{opacity:.8}.brand-logo{width:64px;height:64px;display:block}.brand-text .sub a{color:var(--accent)}.brand-text h1{color:var(--accent);letter-spacing:-.01em;margin:0;font-size:26px}.brand-text .sub{color:var(--muted);margin:4px 0 0}.testing-notice-inline{border-bottom:1px solid var(--warn-border);margin-bottom:10px;padding-bottom:10px}.disclaimer-banner{background:var(--warn-bg);border:1px solid var(--warn-border);color:var(--warn-ink);border-radius:10px;margin-bottom:20px;padding:16px 18px;font-size:13px;line-height:1.55}.disclaimer-banner p{margin:0 0 10px}.disclaimer-banner p:last-of-type{margin-bottom:0}.banner-actions{gap:8px;margin-top:12px;display:flex}.print-btn{background:var(--card);border:1px solid var(--warn-border);color:var(--warn-ink);cursor:pointer;border-radius:6px;padding:6px 12px;font-size:13px}.print-btn:hover{background:var(--compare-inner)}.assumptions h3{color:var(--ink);margin:12px 0 8px;font-size:14px}.assumptions h3:first-of-type{margin-top:0}.info-tip{background:var(--accent-soft);width:16px;height:16px;color:var(--accent);cursor:pointer;vertical-align:middle;border:1px solid var(--accent);border-radius:50%;outline:none;justify-content:center;align-items:center;margin-left:6px;font-family:Georgia,Times New Roman,serif;font-size:11px;font-style:italic;font-weight:600;display:inline-flex;position:relative}.info-tip:focus-visible{box-shadow:0 0 0 2px var(--accent)}.info-tip-mark{margin-top:-1px;line-height:1}.info-tip-bubble{background:var(--tooltip-bg);color:var(--tooltip-ink);text-align:left;letter-spacing:0;opacity:0;pointer-events:none;z-index:50;border-radius:6px;width:260px;padding:8px 10px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:12px;font-style:normal;font-weight:400;line-height:1.45;transition:opacity .12s;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);box-shadow:0 6px 16px #0003}.info-tip-bubble:after{content:"";border:6px solid #0000;border-top-color:var(--tooltip-bg);position:absolute;top:100%;left:50%;transform:translate(-50%)}.info-tip:hover .info-tip-bubble,.info-tip.open .info-tip-bubble,.info-tip:focus-visible .info-tip-bubble{opacity:1}.stat-label,.field span{align-items:center;display:flex}.modal-backdrop{background:var(--modal-backdrop);z-index:100;justify-content:center;align-items:center;padding:20px;animation:.12s fade-in;display:flex;position:fixed;inset:0}.modal{background:var(--card);color:var(--ink);border-radius:10px;width:100%;max-width:560px;max-height:80vh;overflow:auto;box-shadow:0 20px 40px #0000004d}.modal-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.modal-header h3{margin:0;font-size:16px}.modal-close{color:var(--muted);cursor:pointer;background:0 0;border:none;padding:4px 8px;font-size:22px;line-height:1}.modal-close:hover{color:var(--ink)}.modal-body{padding:16px 20px}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.link-btn{color:var(--accent);cursor:pointer;font:inherit;background:0 0;border:none;padding:0;text-decoration:underline}.link-btn:hover{opacity:.8}.floor-msg{border-radius:8px;margin:16px 0 0;padding:10px 14px;font-size:13px;line-height:1.5}.floor-msg.neutral{background:var(--floor-neutral-bg);color:var(--floor-neutral-ink);border:1px solid var(--floor-neutral-border)}.floor-msg.warn{background:var(--floor-warn-bg);color:var(--floor-warn-ink);border:1px solid var(--floor-warn-border)}.bracket-wrap{overflow-x:auto}.bracket-table{min-width:640px}.bracket-table th.group-new,.bracket-table td.group-new{background:color-mix(in srgb, var(--accent) 6%, transparent)}.bracket-table th.group-old,.bracket-table td.group-old{background:color-mix(in srgb, var(--muted) 4%, transparent)}.bracket-table thead tr:first-child th.group-new{background:color-mix(in srgb, var(--accent) 14%, transparent);color:var(--ink);font-weight:600}.bracket-table thead tr:first-child th.group-old{background:color-mix(in srgb, var(--muted) 10%, transparent);color:var(--ink);font-weight:600}.bracket-table tbody.summary td{padding-top:10px;padding-bottom:10px;font-size:14px}.bracket-table tbody.summary .discount-row td.group-new,.bracket-table tbody.summary .discount-row td.group-old{background:color-mix(in srgb, var(--accent) 8%, transparent)}.bracket-table tbody.summary .taxable-row td{background:var(--highlight);border-top:1px solid var(--highlight-border);border-bottom:1px solid var(--highlight-border)}.bracket-table tbody.summary .row-sub{color:var(--muted);text-transform:none;letter-spacing:0;margin-top:2px;font-size:11px;font-weight:400}.bracket-table tbody.summary .section-spacer td{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;background:0 0;border-bottom:none;padding-top:18px;padding-bottom:4px;font-size:12px}@media print{body{background:#fff}.card.compare{animation:none;background:#fff!important;border:1px solid #888!important}.banner-actions{display:none}.disclaimer-banner{color:#000;background:#fff;border:1px solid #888}footer{page-break-inside:avoid}}.assumptions ul{color:var(--ink);margin:0;padding-left:18px;font-size:13px}.assumptions li{margin-bottom:8px;line-height:1.5}.assumptions a{color:var(--accent)}.card{background:var(--card);border:1px solid var(--border);border-radius:10px;margin-bottom:20px;padding:20px 24px}.card.compare{background:linear-gradient(var(--compare-inner), var(--compare-inner)) padding-box, linear-gradient(135deg, #ff3b30, #ff9500, #fc0, #34c759, #00c7be, #007aff, #af52de, #ff2d92, #ff3b30) border-box;background-size:100% 100%,300% 300%;border:3px solid #0000;animation:12s linear infinite rainbow-shift;position:relative;box-shadow:inset 0 0 0 1px #ffffff80}@keyframes rainbow-shift{0%{background-position:0 0,0%}to{background-position:0 0,300%}}@media (prefers-reduced-motion:reduce){.card.compare{animation:none}}.card h2{margin:0 0 16px;font-size:18px}.inputs{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;display:grid}.field{flex-direction:column;gap:4px;font-size:14px;display:flex}.field span{color:var(--muted)}.field input{border:1px solid var(--border);background:var(--input-bg);color:var(--ink);border-radius:6px;padding:8px 10px;font-size:16px}.field input:focus{outline:2px solid var(--accent);outline-offset:-1px}table{border-collapse:collapse;width:100%;font-size:14px}th,td{text-align:left;border-bottom:1px solid var(--border);padding:8px 10px}th{color:var(--muted);font-size:13px;font-weight:500}.num{text-align:right;font-variant-numeric:tabular-nums}tfoot td{border-bottom:none;padding-top:12px}tr.bumped{background:var(--bumped)}.badge{background:var(--badge);color:#fff;border-radius:4px;margin-left:6px;padding:1px 6px;font-size:11px;display:inline-block}.stats{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;display:grid}.stat{background:var(--stat-bg);border:1px solid var(--border);border-radius:8px;padding:12px 14px}.stat.highlight{background:var(--highlight);border-color:var(--highlight-border)}.stat-label{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:12px}.stat-value{font-variant-numeric:tabular-nums;margin-top:4px;font-size:22px;font-weight:600}.stat-sub{color:var(--muted);margin-top:2px;font-size:12px}.note{color:var(--muted);margin:0 0 12px;font-size:13px}.muted{color:var(--muted);font-weight:400}footer{color:var(--muted);border-top:1px solid var(--border);margin-top:24px;padding-top:16px;font-size:12px;line-height:1.55}footer p{margin:0 0 8px}footer p:last-child{margin-bottom:0}.results-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;display:grid}.result-cell{background:var(--stat-bg);border:1px solid var(--border);border-radius:10px;flex-direction:column;gap:4px;padding:14px 16px;display:flex}.result-cell.highlight{background:var(--highlight);border-color:var(--highlight-border)}.result-cell-title{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:12px}.result-cell-value{font-variant-numeric:tabular-nums;font-size:22px;font-weight:600}.result-cell-sub{color:var(--muted);font-size:12px}.result-cell-breakdown{border-top:1px dashed var(--border);gap:4px;margin-top:8px;padding-top:8px;font-size:12px;display:grid}.result-cell-breakdown>div{justify-content:space-between;gap:8px;display:flex}.result-cell-breakdown span:first-child{color:var(--muted)}.result-cell-breakdown span:last-child{font-variant-numeric:tabular-nums}.mechanics{flex-direction:column;gap:10px;display:flex}.mechanic-row{border:1px solid var(--border);background:var(--stat-bg);border-radius:10px;grid-template-columns:220px 1fr 1fr;align-items:stretch;gap:12px;padding:12px 14px;display:grid}@media (width<=720px){.mechanic-row{grid-template-columns:1fr}}.mechanic-title{color:var(--ink);align-self:center;font-size:14px;font-weight:600}.mechanic-side{color:var(--ink);border-radius:8px;padding:10px 12px;font-size:13px;line-height:1.55}.mechanic-outside{background:color-mix(in srgb, var(--muted) 8%, transparent)}.mechanic-super{background:color-mix(in srgb, var(--accent) 12%, transparent)}.mechanic-side-label{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin-bottom:4px;font-size:11px}.scenario-block{margin-bottom:24px}.scenario-block h3{color:var(--accent);margin:0 0 8px;font-size:16px}.scenario-table tbody .section-spacer td{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;background:0 0;border-bottom:none;padding-top:14px;padding-bottom:4px;font-size:12px}.scenario-table .row-sub{color:var(--muted);margin-top:2px;font-size:11px;font-weight:400}.scenario-table .taxable-row td{background:var(--highlight);border-top:1px solid var(--highlight-border);border-bottom:1px solid var(--highlight-border)}.scenario-table td.muted{color:var(--muted)}.slice-detail{border:1px solid var(--border);background:var(--stat-bg);border-radius:8px;margin-top:12px;padding:10px 14px}.slice-detail summary{cursor:pointer;color:var(--accent);font-size:13px}.slice-detail summary:hover{text-decoration:underline}.slice-detail[open] summary,.slice-detail .note{margin-bottom:8px}.yearly-table th.group-new,.yearly-table td.group-new{background:color-mix(in srgb, var(--accent) 6%, transparent)}.yearly-table th.group-old,.yearly-table td.group-old{background:color-mix(in srgb, var(--muted) 4%, transparent)}.yearly-table thead tr:first-child th.group-new{background:color-mix(in srgb, var(--accent) 14%, transparent);color:var(--ink);font-weight:600}.yearly-table thead tr:first-child th.group-old{background:color-mix(in srgb, var(--muted) 10%, transparent);color:var(--ink);font-weight:600}.results-table{min-width:640px}.results-table th.group-a,.results-table td.group-a{background:color-mix(in srgb, var(--muted) 4%, transparent)}.results-table th.group-b,.results-table td.group-b{background:color-mix(in srgb, var(--muted) 7%, transparent)}.results-table th.group-fhss,.results-table td.group-fhss{background:color-mix(in srgb, var(--accent) 8%, transparent)}.results-table thead th{vertical-align:top;text-align:right;color:var(--ink);padding-top:12px;padding-bottom:12px;font-weight:600}.results-table thead th.col-best{outline:2px solid var(--accent);outline-offset:-2px}.results-table .th-sub{color:var(--muted);text-transform:none;letter-spacing:0;margin-top:2px;font-size:11px;font-weight:400}@media (width>=721px){.bracket-wrap.cgt-old .results-table th.group-b,.bracket-wrap.cgt-old .results-table td.group-b,.bracket-wrap.cgt-new .results-table th.group-a,.bracket-wrap.cgt-new .results-table td.group-a{display:none}}.scenario-view-toggle{display:none}@media (width<=720px){.scenario-view-toggle{border:1px solid var(--border);background:var(--card);border-radius:8px;margin:0 0 12px;display:inline-flex;overflow:hidden}.scenario-view-toggle button{color:var(--muted);cursor:pointer;background:0 0;border:none;min-width:90px;padding:8px 14px;font-family:inherit;font-size:13px;font-weight:500}.scenario-view-toggle button+button{border-left:1px solid var(--border)}.scenario-view-toggle button[aria-selected=true]{background:var(--accent);color:#fff}.bracket-wrap.mob-no-fhss .results-table th.group-fhss,.bracket-wrap.mob-no-fhss .results-table td.group-fhss,.bracket-wrap.mob-no-fhss.cgt-old .results-table th.group-b,.bracket-wrap.mob-no-fhss.cgt-old .results-table td.group-b,.bracket-wrap.mob-no-fhss.cgt-new .results-table th.group-a,.bracket-wrap.mob-no-fhss.cgt-new .results-table td.group-a,.bracket-wrap.mob-fhss .results-table th.group-a,.bracket-wrap.mob-fhss .results-table td.group-a,.bracket-wrap.mob-fhss .results-table th.group-b,.bracket-wrap.mob-fhss .results-table td.group-b{display:none}.results-table{width:100%;min-width:0}.bracket-wrap{overflow-x:visible}}.results-table tbody .section-spacer td{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;background:0 0;border-bottom:none;padding-top:16px;padding-bottom:4px;font-size:12px}.results-table tbody .taxable-row td{background:var(--highlight);border-top:1px solid var(--highlight-border);border-bottom:1px solid var(--highlight-border)}.results-table tbody td:first-child{max-width:320px}.results-table tbody td .row-sub{color:var(--muted);text-transform:none;letter-spacing:0;margin-top:2px;font-size:11px;font-weight:400}.results-table tbody .taxable-row .row-sub{color:var(--ink);opacity:.7}.mode-toggle{background:var(--stat-bg);border:1px solid var(--border);border-radius:10px;gap:0;margin:0 0 16px;padding:4px;display:inline-flex}.mode-btn{color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:7px;flex-direction:column;flex:1;align-items:flex-start;min-width:180px;padding:8px 16px;font-family:inherit;font-size:14px;font-weight:500;transition:background .15s,color .15s;display:flex}.mode-btn:hover{color:var(--ink)}.mode-btn.active{background:var(--card);color:var(--ink);box-shadow:0 1px 3px #00000014}.mode-btn .mode-sub{color:var(--muted);margin-top:2px;font-size:11px;font-weight:400}.scope-banner{background:var(--warn-bg);border:1px solid var(--warn-border);color:var(--warn-ink);border-radius:10px;margin:0 0 16px;padding:12px 14px;font-size:13px;line-height:1.55}.scope-banner.ok{background:var(--floor-neutral-bg);border-color:var(--floor-neutral-border);color:var(--floor-neutral-ink)}.card-title-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:8px;display:flex}.card-title-row h2{margin:0}.cgt-toggle{background:var(--stat-bg);border:1px solid var(--border);border-radius:10px;align-items:center;gap:0;padding:4px;display:inline-flex}.cgt-toggle-label{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;padding:0 10px 0 6px;font-size:12px;font-weight:600}.cgt-toggle-btn{color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:7px;padding:6px 14px;font-family:inherit;font-size:13px;font-weight:500;transition:background .15s,color .15s}.cgt-toggle-btn:hover{color:var(--ink)}.cgt-toggle-btn.active{background:var(--card);color:var(--ink);box-shadow:0 1px 3px #00000014}.results-table thead th.subhead{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);border-top:1px dashed var(--border);padding-top:6px;padding-bottom:6px;font-size:11px;font-weight:600}.results-table .expand-toggle{font:inherit;color:inherit;cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:6px;margin:0;padding:0;display:inline-flex}.results-table .expand-toggle:hover{color:var(--accent)}.results-table .expand-chevron{width:12px;color:var(--muted);font-size:11px;display:inline-block}.results-table .expandable-row td{background:var(--stat-bg)}.results-table .detail-row td:first-child{color:var(--muted);padding-left:32px;font-size:13px}.results-table .detail-row td{background:var(--stat-bg);border-bottom:1px dashed var(--border)}.results-table .span-row td.span-cell{text-align:center}.results-table .label-hint{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;margin-left:8px;font-size:11px;font-weight:400;display:inline-block}.results-table .refund-amount{color:#047857;font-weight:600}:root[data-theme=dark] .results-table .refund-amount{color:#34d399}.results-table .tax-status{text-transform:uppercase;letter-spacing:.05em;vertical-align:middle;border-radius:4px;margin-left:8px;padding:2px 8px;font-size:11px;font-weight:600;display:inline-block}.results-table .tax-status.refund{color:#065f46;background:#d1fae5}.results-table .tax-status.debt{color:#991b1b;background:#fee2e2}:root[data-theme=dark] .results-table .tax-status.refund{color:#6ee7b7;background:#34d3992e}:root[data-theme=dark] .results-table .tax-status.debt{color:#fca5a5;background:#f871712e}
