:root{--plum: #532c5f;--navy: #0a2540;--sand: #e9d7c3;--secondary-2: #f2f1ee;--mint: var(--secondary-2);--white: #ffffff;--slate-800: #1f2937;--slate-700: #334155;--slate-600: #475569;--slate-500: #64748b;--slate-400: #94a3b8;--help-icon: #74855c;--help-icon-hover: #5f6e4b;--help-icon-active: #4e5b3e;--sand-soft: rgba(233, 215, 195, .4);--sand-border: rgba(233, 215, 195, .7);--sand-border-strong: rgba(233, 215, 195, .85);--mint-soft: rgba(242, 241, 238, .45);--mint-border: rgba(242, 241, 238, .75);--shadow-soft: 0 4px 14px rgba(10, 37, 64, .06);--danger-bg: #fef2f2;--danger-border: #fecaca;--danger-text: #991b1b;--warning-bg: #fffbeb;--warning-border: #fde68a;--warning-text: #78350f;--fs-2xs: .6875rem;--fs-xs: .75rem;--fs-sm: .875rem;--fs-base: 1rem;--fs-lg: 1.125rem;--fs-xl: 1.25rem;--fs-display: 2rem;--fs-brand: 1.25rem;--sp-0: 0;--sp-1: .25rem;--sp-2: .5rem;--sp-3: .75rem;--sp-4: 1rem;--sp-5: 1.25rem;--sp-6: 1.5rem;--sp-7: 2rem;--sp-8: 2.5rem;--sp-neg-2: -.5rem;--sp-neg-4: -1rem;--radius-2xs: .25rem;--radius-xs: .5rem;--radius-sm: .625rem;--radius-md: .75rem;--radius-lg: .875rem;--radius-xl: 1rem;--radius-pill: 999px;--border-sand: 1px solid var(--sand-border);--border-sand-soft: 1px solid rgba(233, 215, 195, .6);--border-sand-mid: 1px solid rgba(233, 215, 195, .72);--border-sand-strong: 1px solid rgba(233, 215, 195, .9);--border-sand-row: 1px solid rgba(233, 215, 195, .56);--border-plum-soft: 1px solid rgba(83, 44, 95, .35);--border-plum-soft-color: rgba(83, 44, 95, .35);--border-plum-focus-color: rgba(83, 44, 95, .7);--border-sand-highlight-color: rgba(233, 215, 195, .9);--border-mint: 1px solid var(--mint-border);--border-danger: 1px solid var(--danger-border);--border-warning: 1px solid var(--warning-border);--border-kpi-highlight: 1px solid rgba(242, 241, 238, .85);--border-transparent: 1px solid transparent;--text-on-primary: var(--white);--danger-text-strong: #b91c1c;--surface-white-soft: rgba(255, 255, 255, .85);--surface-sand-soft: rgba(233, 215, 195, .32);--surface-sand-strong: rgba(233, 215, 195, .7);--surface-mint-soft: rgba(242, 241, 238, .45);--surface-mint-62: rgba(242, 241, 238, .62);--surface-mint-70: rgba(242, 241, 238, .7);--surface-mint-80: rgba(242, 241, 238, .8);--surface-mint-90: rgba(242, 241, 238, .9);--surface-mint-92: rgba(242, 241, 238, .92);--surface-plum-05: rgba(83, 44, 95, .05);--surface-plum-06: rgba(83, 44, 95, .06);--surface-plum-92: rgba(83, 44, 95, .92);--surface-sand-30: rgba(233, 215, 195, .3);--focus-outline-color: rgba(83, 44, 95, .28);--focus-ring-soft: rgba(83, 44, 95, .18);--focus-ring: rgba(83, 44, 95, .2);--motion-duration-ui: .14s;--motion-ease-standard: ease;--size-layout-max: 72rem;--size-intro-max: 40rem;--size-intro-wide-max: 48rem;--size-loan-toggle-min: 8.75rem;--size-radio-control: 1rem;--size-insight-dot: .5rem;--size-icon-button: 2rem;--layout-col-loan-left: 1.1fr;--layout-col-loan-right: 1.4fr;--layout-col-derving-left: 1fr;--layout-col-derving-right: 1.3fr}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0}body.page{min-height:100vh;background:var(--sand-soft);color:var(--navy);font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:var(--fs-base);line-height:1.45;-webkit-font-smoothing:antialiased}h1,h2,h3,p{margin:0}a{color:inherit}.layout-shell{max-width:var(--size-layout-max);margin:0 auto;padding:var(--sp-6) var(--sp-4) var(--sp-8);display:flex;flex-direction:column;gap:var(--sp-7)}.page-header{display:flex;flex-direction:column;gap:var(--sp-3)}.header-top-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--sp-3)}.brand-line{display:inline-flex;align-items:baseline;gap:var(--sp-2)}.language-switch{display:inline-flex;align-items:center;gap:var(--sp-2)}.language-switch-label{color:var(--slate-600);font-size:var(--fs-xs);font-weight:600;letter-spacing:.04em;text-transform:uppercase}.language-select{border:var(--border-sand);border-radius:var(--radius-sm);background:var(--white);color:var(--navy);font-size:var(--fs-xs);font-weight:500;line-height:1.2;padding:var(--sp-1) var(--sp-2)}.language-select:focus{outline:none;border-color:var(--border-plum-focus-color);box-shadow:0 0 0 2px var(--focus-ring-soft)}.brand-badge{display:inline-flex;align-items:center;justify-content:center;padding:var(--sp-2) var(--sp-5);border-radius:var(--radius-pill);background:var(--plum);color:var(--white);font-family:Spectral,ui-serif,Georgia,serif;font-style:italic;letter-spacing:.03em;font-size:var(--fs-brand);line-height:1}.brand-badge-small{font-size:var(--fs-base);padding:var(--sp-2) var(--sp-4)}.brand-subtitle{color:var(--slate-500);font-size:var(--fs-sm)}.header-main-row{display:flex;flex-direction:column;gap:var(--sp-3)}.header-main-row-bottom{gap:var(--sp-2)}.page-title{color:var(--navy);font-weight:600;letter-spacing:-.02em;font-size:var(--fs-display);line-height:1.12}.page-intro{max-width:var(--size-intro-max);font-size:var(--fs-sm);color:var(--slate-600)}.page-intro-wide{max-width:var(--size-intro-wide-max);margin-top:var(--sp-1)}.text-emphasis{font-weight:600}.back-link{display:inline-flex;align-items:center;gap:var(--sp-2);color:var(--plum);font-size:var(--fs-sm);text-decoration:none}.back-link:hover{text-decoration:underline}.scenario-bar{display:flex;flex-wrap:wrap;gap:var(--sp-2)}.scenario-chip{display:inline-flex;align-items:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-3);border-radius:var(--radius-pill);border:var(--border-plum-soft);background:var(--surface-white-soft);color:var(--plum);font-size:var(--fs-xs);box-shadow:var(--shadow-soft);cursor:pointer;transition:background-color var(--motion-duration-ui) var(--motion-ease-standard),border-color var(--motion-duration-ui) var(--motion-ease-standard)}.scenario-chip:hover{border-color:var(--plum);background:var(--surface-plum-06)}.scenario-chip-icon{font-size:var(--fs-base);line-height:1}.two-column-layout{display:grid;gap:var(--sp-6)}.card{background:var(--white);border:var(--border-sand);border-radius:var(--radius-xl);box-shadow:var(--shadow-soft);padding:var(--sp-5)}.section-title{font-size:var(--fs-lg);font-weight:600;color:var(--navy)}.form-stack{margin-top:var(--sp-5);display:flex;flex-direction:column;gap:var(--sp-5)}.compact-gap{gap:var(--sp-4)}.field-block{display:flex;flex-direction:column;gap:var(--sp-1)}.field-label{display:block;color:var(--slate-700);font-size:var(--fs-sm);font-weight:500}.field-label-small{font-size:var(--fs-xs)}.field-head{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-2)}.help-toggle{flex:0 0 auto;display:inline-block;border:0;background:transparent;color:var(--help-icon);font-size:var(--fs-base);font-weight:400;line-height:1;padding:var(--sp-0);cursor:pointer;transition:color var(--motion-duration-ui) var(--motion-ease-standard),transform var(--motion-duration-ui) var(--motion-ease-standard)}.help-toggle i{display:block;line-height:1}.help-toggle:hover{color:var(--help-icon-hover);transform:translateY(-1px)}.help-toggle[aria-expanded=true]{color:var(--help-icon-active)}.help-toggle:focus-visible{outline:2px solid var(--focus-outline-color);outline-offset:2px;border-radius:var(--radius-2xs)}.field-help-panel{margin-top:var(--sp-1);border:var(--border-mint);background:var(--mint-soft);border-radius:var(--radius-sm);color:var(--slate-600);font-size:var(--fs-xs);line-height:1.35;padding:var(--sp-2) var(--sp-3)}.field-input-inline{display:flex;align-items:center;gap:var(--sp-2)}.field-input-inline .field-input{flex:1 1 auto;min-width:0}.amount-step-row{display:none;flex-wrap:nowrap;gap:var(--sp-1);flex:0 0 auto}.amount-step-btn{border:var(--border-sand-strong);border-radius:var(--radius-pill);background:var(--white);color:var(--slate-700);font-size:var(--fs-xs);font-weight:500;line-height:1;padding:var(--sp-1) var(--sp-2);cursor:pointer;transition:border-color var(--motion-duration-ui) var(--motion-ease-standard),color var(--motion-duration-ui) var(--motion-ease-standard),background-color var(--motion-duration-ui) var(--motion-ease-standard)}.amount-step-btn:hover{border-color:var(--border-plum-soft-color);color:var(--plum);background:var(--surface-mint-90)}.amount-step-btn:focus-visible{outline:2px solid var(--focus-outline-color);outline-offset:1px}.field-input{width:100%;border:var(--border-sand);border-radius:var(--radius-md);padding:var(--sp-2) var(--sp-3);color:var(--navy);background:var(--white);font-size:var(--fs-sm);line-height:1.3;transition:border-color var(--motion-duration-ui) var(--motion-ease-standard),box-shadow var(--motion-duration-ui) var(--motion-ease-standard)}.field-input:focus{outline:none;border-color:var(--border-plum-focus-color);box-shadow:0 0 0 2px var(--focus-ring)}.two-col-grid{display:grid;gap:var(--sp-4)}.group-box{border:var(--border-sand);border-radius:var(--radius-lg);padding:var(--sp-4);display:flex;flex-direction:column;gap:var(--sp-3)}.group-legend{padding:var(--sp-0) var(--sp-2);font-size:var(--fs-xs);font-weight:600;color:var(--slate-500);letter-spacing:.05em;text-transform:uppercase}.group-help{font-size:var(--fs-xs);color:var(--slate-500)}.loan-types-toggle-wrap{display:flex;justify-content:flex-start}.loan-types-toggle-btn{min-width:var(--size-loan-toggle-min);width:100%;justify-content:flex-start;text-align:left;white-space:normal}.loan-types-close-row{display:flex;justify-content:flex-end;margin-top:var(--sp-1)}.hint-text{font-size:var(--fs-xs);color:var(--slate-500)}.note-box{margin-top:var(--sp-1);border:var(--border-mint);background:var(--mint-soft);border-radius:var(--radius-md);color:var(--slate-600);font-size:var(--fs-xs);padding:var(--sp-2) var(--sp-3)}.warning-note{border:var(--border-danger);background:var(--danger-bg);color:var(--danger-text);border-radius:var(--radius-md);font-size:var(--fs-xs);padding:var(--sp-2) var(--sp-3)}.is-hidden{display:none!important}.weights-grid{display:grid;gap:var(--sp-3)}.radio-stack{display:flex;flex-direction:column;gap:var(--sp-2);color:var(--slate-700);font-size:var(--fs-sm)}.radio-option{display:inline-flex;align-items:center;gap:var(--sp-2)}.radio-input{width:var(--size-radio-control);height:var(--size-radio-control);accent-color:var(--plum)}.actions-row{margin-top:var(--sp-1);display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-2)}.actions-row-loan{flex-direction:column;justify-content:center;align-items:center}.actions-row-loan .history-actions{justify-content:center}.btn{display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-pill);border:var(--border-transparent);padding:var(--sp-2) var(--sp-4);font-weight:600;cursor:pointer;text-decoration:none;font-size:var(--fs-sm);line-height:1.1;transition:background-color var(--motion-duration-ui) var(--motion-ease-standard),border-color var(--motion-duration-ui) var(--motion-ease-standard),color var(--motion-duration-ui) var(--motion-ease-standard),opacity var(--motion-duration-ui) var(--motion-ease-standard)}.btn:disabled{opacity:.4;cursor:not-allowed}.btn-primary{background:var(--plum);color:var(--text-on-primary);box-shadow:var(--shadow-soft)}.btn-primary:hover{background:var(--surface-plum-92)}#calculateBtn.btn-primary{color:var(--mint)}.btn-outline{border-color:var(--border-plum-soft-color);color:var(--plum);background:var(--white)}.btn-outline:hover{background:var(--surface-plum-05)}.btn-history{border-color:var(--sand-border-strong);background:var(--white);color:var(--slate-700);font-weight:500}.btn-history:hover{background:var(--surface-sand-30)}.btn-danger{border-color:var(--danger-border);background:var(--danger-bg);color:var(--danger-text-strong)}.btn-small{padding:var(--sp-2) var(--sp-3);font-size:var(--fs-xs)}.icon-leading{margin-right:var(--sp-1)}.history-actions{display:flex;flex-wrap:wrap;gap:var(--sp-2);color:var(--slate-600);font-size:var(--fs-xs)}.results-column{display:flex;flex-direction:column;gap:var(--sp-4);align-self:start}#messages:empty,#warnings:empty{display:none}.alert{border-radius:var(--radius-xl);padding:var(--sp-3) var(--sp-4);box-shadow:var(--shadow-soft)}.alert-warning{border:var(--border-warning);background:var(--warning-bg);color:var(--warning-text);font-size:var(--fs-xs)}.alert-error{border:var(--border-danger);background:var(--danger-bg);color:var(--danger-text);font-size:var(--fs-sm)}.alert-title{margin-bottom:var(--sp-1);font-weight:600}.alert-list{margin:0;padding-left:var(--sp-5);display:flex;flex-direction:column;gap:var(--sp-1)}.result-overview-card,.result-table-card,.result-card{display:flex;flex-direction:column;gap:var(--sp-3)}.result-summary-card+.result-overview-card{margin-top:var(--sp-4)}.overview-stack{display:flex;flex-direction:column;gap:var(--sp-3)}.overview-mini-card{border:var(--border-sand-mid);border-radius:var(--radius-lg);background:var(--white);padding:var(--sp-3) var(--sp-4)}.overview-mini-card-highlight{background:var(--surface-mint-80);border-color:var(--border-sand-highlight-color)}.input-split-grid{display:grid;gap:var(--sp-3)}.table-caption{color:var(--slate-600);font-size:var(--fs-xs);font-weight:600;margin-bottom:var(--sp-2)}.metric-list{display:flex;flex-direction:column}.metric-row{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--sp-3);padding:var(--sp-1) var(--sp-0)}.metric-row+.metric-row{border-top:var(--border-sand-row)}.metric-row-multi{align-items:flex-start}.metric-row-highlight{background:var(--surface-mint-92);border-radius:var(--radius-xs);margin-left:var(--sp-neg-2);margin-right:var(--sp-neg-2);padding-left:var(--sp-2);padding-right:var(--sp-2)}.metric-label{color:var(--slate-600);font-size:var(--fs-xs);font-weight:500;line-height:1.3}.metric-value{color:var(--navy);font-size:var(--fs-sm);font-weight:600;line-height:1.3;text-align:right}.metric-value-block{display:flex;flex-direction:column;align-items:flex-end;gap:var(--sp-1)}.metric-subvalue{color:var(--slate-500);font-size:var(--fs-xs);font-weight:500;text-align:right}.overview-empty{margin:0;color:var(--slate-500);font-size:var(--fs-xs);line-height:1.35}.insight-pill{margin-top:var(--sp-3);display:inline-flex;align-items:center;gap:var(--sp-2);border-radius:var(--radius-pill);background:var(--surface-mint-70);color:var(--navy);padding:var(--sp-1) var(--sp-3);font-size:var(--fs-xs);font-weight:500}.insight-dot{width:var(--size-insight-dot);height:var(--size-insight-dot);border-radius:var(--radius-pill);background:var(--plum)}.disclaimer-block{margin-top:var(--sp-2);padding-top:var(--sp-3);border-top:var(--border-sand-soft)}.disclaimer-text{color:var(--slate-500);font-size:var(--fs-2xs);line-height:1.35;font-style:italic}.export-actions{margin-top:var(--sp-3);display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-3)}.export-note{color:var(--slate-500);font-size:var(--fs-2xs)}.schedule-actions-card{padding-top:var(--sp-4);padding-bottom:var(--sp-4)}.schedule-actions-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:var(--sp-3)}.schedule-view-btn.is-active{border-color:var(--plum);background:var(--plum);color:var(--text-on-primary)}.table-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--sp-3)}.table-heading-stack{display:flex;flex-direction:column;gap:var(--sp-1)}.table-title{font-size:var(--fs-sm);color:var(--navy);font-weight:600}.table-subtitle{font-size:var(--fs-xs);color:var(--slate-500)}.table-scroll{overflow-x:auto;margin-left:var(--sp-neg-4);margin-right:var(--sp-neg-4)}.bordered-scroll{margin:0;border:var(--border-sand-soft);border-radius:var(--radius-lg)}.data-table{width:100%;min-width:100%;border-collapse:collapse;background:var(--white);border:var(--border-sand-soft)}.data-table thead{background:var(--surface-sand-strong);color:var(--slate-700);text-transform:uppercase;letter-spacing:.04em}.data-table th,.data-table td{padding:var(--sp-2) var(--sp-3)}.data-table tbody tr+tr{border-top:var(--border-sand-soft)}.data-table-short,.data-table-detailed,.data-table-derving{font-size:var(--fs-xs)}.col-head-left,.cell-left{text-align:left}.col-head-right,.cell-right{text-align:right}.cell-left{color:var(--slate-700)}.cell-right{color:var(--slate-800)}.cell-strong{font-weight:600}.notice-box{margin-top:var(--sp-1);border:var(--border-mint);border-radius:var(--radius-md);background:var(--surface-mint-62);color:var(--navy);padding:var(--sp-3) var(--sp-4);font-size:var(--fs-xs);box-shadow:var(--shadow-soft)}.schedule-section{margin-top:var(--sp-2);display:flex;flex-direction:column;gap:var(--sp-3)}.schedule-collapse-btn{min-width:auto;width:var(--size-icon-button);height:var(--size-icon-button);padding:var(--sp-0)}.schedule-collapse-btn i{font-size:var(--fs-base)}.footer-link{color:var(--slate-400);font-size:var(--fs-xs);text-decoration:underline}.card-heading-row{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--sp-3)}.mvp-tag{display:inline-flex;align-items:center;gap:var(--sp-1);font-size:var(--fs-xs);color:var(--slate-500)}.muted-inline{display:inline-flex;align-items:center;gap:var(--sp-1);color:var(--slate-500);font-size:var(--fs-xs)}.kpi-grid{display:grid;gap:var(--sp-3)}.kpi-card{border-radius:var(--radius-lg);background:var(--surface-sand-soft);padding:var(--sp-3) var(--sp-4)}.kpi-card-highlight{background:var(--surface-mint-soft);border:var(--border-kpi-highlight)}.kpi-label{font-size:var(--fs-2xs);color:var(--slate-500)}.kpi-label-highlight{color:var(--slate-600)}.kpi-value{font-size:var(--fs-lg);font-weight:600;color:var(--navy);margin-top:var(--sp-1)}.result-formula{color:var(--slate-600);font-size:var(--fs-xs)}.mini-actions{display:flex;gap:var(--sp-2)}.placeholder-cell{padding:var(--sp-3);color:var(--slate-500);text-align:left}.footnote-text{color:var(--slate-500);font-size:var(--fs-2xs)}@media(min-width:640px){.layout-shell{padding:var(--sp-8) var(--sp-6)}.header-main-row{flex-direction:row;align-items:center;justify-content:space-between}.header-main-row-bottom{align-items:flex-end}.scenario-bar{gap:var(--sp-3)}.card{padding:var(--sp-6)}.two-col-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.weights-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.table-scroll{margin-left:var(--sp-0);margin-right:var(--sp-0)}}@media(min-width:768px){.input-split-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.kpi-grid-derving{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:1024px){.layout-shell{padding-left:var(--sp-7);padding-right:var(--sp-7)}.two-column-layout{grid-template-columns:minmax(0,var(--layout-col-loan-left)) minmax(0,var(--layout-col-loan-right));align-items:start;gap:var(--sp-7)}.derving-layout{grid-template-columns:minmax(0,var(--layout-col-derving-left)) minmax(0,var(--layout-col-derving-right))}}
