@font-face{font-family:Plus Jakarta Sans;src:url(/mortgage-repayment-calculator/assets/PlusJakartaSans-VariableFont_wght-D_DSbd_K.ttf) format("truetype");font-weight:100 900;font-display:swap}:root{--color-lime: hsl(61, 70%, 52%);--color-lime-light: hsl(61, 70%, 60%);--color-red: hsl(4, 69%, 50%);--color-white: hsl(0, 0%, 100%);--color-slate-100: hsl(202, 86%, 94%);--color-slate-300: hsl(203, 41%, 72%);--color-slate-500: hsl(200, 26%, 54%);--color-slate-700: hsl(200, 24%, 40%);--color-slate-900: hsl(202, 55%, 16%);--font-family: "Plus Jakarta Sans", system-ui, -apple-system, sans-serif;--font-size-base: 16px;--font-size-sm: .875rem;--font-size-lg: 1.125rem;--font-size-xl: 1.5rem;--font-size-2xl: 2rem;--font-weight-medium: 500;--font-weight-bold: 700;--line-height-tight: 1.2;--line-height-normal: 1.5;--line-height-relaxed: 1.6;--spacing-xs: .5rem;--spacing-sm: 1rem;--spacing-md: 1.5rem;--spacing-lg: 2rem;--spacing-xl: 2.5rem;--spacing-2xl: 3rem;--border-radius-sm: .375rem;--border-radius-md: .75rem;--border-radius-lg: 1.5rem;--border-radius-xl: 2rem;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1);--transition-fast: .15s ease;--transition-base: .2s ease;--transition-slow: .3s ease;--breakpoint-mobile: 375px;--breakpoint-tablet: 768px;--breakpoint-desktop: 1024px;--breakpoint-desktop-lg: 1440px}*{margin:0;padding:0;box-sizing:border-box}html{font-size:var(--font-size-base)}body{font-family:var(--font-family);font-weight:var(--font-weight-medium);line-height:1.6;color:var(--color-slate-900);background-color:var(--color-slate-100);min-height:100vh}*:focus-visible{outline:2px solid var(--color-lime);outline-offset:2px;border-radius:var(--border-radius-sm)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}button{font-family:inherit;cursor:pointer;border:none;background:none}input{font-family:inherit;border:none;background:none}ul,ol{list-style:none}img{max-width:100%;height:auto}.FormField-module__formField___qvmSX{display:flex;flex-direction:column;gap:var(--spacing-xs);margin-bottom:var(--spacing-md);max-width:424px!important;width:100%!important;box-sizing:border-box!important}.FormField-module__formField___qvmSX:has([name=term]),.FormField-module__formField___qvmSX:has([name=rate]){max-width:200px!important;width:200px!important;overflow:hidden!important}.FormField-module__formField___qvmSX:has([name=term]) .FormField-module__inputWrapper___Zng8P,.FormField-module__formField___qvmSX:has([name=rate]) .FormField-module__inputWrapper___Zng8P{max-width:200px!important;width:200px!important}.FormField-module__formField___qvmSX:has([name=term]) .FormField-module__input___41sgw{max-width:120px!important;width:120px!important}.FormField-module__formField___qvmSX:has([name=rate]) .FormField-module__input___41sgw{max-width:149px!important;width:149px!important}.FormField-module__formField___qvmSX:has([name=term]) .FormField-module__suffix___EjElL{position:relative!important;max-width:80px!important;width:80px!important;flex-shrink:0!important;white-space:nowrap!important}.FormField-module__formField___qvmSX:has([name=rate]) .FormField-module__suffix___EjElL{position:relative!important;max-width:51px!important;width:51px!important;flex-shrink:0!important;white-space:nowrap!important}.FormField-module__label___98wVM{font-weight:var(--font-weight-medium);color:var(--color-slate-700);font-size:var(--font-size-sm);margin-bottom:var(--spacing-xs);line-height:var(--line-height-normal)}.FormField-module__inputWrapper___Zng8P{position:relative;display:flex;align-items:center;border:1px solid var(--color-slate-300);border-radius:var(--border-radius-sm);background-color:var(--color-white);transition:all var(--transition-base);min-height:3rem;max-width:100%;box-sizing:border-box}.FormField-module__inputWrapper___Zng8P:hover:not(.FormField-module__error___4SHKr){border-color:var(--color-slate-500);box-shadow:0 0 0 1px var(--color-slate-500)}.FormField-module__inputWrapper___Zng8P:focus-within{border-color:var(--color-lime);box-shadow:0 0 0 2px var(--color-lime)}.FormField-module__inputWrapper___Zng8P:focus-within:not(.FormField-module__error___4SHKr){outline:none}.FormField-module__inputWrapper___Zng8P.FormField-module__error___4SHKr{border-color:var(--color-red)}.FormField-module__inputWrapper___Zng8P.FormField-module__error___4SHKr:focus-within{border-color:var(--color-red);box-shadow:0 0 0 2px var(--color-red)}.FormField-module__input___41sgw{flex:1;padding:var(--spacing-sm);padding-right:20px;font-size:1rem;font-weight:var(--font-weight-bold);color:var(--color-slate-900);background:transparent;border:none;outline:none}.FormField-module__inputWrapper___Zng8P .FormField-module__input___41sgw{max-width:100%}.FormField-module__input___41sgw::placeholder{color:var(--color-slate-500);font-weight:var(--font-weight-medium)}.FormField-module__prefix___gzGEC,.FormField-module__suffix___EjElL{padding:var(--spacing-sm);font-weight:var(--font-weight-bold);color:var(--color-slate-700);background-color:var(--color-slate-100);white-space:nowrap;-webkit-user-select:none;user-select:none}.FormField-module__prefix___gzGEC{border-radius:var(--border-radius-sm) 0 0 var(--border-radius-sm);margin-right:0;flex-shrink:0;min-width:auto;border:none;height:100%;display:flex;align-items:center}.FormField-module__suffix___EjElL{border-radius:0 var(--border-radius-sm) var(--border-radius-sm) 0;margin-left:0;flex-shrink:0;min-width:auto;border:none;height:100%;display:flex;align-items:center;z-index:2}.FormField-module__inputWrapper___Zng8P.FormField-module__error___4SHKr .FormField-module__prefix___gzGEC,.FormField-module__inputWrapper___Zng8P.FormField-module__error___4SHKr .FormField-module__suffix___EjElL{background-color:var(--color-red);color:var(--color-white)}.FormField-module__errorMessage___hdUhs{color:var(--color-red);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);margin-top:var(--spacing-xs);display:flex;align-items:center;gap:.25rem;line-height:var(--line-height-normal)}.FormField-module__errorMessage___hdUhs:before{content:"⚠";font-size:.75rem}@media (max-width: 768px){.FormField-module__formField___qvmSX{margin-bottom:var(--spacing-sm);max-width:none!important;width:100%!important}.FormField-module__input___41sgw{font-size:.875rem}.FormField-module__formField___qvmSX:has([name=term]),.FormField-module__formField___qvmSX:has([name=rate]){max-width:none!important;width:100%!important;overflow:visible!important}.FormField-module__formField___qvmSX:has([name=term]) .FormField-module__inputWrapper___Zng8P,.FormField-module__formField___qvmSX:has([name=rate]) .FormField-module__inputWrapper___Zng8P{max-width:none!important;width:100%!important}.FormField-module__formField___qvmSX:has([name=term]) .FormField-module__input___41sgw,.FormField-module__formField___qvmSX:has([name=rate]) .FormField-module__input___41sgw{max-width:none!important;width:auto!important;flex:1}.FormField-module__formField___qvmSX:has([name=term]) .FormField-module__suffix___EjElL,.FormField-module__formField___qvmSX:has([name=rate]) .FormField-module__suffix___EjElL{max-width:none!important;width:auto!important}}.RadioGroup-module__radioGroup___pO2pz{display:flex;flex-direction:column;gap:var(--spacing-xs);margin-bottom:var(--spacing-md)}.RadioGroup-module__label___MxI-w{font-weight:var(--font-weight-medium);color:var(--color-slate-700);font-size:.875rem;margin-bottom:var(--spacing-xs)}.RadioGroup-module__options___Ijq3w{display:flex;flex-direction:column;gap:var(--spacing-xs)}.RadioGroup-module__option___BrOUD{position:relative;display:flex;align-items:center;padding:var(--spacing-sm);border:1px solid var(--color-slate-300);border-radius:var(--border-radius-sm);background-color:var(--color-white);cursor:pointer;transition:all .2s ease}.RadioGroup-module__option___BrOUD:hover:not(.RadioGroup-module__error___lrqsC){border-color:var(--color-lime);background-color:var(--color-slate-100);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.RadioGroup-module__option___BrOUD.RadioGroup-module__checked___11wps{border-color:var(--color-lime);background-color:#d7da2f1a}.RadioGroup-module__option___BrOUD.RadioGroup-module__error___lrqsC{border-color:var(--color-red)}.RadioGroup-module__radioInput___SI-Lf{position:absolute;opacity:0;width:0;height:0}.RadioGroup-module__radioCustom___Ip71F{position:relative;width:1.25rem;height:1.25rem;border:2px solid var(--color-slate-300);border-radius:50%;margin-right:var(--spacing-sm);background-color:var(--color-white);transition:all .2s ease}.RadioGroup-module__radioCustom___Ip71F:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) scale(0);width:.5rem;height:.5rem;border-radius:50%;background-color:var(--color-lime);transition:transform .2s ease}.RadioGroup-module__option___BrOUD.RadioGroup-module__checked___11wps .RadioGroup-module__radioCustom___Ip71F{border-color:var(--color-lime)}.RadioGroup-module__option___BrOUD.RadioGroup-module__checked___11wps .RadioGroup-module__radioCustom___Ip71F:after{transform:translate(-50%,-50%) scale(1)}.RadioGroup-module__option___BrOUD:focus-visible{outline:2px solid var(--color-lime);outline-offset:2px;border-radius:var(--border-radius-sm)}.RadioGroup-module__option___BrOUD:focus-within .RadioGroup-module__radioCustom___Ip71F{box-shadow:0 0 0 2px var(--color-lime)}.RadioGroup-module__optionLabel___0Vcnl{font-weight:var(--font-weight-bold);color:var(--color-slate-900);cursor:pointer;-webkit-user-select:none;user-select:none}.RadioGroup-module__errorMessage___EbY-G{color:var(--color-red);font-size:.875rem;font-weight:var(--font-weight-medium);margin-top:var(--spacing-xs);display:flex;align-items:center;gap:.25rem}.RadioGroup-module__errorMessage___EbY-G:before{content:"⚠";font-size:.75rem}@media (max-width: 768px){.RadioGroup-module__radioGroup___pO2pz{margin-bottom:var(--spacing-sm)}.RadioGroup-module__option___BrOUD{padding:var(--spacing-sm)}}.Button-module__button___2ZuB7{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-lg);font-family:inherit;font-size:var(--font-size-base);font-weight:var(--font-weight-bold);line-height:var(--line-height-tight);border:none;border-radius:var(--border-radius-lg);cursor:pointer;transition:all var(--transition-base);text-decoration:none;-webkit-user-select:none;user-select:none;min-height:3rem}.Button-module__primary___s1sM6{background-color:var(--color-lime);color:var(--color-slate-900)}.Button-module__primary___s1sM6:hover{background-color:var(--color-lime-light);transform:translateY(-1px);box-shadow:var(--shadow-md)}.Button-module__primary___s1sM6:active{transform:translateY(0);box-shadow:var(--shadow-sm)}.Button-module__primary___s1sM6:focus-visible{outline:2px solid var(--color-slate-900);outline-offset:2px}.Button-module__secondary___R0waJ{background-color:transparent;color:var(--color-slate-700);border:1px solid var(--color-slate-300)}.Button-module__secondary___R0waJ:hover{background-color:var(--color-slate-100);border-color:var(--color-slate-500);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.Button-module__secondary___R0waJ:focus-visible{outline:2px solid var(--color-lime);outline-offset:2px}.Button-module__button___2ZuB7:disabled{opacity:.5;cursor:not-allowed;transform:none!important}.Button-module__button___2ZuB7:disabled:hover{background-color:var(--color-lime);transform:none}.Button-module__loading___EQAt2{position:relative;color:transparent}.Button-module__loading___EQAt2:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:1.25rem;height:1.25rem;border:2px solid transparent;border-top:2px solid currentColor;border-radius:50%;animation:Button-module__spin___JvkZu 1s linear infinite;color:var(--color-slate-900)}.Button-module__icon___-43u5{width:1rem;height:1rem;flex-shrink:0}.Button-module__fullWidth___36oJT{width:100%}@keyframes Button-module__spin___JvkZu{to{transform:translate(-50%,-50%) rotate(360deg)}}@media (max-width: 768px){.Button-module__button___2ZuB7{min-height:3rem;padding:var(--spacing-sm) var(--spacing-md);font-size:.875rem}}.MortgageForm-module__mortgageForm___Suz1s{background-color:var(--color-white);width:504px;height:606px;padding:40px;display:flex;flex-direction:column;gap:12px;overflow:hidden;box-sizing:border-box;align-items:flex-start}.MortgageForm-module__header___ELgVP{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--spacing-sm);width:424px}.MortgageForm-module__title___Wrn-a{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--color-slate-900);margin:0;line-height:var(--line-height-tight)}.MortgageForm-module__clearButton___8xVSU{color:var(--color-slate-500);text-decoration:underline;font-size:var(--font-size-sm);cursor:pointer;transition:color var(--transition-base);padding:var(--spacing-xs);margin:calc(-1 * var(--spacing-xs))}.MortgageForm-module__clearButton___8xVSU:hover{color:var(--color-slate-700);background-color:var(--color-slate-100);border-radius:var(--border-radius-sm)}.MortgageForm-module__clearButton___8xVSU:focus-visible{outline:2px solid var(--color-lime);outline-offset:2px;border-radius:var(--border-radius-sm)}.MortgageForm-module__formFields___utc7Z{display:flex;flex-direction:column;gap:4px;width:424px!important;max-height:400px;flex:1}.MortgageForm-module__termRateGroup___kjOhS{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;width:424px}.MortgageForm-module__termRateGroup___kjOhS .MortgageForm-module__formField___Vy4gW{position:relative;min-width:0;max-width:200px!important;max-height:48px;overflow:hidden}.MortgageForm-module__termRateGroup___kjOhS .MortgageForm-module__formField___Vy4gW .MortgageForm-module__inputWrapper___LtHRl{width:200px!important;max-width:200px!important;box-sizing:border-box}.MortgageForm-module__termRateGroup___kjOhS .MortgageForm-module__formField___Vy4gW .MortgageForm-module__input___llUmV{max-width:120px!important;box-sizing:border-box;padding-right:8px;z-index:1}.MortgageForm-module__termRateGroup___kjOhS .MortgageForm-module__formField___Vy4gW .MortgageForm-module__suffix___WiRbk{max-width:70px!important;overflow:hidden;white-space:nowrap}.MortgageForm-module__submitSection___IRC4g{margin-top:24px;flex-shrink:0;width:424px}.MortgageForm-module__calculateIcon___Lm-7x{width:1.25rem;height:1.25rem}@media (max-width: 768px){.MortgageForm-module__mortgageForm___Suz1s{padding:var(--spacing-xl);width:100%;height:auto;max-width:none}.MortgageForm-module__header___ELgVP{flex-direction:column;align-items:flex-start;gap:var(--spacing-sm);margin-bottom:var(--spacing-md);width:100%}.MortgageForm-module__title___Wrn-a{font-size:var(--font-size-lg)}.MortgageForm-module__formFields___utc7Z{width:100%!important;max-height:none}.MortgageForm-module__termRateGroup___kjOhS{display:flex;flex-direction:column;gap:var(--spacing-sm);width:100%;max-width:none}.MortgageForm-module__submitSection___IRC4g{margin-top:var(--spacing-md);width:100%}}@media (max-width: 480px){.MortgageForm-module__mortgageForm___Suz1s{padding:var(--spacing-lg);gap:var(--spacing-md)}.MortgageForm-module__header___ELgVP{margin-bottom:var(--spacing-sm)}}.ResultsPanel-module__resultsPanel___RU5Dt{background-color:#133041;color:var(--color-white);padding:var(--spacing-2xl);display:flex;flex-direction:column;width:504px;height:606px;border-radius:0 0 0 80px}.ResultsPanel-module__emptyState___Faf0Z{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;flex:1;padding:var(--spacing-xl) var(--spacing-md)}.ResultsPanel-module__emptyIllustration___1XSI4{width:12rem;height:auto;margin-bottom:var(--spacing-lg);opacity:.8}.ResultsPanel-module__emptyTitle___PQwd-{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-white);margin-bottom:var(--spacing-md);line-height:var(--line-height-tight)}.ResultsPanel-module__emptyDescription___tMmsm{font-size:var(--font-size-base);line-height:var(--line-height-relaxed);color:var(--color-slate-300);max-width:28rem}.ResultsPanel-module__resultsContent___F79xC{flex:1;display:flex;flex-direction:column}.ResultsPanel-module__resultsHeader___dSSzu{margin-bottom:var(--spacing-lg)}.ResultsPanel-module__resultsTitle___jBDxA{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-white);margin-bottom:var(--spacing-sm);line-height:var(--line-height-tight)}.ResultsPanel-module__resultsDescription___B7XPe{font-size:var(--font-size-sm);line-height:var(--line-height-relaxed);color:var(--color-slate-300)}.ResultsPanel-module__resultsData___C1C25{background-color:#00000040;border-radius:var(--border-radius-md);padding:var(--spacing-lg);border-top:3px solid var(--color-lime)}.ResultsPanel-module__resultItem___UI0lA{margin-bottom:var(--spacing-lg)}.ResultsPanel-module__resultItem___UI0lA:last-child{margin-bottom:0;padding-top:var(--spacing-lg);border-top:1px solid rgba(255,255,255,.15)}.ResultsPanel-module__resultLabel___NoLgt{font-size:var(--font-size-sm);color:var(--color-slate-300);margin-bottom:var(--spacing-xs);display:block;line-height:var(--line-height-normal)}.ResultsPanel-module__resultValue___vcFRi{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--color-lime);line-height:var(--line-height-tight);word-break:break-all}.ResultsPanel-module__resultValue___vcFRi.ResultsPanel-module__secondary___YP11q{font-size:var(--font-size-xl);color:var(--color-white)}.ResultsPanel-module__loadingSpinner___W1ZZA{display:flex;align-items:center;justify-content:center;flex:1;padding:var(--spacing-xl)}.ResultsPanel-module__spinner___VlmGa{width:3rem;height:3rem;border:3px solid rgba(255,255,255,.2);border-top:3px solid var(--color-lime);border-radius:50%;animation:ResultsPanel-module__spin___D2I3z 1s linear infinite}@keyframes ResultsPanel-module__spin___D2I3z{to{transform:rotate(360deg)}}@media (max-width: 1200px){.ResultsPanel-module__resultsPanel___RU5Dt{width:100%;height:auto;min-height:500px}}@media (max-width: 1024px){.ResultsPanel-module__resultsPanel___RU5Dt{width:100%;height:auto;min-height:450px}}@media (max-width: 768px){.ResultsPanel-module__resultsPanel___RU5Dt{width:100%;height:auto;min-height:auto;padding:var(--spacing-xl);border-radius:0}.ResultsPanel-module__emptyState___Faf0Z{padding:var(--spacing-lg) var(--spacing-sm)}.ResultsPanel-module__emptyIllustration___1XSI4{width:10rem;margin-bottom:var(--spacing-md)}.ResultsPanel-module__emptyTitle___PQwd-{font-size:var(--font-size-lg);margin-bottom:var(--spacing-sm)}.ResultsPanel-module__emptyDescription___tMmsm{font-size:var(--font-size-sm)}.ResultsPanel-module__resultsTitle___jBDxA{font-size:var(--font-size-lg)}.ResultsPanel-module__resultsData___C1C25{padding:var(--spacing-md)}.ResultsPanel-module__resultValue___vcFRi{font-size:var(--font-size-xl)}.ResultsPanel-module__resultValue___vcFRi.ResultsPanel-module__secondary___YP11q{font-size:var(--font-size-lg)}.ResultsPanel-module__resultItem___UI0lA{margin-bottom:var(--spacing-md)}.ResultsPanel-module__resultItem___UI0lA:last-child{padding-top:var(--spacing-md)}}@media (max-width: 480px){.ResultsPanel-module__resultsPanel___RU5Dt{padding:var(--spacing-lg)}.ResultsPanel-module__emptyState___Faf0Z{padding:var(--spacing-md) var(--spacing-xs)}.ResultsPanel-module__resultsData___C1C25{padding:var(--spacing-sm)}}.App-module__app___nQGLl{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:var(--spacing-lg);background-color:var(--color-slate-100)}.App-module__container___eSkYA{width:100%;max-width:63rem;background-color:var(--color-white);border-radius:var(--border-radius-xl);overflow:hidden;box-shadow:var(--shadow-xl);display:grid;grid-template-columns:1fr 1fr;height:606px}.App-module__formSection___mm3Gz{display:flex;flex-direction:column;overflow:hidden;align-items:flex-start}.App-module__resultsSection___IW6NY{display:flex;flex-direction:column}.App-module__attribution___-0SDb{position:fixed;bottom:var(--spacing-sm);left:50%;transform:translate(-50%);font-size:.75rem;text-align:center;color:var(--color-slate-500);background-color:#ffffffe6;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--border-radius-sm);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000}.App-module__attribution___-0SDb a{color:var(--color-lime);text-decoration:none;font-weight:var(--font-weight-bold)}.App-module__attribution___-0SDb a:hover{text-decoration:underline}@media (max-width: 1200px){.App-module__container___eSkYA{max-width:90vw;grid-template-columns:1fr 1fr;height:auto;min-height:500px}}@media (max-width: 1024px){.App-module__container___eSkYA{max-width:95vw;grid-template-columns:1fr 1fr;height:auto;min-height:450px}}@media (max-width: 768px){.App-module__app___nQGLl{padding:var(--spacing-md);align-items:flex-start;padding-top:var(--spacing-xl)}.App-module__container___eSkYA{display:flex;flex-direction:column;border-radius:var(--border-radius-lg);height:auto;min-height:auto;max-width:none;width:100%}.App-module__formSection___mm3Gz,.App-module__resultsSection___IW6NY{width:100%}.App-module__attribution___-0SDb{display:none}}@media (max-width: 480px){.App-module__app___nQGLl{padding:var(--spacing-sm)}.App-module__container___eSkYA{border-radius:var(--border-radius-md)}}
