:root{--color-green-900: #10310b;--color-green-800: #1e5515;--color-green-700: #396039;--color-green-600: #045e04;--color-green-500: #008000;--color-beige: #f5f5dc;--color-sage-400: #c4d0c4;--color-sage-300: #d7dfd7;--color-sage-200: #dbe3db;--color-sage-150: #dbe0db;--color-sage-100: #ecf0ec;--color-cream-300: #fae0c6;--color-cream-200: #efeadf;--color-cream-100: #faf0e6;--color-cream-050: #fcf5ee;--color-white: #ffffff;--color-black: #000000;--color-brand: var(--color-green-700);--color-brand-hover: var(--color-green-800);--color-brand-active: var(--color-green-600);--color-text: var(--color-green-900);--color-text-inverse: var(--color-cream-100);--color-page: var(--color-white);--color-page-tinted: var(--color-cream-050);--color-panel: var(--color-sage-400);--color-panel-subtle: var(--color-sage-100);--color-control: var(--color-cream-200);--color-control-hover: var(--color-cream-100);--color-accent-warm: var(--color-cream-300);--color-border: var(--color-sage-150);--color-disabled: var(--color-sage-200);--color-focus-ring: var(--color-green-600);--font-family-base: "Figtree", "Avenir Next", "Segoe UI", sans-serif;--font-family-heading: "Ubuntu", "Segoe UI", sans-serif;--font-family-accent: "Quicksand", "Segoe UI", sans-serif;--font-size-xs: .875rem;--font-size-sm: 1rem;--font-size-md: 1.125rem;--font-size-lg: 1.25rem;--font-size-xl: 1.5rem;--font-size-2xl: 2rem;--font-size-3xl: 2.5rem;--font-size-4xl: 3.5rem;--font-size-hero: 5rem;--font-weight-regular: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-solid: 1;--line-height-tight: 1.1;--line-height-heading: 1.2;--line-height-body: 1.5;--line-height-relaxed: 1.65;--space-0: 0;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--space-20: 5rem;--space-24: 6rem;--space-32: 8rem;--radius-none: 0;--radius-xs: .25rem;--radius-sm: .5rem;--radius-md: .75rem;--radius-lg: 1rem;--radius-xl: 1.5rem;--radius-pill: 999rem;--shadow-soft: 0 .25rem 1rem rgb(16 49 11 / 8%);--shadow-dialog: 0 1rem 3rem rgb(16 49 11 / 16%);--content-max-width: 120rem;--content-readable-width: 72rem;--page-padding: clamp(1rem, 4.45vw, 4rem);--control-height-sm: 2.5rem;--control-height-md: 3rem;--touch-target-min: 2.75rem;--duration-fast: .15s;--duration-normal: .2s;--duration-layout: .65s;--duration-entrance: .9s;--duration-entrance-visual: 1.08s;--easing-standard: ease;--easing-layout: cubic-bezier(.22, 1, .36, 1);--easing-entrance: cubic-bezier(.16, 1, .3, 1);--button-height: 3.75rem;--button-height-compact: 2.75rem;--button-padding-inline: 1.75rem;--button-gap: .75rem;--button-font-size: var(--font-size-md);--button-font-weight: var(--font-weight-medium);--button-border-width: .0625rem;--button-radius: var(--radius-none);--button-primary-background: var(--color-brand);--button-primary-background-hover: var(--color-green-600);--button-primary-background-active: var(--color-green-800);--button-primary-color: var(--color-text-inverse);--button-cream-background: var(--color-cream-100);--button-cream-background-hover: var(--color-cream-300);--button-cream-background-active: var(--color-cream-200);--button-cream-color: var(--color-green-500);--button-secondary-background: var(--color-sage-100);--button-secondary-background-hover: var(--color-sage-200);--button-disabled-opacity: .42;color:var(--color-text);background:var(--color-page);font-family:var(--font-family-base);font-size:100%;font-synthesis:none;line-height:var(--line-height-body);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*,*:before,*:after{box-sizing:border-box}html{min-width:0;min-height:100%;color-scheme:light;scroll-behavior:smooth}body{min-height:100vh;min-height:100dvh;margin:0;overflow-x:unset;color:var(--color-text);background:var(--color-page);font-family:var(--font-family-base);font-size:var(--font-size-sm);font-weight:var(--font-weight-regular);line-height:var(--line-height-body)}button,input,select,textarea{color:inherit;font:inherit}button,select{cursor:pointer}button:disabled,select:disabled,input:disabled,textarea:disabled{cursor:not-allowed}a{color:inherit;text-decoration-thickness:.08em;text-underline-offset:.18em}img,picture,svg{display:block;max-width:100%}h1,h2,h3,h4,p,figure,blockquote,dl,dd{margin:0}h1,h2,h3,h4{font-weight:var(--font-weight-medium);line-height:var(--line-height-heading);text-wrap:balance}p,li{text-wrap:pretty}ul,ol{margin-block:0}:focus-visible{outline:.1875rem solid var(--color-focus-ring);outline-offset:.1875rem}::selection{color:var(--color-text-inverse);background:var(--color-brand)}.page-container{width:min(100%,var(--content-max-width));margin-inline:auto;padding-inline:var(--page-padding)}.app-button{display:inline-flex;min-height:var(--button-height);align-items:center;justify-content:center;gap:var(--button-gap);padding-inline:var(--button-padding-inline);border:var(--button-border-width) solid transparent;border-radius:var(--button-radius);font-size:var(--button-font-size);font-weight:var(--button-font-weight);line-height:1;text-align:center;text-decoration:none;white-space:nowrap;transition:color var(--duration-normal) var(--easing-standard),background-color var(--duration-normal) var(--easing-standard),border-color var(--duration-normal) var(--easing-standard)}.app-button--compact{min-height:var(--button-height-compact)}.app-button--primary-green{color:var(--button-primary-color);background:var(--button-primary-background)}.app-button--primary-cream{color:var(--button-cream-color);background:var(--button-cream-background);font-family:var(--font-family-accent);font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);line-height:var(--line-height-solid);transition:color .3s ease-out,background-color .3s ease-out}.app-button--secondary-green{color:var(--color-text);background:var(--button-secondary-background)}.app-button--secondary-cream{color:var(--color-text-inverse);background:transparent;border-color:transparent}.app-button:active{background:var(--button-primary-background-active)}.app-button--primary-cream:active{color:var(--button-cream-color);background:var(--button-cream-background-active)}.app-button:disabled,.app-button[aria-disabled=true]{cursor:not-allowed;opacity:var(--button-disabled-opacity);pointer-events:none}.app-root--recipe-detail .recipe-detail__fold-toggle{display:none}@media(max-width:47.999rem){.app-root--recipe-detail .recipe-detail__fold--closed{display:none}.app-root--recipe-detail .recipe-detail__fold-toggle{display:flex;align-items:center;justify-content:center;gap:var(--space-2);width:100%;margin:0 0 var(--space-10);color:var(--color-green-700);background:transparent;border:0;font:inherit}.app-root--recipe-detail .recipe-detail__fold-toggle span{width:0;height:0;border-inline:.4rem solid transparent;border-top:.45rem solid currentColor}.app-root--recipe-detail .recipe-detail__fold-caret--open{transform:rotate(180deg)}}@media(hover:hover)and (pointer:fine){.app-button--primary-green:hover{background:var(--button-primary-background-hover)}.app-button--primary-cream:hover{color:var(--button-cream-color);background:var(--button-cream-background-hover)}.app-button--secondary-green:hover{background:var(--button-secondary-background-hover)}.app-button--secondary-cream:hover{background:#faf0e61a}}@keyframes hero-content-reveal{0%{opacity:0;transform:translateY(var(--space-6))}to{opacity:1;transform:translateY(0)}}@keyframes hero-visual-reveal{0%{opacity:0;transform:translate(12%) scale(.97)}to{opacity:1;transform:translate(0) scale(1)}}main>router-outlet+*{animation:page-route-enter .56s var(--easing-entrance) both}@keyframes page-route-enter{0%{opacity:0;transform:translateY(.75rem)}to{opacity:1;transform:translateY(0)}}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
