:root{--color-bg:#f7f6f2;--color-text:#1c1c1c;--color-accent:#2d6a4f;--color-accent-hover:#1b4332;--color-accent-tint:#eaf2ee;--color-surface:#fff;--color-border:#e0ddd5;--color-muted:#6b6860;--color-error:#c0392b;--color-error-bg:#fdecea;--font-base:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-pill:999px;--shadow-card:0 1px 3px #00000014, 0 1px 2px #0000000a;--shadow-dropdown:0 4px 16px #0000001f;--transition:.15s ease;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;font-size:16px}body{font-family:var(--font-base);color:var(--color-text);background-color:var(--color-bg);min-height:100vh;font-size:1rem;line-height:1.6}button{font-family:inherit;font-size:inherit;cursor:pointer;background:0 0;border:none}input,select{font-family:inherit;font-size:inherit}ul,ol{list-style:none}.app{max-width:680px;padding:var(--space-8) var(--space-4) var(--space-12);margin:0 auto}.app__title{color:var(--color-text);text-align:center;margin-bottom:var(--space-8);letter-spacing:-.02em;font-size:1.5rem;font-weight:700}@media (width>=480px){.app__title{font-size:1.75rem}}.wizard{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card)}.wizard__content{padding:var(--space-6) var(--space-5)}@media (width>=480px){.wizard__content{padding:var(--space-8)}}.wizard__nav{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-5);display:flex}@media (width>=480px){.wizard__nav{padding:var(--space-4) var(--space-8)}}.wizard__nav--step1{flex-direction:column;align-items:stretch}.wizard__tagline{color:var(--color-muted);text-align:center;font-size:13px}.wizard__btn{min-height:44px;padding:var(--space-2) var(--space-6);border-radius:var(--radius-md);transition:background-color var(--transition), color var(--transition), border-color var(--transition);justify-content:center;align-items:center;font-size:.9375rem;font-weight:600;display:inline-flex}.wizard__btn--next{background-color:var(--color-accent);color:#fff;border:2px solid var(--color-accent)}.wizard__btn--next:hover,.wizard__btn--next:focus-visible{background-color:var(--color-accent-hover);border-color:var(--color-accent-hover)}.wizard__btn--back{color:var(--color-text);border:2px solid var(--color-border);background-color:#0000}.wizard__btn--back:hover,.wizard__btn--back:focus-visible{border-color:var(--color-text)}.wizard__btn--reset{min-height:44px;padding:var(--space-2) 0;color:var(--color-muted);text-underline-offset:3px;transition:color var(--transition);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;font-size:.875rem;font-weight:500;text-decoration:underline;display:inline-flex}.wizard__btn--reset:hover,.wizard__btn--reset:focus-visible{color:var(--color-text)}.wizard__btn:focus-visible,.wizard__btn--reset:focus-visible{outline:3px solid var(--color-accent);outline-offset:2px;border-radius:var(--radius-md)}.progress-bar{padding:var(--space-5);border-bottom:1px solid var(--color-border);background-color:var(--color-surface);align-items:flex-start;display:flex}@media (width>=480px){.progress-bar{padding:var(--space-5) var(--space-8)}}.progress-bar__step-wrapper{flex:1;align-items:flex-start;display:flex}.progress-bar__step-wrapper:last-child{flex:none}.progress-bar__step{align-items:center;gap:var(--space-1);flex-direction:column;flex-shrink:0;display:flex}.progress-bar__circle{border:2px solid var(--color-border);background-color:var(--color-surface);width:28px;height:28px;color:var(--color-muted);transition:background-color var(--transition), border-color var(--transition), color var(--transition);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.75rem;font-weight:700;display:flex}.progress-bar__step--active .progress-bar__circle{border-color:var(--color-accent);color:var(--color-accent)}.progress-bar__step--completed .progress-bar__circle{background-color:var(--color-accent);border-color:var(--color-accent);color:#fff}.progress-bar__connector{background-color:var(--color-border);height:2px;margin:13px var(--space-2) 0;transition:background-color var(--transition);flex:1}.progress-bar__label{color:var(--color-muted);text-align:center;max-width:56px;font-size:1rem;font-weight:600;line-height:1.2}.progress-bar__step--active .progress-bar__label,.progress-bar__step--completed .progress-bar__label{color:var(--color-accent)}.progress-bar__connector--completed{background-color:var(--color-accent)}.step__title{color:var(--color-text);margin-bottom:var(--space-6);letter-spacing:-.01em;font-size:1.25rem;font-weight:700}@media (width>=480px){.step__title{font-size:1.375rem}}.fieldset{margin:0 0 var(--space-6);border:none;padding:0}.fieldset:last-of-type{margin-bottom:0}.fieldset__legend{color:var(--color-text);margin-bottom:var(--space-3);width:100%;font-size:.9375rem;font-weight:600;display:block}.fieldset__legend--section{background-color:var(--color-accent-tint);padding:8px var(--space-5);margin-left:calc(-1 * var(--space-5));margin-right:calc(-1 * var(--space-5));width:auto;font-size:1rem}@media (width>=480px){.fieldset__legend--section{padding-left:var(--space-8);padding-right:var(--space-8);margin-left:calc(-1 * var(--space-8));margin-right:calc(-1 * var(--space-8))}}.field{margin-bottom:var(--space-5);position:relative}.field:last-child{margin-bottom:0}.field__label{color:var(--color-text);margin-bottom:var(--space-2);font-size:.9375rem;font-weight:600;display:block}.field__label--optional{color:var(--color-muted);font-size:.875rem;font-weight:400}.field__hint{color:var(--color-muted);margin-bottom:var(--space-2);font-size:.8125rem;line-height:1.5}.field__input{width:100%;min-height:48px;padding:var(--space-2) var(--space-3);border:1.5px solid var(--color-border);border-radius:var(--radius-md);background-color:var(--color-surface);color:var(--color-text);appearance:none;transition:border-color var(--transition), box-shadow var(--transition);font-size:1rem;line-height:1.5;display:block}.field__input:focus{border-color:var(--color-accent);outline:none;box-shadow:0 0 0 3px #2d6a4f26}.field__input--error{border-color:var(--color-error);background-color:var(--color-error-bg)}.field__input--error:focus{border-color:var(--color-error);box-shadow:0 0 0 3px #c0392b26}.field__input-icon-wrapper{position:relative}.field__input-icon{left:var(--space-3);pointer-events:none;color:var(--color-muted);position:absolute;top:50%;transform:translateY(-50%)}.field__input--has-icon{padding-left:38px}.field__input--weight{flex:1;width:auto;min-width:0}.field__input--kcal{max-width:200px}.field__select{width:100%;min-height:48px;padding:var(--space-2) var(--space-8) var(--space-2) var(--space-3);border:1.5px solid var(--color-border);border-radius:var(--radius-md);background-color:var(--color-surface);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236B6860' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--space-3) center;color:var(--color-text);appearance:none;cursor:pointer;transition:border-color var(--transition), box-shadow var(--transition);font-size:1rem;display:block}.field__select:focus{border-color:var(--color-accent);outline:none;box-shadow:0 0 0 3px #2d6a4f26}.field__error{margin-top:var(--space-2);color:var(--color-error);font-size:.8125rem;font-weight:500;display:block}.field__weight-row{align-items:stretch;gap:var(--space-3);display:flex}.unit-toggle{border:1.5px solid var(--color-border);border-radius:var(--radius-md);flex-shrink:0;display:flex;overflow:hidden}.unit-toggle__btn{min-width:52px;min-height:48px;padding:var(--space-2) var(--space-3);background-color:var(--color-surface);color:var(--color-muted);cursor:pointer;transition:background-color var(--transition), color var(--transition);border:none;border-radius:0;font-size:.9375rem;font-weight:600}.unit-toggle__btn+.unit-toggle__btn{border-left:1.5px solid var(--color-border)}.unit-toggle__btn--active{background-color:var(--color-accent);color:#fff}.unit-toggle__btn:not(.unit-toggle__btn--active):hover{background-color:var(--color-bg);color:var(--color-text)}.unit-toggle__btn:focus-visible{outline:3px solid var(--color-accent);outline-offset:-3px}.autocomplete__dropdown{z-index:100;background-color:var(--color-surface);border:1.5px solid var(--color-border);border-radius:0 0 var(--radius-md) var(--radius-md);box-shadow:var(--shadow-dropdown);overscroll-behavior:contain;border-top:none;max-height:280px;position:absolute;top:100%;left:0;right:0;overflow-y:auto}.autocomplete__item{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);cursor:pointer;min-height:44px;transition:background-color var(--transition);display:flex}.autocomplete__item:hover{background-color:var(--color-bg)}.autocomplete__item--selected{background-color:var(--color-accent-tint)}.autocomplete__item-name{color:var(--color-text);font-size:.9375rem}.autocomplete__item-group{color:var(--color-muted);flex-shrink:0;font-size:.75rem}.breed-suggestion--highlighted{background-color:var(--color-bg)}.card-group{gap:var(--space-3);display:grid}.card-group--3{grid-template-columns:1fr}@media (width>=400px){.card-group--3{grid-template-columns:repeat(3,1fr)}}.card-group--2{grid-template-columns:repeat(2,1fr);max-width:300px}.card-group--4{grid-template-columns:repeat(2,1fr)}@media (width>=400px){.card-group--4{grid-template-columns:repeat(4,1fr)}}.card-group--activity,.card-group--products{grid-template-columns:1fr}@media (width>=480px){.card-group--products{grid-template-columns:repeat(2,1fr)}}.card{align-items:flex-start;gap:var(--space-1);width:100%;padding:var(--space-3) var(--space-4);background-color:var(--color-surface);border:1.5px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;text-align:left;min-height:44px;transition:border-color var(--transition), background-color var(--transition), box-shadow var(--transition);flex-direction:column;display:flex}.card:hover{border-color:var(--color-accent);box-shadow:0 0 0 3px #2d6a4f14}.card:focus-visible{outline:3px solid var(--color-accent);outline-offset:2px}.card--selected{border-color:var(--color-accent);background-color:var(--color-accent-tint);box-shadow:0 0 0 1px var(--color-accent)}.card__label{color:var(--color-text);font-size:.9375rem;font-weight:600;line-height:1.3}.card__sub{color:var(--color-muted);font-size:.8125rem;line-height:1.4}.card__note{font-style:italic}.card--life-stage{text-align:center;padding:var(--space-4) var(--space-3);align-items:center}.card--neutered{min-height:52px;padding:var(--space-3);justify-content:center;align-items:center;font-size:1rem;font-weight:600}.card--activity{padding:var(--space-4)}.card--ratio{text-align:center;align-items:center;font-size:.875rem;font-weight:500}.food-picker{flex-direction:column;display:flex}.food-picker__toggle-link{min-height:44px;color:var(--color-muted);text-underline-offset:2px;cursor:pointer;transition:color var(--transition);margin-top:var(--space-2);background:0 0;border:none;align-items:center;padding:0;font-size:.8125rem;text-decoration:underline;display:inline-flex}.food-picker__toggle-link:hover,.food-picker__toggle-link:focus-visible{color:var(--color-accent)}.food-picker__toggle-link:focus-visible{outline:3px solid var(--color-accent);outline-offset:2px;border-radius:var(--radius-sm)}.food-picker__not-listed-btn{width:min(280px,55%);min-height:44px;padding:var(--space-3) var(--space-4);background-color:var(--color-surface);border:2px solid var(--color-accent);border-radius:var(--radius-md);color:var(--color-text);cursor:pointer;margin-bottom:var(--space-3);transition:border-color var(--transition), background-color var(--transition), box-shadow var(--transition);justify-content:center;align-self:flex-end;align-items:center;font-size:.9375rem;font-weight:500;text-decoration:none;display:flex}.food-picker__not-listed-btn:hover{border-color:var(--color-accent);box-shadow:0 0 0 3px #2d6a4f14}.food-picker__not-listed-btn:focus-visible{outline:3px solid var(--color-accent);outline-offset:2px}.food-picker__kcal-confirm{margin-top:var(--space-3);color:var(--color-accent);font-size:.875rem;font-weight:500}.step--4{gap:var(--space-6);flex-direction:column;display:flex}.results__hero{padding:var(--space-8) var(--space-4);background-color:var(--color-accent-tint);border:1.5px solid var(--color-accent);border-radius:var(--radius-lg);text-align:center;flex-direction:column;align-items:center;display:flex}.results__hero-number{color:var(--color-accent);letter-spacing:-.03em;font-size:3.5rem;font-weight:800;line-height:1}@media (width>=480px){.results__hero-number{font-size:4.5rem}}.results__hero-label{color:var(--color-muted);margin-top:var(--space-2);text-transform:uppercase;letter-spacing:.08em;font-size:1rem;font-weight:500}.results__hero-watermark{color:var(--color-muted);margin-top:var(--space-4);font-size:.75rem;font-weight:400}.results__frequency{text-align:center;color:var(--color-text);font-size:1rem}.results__section{gap:var(--space-4);flex-direction:column;display:flex}.results__section-header{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.results__section-title{color:var(--color-muted);text-transform:uppercase;letter-spacing:.07em;font-size:.8125rem;font-weight:700}.results__topper{color:var(--color-muted);font-size:.8125rem;font-style:italic}.results__unit-toggle{min-height:30px;padding:2px var(--space-3);border:1.5px solid var(--color-accent);border-radius:var(--radius-pill);color:var(--color-accent);cursor:pointer;transition:background-color var(--transition), color var(--transition);white-space:nowrap;background:0 0;align-items:center;font-size:.75rem;font-weight:600;display:inline-flex}.results__unit-toggle:hover,.results__unit-toggle:focus-visible{background-color:var(--color-accent);color:#fff}.results__unit-toggle:focus-visible{outline:3px solid var(--color-accent);outline-offset:2px}.results__portion-grid{gap:var(--space-3);grid-template-columns:repeat(2,1fr);display:grid}@media (width>=480px){.results__portion-grid:has(.result-tile:nth-child(3)){grid-template-columns:repeat(4,1fr)}}.results__portion-mixed{gap:var(--space-4);flex-direction:column;display:flex}.results__portion-group-label{color:var(--color-muted);text-transform:uppercase;letter-spacing:.07em;margin-bottom:var(--space-2);font-size:.75rem;font-weight:700}.result-tile{padding:var(--space-5) var(--space-3);background-color:var(--color-surface);border:1.5px solid var(--color-border);border-radius:var(--radius-md);text-align:center;box-shadow:var(--shadow-card);flex-direction:column;justify-content:center;align-items:center;gap:2px;display:flex}.result-tile__value{color:var(--color-text);letter-spacing:-.02em;font-size:1.75rem;font-weight:800;line-height:1}.result-tile__unit{color:var(--color-accent);text-transform:uppercase;letter-spacing:.06em;font-size:.6875rem;font-weight:700}.result-tile__label{color:var(--color-muted);margin-top:var(--space-1);font-size:.75rem;line-height:1.3}.results__breakdown{gap:var(--space-2) var(--space-6);background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-4) var(--space-5);grid-template-columns:1fr auto;align-items:baseline;max-width:100%;display:grid;overflow:hidden}.results__breakdown dt{color:var(--color-muted);font-size:.8125rem}.results__breakdown dd{color:var(--color-text);text-align:right;white-space:nowrap;font-size:.9375rem;font-weight:700}.mismatch-warning{padding:var(--space-3) var(--space-4);margin-bottom:var(--space-4);background:#fffbeb;border-left:4px solid #f59e0b;font-size:14px;line-height:1.5}.results__disclaimer{color:var(--color-muted);text-align:center;padding:0 var(--space-2);font-size:.8125rem;font-style:italic;line-height:1.6}.site-header{z-index:50;background-color:var(--color-surface);border-bottom:1px solid var(--color-border);position:sticky;top:0}.site-header__inner{justify-content:space-between;align-items:center;gap:var(--space-4);max-width:1120px;padding:var(--space-3) var(--space-4);margin:0 auto;display:flex}.site-header__brand{align-items:center;gap:var(--space-2);color:var(--color-text);letter-spacing:-.01em;font-size:1rem;font-weight:700;text-decoration:none;display:inline-flex}.site-header__logo{flex-shrink:0;width:28px;height:28px}.site-header__nav{gap:var(--space-5);display:flex}.site-header__link{color:var(--color-muted);transition:color var(--transition);font-size:.875rem;font-weight:500;text-decoration:none}.site-header__link:hover,.site-header__link:focus-visible{color:var(--color-accent)}.page{max-width:1120px;padding:var(--space-8) var(--space-4) var(--space-12);margin:0 auto}.page__main{min-width:0}.page__rail{display:none}@media (width>=900px){.page{gap:var(--space-10);grid-template-columns:minmax(0,1fr) 300px;align-items:start;display:grid}.page__rail{gap:var(--space-5);flex-direction:column;display:flex;position:sticky;top:76px}}.ad-slot{margin-top:var(--space-6)}.ad-slot__label{text-align:center;letter-spacing:.12em;text-transform:uppercase;color:#a8a29e;margin-bottom:var(--space-2);font-size:.625rem;font-weight:600;display:block}.ad-slot__box{display:block;overflow:hidden}.ad-slot__disclaimer{text-align:center;color:#a8a29e;margin-top:var(--space-2);font-size:.6875rem;line-height:1.5}.ad-slot--mobile-only{display:block}@media (width>=900px){.ad-slot--mobile-only{display:none}}.share-module{margin-top:var(--space-6);padding:var(--space-5) var(--space-5);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);text-align:center}@media (width>=480px){.share-module{padding:var(--space-5) var(--space-8)}}.share-module__actions{justify-content:center;display:flex}.share-module__icons{justify-content:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.share-module__icon-btn{border-radius:var(--radius-md);background-color:var(--color-accent-tint);width:44px;height:44px;color:var(--color-accent);cursor:pointer;font:inherit;transition:background-color var(--transition), color var(--transition);border:none;justify-content:center;align-items:center;display:inline-flex}.share-module__icon-btn:hover,.share-module__icon-btn:focus-visible{background-color:var(--color-accent);color:#fff}.share-module__icon-btn:focus-visible{outline:3px solid var(--color-accent);outline-offset:2px}.content-section{margin-top:var(--space-10)}.content-section__title{color:var(--color-text);letter-spacing:-.01em;margin-bottom:var(--space-1);font-size:1.25rem;font-weight:700}@media (width>=480px){.content-section__title{font-size:1.375rem}}.content-section__intro{color:var(--color-muted);margin-bottom:var(--space-2);font-size:.9375rem}.factors__list{grid-template-columns:1fr;display:grid}@media (width>=700px){.factors__list{column-gap:var(--space-8);grid-template-columns:1fr 1fr}}.factors__item{gap:var(--space-3);padding:var(--space-4) 0;border-top:1px solid var(--color-border);display:flex}.factors__dot{background-color:var(--color-accent);border-radius:50%;flex-shrink:0;width:8px;height:8px;margin-top:7px}.factors__title{color:var(--color-text);margin-bottom:2px;font-size:.9375rem;font-weight:600}.factors__desc{color:var(--color-muted);font-size:.875rem;line-height:1.55}.faq__item{border-top:1px solid var(--color-border)}.faq__question{justify-content:space-between;align-items:center;gap:var(--space-3);width:100%;padding:var(--space-4) 0;text-align:left;cursor:pointer;color:var(--color-text);background:0 0;border:none;font-size:.9375rem;font-weight:600;display:flex}.faq__question:focus-visible{outline:3px solid var(--color-accent);outline-offset:2px;border-radius:var(--radius-sm)}.faq__icon{color:var(--color-accent);flex-shrink:0;font-size:1.375rem;line-height:1}.faq__answer{margin:0 0 var(--space-4);color:var(--color-muted);max-width:640px;font-size:.875rem;line-height:1.65}.related__grid{gap:var(--space-3);grid-template-columns:1fr;display:grid}@media (width>=700px){.related__grid{grid-template-columns:1fr 1fr}}.related__card{align-items:center;gap:var(--space-3);padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background-color:var(--color-surface);transition:border-color var(--transition), box-shadow var(--transition);text-decoration:none;display:flex}.related__card:hover,.related__card:focus-visible{border-color:var(--color-accent);box-shadow:0 0 0 3px #2d6a4f14}.related__icon{background-color:var(--color-accent-tint);border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;width:46px;height:46px;display:flex}.related__title{color:var(--color-text);font-size:.875rem;font-weight:600;line-height:1.35;display:block}.related__meta{color:var(--color-muted);margin-top:var(--space-1);font-size:.75rem;display:block}.how-it-works{background-color:var(--color-accent-tint);border-radius:var(--radius-lg);padding:var(--space-5)}.how-it-works__title{color:var(--color-accent-hover);margin-bottom:var(--space-2);font-size:.9375rem;font-weight:700}.how-it-works__text{color:#3a5a4c;font-size:.8125rem;line-height:1.6}.site-footer{background-color:var(--color-surface);border-top:1px solid var(--color-border);padding:var(--space-6) var(--space-4)}.site-footer__inner{align-items:center;gap:var(--space-3);flex-direction:column;max-width:1120px;margin:0 auto;display:flex}@media (width>=700px){.site-footer__inner{flex-direction:row;justify-content:space-between}}.site-footer__links{gap:var(--space-5);flex-wrap:wrap;display:flex}.site-footer__link{color:var(--color-accent);font-size:.8125rem;font-weight:600;text-decoration:none}.site-footer__link:hover,.site-footer__link:focus-visible{color:var(--color-accent-hover)}.site-footer__fine{color:#a8a29e;text-align:center;font-size:.75rem;line-height:1.5}.static-page{max-width:720px;padding:var(--space-10) var(--space-4) var(--space-12);margin:0 auto}.static-page__title{letter-spacing:-.02em;margin-bottom:var(--space-2);font-size:1.75rem;font-weight:700}.static-page__updated{color:var(--color-muted);margin-bottom:var(--space-8);font-size:.8125rem}.static-page h2{margin:var(--space-8) 0 var(--space-3);font-size:1.125rem;font-weight:700}.static-page p{margin-bottom:var(--space-4);color:var(--color-text)}.static-page a{color:var(--color-accent)}
