.app-page-section{padding:6rem 1.5rem;background-color:#f3f4f6;color:#111827}.dark .app-page-section{background-color:#2b2b2b;color:#f3f4f6}@media (min-width:1024px){.app-page-section{padding:7rem 5rem}}.app-container{max-width:80rem;margin-left:auto;margin-right:auto;padding-top:3rem;padding-bottom:3rem}.app-hero{margin-bottom:3rem;text-align:center}.app-hero__title{font-size:2.25rem;font-weight:800;margin-bottom:1rem;color:#111827}.dark .app-hero__title{color:#f3f4f6}.app-hero__subtitle{font-size:1.125rem;color:#4b5563;max-width:56rem;margin-left:auto;margin-right:auto}.dark .app-hero__subtitle{color:#d1d5db}@media (min-width:768px){.app-hero__title{font-size:3rem}.app-hero__subtitle{font-size:1.25rem}}.app-main-grid{display:grid;grid-template-columns:1fr;gap:2rem;margin-bottom:2rem}@media (min-width:1024px){.app-main-grid{grid-template-columns:repeat(2,1fr)}}.app-card{background-color:#ffffff;border:1px solid #e5e7eb;border-radius:1rem;box-shadow:0 4px 6px -1px rgb(0 0 0/.1),0 2px 4px -2px rgb(0 0 0/.1);padding:1.5rem}.dark .app-card{background-color:#2b2b2b;border-color:#404040}.app-card--form{height:-moz-fit-content;height:fit-content}.app-card__title{font-size:1.25rem;font-weight:700;margin-bottom:1rem}.app-projections-wrapper,.app-results-wrapper{display:flex;flex-direction:column;gap:2rem}.app-form__fields{display:grid;grid-template-columns:1fr;gap:1rem}.app-form__label{display:block;font-size:.875rem;font-weight:500;margin-bottom:.25rem;color:#374151}.dark .app-form__label{color:#d1d5db}.app-form__input-wrapper{position:relative}.app-form__input{width:100%;border:1px solid #d1d5db;border-radius:.5rem;padding:.5rem .75rem;background-color:#ffffff;color:#111827}.dark .app-form__input{background-color:#262626;border-color:#525252;color:#e5e7eb}.app-form__input:focus{outline:none;box-shadow:0 0 0 2px #FFBF00}.app-form__input--error{border-color:#ef4444!important}.app-form__input-unit{position:absolute;inset:0 0 0 auto;right:.75rem;display:flex;align-items:center;color:#111827}.dark .app-form__input-unit{color:#f3f4f6}.app-form__error-text{color:#ef4444;font-size:.75rem;margin-top:.25rem}.app-form__button{width:100%;margin-top:1.5rem;padding:.75rem 2rem;background-color:#FFBF00;color:#ffffff;border:none;border-radius:.75rem;font-weight:700;font-size:1.125rem;box-shadow:0 4px 6px -1px rgb(0 0 0/.1),0 2px 4px -2px rgb(0 0 0/.1);transition:background-color .2s ease-in-out;cursor:pointer}.app-form__button:hover{background-color:#d97706}.app-pie-summary{display:flex;flex-direction:column;align-items:center;gap:1.5rem}.app-pie-summary__chart-wrapper{width:100%;height:16rem}.app-pie-summary__text-fields{display:flex;flex-direction:column;gap:1rem;text-align:center}.app-output-field__label{font-size:1.125rem;color:#4b5563}.dark .app-output-field__label{color:#d1d5db}.app-output-field__value{font-weight:700;margin-top:.25rem}.app-output-field__value--total{font-size:1.875rem;color:var(--cs-amber,#FFBF00)}.app-output-field__value--detail{font-size:1.25rem}.app-output-field__value--corpus{color:#2563eb}.dark .app-output-field__value--corpus{color:#60a5fa}.app-output-field__value--fund{color:#16a34a}.dark .app-output-field__value--fund{color:#4ade80}.app-datatable-wrapper{height:24rem;overflow:auto}.app-datatable{min-width:100%;text-align:left;font-size:.875rem}.app-datatable__header{background-color:#f3f4f6;position:sticky;top:0;z-index:10}.dark .app-datatable__header{background-color:#262626}.app-datatable__th{padding:.5rem;font-weight:600}.app-datatable__row{border-top:1px solid #e5e7eb}.dark .app-datatable__row{border-color:#404040}.app-datatable__td{padding:.5rem}.app-datatable__td--bold{font-weight:700}.app-datatable__td-year-subtext{font-weight:400;font-size:.75rem;color:#111827}.dark .app-datatable__td-year-subtext{color:#f3f4f6}.app-datatable__td--withdrawal{color:#ef4444}.app-datatable__td--withdrawal-post-tax{color:#dc2626}.app-datatable__td--protection{color:#16a34a}.app-custom-tooltip{padding:.75rem;border-radius:.75rem;box-shadow:0 10px 15px -3px rgb(0 0 0/.1),0 4px 6px -4px rgb(0 0 0/.1);background-color:#ffffff;border:1px solid #d1d5db;color:#111827}.dark .app-custom-tooltip{background-color:#111827;border-color:#374151;color:#f3f4f6}.app-custom-tooltip__item{font-size:.875rem;font-weight:500}.app-custom-tooltip__item-name{font-weight:600}.app-custom-tooltip__value{color:#111827}.dark .app-custom-tooltip__value{color:#f3f4f6}