:root{--color-bg: #D8BE98;--color-cream: #F5EFE0;--color-accent: #E8862A;--color-text-primary: #2B241C;--color-text-secondary: #4A3F33;--color-success: #8FAE4A;--color-card: #D8C7A8;--color-panel-brown: #675843;--font-heading: "Anton", sans-serif;--font-body: "Nunito", sans-serif;--content-padding-x: 18px;--tab-nav-height: 64px;--recipe-header-padding-top-mobile: 24px;--recipe-header-padding-top-desktop: 48px;--recipe-header-eyebrow-size: .6875rem;--recipe-header-eyebrow-tracking: .09em;--recipe-header-eyebrow-dot-size: 6px;--recipe-header-eyebrow-gap: 6px;--recipe-header-title-size: 3rem;--recipe-header-title-gap: 6px;--recipe-header-intro-size: 1rem;--recipe-header-intro-tracking: 0;--recipe-header-desc-size: .9375rem;--recipe-header-stack-gap: 4px;--qty-slider-margin-top: 28px;--qty-slider-margin-top-solo: 24px;--qty-slider-label-size: var(--ingredient-list-amount-size);--qty-slider-value-size: 1rem;--qty-slider-track-height: 4px;--qty-slider-thumb-size: 28px;--qty-slider-tick-size: .6875rem;--section-heading-size: 1.375rem;--recipe-card-padding: 16px;--recipe-card-radius: 10px;--recipe-card-margin-top: 32px;--ingredient-list-margin-top: 32px;--ingredient-list-heading-size: var(--section-heading-size);--ingredient-list-amount-size: 1rem;--ingredient-list-name-size: 1rem;--ingredient-list-item-padding-y: 10px;--directions-margin-top: 32px;--directions-heading-size: var(--section-heading-size);--directions-body-size: .9375rem;--directions-body-line-height: 1.6;--directions-summary-margin-top: 28px;--directions-summary-icon-size: 48px;--directions-summary-label-size: .9375rem;--directions-operator-size: 1.5rem;--tool-rec-margin-top: 28px;--tool-rec-padding: 14px;--tool-rec-image-size: 72px;--tool-rec-eyebrow-size: .6875rem;--tool-rec-text-size: .9375rem;--tool-rec-cta-size: .8125rem;--tool-rec-radius: 8px;--tool-rec-gap: 14px;--shopping-list-margin-top: 24px;--shopping-list-heading-size: .75rem;--shopping-list-name-size: 1rem;--shopping-list-item-padding-y: 2px;--shopping-checkbox-size: 24px;--complete-overlay-margin-bottom: 24px;--complete-overlay-padding: 20px;--complete-overlay-radius: 10px;--complete-overlay-emoji-size: 2rem;--complete-overlay-title-size: 1.25rem;--complete-overlay-sub-size: .9375rem;--reset-btn-margin-top: 24px;--reset-btn-height: 44px;--reset-btn-font-size: .875rem;--reset-btn-radius: var(--recipe-card-radius);--reset-btn-padding-x: 24px;--tab-nav-padding-x: 16px;--tab-nav-track-padding: 4px;--tab-nav-btn-font-size: .9375rem;--tab-nav-btn-radius: var(--recipe-card-radius);--tab-nav-track-color: #C49A6C}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{background-color:var(--color-bg);color:var(--color-text-primary);font-family:var(--font-body);-webkit-font-smoothing:antialiased}#root{display:flex;justify-content:center}.app-shell{position:relative;width:100%;max-width:640px;min-height:100dvh;display:flex;flex-direction:column}.app-content{flex:1;padding:0 var(--content-padding-x);padding-bottom:var(--tab-nav-height)}.recipe-header{padding-top:var(--recipe-header-padding-top-mobile);display:flex;flex-direction:column;gap:var(--recipe-header-stack-gap)}.recipe-header__eyebrow{display:flex;align-items:center;gap:var(--recipe-header-eyebrow-gap);font-family:var(--font-body);font-size:var(--recipe-header-eyebrow-size);font-weight:700;text-transform:uppercase;letter-spacing:var(--recipe-header-eyebrow-tracking);color:var(--tab-nav-track-color);margin-bottom:6px}.recipe-header__eyebrow-sep{color:var(--tab-nav-track-color);font-size:.5em;vertical-align:middle}.recipe-header__eyebrow-dot{display:inline-block;width:var(--recipe-header-eyebrow-dot-size);height:var(--recipe-header-eyebrow-dot-size);border-radius:50%;background-color:var(--color-accent);flex-shrink:0}.recipe-header__title{display:flex;flex-direction:column;gap:var(--recipe-header-title-gap);font-family:var(--font-heading);font-size:var(--recipe-header-title-size);line-height:1;text-transform:uppercase}.recipe-header__title-line1{color:#95ad58}.recipe-header__title-line2{color:var(--color-accent)}.recipe-header__intro{font-family:var(--font-body);font-size:var(--recipe-header-intro-size);font-weight:600;color:var(--color-text-secondary);letter-spacing:var(--recipe-header-intro-tracking);margin-top:10px}.recipe-header__desc{font-family:var(--font-body);font-size:var(--recipe-header-desc-size);font-weight:600;color:var(--color-text-secondary);letter-spacing:var(--recipe-header-intro-tracking)}@media (min-width: 640px){.recipe-header{padding-top:var(--recipe-header-padding-top-desktop)}}.qty-slider{margin-top:var(--qty-slider-margin-top)}.app-content>.qty-slider:first-child{margin-top:var(--qty-slider-margin-top-solo)}.qty-slider__header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:10px}.qty-slider__label{font-family:var(--font-heading);font-size:var(--qty-slider-label-size);text-transform:uppercase;color:var(--color-panel-brown)}.qty-slider__value{font-family:var(--font-heading);font-size:var(--qty-slider-value-size);color:var(--color-accent)}.qty-slider__input{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:44px;background:transparent;cursor:pointer;padding:20px 0;margin:0}.qty-slider__input::-webkit-slider-runnable-track{height:var(--qty-slider-track-height);background:#c49a6c;border-radius:999px}.qty-slider__input::-moz-range-track{height:var(--qty-slider-track-height);background:#c49a6c;border-radius:999px}.qty-slider__input::-webkit-slider-thumb{-webkit-appearance:none;width:var(--qty-slider-thumb-size);height:var(--qty-slider-thumb-size);border-radius:50%;background:#95ad58;margin-top:calc((var(--qty-slider-track-height) - var(--qty-slider-thumb-size)) / 2)}.qty-slider__input::-moz-range-thumb{width:var(--qty-slider-thumb-size);height:var(--qty-slider-thumb-size);border-radius:50%;background:#95ad58;border:none}.qty-slider__helper{font-family:var(--font-body);font-size:.8125rem;font-weight:600;color:var(--color-panel-brown);margin-top:6px;text-align:right}.qty-slider__ticks{position:relative;height:1.2em;margin-top:4px}.qty-slider__tick{position:absolute;transform:translate(-50%);font-family:var(--font-body);font-size:var(--qty-slider-tick-size);color:var(--color-text-secondary);white-space:nowrap}.recipe-card{margin-top:var(--recipe-card-margin-top);padding:var(--recipe-card-padding);border-radius:var(--recipe-card-radius)}.recipe-card--dark{background-color:var(--color-panel-brown)}.recipe-card--dark .ingredient-list__heading,.recipe-card--dark .directions__heading{color:#e8862f;opacity:1}.recipe-card--dark .ingredient-list__item{border-color:#ffffff1a}.recipe-card--dark .ingredient-list__item:first-child{border-top-color:#ffffff1a}.recipe-card--dark .ingredient-list__name,.recipe-card--dark .directions__body{color:var(--color-cream)}.recipe-card--dark .directions__summary{border-color:#ffffff1a}.recipe-card--dark .directions__summary-label,.recipe-card--dark .directions__operator{color:var(--color-cream);opacity:.6}.shopping-card{margin-top:var(--recipe-card-margin-top);padding:var(--recipe-card-padding);border-radius:var(--recipe-card-radius)}.shopping-card--dark{background-color:var(--color-panel-brown)}.shopping-card--dark .shopping-list__heading{color:#e8862f}.shopping-card--dark .shopping-list__item{border-color:#ffffff1a}.shopping-card--dark .shopping-list__item:first-child{border-top-color:#ffffff1a}.shopping-card--dark .shopping-list__name{color:var(--color-cream)}.shopping-card--dark .shopping-list__name--checked{color:#f5efe073}.ingredient-list{margin-top:0}.ingredient-list__heading{font-family:var(--font-heading);font-size:var(--ingredient-list-heading-size);text-transform:uppercase;color:var(--color-text-secondary);margin-bottom:8px}.ingredient-list__items{list-style:none}.ingredient-list__item{display:flex;align-items:baseline;gap:12px;padding:var(--ingredient-list-item-padding-y) 0;border-bottom:1px solid var(--color-card)}.ingredient-list__item:first-child{border-top:1px solid var(--color-card)}.ingredient-list__amount{font-family:var(--font-heading);font-size:var(--ingredient-list-amount-size);color:var(--color-accent);min-width:2rem;text-align:right;flex-shrink:0}.ingredient-list__name{font-family:var(--font-body);font-size:var(--ingredient-list-name-size);color:var(--color-text-primary)}.directions{margin-top:24px}.directions__heading{font-family:var(--font-heading);font-size:var(--directions-heading-size);text-transform:uppercase;color:var(--color-text-secondary);margin-bottom:8px}.directions__body{font-family:var(--font-body);font-size:var(--directions-body-size);color:var(--color-text-primary);line-height:var(--directions-body-line-height)}.directions__summary{margin-top:var(--directions-summary-margin-top);display:flex;align-items:center;justify-content:space-between;padding:20px 0;border-top:1px solid var(--color-card);border-bottom:1px solid var(--color-card)}.directions__summary-item{display:flex;flex-direction:column;align-items:center;gap:8px}.directions__summary-icon{width:var(--directions-summary-icon-size);height:var(--directions-summary-icon-size);object-fit:contain}.directions__summary-label{font-family:var(--font-heading);font-size:var(--directions-summary-label-size);color:var(--color-text-secondary);text-align:center;text-transform:uppercase;line-height:1.3}.directions__operator{font-family:var(--font-heading);font-size:var(--directions-operator-size);color:var(--color-text-secondary);flex-shrink:0}.tool-rec{display:flex;flex-direction:row;align-items:center;gap:var(--tool-rec-gap);margin-top:var(--tool-rec-margin-top);padding:var(--tool-rec-padding);background-color:var(--color-panel-brown);border-radius:var(--recipe-card-radius);text-decoration:none}.tool-rec__image{width:var(--tool-rec-image-size);height:var(--tool-rec-image-size);object-fit:contain;flex-shrink:0}.tool-rec__body{display:flex;flex-direction:column;gap:6px;min-width:0}.tool-rec__eyebrow{font-family:var(--font-heading);font-size:var(--section-heading-size);text-transform:uppercase;color:#e8862f}.tool-rec__text{font-family:var(--font-body);font-size:var(--tool-rec-text-size);font-weight:600;color:var(--color-cream);line-height:1.3}.tool-rec__cta{font-family:var(--font-body);font-size:var(--tool-rec-cta-size);font-weight:700;color:var(--color-accent);margin-top:4px}.shopping-list{margin-top:0}.shopping-list__heading{font-family:var(--font-heading);font-size:var(--section-heading-size);text-transform:uppercase;color:var(--color-text-secondary);margin-bottom:8px}.shopping-list__items{list-style:none}.shopping-list__item{display:flex;align-items:center;border-bottom:1px solid var(--color-card)}.shopping-list__item:first-child{border-top:1px solid var(--color-card)}.shopping-list__label{display:flex;align-items:center;gap:14px;padding:var(--shopping-list-item-padding-y) 0;min-height:44px;cursor:pointer;flex:1}.shopping-list__checkbox{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:var(--shopping-checkbox-size);height:var(--shopping-checkbox-size);min-width:var(--shopping-checkbox-size);border:2px solid var(--color-card);border-radius:50%;background:transparent;cursor:pointer;position:relative;transition:background-color .15s ease,border-color .15s ease}.shopping-list__checkbox:checked{background-color:var(--color-success);border-color:var(--color-success)}.shopping-list__checkbox:checked:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 12 10' xmlns='http://www.w3.org/2000/svg'%3E%3Cpolyline points='1,5 4.5,8.5 11,1' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:center;background-size:55%}.shopping-list__name{font-family:var(--font-body);font-size:var(--shopping-list-name-size);color:var(--color-text-primary);transition:color .15s ease}.shopping-list__name--checked{color:var(--color-text-secondary);text-decoration:line-through}.shopping-list__qty{font-family:var(--font-heading);font-size:.75rem;color:#f5efe080;flex-shrink:0;padding-left:8px}.shopping-list__qty--checked{color:#f5efe040}.complete-overlay{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;margin-bottom:var(--complete-overlay-margin-bottom);padding:var(--complete-overlay-padding);background-color:var(--color-card);border-radius:var(--complete-overlay-radius)}.complete-overlay__emoji{font-size:var(--complete-overlay-emoji-size);line-height:1}.complete-overlay__title{font-family:var(--font-heading);font-size:var(--complete-overlay-title-size);color:var(--color-success);text-transform:uppercase}.complete-overlay__sub{font-family:var(--font-body);font-size:var(--complete-overlay-sub-size);color:var(--color-text-secondary)}.reset-btn{display:block;margin:var(--reset-btn-margin-top) auto;height:var(--reset-btn-height);padding:0 var(--reset-btn-padding-x);border:2px solid var(--color-text-secondary);border-radius:var(--reset-btn-radius);background:transparent;font-family:var(--font-body);font-size:var(--reset-btn-font-size);font-weight:700;color:var(--color-text-secondary);cursor:pointer;text-transform:uppercase;letter-spacing:0}.tab-nav{position:fixed;bottom:0;left:50%;transform:translate(-50%);width:100%;max-width:640px;height:var(--tab-nav-height);background-color:var(--color-bg);display:flex;align-items:center;padding:0 var(--tab-nav-padding-x)}.tab-nav__track{display:flex;flex:1;padding:var(--tab-nav-track-padding);background-color:var(--tab-nav-track-color);border-radius:var(--tab-nav-btn-radius)}.tab-nav__btn{flex:1;height:44px;border:none;border-radius:calc(var(--tab-nav-btn-radius) - var(--tab-nav-track-padding));background:transparent;font-family:var(--font-body);font-size:var(--tab-nav-btn-font-size);font-weight:600;color:var(--color-panel-brown);cursor:pointer;transition:background-color .15s ease,color .15s ease}.tab-nav__btn--active{background-color:var(--color-accent);color:#fff}
