:root{--color-primary:#0f766e;--color-primary-dark:#115e59;--color-primary-light:#ccfbf1;--color-accent:#f59e0b;--color-text:#102a43;--color-text-muted:#52606d;--color-bg:#fff;--color-surface:#f0fdfa;--color-border:#d9e2ec;--max-width:76rem;--radius-sm:.5rem;--radius-md:.75rem;--radius-lg:1.25rem;--shadow-sm:0 4px 12px #102a430f;--shadow-md:0 16px 40px #102a431a;--shadow-lg:0 24px 70px #0f766e29;--font-sans:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--color-bg)}body{font-family:var(--font-sans);color:var(--color-text);background:var(--color-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;font-size:16px;line-height:1.5}#root{min-height:100vh}h1,h2,h3,h4,p{margin:0}a{color:inherit}img{max-width:100%;display:block}button,input{font-family:inherit}button,a,input{-webkit-tap-highlight-color:transparent}:focus-visible{outline:3px solid var(--color-accent);outline-offset:3px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}[data-theme=dark]{--color-text:#e6edf3;--color-text-muted:#a6b3c2;--color-bg:#0f1720;--color-surface:#162331;--color-border:#304254;--color-primary-light:#123d3b;--shadow-sm:0 4px 12px #0003;--shadow-md:0 16px 40px #00000040}.theme-toggle{border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text);cursor:pointer;border-radius:999px;padding:.45rem .6rem}.breadcrumb{max-width:var(--max-width);color:var(--color-text-muted);gap:.5rem;margin:0 auto;padding:1rem 1.5rem 0;font-size:.8rem;display:flex}.breadcrumb a{color:var(--color-primary)}.error-page{text-align:center;max-width:40rem;margin:8rem auto;padding:2rem}.error-page p{color:var(--color-text-muted);margin:1rem 0 1.5rem}.faq details{border-bottom:1px solid var(--color-border);padding:.8rem 0}.faq summary{cursor:pointer;color:var(--color-text);font-weight:700}.faq p{margin:.6rem 0 0}@media print{.header,.footer,.breadcrumb,.calculator-page__form,.result-card__actions{display:none!important}.calculator-page{background:#fff}.calculator-page__layout{display:block}.calculator-page__result{box-shadow:none;border:1px solid #000}}.header{z-index:100;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--color-border);background:#ffffffeb;position:sticky;top:0}.header__inner{max-width:var(--max-width);justify-content:space-between;align-items:center;margin:0 auto;padding:1rem 1.5rem;display:flex}.header__logo{color:var(--color-text);align-items:center;gap:.625rem;font-size:1.125rem;font-weight:700;text-decoration:none;display:flex}[data-theme=dark] .header__logo{color:var(--color-primary-dark)}.header__logo-icon{background:var(--color-primary);color:#fff;border-radius:var(--radius-md);justify-content:center;align-items:center;width:2.25rem;height:2.25rem;font-size:1.25rem;font-weight:800;display:flex}.header__nav{gap:1.75rem;display:flex}.header__nav a{color:var(--color-text-muted);font-size:.9375rem;font-weight:500;text-decoration:none;transition:color .2s}.header__nav a:hover,.header__nav a.active{color:var(--color-primary)}.header__menu-button{color:var(--color-text);cursor:pointer;background:0 0;border:0;font-size:1.5rem;display:none}@media (width<=640px){.header__menu-button{display:block}.header__nav{background:var(--color-bg);border-bottom:1px solid var(--color-border);box-shadow:var(--shadow-md);flex-direction:column;gap:0;padding:.75rem 1.25rem 1rem;display:none;position:absolute;top:100%;left:0;right:0}.header__nav--open{display:flex}.header__nav a{padding:.75rem 0;font-size:.9375rem}}.footer{background:var(--color-text);color:#ffffffd9;margin-top:auto}.footer__inner{max-width:var(--max-width);flex-wrap:wrap;justify-content:space-between;gap:2rem;margin:0 auto;padding:3rem 1.5rem 2rem;display:flex}.footer__logo{color:#fff;margin-bottom:.5rem;font-size:1.125rem;font-weight:700;display:block}.footer__tagline{color:#ffffffa6;max-width:20rem;margin:0;font-size:.875rem;line-height:1.6}.footer__links{gap:2.5rem;display:flex}.footer__column h4{text-transform:uppercase;letter-spacing:.05em;color:#ffffff80;margin:0 0 .75rem;font-size:.8125rem;font-weight:600}.footer__column a{color:#ffffffbf;margin-bottom:.5rem;font-size:.875rem;text-decoration:none;transition:color .2s;display:block}.footer__column a:hover{color:#fff}.footer__bottom{text-align:center;border-top:1px solid #ffffff1a;padding:1.25rem 1.5rem}.footer__bottom p{color:#ffffff73;margin:0;font-size:.8125rem}@media (width<=640px){.footer__inner{flex-direction:column}.footer__links{justify-content:space-between;gap:1rem;width:100%}}.layout{flex-direction:column;min-height:100vh;display:flex}.layout__main{flex:1}.hero{text-align:center;background:linear-gradient(180deg, var(--color-surface) 0%, var(--color-bg) 100%);padding:4rem 1.5rem 2.5rem}.hero__content{max-width:42rem;margin:0 auto}.hero__badge{background:var(--color-primary-light);color:var(--color-primary);letter-spacing:.02em;text-transform:uppercase;border-radius:999px;margin:0 0 1.25rem;padding:.375rem .875rem;font-size:.8125rem;font-weight:600;display:inline-block}.hero__title{letter-spacing:-.03em;color:var(--color-text);margin:0 0 1rem;font-size:clamp(2rem,5vw,3rem);font-weight:800;line-height:1.15}.hero__subtitle{color:var(--color-text-muted);margin:0;font-size:1.125rem;line-height:1.6}@media (width<=640px){.hero{padding:2.5rem 1.25rem 2rem}.hero__subtitle{font-size:1rem}}.search-bar{max-width:32rem;margin:0 auto 2.5rem;padding:0 1.5rem}.search-bar__label{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.search-bar__wrapper{align-items:center;display:flex;position:relative}.search-bar__icon{pointer-events:none;opacity:.6;font-size:1rem;position:absolute;left:1rem}.search-bar__input{width:100%;color:var(--color-text);background:var(--color-bg);border:2px solid var(--color-border);border-radius:var(--radius-lg);outline:none;padding:.875rem 1rem .875rem 2.75rem;font-family:inherit;font-size:1rem;transition:border-color .2s,box-shadow .2s}.search-bar__input::placeholder{color:var(--color-text-muted)}.search-bar__input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light)}.search-bar__help{color:var(--color-text-muted);text-align:center;margin:.625rem 0 0;font-size:.8125rem}.calculator-card{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);color:inherit;flex-direction:column;padding:1.5rem;text-decoration:none;transition:border-color .2s,box-shadow .2s,transform .2s;display:flex}.calculator-card:hover{border-color:var(--color-primary);box-shadow:var(--shadow-md);transform:translateY(-2px)}.calculator-card--coming-soon{opacity:.72;cursor:default}.calculator-card__icon{margin-bottom:.875rem;font-size:1.75rem}.calculator-card__title{color:var(--color-text);margin:0 0 .5rem;font-size:1.0625rem;font-weight:700}.calculator-card__description{color:var(--color-text-muted);flex:1;margin:0 0 1rem;font-size:.875rem;line-height:1.5}.calculator-card__category{text-transform:capitalize;color:var(--color-primary);background:var(--color-primary-light);border-radius:999px;align-self:flex-start;padding:.25rem .625rem;font-size:.75rem;font-weight:600}.calculator-card__action{color:var(--color-primary);margin-top:1rem;font-size:.8125rem;font-weight:700}.categories{background:var(--color-surface);padding:4rem 1.5rem;scroll-margin-top:5rem}.categories__header{max-width:var(--max-width);text-align:center;margin:0 auto 2rem}.categories__title{color:var(--color-text);margin:0 0 .5rem;font-size:1.75rem;font-weight:800}.categories__subtitle{color:var(--color-text-muted);margin:0}.categories__grid{max-width:var(--max-width);grid-template-columns:repeat(auto-fill,minmax(16rem,1fr));gap:1.25rem;margin:0 auto;display:grid}.category-card{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);color:inherit;flex-direction:column;padding:1.5rem;text-decoration:none;transition:border-color .2s,box-shadow .2s;display:flex}.category-card:hover{border-color:var(--color-primary);box-shadow:var(--shadow-sm)}.category-card__icon{margin-bottom:.75rem;font-size:1.5rem}.category-card__name{color:var(--color-text);margin:0 0 .375rem;font-size:1rem;font-weight:700}.category-card__description{color:var(--color-text-muted);margin:0;font-size:.875rem;line-height:1.5}.calculators{padding:0 1.5rem 4rem}.home-showcase{max-width:var(--max-width);margin:0 auto;padding:0 1.5rem 4rem}.home-showcase--recent{padding-top:1rem}.home-showcase__header{margin-bottom:1.5rem}.home-showcase__header h2{color:var(--color-text);margin:0 0 .4rem;font-size:1.75rem}.home-showcase__header p{color:var(--color-text-muted)}.home-showcase__eyebrow{color:var(--color-primary);letter-spacing:.08em;text-transform:uppercase;margin-bottom:.35rem;font-size:.78rem;font-weight:800}.home-showcase__header button{border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-primary);cursor:pointer;border-radius:999px;padding:.45rem .75rem}.history-list{gap:.5rem;padding:0;list-style:none;display:grid}.history-list li{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg);align-items:center;gap:1rem;padding:.8rem 1rem;display:flex}.history-list strong{color:var(--color-primary-dark);margin-left:auto}.history-list time{color:var(--color-text-muted);font-size:.8rem}@media (width<=640px){.history-list li{flex-wrap:wrap}.history-list strong{margin-left:0}}.calculators__header{max-width:var(--max-width);text-align:center;margin:0 auto 1.5rem}.calculators__title{color:var(--color-text);margin:0;font-size:1.75rem;font-weight:800}.calculators__count{color:var(--color-text-muted);margin:.5rem 0 0;font-size:.875rem}.calculators__grid{max-width:var(--max-width);grid-template-columns:repeat(auto-fill,minmax(16rem,1fr));gap:1.25rem;margin:0 auto;display:grid}.calculators__empty{max-width:var(--max-width);text-align:center;color:var(--color-text-muted);background:var(--color-surface);border-radius:var(--radius-lg);margin:0 auto;padding:2rem}.page-header{text-align:center;max-width:36rem;margin:0 auto;padding:2.5rem 1.5rem 1.5rem}.page-header__title{letter-spacing:-.02em;color:var(--color-text);margin:0 0 .75rem;font-size:clamp(1.75rem,4vw,2.25rem);font-weight:800}.page-header__description{color:var(--color-text-muted);margin:0;font-size:1.0625rem;line-height:1.6}@media (width<=640px){.page-header{padding:2rem 1.25rem 1.25rem}.page-header__description{font-size:1rem}}.content-page{background:linear-gradient(180deg, var(--color-surface), var(--color-bg) 24rem);min-height:100%;padding-bottom:5rem}.content-page__body{max-width:48rem;margin:0 auto;padding:0 1.5rem}.content-page__body h2{color:var(--color-text);margin:2rem 0 .625rem;font-size:1.25rem}.content-page__body p,.content-page__body li{color:var(--color-text-muted);line-height:1.75}.content-page__body ul{padding-left:1.25rem}.content-page__updated{margin-top:1.5rem;font-size:.875rem}.btn{border-radius:var(--radius-md);cursor:pointer;border:2px solid #0000;justify-content:center;align-items:center;padding:.75rem 1.25rem;font-family:inherit;font-size:.9375rem;font-weight:600;transition:background .2s,border-color .2s,color .2s;display:inline-flex}.btn:disabled{opacity:.6;cursor:not-allowed}.btn--primary{color:#fff;background:var(--color-primary)}.btn--primary:hover:not(:disabled){background:#1d4ed8}.btn--secondary{color:var(--color-text);background:var(--color-bg);border-color:var(--color-border)}.btn--secondary:hover:not(:disabled){border-color:var(--color-primary);color:var(--color-primary)}.favorite-button{color:var(--color-accent);cursor:pointer;background:0 0;border:0;font-size:1.6rem;line-height:1}.result-card__header{justify-content:space-between;align-items:center;gap:1rem;display:flex}.result-card__header h2{margin:0}.result-card__actions{flex-wrap:wrap;gap:.4rem;display:flex}.result-card__actions button{border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-primary-dark);cursor:pointer;border-radius:999px;padding:.4rem .65rem}.calculator-page{background:linear-gradient(180deg, var(--color-surface), var(--color-bg) 28rem);min-height:100%;padding-bottom:5rem}.calculator-page__layout{grid-template-columns:minmax(0,32rem) minmax(0,24rem);align-items:start;gap:2rem;max-width:62rem;margin:0 auto;padding:0 1.5rem;display:grid}.calculator-page__title-row{justify-content:center;align-items:center;gap:.75rem;display:flex}.calculator-page__form{gap:1rem;display:grid}.calculator-page__field{gap:.4rem;display:grid}.calculator-page__field label{color:var(--color-text);font-weight:700}.calculator-page__field input,.calculator-page__field select{border:2px solid var(--color-border);border-radius:var(--radius-md);width:100%;color:var(--color-text);background:var(--color-bg);padding:.85rem 1rem}.calculator-page__field input:focus,.calculator-page__field select:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light);outline:none}.calculator-page__field small{color:var(--color-text-muted)}.calculator-page__error{color:#b42318;font-size:.875rem}.calculator-page__actions{gap:.75rem;margin-top:.5rem;display:flex}.calculator-page__result,.result-card{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-bg);min-height:14rem;box-shadow:var(--shadow-md);padding:1.5rem}.calculator-page__result h2{color:var(--color-primary-dark);margin:0 0 .75rem;font-size:1.8rem}.calculator-page__result ul{color:var(--color-text-muted);padding-left:1.25rem;line-height:1.7}.calculator-page__formula{border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);margin-top:1.25rem;padding:.85rem;font-family:ui-monospace,monospace;font-size:.9rem}.calculator-page__details{max-width:62rem;margin:2.5rem auto 0;padding:0 1.5rem}.calculator-page__details h2{color:var(--color-text);margin:1.75rem 0 .5rem;font-size:1.25rem}.calculator-page__details p,.calculator-page__details li{color:var(--color-text-muted);line-height:1.7}.calculator-page__related{flex-wrap:wrap;gap:.75rem;padding:0;list-style:none;display:flex}.calculator-page__related a{background:var(--color-primary-light);color:var(--color-primary-dark);border-radius:999px;padding:.55rem .8rem;font-weight:700;text-decoration:none;display:inline-block}@media (width<=760px){.calculator-page__layout{grid-template-columns:1fr}.calculator-page__result{min-height:auto}}.breadcrumbs{max-width:36rem;color:var(--color-text-muted);align-items:center;gap:.5rem;margin:0 auto;padding:1rem 1.5rem 0;font-size:.875rem;display:flex}.breadcrumbs a{color:var(--color-primary);font-weight:600;text-decoration:none}.breadcrumbs a:hover{text-decoration:underline}.breadcrumbs span:last-child{color:var(--color-text);font-weight:600}.calculator-layout{background:linear-gradient(180deg, var(--color-surface) 0%, var(--color-bg) 40%);min-height:100%}.calculator-panel{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);width:100%;max-width:28rem;box-shadow:var(--shadow-md);margin:0 auto;padding:2rem}@media (width<=640px){.calculator-panel{padding:1.5rem}}.form-field{flex-direction:column;gap:.5rem;display:flex}.form-field__label{color:var(--color-text);font-size:.9375rem;font-weight:600}.form-field__input{width:100%;color:var(--color-text);background:var(--color-bg);border:2px solid var(--color-border);border-radius:var(--radius-md);outline:none;padding:.75rem .875rem;font-family:inherit;font-size:1rem;transition:border-color .2s,box-shadow .2s}.form-field__input::placeholder{color:var(--color-text-muted)}.form-field__input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light)}.form-field__input--error{border-color:#ef4444}.form-field__input--error:focus{border-color:#ef4444;box-shadow:0 0 0 3px #ef444426}.form-field__error{color:#dc2626;margin:0;font-size:.8125rem}.formula-section{padding-top:1rem}.formula-section__title{text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);margin:0 0 .5rem;font-size:.875rem;font-weight:700}.formula-section__text{color:var(--color-text);background:var(--color-bg);border-radius:var(--radius-md);border:1px solid var(--color-border);margin:0;padding:.75rem;font-family:ui-monospace,Consolas,monospace;font-size:.9375rem;line-height:1.6}.category-badge{border-radius:999px;align-items:center;padding:.375rem .875rem;font-size:.875rem;font-weight:700;display:inline-flex}.category-badge--underweight{color:#1d4ed8;background:#dbeafe}.category-badge--normal{color:#15803d;background:#dcfce7}.category-badge--overweight{color:#b45309;background:#fef3c7}.category-badge--obese{color:#b91c1c;background:#fee2e2}.bmi-result{max-width:28rem;margin:1.5rem auto 0}.bmi-result__card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:1.5rem}.bmi-result__row{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:1rem;padding:.875rem 0;display:flex}.bmi-result__row:first-child{padding-top:0}.bmi-result__label{color:var(--color-text-muted);font-size:.9375rem;font-weight:600}.bmi-result__value{color:var(--color-text);font-size:1.75rem;font-weight:800}.bmi-result__info,.bmi-result__formula{padding-top:1rem}.bmi-result__info-title{text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);margin:0 0 .5rem;font-size:.875rem;font-weight:700}.bmi-result__info-text{color:var(--color-text);margin:0;font-size:.9375rem;line-height:1.6}@media (width<=640px){.bmi-result__row{flex-direction:column;align-items:flex-start}}.bmi-calculator-form{padding:0 1.5rem 3rem}.bmi-calculator-form__form{flex-direction:column;gap:1.25rem;display:flex}.bmi-calculator-form__actions{flex-wrap:wrap;gap:.75rem;margin-top:.5rem;display:flex}.bmi-calculator-form__actions .btn{flex:8rem}@media (width<=640px){.bmi-calculator-form{padding:0 1.25rem 2.5rem}.bmi-calculator-form__actions{flex-direction:column}.bmi-calculator-form__actions .btn{width:100%}}.mortgage-calculator-form{padding:0 1.5rem 3rem}.mortgage-calculator-form__form{flex-direction:column;display:flex}.mortgage-calculator-form__actions{flex-wrap:wrap;gap:.75rem;margin-top:.5rem;display:flex}.mortgage-calculator-form__actions .btn{flex:8rem}.mortgage-calculator-form__result{max-width:28rem;margin:1.5rem auto 0}.mortgage-calculator-form__details{color:var(--color-text);margin:0 0 1rem;padding-left:0;line-height:1.8;list-style:none}.mortgage-calculator-form__details li+li{margin-top:.25rem}.mortgage-calculator-form__explanation{color:var(--color-text-muted);margin:0 0 .5rem;font-size:.9375rem;line-height:1.6}@media (width<=640px){.mortgage-calculator-form{padding:0 1.25rem 2.5rem}.mortgage-calculator-form__actions{flex-direction:column}.mortgage-calculator-form__actions .btn{width:100%}}.percentage-calculator-form{padding:0 1.5rem 3rem}.percentage-calculator-form__modes{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem;padding:.375rem;display:flex}.percentage-calculator-form__mode{color:var(--color-text-muted);border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:2px solid #0000;flex:8rem;padding:.625rem .75rem;font-family:inherit;font-size:.9375rem;font-weight:600;transition:background .2s,color .2s,border-color .2s}.percentage-calculator-form__mode:hover:not(.percentage-calculator-form__mode--active){color:var(--color-primary)}.percentage-calculator-form__mode--active{color:#fff;background:var(--color-primary)}.percentage-calculator-form__form{flex-direction:column;display:flex}.percentage-calculator-form__actions{flex-wrap:wrap;gap:.75rem;margin-top:.5rem;display:flex}.percentage-calculator-form__actions .btn{flex:8rem}.percentage-calculator-form__result{max-width:28rem;margin:1.5rem auto 0}.percentage-calculator-form__detail{color:var(--color-text);margin:0 0 1rem;font-size:1rem;line-height:1.6}.percentage-calculator-form__explanation{color:var(--color-text-muted);margin:0 0 .5rem;font-size:.9375rem;line-height:1.6}@media (width<=640px){.percentage-calculator-form{padding:0 1.25rem 2.5rem}.percentage-calculator-form__actions{flex-direction:column}.percentage-calculator-form__actions .btn{width:100%}}
