.calc-head{padding-block:var(--space-8) var(--space-6)}.calc-head h1{margin-bottom:var(--space-3)}.calc-head .lead{margin:0}.calc{display:grid;gap:var(--space-6);align-items:start}@media (min-width: 980px){.calc{grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:var(--space-8)}}.calc-panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg)}.calc-panel-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-5) var(--space-6);border-bottom:1px solid var(--color-border)}.calc-panel-head h2{margin:0;font-family:var(--font-sans);font-size:var(--fs-md);font-weight:650;letter-spacing:0}.calc-panel-body{padding:var(--space-6)}@media (max-width: 480px){.calc-panel-body,.calc-panel-head{padding-inline:var(--space-4)}}.calc-field+.calc-field{margin-top:var(--space-6)}.calc-field .label-row{margin-bottom:var(--space-2)}.calc-field .amount-words{font-size:var(--fs-xs);color:var(--color-accent-ink);font-weight:600;min-height:1.2em}.calc-field .range{margin-top:var(--space-3)}.tenure-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--space-3);align-items:stretch}.tenure-row .segmented{height:100%}.results{position:sticky;top:calc(var(--header-h) + 1rem)}@media (max-width: 979.98px){.results{position:static}}.result-hero{background:var(--color-primary);color:var(--color-background);border-radius:var(--radius-lg) var(--radius-lg) 0 0;padding:var(--space-6)}.result-hero .label{color:var(--color-secondary-light);font-weight:500;font-size:var(--fs-sm)}.result-emi{display:block;font-size:clamp(2.25rem,1.8rem + 2vw,3.25rem);font-weight:700;letter-spacing:-.025em;line-height:1.05;margin:var(--space-2) 0 var(--space-2);color:var(--color-background)}.result-hero .sub{font-size:var(--fs-sm);color:var(--color-secondary-light);margin:0}.result-hero .sub strong{color:var(--color-accent);font-weight:600}.result-body{padding:var(--space-6);display:grid;gap:var(--space-6)}@media (min-width: 560px){.result-body{grid-template-columns:180px minmax(0,1fr);align-items:center}}.result-list{margin:0;display:grid;gap:0}.result-row{display:flex;justify-content:space-between;align-items:baseline;gap:var(--space-4);padding:var(--space-3) 0;border-bottom:1px solid var(--color-border)}.result-row:last-child{border-bottom:0}.result-row dt{display:flex;align-items:center;gap:var(--space-2);color:var(--color-muted);font-size:var(--fs-sm)}.result-row dd{margin:0;font-weight:650;color:var(--color-primary);font-size:var(--fs-md);text-align:right}.result-row.is-total dt{color:var(--color-primary);font-weight:600}.result-row.is-total dd{font-size:var(--fs-lg)}.swatch{width:12px;height:12px;border-radius:3px;flex:none}.swatch-principal{background:var(--chart-principal)}.swatch-interest{background:var(--chart-interest)}.swatch-interest{background-image:repeating-linear-gradient(45deg,rgba(30,59,47,.28) 0 2px,transparent 2px 5px)}.calc-invalid .result-hero,.calc-invalid .result-body{opacity:.55}.calc-error-summary{margin:var(--space-4) var(--space-6) 0}.donut{position:relative;width:180px;max-width:100%;margin-inline:auto}.donut svg{width:100%;height:auto;transform:rotate(-90deg)}.donut circle{fill:none;stroke-width:22}.donut .donut-track{stroke:var(--color-secondary-50)}.donut .donut-principal{stroke:var(--chart-principal);transition:stroke-dasharray .4s var(--ease)}.donut .donut-interest{stroke:var(--chart-interest);transition:stroke-dasharray .4s var(--ease),stroke-dashoffset .4s var(--ease)}.donut-center{position:absolute;inset:0;display:grid;place-content:center;text-align:center}.donut-center strong{font-size:1.5rem;color:var(--color-primary);line-height:1;font-variant-numeric:tabular-nums}.donut-center span{font-size:var(--fs-xs);color:var(--color-muted);margin-top:4px}.chart-legend{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-2) var(--space-5);margin-top:var(--space-3);font-size:var(--fs-xs);color:var(--color-muted)}.chart-legend span{display:inline-flex;align-items:center;gap:var(--space-2)}.result-actions{display:flex;flex-wrap:wrap;gap:var(--space-2);padding:0 var(--space-6) var(--space-6)}.bars{display:grid;gap:var(--space-3)}.bars-plot{display:flex;align-items:flex-end;gap:3px;height:160px;padding-top:var(--space-2);border-bottom:1px solid var(--color-border-strong)}.bars-col{flex:1 1 0;min-width:2px;display:flex;flex-direction:column-reverse;height:100%}.bars-col span{display:block;width:100%}.bars-col .b-principal{background:var(--chart-principal)}.bars-col .b-interest{background:var(--chart-interest);background-image:repeating-linear-gradient(45deg,rgba(30,59,47,.22) 0 2px,transparent 2px 5px)}.bars-col .b-prepay{background:var(--color-primary)}.bars-axis{display:flex;justify-content:space-between;font-size:var(--fs-xs);color:var(--color-muted)}.calc-section{margin-top:var(--space-10)}.calc-section>h2{font-size:var(--fs-2xl);margin-bottom:var(--space-2)}.calc-section>.section-intro{color:var(--color-muted);max-width:70ch;margin-bottom:var(--space-6)}.prepay-grid{display:grid;gap:var(--space-6);align-items:start}@media (min-width: 980px){.prepay-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:var(--space-8)}}.prepay-item{border:1px solid var(--color-border);border-radius:var(--radius);padding:var(--space-5);background:var(--color-surface-muted)}.prepay-item+.prepay-item{margin-top:var(--space-4)}.prepay-item-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-4)}.prepay-item-head h3{font-size:var(--fs-base);margin:0;font-family:var(--font-sans)}.prepay-fields{display:grid;gap:var(--space-4);align-items:start}.prepay-fields .field{align-content:start}@media (min-width: 520px){.prepay-fields{grid-template-columns:1fr 1fr}}.timing-row{display:grid;grid-template-columns:minmax(0,1fr) 118px;gap:var(--space-2)}.prepay-mode{margin-top:var(--space-6)}.prepay-mode legend{padding:0;margin-bottom:var(--space-3)}.prepay-mode fieldset,fieldset.prepay-mode{border:0;padding:0;margin-inline:0;min-width:0}.mode-options{display:grid;gap:var(--space-3)}@media (min-width: 520px){.mode-options{grid-template-columns:1fr 1fr}}.mode-option{position:relative}.mode-option input{position:absolute;opacity:0;pointer-events:none}.mode-option label{display:block;height:100%;padding:var(--space-4);border:1.5px solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-surface);cursor:pointer;transition:border-color var(--dur) var(--ease),background-color var(--dur) var(--ease)}.mode-option label strong{display:flex;align-items:center;gap:var(--space-2);color:var(--color-primary)}.mode-option label span{display:block;font-size:var(--fs-xs);color:var(--color-muted);margin-top:var(--space-1)}.mode-option label strong:before{content:"";width:18px;height:18px;flex:none;border-radius:50%;border:2px solid var(--color-secondary);background:var(--color-surface);box-shadow:inset 0 0 0 3px var(--color-surface)}.mode-option input:checked+label{border-color:var(--color-primary);background:var(--color-secondary-50)}.mode-option input:checked+label strong:before{border-color:var(--color-primary);background:var(--color-primary)}.mode-option input:focus-visible+label{outline:3px solid var(--color-accent);outline-offset:2px}.prepay-add{margin-top:var(--space-4)}.compare{display:grid;gap:0;border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden;background:var(--color-surface)}.compare-cols{display:grid;grid-template-columns:1fr 1fr}.compare-col{padding:var(--space-5) var(--space-6)}.compare-col+.compare-col{border-left:1px solid var(--color-border);background:var(--color-secondary-50)}@media (max-width: 480px){.compare-col{padding:var(--space-4)}}.compare-col h3{font-family:var(--font-sans);font-size:var(--fs-xs);letter-spacing:.1em;text-transform:uppercase;color:var(--color-secondary-ink);margin-bottom:var(--space-3)}.compare-col dl{margin:0;display:grid;gap:var(--space-3)}.compare-col dt{font-size:var(--fs-xs);color:var(--color-muted)}.compare-col dd{margin:0;font-weight:650;color:var(--color-primary);font-size:var(--fs-md);font-variant-numeric:tabular-nums}.compare-saving{background:var(--color-primary);color:var(--color-background);padding:var(--space-5) var(--space-6);display:grid;gap:var(--space-4)}@media (min-width: 560px){.compare-saving{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}}.compare-saving .label{color:var(--color-secondary-light);font-weight:500;font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.08em}.compare-saving .value{display:block;font-size:var(--fs-xl);font-weight:700;color:var(--color-accent);font-variant-numeric:tabular-nums;margin-top:2px}.compare-saving .value-sm{font-size:var(--fs-md);color:var(--color-background)}.compare-note{padding:var(--space-4) var(--space-6);font-size:var(--fs-sm);color:var(--color-muted);border-top:1px solid var(--color-border);margin:0}.compare-empty{padding:var(--space-8) var(--space-6);text-align:center;color:var(--color-muted)}.schedule-toolbar{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-4)}.schedule-toolbar .btn-row{display:flex;flex-wrap:wrap;gap:var(--space-2)}.tabs{display:inline-flex;gap:4px;padding:4px;background:var(--color-secondary-50);border:1px solid var(--color-secondary-100);border-radius:var(--radius-sm)}.tabs [role=tab]{min-height:40px;padding:0 var(--space-4);border:0;border-radius:5px;background:transparent;font-weight:600;font-size:var(--fs-sm);color:var(--color-secondary-ink)}.tabs [role=tab][aria-selected=true]{background:var(--color-primary);color:var(--color-background)}.tabs [role=tab]:disabled{opacity:.5;cursor:not-allowed}.tabs [role=tab]:focus-visible{outline:3px solid var(--color-accent);outline-offset:1px}.schedule-summary{display:grid;gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin-bottom:var(--space-4)}.schedule-summary div{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:var(--space-3) var(--space-4)}.schedule-summary span{display:block;font-size:var(--fs-xs);color:var(--color-muted)}.schedule-summary strong{color:var(--color-primary);font-variant-numeric:tabular-nums}.schedule{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);overflow:hidden}.year+.year{border-top:1px solid var(--color-border)}.year-heading{margin:0;font:inherit}.year-toggle{width:100%;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:var(--space-4);align-items:center;padding:var(--space-4) var(--space-5);border:0;background:var(--color-surface);text-align:left;color:var(--color-text);transition:background-color var(--dur) var(--ease)}.year-toggle:hover{background:var(--color-surface-muted)}.year-toggle:focus-visible{outline-offset:-3px}.year[data-open=true]>.year-heading .year-toggle{background:var(--color-secondary-50)}.year-label{display:grid;gap:2px;min-width:84px}.year-label strong{font-size:var(--fs-md);color:var(--color-primary)}.year-label small{font-size:var(--fs-xs);color:var(--color-muted)}.year-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-4);margin:0}.year-stats>span{min-width:0;display:grid}.year-stats .k{font-size:var(--fs-xs);color:var(--color-muted);white-space:nowrap}.year-stats .v{margin:0;font-weight:600;color:var(--color-primary);font-variant-numeric:tabular-nums;font-size:var(--fs-sm);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.year-label .badge{display:inline-flex}.year-chevron{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;border:1px solid var(--color-border);color:var(--color-primary);background:var(--color-surface)}.year-chevron .icon{width:18px;height:18px;transition:transform var(--dur) var(--ease)}.year[data-open=true] .year-chevron .icon{transform:rotate(90deg)}.year .badge{margin-top:4px;justify-self:start}@media (max-width: 759.98px){.year-toggle{grid-template-columns:minmax(0,1fr) auto;padding:var(--space-4)}.year-stats{grid-column:1 / -1;grid-row:2;grid-template-columns:1fr 1fr;gap:var(--space-2) var(--space-4)}.year-chevron{grid-column:2;grid-row:1}}.year-panel{display:grid;grid-template-rows:0fr;transition:grid-template-rows var(--dur) var(--ease)}.year[data-open=true]>.year-panel{grid-template-rows:1fr}.year-panel>.year-panel-inner{overflow:hidden;min-height:0}.year-panel[hidden]{display:none!important}.schedule-scroll{max-height:520px;overflow:auto;-webkit-overflow-scrolling:touch;border-top:1px solid var(--color-border);overscroll-behavior:contain}.schedule-table{width:100%;min-width:620px;font-size:var(--fs-sm);font-variant-numeric:tabular-nums}.schedule-table th,.schedule-table td{padding:var(--space-3) var(--space-4);text-align:right;white-space:nowrap;border-bottom:1px solid var(--color-border)}.schedule-table th:first-child,.schedule-table td:first-child{text-align:left}.schedule-table thead th{position:sticky;top:0;z-index:1;background:var(--color-surface-muted);font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--color-secondary-ink);font-weight:650;box-shadow:inset 0 -1px 0 var(--color-border)}.schedule-table tbody tr:last-child td{border-bottom:0}.schedule-table tbody tr:hover td{background:var(--color-surface-muted)}.schedule-table td.month-cell{font-weight:600;color:var(--color-primary)}.schedule-table tr.is-prepay td{background:var(--color-accent-100)}.schedule-table tr.is-prepay td.month-cell:after{content:none}.schedule-table .prepay-label{display:inline-flex;align-items:center;gap:4px;margin-left:var(--space-2)}.schedule-table tr.is-final td{font-weight:600}.schedule-note{font-size:var(--fs-xs);color:var(--color-muted);margin:var(--space-3) 0 0}.calc-disclaimer{font-size:var(--fs-sm);color:var(--color-muted);margin-top:var(--space-6)}.guide-layout{display:grid;gap:var(--space-10)}@media (min-width: 1040px){.guide-layout{grid-template-columns:minmax(0,1fr) 300px}}.guide-aside{display:grid;gap:var(--space-6);align-content:start}@media (min-width: 1040px){.guide-aside{position:sticky;top:calc(var(--header-h) + 1.5rem)}}.related-list{list-style:none;margin:0;padding:0;display:grid;gap:var(--space-1)}.related-list a,.related-list span{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);border-radius:var(--radius-sm);text-decoration:none;font-weight:500;font-size:var(--fs-sm)}.related-list a:hover{background:var(--color-secondary-50)}.related-list span{color:var(--color-muted)}.related-list .icon{color:var(--color-secondary)}@media print{.site-header,.site-footer,.ad-slot,.cookie-notice,.result-actions,.schedule-toolbar .btn-row,.guide-aside,.calc-panel:first-child{display:none!important}.year-panel{display:block!important;grid-template-rows:1fr!important}.schedule-scroll{max-height:none;overflow:visible}}
