:root{--color-bg:#f1f5f9;--color-bg-image:none;--color-surface:#fff;--color-surface-alt:#f8fafc;--color-primary:#2563eb;--color-primary-dark:#1d4ed8;--color-primary-light:#eff6ff;--color-on-primary:#fff;--color-accent:#2563eb;--color-heading:#0f172a;--color-text:#1e293b;--color-muted:#64748b;--color-faint:#94a3b8;--color-border:#e2e8f0;--color-border-strong:#cbd5e1;--color-positive:#15803d;--color-negative:#dc2626;--bvr-buy:var(--color-primary);--bvr-rent:#b45309;--header-bg:#0f172a;--header-image:linear-gradient(135deg, #0f172a 0%, #1e3a5f 100%);--header-title:#fff;--header-title-font:var(--font-sans);--header-title-size:1.5rem;--header-shadow:0 2px 8px #0000004d;--logo-fill:#fff;--logo-accent:#93c5fd;--header-radius:0;--header-margin:0;--header-rule:none;--badge-bg:#ffffff14;--badge-text:#94a3b8;--nav-link:#cbd5e1;--nav-link-hover-bg:#ffffff14;--nav-link-hover:#fff;--nav-active-bg:var(--color-primary);--nav-active-text:#fff;--nav-radius:100px;--nav-underline:transparent;--card-bg:var(--color-surface);--card-border:1px solid var(--color-border);--card-radius:14px;--card-shadow:0 4px 12px #00000014, 0 2px 4px #0000000a;--card-padding:2rem;--card-padding-mobile:1.25rem 1rem;--card-gap:1.75rem;--card-accent:none;--title-font:var(--font-sans);--title-size:1.15rem;--title-weight:700;--title-transform:none;--title-spacing:-.01em;--title-color:var(--color-heading);--title-rule:2px solid var(--color-border);--title-bar-width:4px;--title-bar-color:var(--color-primary);--title-bar-radius:2px;--field-label-size:.875rem;--field-label-weight:500;--field-label-transform:none;--field-label-spacing:normal;--field-label-color:var(--color-muted);--input-bg:var(--color-surface);--input-border:1.5px solid var(--color-border);--input-radius:6px;--input-height:42px;--input-align:center;--input-padding:0 .85em;--input-font:var(--font-sans);--input-weight:500;--input-color:var(--color-text);--input-focus-border:1.5px solid var(--color-primary);--focus-ring:0 0 0 3px #2563eb1f;--check-size:20px;--check-bg:var(--color-surface);--check-border:1.5px solid var(--color-border-strong);--check-radius:5px;--thead-bg:var(--color-primary);--thead-text:#fff;--thead-size:.8rem;--thead-weight:600;--thead-transform:uppercase;--thead-spacing:.04em;--thead-rule:none;--thead-radius:6px;--row-rule:1px solid var(--color-border);--row-zebra:#f8fafc;--row-hover:var(--color-primary-light);--cell-padding:.55em 1em;--cell-padding-tight:.55em .7em;--numeric-font:var(--font-sans);--numeric-weight:400;--button-radius:6px;--radius-menu:12px;--font-sans:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-serif:"Lora", Georgia, "Times New Roman", serif;--font-mono:"JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace}*{box-sizing:border-box}.App{min-height:100vh;font-size:1rem;overflow-x:hidden}.App-header{background:var(--header-bg);background-image:var(--header-image);box-shadow:var(--header-shadow);border-radius:var(--header-radius);margin:var(--header-margin);border-bottom:var(--header-rule);padding:1.5rem 2rem}.App-header__inner{align-items:baseline;gap:.75rem;max-width:1360px;margin:0 auto;display:flex}.App-logo{flex-shrink:0;align-self:center;width:2rem;height:2rem;margin-right:-.15rem}.Logo__kept{fill:var(--logo-fill)}.Logo__slice{fill:var(--logo-accent)}.App-header__title{font-family:var(--header-title-font);font-size:var(--header-title-size);color:var(--header-title);letter-spacing:-.02em;margin:0;font-weight:700}.App-header__year{color:var(--badge-text);background:var(--badge-bg);white-space:nowrap;border-radius:100px;padding:.2em .6em;font-size:.875rem;font-weight:500}.App-nav{flex-wrap:wrap;gap:.4rem;max-width:1360px;margin:1rem auto 0;display:flex}.App-nav__link{color:var(--nav-link);border-radius:var(--nav-radius);border:1px solid #0000;border-bottom-width:2px;padding:.4em 1.1em;font-size:.875rem;font-weight:600;text-decoration:none;transition:background .15s,color .15s,border-color .15s}.App-nav__link:hover{background:var(--nav-link-hover-bg);color:var(--nav-link-hover)}.App-nav__link.is-active{background:var(--nav-active-bg);color:var(--nav-active-text);border-bottom-color:var(--nav-underline)}.App-main{max-width:1360px;margin:0 auto;padding:2rem 1.5rem 4rem}.calculator-section{background:var(--card-bg);background-image:var(--card-accent);border-radius:var(--card-radius);box-shadow:var(--card-shadow);border:var(--card-border);padding:var(--card-padding);margin-bottom:var(--card-gap)}.section-title{font-family:var(--title-font);font-size:var(--title-size);font-weight:var(--title-weight);text-transform:var(--title-transform);color:var(--title-color);letter-spacing:var(--title-spacing);border-bottom:var(--title-rule);align-items:center;gap:.5rem;margin:0 0 1.5rem;padding-bottom:.75rem;display:flex}.section-title:before{content:"";width:var(--title-bar-width);background:var(--title-bar-color);border-radius:var(--title-bar-radius);flex-shrink:0;height:1.1em;display:inline-block}.section-intro{color:var(--color-muted);max-width:62ch;margin:-.5rem 0 1.5rem;font-size:.9rem;line-height:1.55}.field-grid{grid-template-columns:repeat(auto-fit,minmax(13.5rem,1fr));align-items:end;gap:.75rem 1.25rem;max-width:46rem;margin:0 auto;display:grid}.field-grid--narrow{max-width:22rem}.field-grid>.field-grid__full{grid-column:1/-1}.field{min-width:0}.field__label,.contractor-input label{width:100%;font-size:var(--field-label-size);font-weight:var(--field-label-weight);text-transform:var(--field-label-transform);letter-spacing:var(--field-label-spacing);color:var(--field-label-color);background-color:#0000;margin:0 0 .35em;padding:0;display:block}input[type=number],input[type=text]{width:100%;height:var(--input-height);padding:var(--input-padding);font-size:1rem;font-family:var(--input-font);font-weight:var(--input-weight);border:var(--input-border);border-radius:var(--input-radius);text-align:var(--input-align);background:var(--input-bg);color:var(--input-color);margin:0;transition:border-color .15s,box-shadow .15s,background .15s;display:block}input[type=number]:focus,input[type=text]:focus{border:var(--input-focus-border);box-shadow:var(--focus-ring);outline:none}.field__hint,.contractor-input__hint{color:var(--color-faint);margin-top:.3em;font-size:.75rem;line-height:1.35;display:block}.field__hint--warning{color:var(--color-negative)}.advanced-options__toggle{color:var(--color-primary);cursor:pointer;font-family:var(--font-sans);background:0 0;border:none;padding:.25em 0;font-size:.85rem;font-weight:600}.advanced-options__toggle:hover{text-decoration:underline}.advanced-options .field-grid{margin:.5rem 0 0}[data-theme] .icheckbox_square-blue{vertical-align:middle;cursor:pointer;width:var(--check-size);height:var(--check-size);border:var(--check-border);border-radius:var(--check-radius);flex-shrink:0;margin:0;padding:0;transition:background .15s,border-color .15s,box-shadow .15s;display:inline-block;position:relative;background:var(--check-bg) none!important}[data-theme] .icheckbox_square-blue:after{content:"";border:2px solid #0000;border-width:0 2px 2px 0;width:.3em;height:.6em;margin:-.36em 0 0 -.16em;transition:border-color .12s;position:absolute;top:46%;left:50%;transform:rotate(43deg)}.icheckbox__input{opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute;inset:0}[data-theme] .icheckbox_square-blue.hover{border-color:var(--color-primary)}[data-theme] .icheckbox_square-blue.focus{box-shadow:var(--focus-ring)}[data-theme] .icheckbox_square-blue.checked{border-color:var(--color-primary);background:var(--color-primary) none!important}[data-theme] .icheckbox_square-blue.checked:after{border-color:var(--color-on-primary)}.checkbox-row label,.studentLoanStatusInputs label,.remember-inputs-toggle label{width:auto;color:var(--color-text);cursor:pointer;align-items:center;gap:.6em;margin:0;padding:0;font-size:.875rem;font-weight:500;display:flex}.studentLoanStatusInputs{flex-flow:wrap;align-items:center;gap:.75em 1.75em;margin-top:.25em;display:flex}.earnedIncomeTablesContainer{flex-direction:column;align-items:stretch;gap:1em;width:fit-content;margin:0 auto;display:flex}.earnedIncomeTablesContainer table{margin-bottom:.5em}.centerTable{margin-left:auto;margin-right:auto}.earnedIncomeTable{border-collapse:collapse;background:0 0;width:auto;font-size:.9rem}.earnedIncomeTable thead tr{background:var(--thead-bg)}.earnedIncomeTable thead th{color:var(--thead-text);font-weight:var(--thead-weight);font-size:var(--thead-size);letter-spacing:var(--thead-spacing);text-transform:var(--thead-transform);padding:var(--cell-padding);text-align:left;white-space:nowrap;border-bottom:var(--thead-rule)}.earnedIncomeTable thead th:first-child{border-radius:var(--thead-radius) 0 0 0}.earnedIncomeTable thead th:last-child{border-radius:0 var(--thead-radius) 0 0}.earnedIncomeTable td{padding:var(--cell-padding);border-bottom:var(--row-rule);color:var(--color-text);white-space:nowrap}.earnedIncomeTable tbody tr:last-child td{border-bottom:none}.earnedIncomeTable tbody tr:nth-child(2n){background:var(--row-zebra)}.earnedIncomeTable tbody tr:hover{background:var(--row-hover);transition:background .1s}.earnedIncomeTable td:first-child{color:var(--color-muted);font-size:.85rem;font-weight:500}.earnedIncomeTable td+td,.earnedIncomeTable th+th{text-align:right;width:7em}.earnedIncomeTable td+td{font-family:var(--numeric-font);font-weight:var(--numeric-weight);font-variant-numeric:tabular-nums}.earnedIncomeTable thead th+th{text-align:right}.contractor-inputs{grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));align-items:start;gap:.75rem 1.25rem;display:grid}@media screen and (width>=42.01em){.contractor-inputs .contractor-input>label{align-items:flex-end;min-height:2.5em;display:flex}}.contractor-inputs--range{border-top:1px solid var(--color-border);margin-top:1.25rem;padding-top:1.25rem}.contractor-input{min-width:0}.contractor-loans{border-top:1px solid var(--color-border);justify-content:flex-start;margin-top:1.25em;padding-top:1.25em}.contractor-billable{color:var(--color-muted);margin:1em 0 0;font-size:.875rem}.contractor-billable strong{color:var(--color-text);font-variant-numeric:tabular-nums}.contractorTableScroll{-webkit-overflow-scrolling:touch;overflow-x:auto}.contractorTable{width:100%}.contractorTable thead th{text-align:right;vertical-align:bottom}.contractorTable thead th:first-child{text-align:left}.contractorTable--matrix thead th,.contractorTable--matrix td{padding-left:.7em;padding-right:.7em}.contractorTable--matrix thead th{letter-spacing:.02em;font-size:.72rem}.contractorTable--matrix{width:auto}.contractorTable__group{text-align:center!important}.contractorTable td+td{font-variant-numeric:tabular-nums;width:auto;min-width:5em}.contractorTable--matrix td:first-child{color:var(--color-text);font-size:.9rem;font-weight:600;font-family:var(--numeric-font)}.contractorTable--card{width:100%}.contractorTable__equivalent{font-weight:600;color:var(--color-primary)!important}.contractorTable__diff{font-weight:600}.contractorTable__diff--positive{color:var(--color-positive)!important}.contractorTable__diff--negative{color:var(--color-negative)!important}.salaryTable td:first-child{color:var(--color-text);font-weight:var(--numeric-weight);font-size:.9rem;font-family:var(--numeric-font);font-variant-numeric:tabular-nums;text-align:right}.salaryTable thead tr+tr th:first-child{text-align:right}.salaryTable__delta{color:var(--color-muted)!important}@media screen and (width<=42em){.salaryTable td+td,.salaryTable th+th{width:auto}}.property-inputs{max-width:46rem}.property-status{border-top:1px solid var(--color-border);margin-top:1.25em;padding-top:1.25em}.propertyTables{flex-direction:column;gap:2rem;width:100%;display:flex}.propertyTable__caption{margin-bottom:.6rem}.propertyTable__price{font-family:var(--numeric-font);color:var(--color-text);margin:0;font-size:1.15rem;font-weight:700}.propertyTable__sdlt{color:var(--color-muted);font-variant-numeric:tabular-nums;margin:.2em 0 0;font-size:.8125rem}.propertyTable__note{color:var(--color-faint)}.propertyTable{width:100%}.propertyTable td:first-child{font-variant-numeric:tabular-nums;font-weight:600}.propertyTable__return{font-weight:600}.propertyTable__share{font-weight:600;color:var(--color-primary)!important}.property-source{color:var(--color-faint);max-width:62ch;margin:.6rem 0 0;font-size:.75rem;line-height:1.45}.property-actions{flex-flow:wrap;gap:.5rem .75rem;margin-top:1em;display:flex}.property-share{margin:1.25rem 0 0}.property-footer{flex-flow:wrap;justify-content:space-between;align-items:center;gap:.75rem 1.25rem;display:flex}.pill-button{border:var(--input-border);border-radius:var(--button-radius);color:var(--color-primary);cursor:pointer;font-family:var(--font-sans);background:0 0;padding:.45em 1.1em;font-size:.8125rem;font-weight:600;transition:border-color .15s,background .15s,color .15s}.pill-button:hover:enabled{border-color:var(--color-primary);background:var(--color-surface-alt)}.pill-button:focus{box-shadow:var(--focus-ring);outline:none}.pill-button:disabled{color:var(--color-faint);cursor:default}.propertyTable__sub{color:var(--color-faint);margin-top:.15em;font-size:.75em;font-weight:400;display:block}.propertyTable--narrow{width:100%;font-size:clamp(.72rem,3.4vw,.9rem)}.propertyTable--narrow thead th,.propertyTable--narrow td,.propertyTable--narrow td:first-child{padding:.5em .4em;font-size:1em}.propertyTable--narrow td+td,.propertyTable--narrow th+th{width:auto;min-width:0}.propertyTable--narrow thead th{white-space:normal}.propertyTable--narrow .propertyTable__sub{font-size:.78em}.bvr-group__title{max-width:46rem;color:var(--color-heading);margin:0 auto .9rem;font-size:.95rem;font-weight:600}.bvr-group__note{max-width:46rem;color:var(--color-muted);margin:-.7rem auto .9rem;font-size:.8rem;line-height:1.5}.bvr-group+.bvr-group{border-top:1px solid var(--color-border);margin-top:1.75rem;padding-top:1.5rem}.bvr-inputs .field-grid{grid-template-columns:repeat(auto-fill,minmax(14rem,1fr));align-items:start}.bvr-inputs .field__label{align-items:flex-end;min-height:2.7em;line-height:1.3;display:flex}.bvr-status__sdlt{color:var(--color-muted);font-variant-numeric:tabular-nums;font-size:.8125rem}.bvr-inputs .property-actions{max-width:46rem;margin:1.5rem auto 0}.bvr-title{max-width:46rem;margin:0 auto 1.75rem}.bvr-title__input{text-align:left;font-size:1.05rem;font-weight:600}.bvr-share{border-top:1px solid var(--color-border);max-width:46rem;margin:1.75rem auto 0;padding-top:1.5rem}.bvr-share__row{flex-flow:wrap;align-items:center;gap:.5rem .75rem;display:flex}.bvr-share__url{min-width:0;font-family:var(--font-mono);text-align:left;color:var(--color-muted);flex:18rem;font-size:.8rem}.bvr-share__button{height:var(--input-height);flex:none}.bvr-verdict__headline{margin:0;font-size:1.35rem;font-weight:700;line-height:1.35}.bvr-verdict__detail{max-width:68ch;color:var(--color-muted);margin:.6em 0 0;font-size:.9rem;line-height:1.6}.bvr-figures{grid-template-columns:repeat(auto-fit,minmax(13rem,1fr));gap:1.1rem 1.75rem;margin:1.9rem 0 0;display:grid}.bvr-figure{border-top:2px solid var(--color-border);min-width:0;padding-top:.8rem}.bvr-figure__label{font-size:var(--field-label-size);color:var(--color-muted);margin:0 0 .35em;font-weight:600}.bvr-figure__value{font-family:var(--numeric-font);color:var(--color-text);font-variant-numeric:tabular-nums;margin:0;font-size:1.2rem;font-weight:700}.bvr-figure__note{font-family:var(--font-sans);color:var(--color-faint);margin-top:.4em;font-size:.75rem;font-weight:400;line-height:1.45;display:block}.bvr-chart{margin:2rem 0 0}.bvr-chart__svg{width:100%;height:auto;display:block}.bvr-chart__grid{stroke:var(--color-border);stroke-width:1px}.bvr-chart__grid--zero{stroke:var(--color-border-strong);stroke-width:1.5px}.bvr-chart__label{fill:var(--color-faint);font-family:var(--font-sans);font-size:13px}.bvr-chart__label--y{text-anchor:end}.bvr-chart__label--x{text-anchor:middle}.bvr-chart__label--axis,.bvr-chart__label--crossing{font-size:12px}.bvr-chart__label--axis{text-anchor:end}.bvr-chart__label--crossing{fill:var(--color-muted)}.bvr-chart__band{fill:var(--color-primary);opacity:.08}.bvr-chart__line{fill:none;stroke-width:2.5px;stroke-linejoin:round;stroke-linecap:round}.bvr-chart__line--buy{stroke:var(--bvr-buy)}.bvr-chart__line--rent{stroke:var(--bvr-rent)}.bvr-chart__crossing{stroke:var(--color-border-strong);stroke-width:1.5px;stroke-dasharray:5 5}.bvr-chart__svg--narrow .bvr-chart__label{font-size:22px}.bvr-chart__svg--narrow .bvr-chart__label--axis,.bvr-chart__svg--narrow .bvr-chart__label--crossing{font-size:20px}.bvr-chart__svg--narrow .bvr-chart__line{stroke-width:4px}.bvr-chart__svg--narrow .bvr-chart__grid,.bvr-chart__svg--narrow .bvr-chart__crossing{stroke-width:2px}.bvr-chart__legend{flex-flow:wrap;align-items:baseline;gap:.35rem 1.25rem;margin:.9rem 0 0;font-size:.8rem;display:flex}.bvr-chart__key{align-items:center;gap:.45em;font-weight:600;display:inline-flex}.bvr-chart__key:before{content:"";background:currentColor;border-radius:2px;width:1.15rem;height:3px}.bvr-chart__key--buy{color:var(--bvr-buy)}.bvr-chart__key--rent{color:var(--bvr-rent)}.bvr-chart__key-note{color:var(--color-faint)}.bvr-years td:first-child{font-variant-numeric:tabular-nums;font-weight:600}.bvr-years__difference{font-weight:600}.assumptions{max-width:78ch;margin:0;padding-left:1.2em}.assumptions li{color:var(--color-muted);margin-bottom:.85em;font-size:.875rem;line-height:1.6}.assumptions li:last-child{margin-bottom:0}.assumptions strong{color:var(--color-text)}.salaryOutputsCharts{flex-flow:wrap;justify-content:center;gap:1rem;max-width:750px;margin:1.5em auto 0;display:flex}.taxpie{box-sizing:content-box;width:330px;max-width:100%;margin-left:auto;margin-right:auto}@media (width<=26em){.taxpie{width:260px}}.taxpie__title{text-align:center;letter-spacing:.06em;text-transform:uppercase;color:var(--color-muted);margin:0 0 .25em;font-size:.8rem;font-weight:600}.taxpie__legend{grid-template-columns:repeat(2,auto);justify-content:center;gap:.15em .6em;margin:.4em auto .75em;padding:0;list-style:none;display:grid}.taxpie__key{font:inherit;color:var(--color-text);cursor:pointer;background:0 0;border:0;align-items:center;gap:.35em;padding:0;font-size:12px;display:inline-flex}.taxpie__key[aria-pressed=false]{color:var(--color-muted)}.taxpie__key:focus-visible{box-shadow:var(--focus-ring);border-radius:4px;outline:none}.taxpie__swatch{box-sizing:border-box;border:1.5px solid;border-radius:50%;width:11px;height:11px}.taxpie__svg{width:220px;max-width:100%;height:auto;margin:0 auto;display:block;overflow:visible}@media (width<=26em){.taxpie__svg{width:170px}}.taxpie__slice path,.taxpie__slice circle{stroke:var(--card-bg);stroke-width:2px;transform-box:view-box;transform-origin:50%;transition:transform .15s}.taxpie__slice:hover path,.taxpie__slice:hover circle{transform:scale(1.03)}.taxpie__empty{fill:var(--color-border)}.taxpie__label{fill:#0f172a;pointer-events:none;font-size:12px;font-weight:600}@media (width<=26em){.taxpie__label{font-size:15px}}.salaryinputs{margin-left:auto;margin-right:auto}.salaryOutputsText{margin:1.75em auto 0}.comparison-inputs{grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));gap:1.5rem;max-width:60rem;margin:0 auto 1.75rem;display:grid}.comparison-column{position:relative}.comparison-handle{border-radius:var(--button-radius);width:2rem;height:2rem;color:var(--color-faint);cursor:grab;touch-action:none;background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:flex;position:absolute;top:0;right:0}[data-theme=aurora] .comparison-handle,[data-theme=slate] .comparison-handle{top:.5rem;right:.5rem}.comparison-handle svg{fill:currentColor}.comparison-handle:hover{color:var(--color-primary);background:var(--color-surface-alt)}.comparison-handle:focus{box-shadow:var(--focus-ring);outline:none}.comparison-column .field:first-of-type .field__label{padding-right:2.25rem}.comparison-inputs--dragging,.comparison-inputs--dragging *{-webkit-user-select:none;user-select:none;cursor:grabbing!important}.comparison-column--dragging{opacity:.6;outline:2px dashed var(--color-primary);outline-offset:4px}.comparison-column .field+.field{margin-top:.75em}.comparison-add{flex-wrap:wrap;justify-content:center;gap:.5rem;margin:-.5rem 0 1.75rem;display:flex}.comparison-note{text-align:center;color:var(--color-faint);margin:0 0 .75em;font-size:.85rem}.comparison-diff{margin-top:.15em;font-size:.75em;display:block}.comparisonTable td:first-child{white-space:normal;min-width:8em;max-width:16em;font-weight:600}.comparisonMiniTable thead th{white-space:normal;overflow-wrap:anywhere;text-align:right;border-radius:var(--thead-radius) var(--thead-radius) 0 0}.comparison-empty{text-align:center;color:var(--color-faint);margin:0;font-size:.9rem}.comparison-diff--positive{font-weight:600;color:var(--color-positive)!important}.comparison-diff--negative{font-weight:600;color:var(--color-negative)!important}.remember-inputs-toggle{border-top:1px solid var(--color-border);max-width:34rem;margin:1.5em auto 0;padding-top:1.25em}.remember-inputs-toggle label{color:var(--color-muted);align-items:flex-start;font-size:.85rem;font-weight:400;line-height:1.5}.remember-inputs-toggle .icheckbox_square-blue{margin-top:.1em}.cookie-banner{background:var(--header-bg);background-image:var(--header-image);color:#e2e8f0;z-index:1000;justify-content:center;align-items:center;gap:1em;padding:.9em 1.5em;font-size:.875rem;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -2px 12px #00000040}.cookie-banner p{text-align:left;color:#cbd5e1;flex:1;margin:0}.cookie-banner button{cursor:pointer;font-size:.875rem;font-family:var(--font-sans);background:var(--color-primary);color:var(--color-on-primary);border-radius:var(--button-radius);white-space:nowrap;border:none;padding:.45em 1.25em;font-weight:600;transition:background .15s}.cookie-banner button:hover{background:var(--color-primary-dark)}.tax-breakdown{text-align:center;margin-top:1.5em}.tax-breakdown__toggle{border:var(--input-border);border-radius:var(--button-radius);color:var(--color-primary);cursor:pointer;font-family:var(--font-sans);background:0 0;padding:.5em 1.25em;font-size:.85rem;font-weight:600;transition:border-color .15s,background .15s,color .15s}.tax-breakdown__toggle:hover{background:var(--color-primary-light);border-color:var(--color-primary)}.tax-breakdown__pension-note{color:var(--color-muted);text-align:center;margin:.75em 0 0;font-size:.8rem}.tax-breakdown__content{text-align:left;flex-wrap:wrap;justify-content:center;gap:1.75em;margin-top:1.25em;display:flex}.tax-breakdown__section{min-width:260px}.tax-breakdown__heading{color:var(--color-heading);margin:0 0 .4em;font-size:.875rem;font-weight:600}.tax-breakdown__note{color:var(--color-muted);margin:0 0 .5em;font-size:.8rem}.tax-breakdown__table{border-collapse:collapse;width:100%;font-size:.85rem}.tax-breakdown__table th{background:var(--thead-bg);color:var(--thead-text);font-size:.78rem;font-weight:var(--thead-weight);letter-spacing:var(--thead-spacing);text-align:left;text-transform:var(--thead-transform);white-space:nowrap;border-bottom:var(--thead-rule);padding:.4em .75em}.tax-breakdown__table th:first-child{border-radius:var(--thead-radius) 0 0 0}.tax-breakdown__table th:last-child{border-radius:0 var(--thead-radius) 0 0}.tax-breakdown__table th:not(:first-child),.tax-breakdown__table td:not(:first-child){text-align:right}.tax-breakdown__table td{border-bottom:var(--row-rule);color:var(--color-text);white-space:nowrap;padding:.45em .75em}.tax-breakdown__table td:not(:first-child){font-family:var(--numeric-font);font-variant-numeric:tabular-nums}.tax-breakdown__table tbody tr:nth-child(2n){background:var(--row-zebra)}.tax-breakdown__table tfoot td{background:var(--color-primary-light);border-bottom:none;border-top:2px solid var(--color-border);font-weight:600}.tax-breakdown__rate-list{margin:0}.tax-breakdown__rate-list>div{border-bottom:var(--row-rule);justify-content:space-between;align-items:baseline;gap:2em;padding:.35em 0;font-size:.875rem;display:flex}.tax-breakdown__rate-list>div:last-child{border-bottom:none;font-weight:600}.tax-breakdown__rate-list dt{color:var(--color-muted)}.tax-breakdown__rate-list dd{color:var(--color-text);font-family:var(--numeric-font);font-variant-numeric:tabular-nums;margin:0;font-weight:500}.further-reading{border-top:1px solid var(--color-border);color:var(--color-muted);text-align:center;margin-top:2.5em;padding-top:1.5em;font-size:.875rem}.further-reading__link{color:var(--color-primary);font-weight:600;text-decoration:none}.further-reading__link:hover,.further-reading__link:focus{text-decoration:underline}.further-reading__hint{color:var(--color-faint);margin-top:.25em;font-size:.8rem;display:block}.offline-note{color:var(--color-faint);text-align:center;margin-top:1em;font-size:.8rem}.hideme{visibility:hidden;height:0}@media screen and (width<=30em){.App-header__title{font-size:1.1rem}.App-header__year{padding:.15em .45em;font-size:.72rem}.App-logo{width:1.7rem;height:1.7rem}}@media screen and (width<=24em){.propertyTable__scroll{margin-left:-.9rem;margin-right:-.9rem}}@media screen and (width<=42em){.App-header{padding:1.2rem 1rem}.App-main{padding:1rem .75rem 6rem}.calculator-section{padding:var(--card-padding-mobile)}.field-grid,.contractor-inputs{grid-template-columns:1fr}.earnedIncomeTablesContainer,.earnedIncomeTablesContainer .earnedIncomeTable{width:100%}.App-nav{margin-top:.85rem}.App-nav__link{padding:.4em .7em}.contractor-loans{flex-direction:column;align-items:flex-start;gap:.6em}.contractorTable--card td+td{width:6em;min-width:0}.contractorTable--card thead th,.contractorTable--card td{padding-left:.5em;padding-right:.5em}.tax-breakdown__content{flex-direction:column}.tax-breakdown__section{min-width:0}.comparison-inputs{grid-template-columns:1fr;gap:1.25rem}.bvr-group__title,.bvr-group__note,.bvr-title,.bvr-share,.bvr-inputs .property-actions{max-width:none}.bvr-inputs .field-grid{grid-template-columns:1fr}.bvr-inputs .field__label{min-height:0}.bvr-verdict__headline{font-size:1.15rem}.bvr-figures{grid-template-columns:1fr 1fr;gap:.9rem 1rem}.bvr-figure__value{font-size:1.05rem}.bvr-years thead th,.bvr-years td{padding:var(--cell-padding-tight);font-size:.8125rem}}[data-theme=aurora]{--color-bg:#f5f6fc;--color-surface:#fff;--color-surface-alt:#f8f9fe;--color-bg-image:radial-gradient(60rem 32rem at 15% -8%, #7c3aed24, transparent 60%), radial-gradient(52rem 30rem at 92% 4%, #38bdf829, transparent 60%);--color-primary:#5b58e8;--color-primary-dark:#4a46d6;--color-primary-light:#eef0fe;--color-on-primary:#fff;--color-accent:#9333ea;--color-heading:#14142b;--color-text:#2f3049;--color-muted:#6f7192;--color-faint:#a3a5c0;--color-border:#ebecf7;--color-border-strong:#dcdef0;--color-positive:#059669;--color-negative:#e11d48;--header-bg:#5b58e8;--header-image:linear-gradient(115deg, #4f46e5 0%, #7c3aed 52%, #a855f7 100%);--header-title:#fff;--header-title-size:1.55rem;--header-shadow:0 18px 40px -18px #4f46e5a6;--logo-fill:#fff;--logo-accent:#a5f3fc;--header-radius:24px;--header-margin:1rem 1rem 0;--badge-bg:#ffffff2e;--badge-text:#fff;--nav-link:#ffffffd1;--nav-link-hover-bg:#ffffff29;--nav-link-hover:#fff;--nav-active-bg:#fff;--nav-active-text:#4f46e5;--nav-radius:100px;--card-border:1px solid transparent;--card-radius:22px;--card-shadow:0 16px 40px -24px #29256a59, 0 2px 6px #29256a0a;--card-padding:2.25rem 2.25rem 2rem;--card-padding-mobile:1.5rem 1.15rem;--card-gap:1.5rem;--title-size:1.3rem;--title-weight:700;--title-spacing:-.02em;--title-rule:none;--title-bar-width:6px;--title-bar-radius:100px;--field-label-size:.82rem;--field-label-weight:600;--field-label-color:var(--color-muted);--input-bg:#f4f5fc;--input-border:1.5px solid transparent;--input-radius:14px;--input-height:50px;--input-align:left;--input-padding:0 1.1em;--input-weight:600;--input-focus-border:1.5px solid var(--color-primary);--focus-ring:0 0 0 4px #5b58e829;--check-size:21px;--check-radius:7px;--check-border:2px solid var(--color-border-strong);--thead-bg:var(--color-primary-light);--thead-text:var(--color-primary-dark);--thead-size:.72rem;--thead-weight:700;--thead-spacing:.07em;--thead-radius:14px;--row-rule:1px solid var(--color-border);--row-zebra:transparent;--row-hover:#f7f7ff;--cell-padding:.8em 1.1em;--numeric-weight:500;--button-radius:100px;--radius-menu:16px}[data-theme=aurora] .App-main{padding-top:1.75rem}[data-theme=aurora] .App-header__title{letter-spacing:-.03em}[data-theme=aurora] .App-nav__link.is-active{box-shadow:0 4px 12px -4px #00000059}[data-theme=aurora] .section-title:before{background:linear-gradient(#6366f1,#a855f7);height:1.25em}[data-theme=aurora] .earnedIncomeTable tbody tr:last-child td:first-child{border-radius:0 0 0 14px}[data-theme=aurora] .earnedIncomeTable tbody tr:last-child td:last-child{border-radius:0 0 14px}[data-theme=aurora] .earnedIncomeTable thead th{border-bottom:none}[data-theme=aurora] .earnedIncomeTable td:first-child{color:var(--color-text);font-weight:600}[data-theme=aurora] .contractorTable__group{color:#7e22ce;background:#9333ea1a;border-radius:10px 10px 0 0}[data-theme=aurora] .contractorTableScroll{border-radius:16px}[data-theme=aurora] .tax-breakdown__toggle{background:var(--color-primary-light);border-color:#0000;padding:.65em 1.5em}[data-theme=aurora] .tax-breakdown__table tfoot td{background:var(--color-primary-light);border-top:none}[data-theme=aurora] .taxpie{background:var(--color-surface-alt);border-radius:20px;padding:1rem .5rem .5rem}[data-theme=aurora] .comparison-column{background:var(--color-surface-alt);border-radius:18px;padding:1.25rem}[data-theme=aurora] .cookie-banner{border-radius:18px;bottom:1rem;left:1rem;right:1rem}[data-theme=aurora] .theme-picker__button{color:#fff;background:#ffffff29;border-color:#0000}[data-theme=aurora] .theme-picker__button:hover{background:#ffffff42}@media screen and (width<=42em){[data-theme=aurora]{--header-radius:18px;--header-margin:.6rem .6rem 0;--card-radius:18px}}[data-theme=ledger]{--color-bg:#f4f1ea;--color-surface:#fffdf8;--color-surface-alt:#f7f4ed;--color-primary:#1b4965;--color-primary-dark:#12324a;--color-primary-light:#e9eff4;--color-on-primary:#fffdf8;--color-accent:#9a6b2f;--color-heading:#0f1f2e;--color-text:#23394d;--color-muted:#6b7885;--color-faint:#98a3ae;--color-border:#e2dbcd;--color-border-strong:#c8bda7;--color-positive:#1a6b3c;--color-negative:#9b2c2c;--header-bg:#12293c;--header-image:none;--header-title:#fdfaf3;--header-title-font:var(--font-serif);--header-title-size:1.6rem;--header-shadow:none;--logo-fill:#fdfaf3;--logo-accent:#c79b52;--header-rule:3px solid var(--color-accent);--badge-bg:transparent;--badge-text:#b9a887;--nav-link:#b6c4d2;--nav-link-hover-bg:transparent;--nav-link-hover:#fdfaf3;--nav-active-bg:transparent;--nav-active-text:#fdfaf3;--nav-radius:0;--nav-underline:var(--color-accent);--card-border:1px solid var(--color-border-strong);--card-radius:3px;--card-shadow:none;--card-padding:2rem 2.25rem;--card-padding-mobile:1.35rem 1.1rem;--card-gap:1.5rem;--title-font:var(--font-serif);--title-size:1.35rem;--title-weight:600;--title-spacing:0;--title-rule:1px solid var(--color-border-strong);--title-bar-width:0;--field-label-size:.7rem;--field-label-weight:700;--field-label-transform:uppercase;--field-label-spacing:.09em;--field-label-color:var(--color-muted);--input-bg:transparent;--input-border:1px solid var(--color-border-strong);--input-radius:0;--input-height:40px;--input-align:right;--input-padding:0 .6em;--input-weight:600;--input-focus-border:1px solid var(--color-primary);--focus-ring:0 0 0 3px #1b49651a;--check-radius:2px;--check-size:19px;--check-border:1px solid var(--color-border-strong);--thead-bg:transparent;--thead-text:var(--color-heading);--thead-size:.68rem;--thead-weight:700;--thead-spacing:.1em;--thead-rule:2px solid var(--color-heading);--thead-radius:0;--row-rule:1px solid var(--color-border);--row-zebra:transparent;--row-hover:#f3efe6;--cell-padding:.5em 1em;--numeric-weight:500;--button-radius:2px;--radius-menu:3px}[data-theme=ledger] .calculator-section{border-left:3px solid var(--color-accent)}[data-theme=ledger] .section-title:before{display:none}[data-theme=ledger] .section-title{border-bottom-style:double;border-bottom-width:3px;padding-bottom:.5rem}[data-theme=ledger] .App-nav{border-top:1px solid #ffffff1f;gap:1.5rem;padding-top:.85rem}[data-theme=ledger] .App-nav__link{text-transform:uppercase;letter-spacing:.11em;padding:.2em 0;font-size:.78rem;font-weight:700}[data-theme=ledger] .App-header__year{font-family:var(--font-serif);padding:0;font-size:.95rem;font-style:italic}[data-theme=ledger] .earnedIncomeTable tbody tr:last-child td,[data-theme=ledger] .contractorTable tbody tr:last-child td{border-bottom:none}[data-theme=ledger] .earnedIncomeTable tbody tr:hover{background:var(--row-hover)}[data-theme=ledger] .earnedIncomeTable td:first-child{color:var(--color-text);font-weight:600}[data-theme=ledger] .contractorTable__group{border-left:1px solid var(--color-border-strong);border-right:1px solid var(--color-border-strong);font-style:italic;font-family:var(--font-serif);text-transform:none;letter-spacing:0;font-size:.8rem}[data-theme=ledger] .tax-breakdown__table tfoot td{border-top:3px double var(--color-heading);background:0 0}[data-theme=ledger] .tax-breakdown__toggle{text-transform:uppercase;letter-spacing:.09em;font-size:.72rem;font-weight:700}[data-theme=ledger] .taxpie__title{font-family:var(--font-serif);letter-spacing:0;text-transform:none;color:var(--color-heading);font-size:1rem;font-weight:600}[data-theme=ledger] .theme-picker__button{letter-spacing:.1em;text-transform:uppercase;background:0 0;border-color:#ffffff38;border-radius:2px;font-size:.72rem;font-weight:700}[data-theme=ledger] .theme-picker__option-name{font-family:var(--font-serif);font-size:.95rem}[data-theme=ledger] .theme-swatch{border-radius:2px}[data-theme=slate]{--color-bg:#0a0f1b;--color-bg-image:radial-gradient(48rem 26rem at 50% -6rem, #38bdf817, transparent 70%);--color-surface:#101b2d;--color-surface-alt:#15223a;--color-primary:#38bdf8;--color-primary-dark:#0ea5e9;--color-primary-light:#38bdf81f;--color-on-primary:#06121f;--color-accent:#a78bfa;--color-heading:#f1f5f9;--color-text:#dbe4f0;--color-muted:#8fa3bd;--color-faint:#64809f;--color-border:#1d2c46;--color-border-strong:#2c4062;--color-positive:#34d399;--color-negative:#fb7185;--bvr-rent:#fbbf24;--header-bg:#060b15;--header-image:none;--header-title:#f8fafc;--header-title-size:1.4rem;--header-shadow:none;--logo-fill:#e2e8f0;--logo-accent:#38bdf8;--header-rule:1px solid var(--color-border);--badge-bg:#38bdf81f;--badge-text:#7dd3fc;--nav-link:#8fa3bd;--nav-link-hover-bg:transparent;--nav-link-hover:#f1f5f9;--nav-active-bg:transparent;--nav-active-text:#38bdf8;--nav-radius:0;--nav-underline:var(--color-primary);--card-bg:var(--color-surface);--card-border:1px solid var(--color-border);--card-radius:10px;--card-shadow:0 1px 0 #ffffff08 inset, 0 12px 32px -20px #000000e6;--card-padding:1.6rem 1.75rem;--card-padding-mobile:1.15rem .9rem;--card-gap:1.25rem;--title-font:var(--font-mono);--title-size:.82rem;--title-weight:600;--title-transform:uppercase;--title-spacing:.14em;--title-color:var(--color-primary);--title-rule:1px solid var(--color-border);--title-bar-width:3px;--title-bar-color:var(--color-primary);--title-bar-radius:0;--field-label-size:.7rem;--field-label-weight:600;--field-label-transform:uppercase;--field-label-spacing:.08em;--field-label-color:var(--color-muted);--input-bg:#0a1322;--input-border:1px solid var(--color-border-strong);--input-radius:6px;--input-height:40px;--input-align:right;--input-padding:0 .75em;--input-font:var(--font-mono);--input-weight:500;--input-color:var(--color-heading);--input-focus-border:1px solid var(--color-primary);--focus-ring:0 0 0 3px #38bdf82e;--check-size:18px;--check-bg:#0a1322;--check-border:1px solid var(--color-border-strong);--check-radius:4px;--thead-bg:transparent;--thead-text:var(--color-primary);--thead-size:.68rem;--thead-weight:600;--thead-spacing:.1em;--thead-rule:1px solid var(--color-border-strong);--thead-radius:0;--row-rule:1px solid var(--color-border);--row-zebra:var(--color-surface-alt);--row-hover:#38bdf817;--cell-padding:.42em .9em;--numeric-font:var(--font-mono);--numeric-weight:400;--button-radius:6px;--radius-menu:8px}[data-theme=slate] .App-header{border-top:2px solid var(--color-primary)}[data-theme=slate] .App-header__title{font-weight:600}[data-theme=slate] .App-nav{border-top:1px solid var(--color-border);gap:0;padding-top:.5rem}[data-theme=slate] .App-nav__link{font-family:var(--font-mono);letter-spacing:.02em;padding:.5em 1.1em;font-size:.78rem;font-weight:500}[data-theme=slate] .App-header__year{font-family:var(--font-mono);font-size:.75rem}[data-theme=slate] .earnedIncomeTable thead th{padding-top:.3em}[data-theme=slate] .earnedIncomeTable td:first-child,[data-theme=slate] .tax-breakdown__rate-list dt{color:var(--color-muted)}[data-theme=slate] .contractorTable__group{color:var(--color-accent);border-left:1px solid var(--color-border);border-right:1px solid var(--color-border)}[data-theme=slate] .contractor-billable strong{font-family:var(--font-mono)}[data-theme=slate] .tax-breakdown__toggle{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;font-size:.75rem}[data-theme=slate] .tax-breakdown__table tfoot td{background:var(--color-primary-light);border-top:1px solid var(--color-border-strong)}[data-theme=slate] .taxpie__title{font-family:var(--font-mono);color:var(--color-primary)}[data-theme=slate] .taxpie__slice path,[data-theme=slate] .taxpie__slice circle{stroke:var(--color-surface)}[data-theme=slate] .cookie-banner{border-top:1px solid var(--color-border)}[data-theme=slate] .cookie-banner button{font-family:var(--font-mono);color:var(--color-on-primary)}[data-theme=slate] .comparison-column{border:1px solid var(--color-border);background:#0c1524;border-radius:8px;padding:1.1rem}[data-theme=slate] .theme-picker__button{border-color:var(--color-border-strong);font-family:var(--font-mono);background:#38bdf81a;border-radius:4px;font-size:.72rem;font-weight:500}[data-theme=slate] .theme-picker__button:hover{background:#38bdf833}[data-theme=slate] .theme-picker__option-name{font-family:var(--font-mono);font-size:.8rem}[data-theme=slate] .theme-swatch{border-radius:3px}.theme-picker{flex-shrink:0;align-self:center;margin-left:auto;position:relative}.theme-picker__button{color:var(--nav-link);cursor:pointer;font-family:var(--font-sans);background:#ffffff14;border:1px solid #ffffff2e;border-radius:100px;align-items:center;gap:.5em;padding:.35em .7em;font-size:.8rem;font-weight:600;line-height:1;transition:background .15s,color .15s,border-color .15s;display:flex}.theme-picker__button:hover{color:var(--nav-link-hover);background:#ffffff29}.theme-picker__button:focus-visible{outline-offset:2px;outline:2px solid #ffffffb3}.theme-picker__caret{opacity:.75;border-top:5px solid;border-left:4px solid #0000;border-right:4px solid #0000;width:0;height:0}.theme-swatch{border:1px solid #7f7f7f73;border-radius:6px;flex-shrink:0;align-items:stretch;gap:2px;width:22px;height:22px;padding:3px;display:flex}.theme-swatch span{border-radius:2px;flex:1;display:block}.theme-picker__menu{z-index:900;border:1px solid var(--color-border-strong);border-radius:var(--radius-menu,12px);background:var(--color-surface);min-width:14rem;padding:.35rem;position:absolute;top:calc(100% + .6rem);right:0;box-shadow:0 16px 40px -16px #00000073,0 2px 6px #00000014}.theme-picker__option{width:100%;color:var(--color-text);cursor:pointer;font-family:var(--font-sans);text-align:left;background:0 0;border:1px solid #0000;border-radius:9px;align-items:center;gap:.6rem;padding:.5rem .55rem;transition:background .15s,border-color .15s;display:flex}.theme-picker__option:hover{background:var(--color-primary-light)}.theme-picker__option.is-active{border-color:var(--color-primary);background:var(--color-primary-light)}.theme-picker__option:focus-visible{outline:2px solid var(--color-primary);outline-offset:-1px}.theme-picker__label{flex:1;min-width:0}.theme-picker__option-name{color:var(--color-heading);font-size:.85rem;font-weight:600;display:block}.theme-picker__blurb{color:var(--color-muted);margin-top:.1em;font-size:.72rem;display:block}.theme-picker__tick{width:1em;color:var(--color-primary);flex-shrink:0;font-weight:700}@media screen and (width<=30em){.theme-picker__name{display:none}.theme-picker__button{padding:.35em .55em}}html{scrollbar-gutter:stable}body{font-family:var(--font-sans);background-color:var(--color-bg);background-image:var(--color-bg-image);color:var(--color-text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-attachment:fixed;margin:0;padding:0}
