:root{--color-text:#1a1a1a;--color-text-muted:#595959;--color-text-light:#666666;--color-background:#ffffff;--color-surface:#ffffff;--color-surface-alt:#f9f9f9;--color-cream:#fdf8f3;--color-accent:#f5a623;--color-accent-hover:#eb9415;--color-accent-light:#fef9e7;--color-accent-text:#9a6700;--color-border:#e5e5e5;--color-border-strong:#cccccc;--color-success:#166534;--color-error:#b91c1c;--color-koa:#5c4033;--font-heading:'Libre Baskerville', Georgia, serif;--font-body:'Source Sans 3', system-ui, sans-serif;--font-ui:'Source Sans 3', system-ui, sans-serif;--font-recipe-title:Georgia, 'Times New Roman', serif;--text-sm:0.9375rem;--text-base:1.125rem;--text-lg:1.25rem;--text-xl:1.5rem;--text-2xl:1.875rem;--text-3xl:2.25rem;--text-4xl:2.5rem;--leading-tight:1.3;--leading-normal:1.7;--leading-relaxed:1.85;--space-1:0.25rem;--space-2:0.5rem;--space-3:0.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;--container-max:900px;--container-narrow:700px;--container-padding:1.5rem;--radius:4px;--radius-lg:6px;--shadow-sm:0 1px 2px rgba(92, 64, 51, 0.06);--shadow:0 2px 8px rgba(92, 64, 51, 0.08);--shadow-lg:0 4px 16px rgba(92, 64, 51, 0.12);--transition:150ms ease;--z-sticky:100;--z-modal:200}*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}html{font-size:100%}@media(prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}body{font-family:var(--font-body);font-size:var(--text-base);line-height:var(--leading-normal);color:var(--color-text);background:var(--color-background);min-height:100vh;display:flex;flex-direction:column;-webkit-font-smoothing:antialiased}main{flex:1}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);line-height:var(--leading-tight)}img,svg{display:block;max-width:100%;height:auto}a{color:var(--color-accent-text);text-decoration:underline;text-underline-offset:2px}a:hover{color:var(--color-text)}ul,ol{list-style:none}::selection{background:var(--color-accent);color:#fff}:focus-visible{outline:3px solid var(--color-accent);outline-offset:2px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.skip-link{position:absolute;top:-100%;left:50%;transform:translateX(-50%);padding:var(--space-3)var(--space-6);background:var(--color-text);color:#fff;border-radius:var(--radius);z-index:var(--z-modal);font-family:var(--font-ui);font-size:var(--text-base);text-decoration:none}.skip-link:focus{top:var(--space-4);color:#fff}@media print{.site-header,.site-footer,.no-print,.btn-print-recipe{display:none !important}body{font-size:12pt;line-height:1.5;color:#000;background:#fff}a{color:#000;text-decoration:none}.recipe-title{font-size:24pt}.ingredient-checkbox{-webkit-appearance:none;appearance:none;width:16px;height:16px;border:2px solid #333;background:#fff;margin-top:2px;print-color-adjust:exact;-webkit-print-color-adjust:exact}.ingredient-item{page-break-inside:avoid}.instruction-item{page-break-inside:avoid}.instruction-number{background:#333 !important;color:#fff !important;print-color-adjust:exact;-webkit-print-color-adjust:exact}.recipe-family-story,.recipe-notes,.recipe-tips,.recipe-variations,.recipe-storage{page-break-inside:avoid}}h1,h2,h3,h4,h5,h6{font-family:var(--font-body);font-weight:700;line-height:var(--leading-tight);color:var(--color-text)}h1{font-size:var(--text-4xl)}h2{font-size:var(--text-2xl)}h3{font-size:var(--text-xl)}h4{font-size:var(--text-lg)}.recipe-title{font-family:var(--font-recipe-title);font-size:var(--text-4xl);font-weight:700;line-height:var(--leading-tight);margin-bottom:var(--space-4)}@media(max-width:640px){.recipe-title{font-size:var(--text-3xl)}}p{margin-bottom:var(--space-4)}p:last-child{margin-bottom:0}.text-muted{color:var(--color-text-muted)}.text-small{font-size:var(--text-sm)}.section-title{font-size:var(--text-2xl);text-align:center;margin-bottom:var(--space-8)}.label{font-family:var(--font-ui);font-size:var(--text-sm);font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted)}.container{width:100%;max-width:var(--container-max);margin:0 auto;padding:0 clamp(1.25rem,6vw,2.5rem)}.container-narrow{max-width:var(--container-narrow)}.content-page{padding-bottom:var(--space-16)}.content-page .page-header{padding:var(--space-12)0 var(--space-10);text-align:center;border-bottom:1px solid var(--color-border);margin-bottom:var(--space-10)}.content-page .page-header h1{font-family:var(--font-heading);font-size:var(--text-3xl);font-weight:400;color:var(--color-text);margin:0;letter-spacing:-.01em}.page-content{font-family:var(--font-body);font-size:var(--text-base);line-height:var(--leading-relaxed);color:var(--color-text)}.page-content h2{font-family:var(--font-heading);font-size:var(--text-xl);font-weight:400;color:var(--color-text);margin-top:var(--space-10);margin-bottom:var(--space-4);padding-bottom:var(--space-3);border-bottom:2px solid var(--color-accent)}.page-content h2:first-child{margin-top:0}.page-content h3{font-family:var(--font-heading);font-size:var(--text-lg);font-weight:400;margin-top:var(--space-8);margin-bottom:var(--space-3)}.page-content p{margin-bottom:var(--space-5)}.page-content p:last-child{margin-bottom:0}.page-content a{color:var(--color-accent-text);text-decoration:underline;text-decoration-color:var(--color-accent);text-underline-offset:3px;transition:all var(--transition)}.page-content a:hover{color:var(--color-accent-hover);text-decoration-color:var(--color-accent-hover)}.page-content ul,.page-content ol{margin-bottom:var(--space-5);padding-left:var(--space-6)}.page-content li{margin-bottom:var(--space-2);line-height:var(--leading-relaxed)}.page-content strong{font-weight:600;color:var(--color-text)}.page-content blockquote{margin:var(--space-6)0;padding:var(--space-4)var(--space-6);border-left:3px solid var(--color-accent);background:var(--color-cream);font-style:italic;color:var(--color-text-muted)}.page-content blockquote p:last-child{margin-bottom:0}.about-page{padding:var(--space-10)0 var(--space-16)}.about-submit{text-align:center;margin-top:var(--space-10);padding-top:var(--space-8);border-top:1px solid var(--color-border)}.about-submit-headline{font-family:var(--font-heading);font-size:var(--text-xl);font-weight:700;color:var(--color-text);margin:0 0 var(--space-2)}.about-submit p{font-family:var(--font-body);font-size:var(--text-base);color:var(--color-text-muted);margin:0}.about-submit a{color:var(--color-accent);font-weight:600;text-decoration:none}.about-submit a:hover{text-decoration:underline}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3)var(--space-6);font-family:var(--font-ui);font-size:var(--text-base);font-weight:600;border-radius:var(--radius);border:1px solid transparent;cursor:pointer;transition:all var(--transition);text-decoration:none;min-height:48px}.btn-primary{background:var(--color-accent);color:#fff;border-color:var(--color-accent)}.btn-primary:hover{background:var(--color-accent-hover);border-color:var(--color-accent-hover)}.btn-secondary{background:#fff;border-color:var(--color-border);color:var(--color-text)}.btn-secondary:hover{border-color:var(--color-accent);color:var(--color-accent-hover)}.site-header{background:#fff;border-bottom:1px solid var(--color-border);padding:var(--space-4)0;position:sticky;top:0;z-index:var(--z-sticky)}.site-header .container{display:flex;align-items:center;justify-content:space-between}.site-logo{font-family:bebas neue,Impact,sans-serif;font-size:1.75rem;font-weight:400;color:var(--color-text);text-decoration:none;letter-spacing:.04em;text-shadow:2px 2px 0 var(--color-accent);transition:all var(--transition)}.site-logo:hover{color:var(--color-accent-hover);text-shadow:2px 2px 0 var(--color-koa)}.main-nav{display:flex;align-items:center;gap:var(--space-2)}.nav-menu{display:none;align-items:center;gap:var(--space-6)}.nav-menu a{font-family:var(--font-ui);font-size:var(--text-base);font-weight:500;color:var(--color-text-muted);text-decoration:none;padding:var(--space-2)}.nav-menu a:hover,.nav-menu a[aria-current=page]{color:var(--color-accent)}.nav-toggle{padding:var(--space-3);background:0 0;border:1px solid var(--color-border);border-radius:var(--radius);cursor:pointer;min-width:48px;min-height:48px;display:flex;align-items:center;justify-content:center}@media(min-width:640px){.nav-menu{display:flex}.nav-toggle{display:none}}.hamburger{display:block;width:20px;height:2px;background:var(--color-text);position:relative}.hamburger::before,.hamburger::after{content:'';position:absolute;left:0;width:100%;height:2px;background:var(--color-text)}.hamburger::before{top:-6px}.hamburger::after{top:6px}.search-toggle{padding:var(--space-3);background:0 0;border:none;color:var(--color-text-muted);cursor:pointer;min-width:48px;min-height:48px}.search-toggle:hover{color:var(--color-accent)}.nav-open .nav-menu{display:flex;flex-direction:column;position:absolute;top:100%;left:0;right:0;background:#fff;padding:var(--space-4);border-bottom:1px solid var(--color-border);gap:var(--space-2)}.site-footer{border-top:1px solid var(--color-border);padding:var(--space-6)0;margin-top:auto}.footer-copy{font-family:var(--font-ui);font-size:var(--text-sm);color:var(--color-text-light);text-align:center}.tag{display:inline-flex;align-items:center;padding:var(--space-1)var(--space-3);font-family:var(--font-ui);font-size:var(--text-sm);font-weight:600;color:var(--color-accent);text-transform:uppercase;letter-spacing:.05em;text-decoration:none}.tag:hover{color:var(--color-accent-hover)}@media(prefers-reduced-motion:no-preference){@keyframes fadeInUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInLeft{from{opacity:0;transform:translateX(-12px)}to{opacity:1;transform:translateX(0)}}@keyframes shimmer{to{left:100%}}.animate-on-scroll{opacity:0}.animate-on-scroll.visible{animation:fadeInUp .5s ease forwards}.animate-stagger.visible>*:nth-child(1){animation-delay:0ms}.animate-stagger.visible>*:nth-child(2){animation-delay:50ms}.animate-stagger.visible>*:nth-child(3){animation-delay:100ms}.animate-stagger.visible>*:nth-child(4){animation-delay:150ms}.animate-stagger.visible>*:nth-child(5){animation-delay:200ms}.animate-stagger.visible>*:nth-child(6){animation-delay:250ms}.ingredient-list .ingredient-item{opacity:0}.ingredient-section.visible .ingredient-item{animation:slideInLeft .3s ease forwards}.ingredient-section.visible .ingredient-item:nth-child(1){animation-delay:0ms}.ingredient-section.visible .ingredient-item:nth-child(2){animation-delay:30ms}.ingredient-section.visible .ingredient-item:nth-child(3){animation-delay:60ms}.ingredient-section.visible .ingredient-item:nth-child(4){animation-delay:90ms}.ingredient-section.visible .ingredient-item:nth-child(5){animation-delay:120ms}.ingredient-section.visible .ingredient-item:nth-child(6){animation-delay:150ms}.ingredient-section.visible .ingredient-item:nth-child(7){animation-delay:180ms}.ingredient-section.visible .ingredient-item:nth-child(8){animation-delay:210ms}.ingredient-section.visible .ingredient-item:nth-child(n+9){animation-delay:240ms}.instruction-list .instruction-item{opacity:0}.instruction-section.visible .instruction-item{animation:fadeInUp .4s ease forwards}.instruction-section.visible .instruction-item:nth-child(1){animation-delay:0ms}.instruction-section.visible .instruction-item:nth-child(2){animation-delay:80ms}.instruction-section.visible .instruction-item:nth-child(3){animation-delay:160ms}.instruction-section.visible .instruction-item:nth-child(4){animation-delay:240ms}.instruction-section.visible .instruction-item:nth-child(n+5){animation-delay:300ms}}.recipe-card{background:#fff;border-radius:var(--radius-lg);overflow:hidden;box-shadow:0 2px 8px rgba(0,0,0,4%);transition:transform var(--transition),box-shadow var(--transition)}.recipe-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px rgba(0,0,0,.1)}.recipe-card-link{display:block;color:inherit;text-decoration:none}.recipe-card-link:hover .recipe-card-title{color:var(--color-accent-hover)}.recipe-card-image{aspect-ratio:4/3;overflow:hidden;background:var(--color-surface-alt)}.recipe-card-image img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}.recipe-card:hover .recipe-card-image img{transform:scale(1.05)}.recipe-card-image--placeholder{display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--color-cream) 0%,#fef3e2 100%)}.recipe-card-emoji{font-size:3rem;opacity:.7}.recipe-card-content{padding:var(--space-4)}.recipe-card-course{display:inline-block;font-family:var(--font-ui);font-size:var(--text-sm);font-weight:600;color:var(--color-accent-text);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--space-2)}.recipe-card-title{font-family:var(--font-recipe-title);font-size:var(--text-lg);font-weight:700;margin:0 0 var(--space-2);line-height:var(--leading-tight);transition:color var(--transition)}.recipe-card-meta{display:flex;gap:var(--space-4);font-family:var(--font-ui);font-size:var(--text-sm);color:var(--color-text-muted)}.recipe-card-difficulty--easy{color:var(--color-success)}.recipe-card-difficulty--hard{color:var(--color-error)}.recipe-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-6)}@media(min-width:768px){.recipe-grid{grid-template-columns:repeat(3,1fr)}}@media(min-width:1024px){.recipe-grid{grid-template-columns:repeat(4,1fr)}}.home-section{padding:var(--space-10)0}.home-section:first-child{padding-top:var(--space-8)}.home-section--alt{background:var(--color-surface-alt)}.section-header{font-size:var(--text-xl);font-weight:700;margin-bottom:var(--space-6);padding-bottom:var(--space-3);border-bottom:2px solid var(--color-accent)}.section-header-row{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:var(--space-6);padding-bottom:var(--space-3);border-bottom:2px solid var(--color-accent)}.section-header-row .section-header{margin-bottom:0;padding-bottom:0;border-bottom:none}.section-link{font-family:var(--font-ui);font-size:var(--text-sm);color:var(--color-accent-text);text-decoration:none;font-weight:600}.section-link:hover{color:var(--color-accent-hover)}.home-section--featured{background:var(--color-cream);border-bottom:1px solid var(--color-border)}.featured-recipe{background:#fff;overflow:hidden;box-shadow:0 4px 20px rgba(0,0,0,8%)}.featured-recipe-link{display:grid;grid-template-columns:1fr;text-decoration:none;color:inherit}@media(min-width:768px){.featured-recipe-link{grid-template-columns:1.2fr 1fr}}.featured-recipe-image{aspect-ratio:16/10;overflow:hidden;background:var(--color-surface-alt)}@media(min-width:768px){.featured-recipe-image{aspect-ratio:auto;min-height:320px}}.featured-recipe-image img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}.featured-recipe:hover .featured-recipe-image img{transform:scale(1.03)}.featured-recipe-content{padding:var(--space-6);display:flex;flex-direction:column;justify-content:center}@media(min-width:768px){.featured-recipe-content{padding:var(--space-8)}}.featured-recipe-course{display:inline-block;font-family:var(--font-ui);font-size:var(--text-sm);font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-accent-text);margin-bottom:var(--space-2)}.featured-recipe-title{font-family:var(--font-recipe-title);font-size:var(--text-2xl);font-weight:700;margin:0 0 var(--space-4);line-height:var(--leading-tight);transition:color var(--transition)}@media(min-width:768px){.featured-recipe-title{font-size:var(--text-3xl)}}.featured-recipe:hover .featured-recipe-title{color:var(--color-accent-hover)}.featured-recipe-story{font-size:var(--text-base);line-height:var(--leading-relaxed);color:var(--color-text-muted);margin:0 0 var(--space-4)}.featured-recipe-meta{display:flex;gap:var(--space-4);font-family:var(--font-ui);font-size:var(--text-sm);color:var(--color-text-muted)}.latest-recipes-grid{display:grid;grid-template-columns:1fr;gap:var(--space-6)}@media(min-width:640px){.latest-recipes-grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:900px){.latest-recipes-grid{grid-template-columns:repeat(3,1fr)}}.latest-recipe-card{display:block;text-decoration:none;color:inherit;border:1px solid var(--color-border);overflow:hidden;background:#fff;transition:border-color var(--transition)}.latest-recipe-card:hover{border-color:var(--color-accent)}.latest-recipe-image{position:relative;aspect-ratio:16/10;overflow:hidden;background:var(--color-surface-alt)}.latest-recipe-stamp{position:absolute;top:var(--space-3);right:var(--space-3);padding:var(--space-1)var(--space-3);background:var(--color-koa);color:#fff;font-family:var(--font-ui);font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;border:2px solid var(--color-accent);transform:rotate(3deg);box-shadow:0 2px 4px rgba(0,0,0,.2);text-shadow:0 1px 2px rgba(0,0,0,.3);z-index:2;transition:transform var(--transition),box-shadow var(--transition)}.latest-recipe-card:hover .latest-recipe-stamp{transform:rotate(0)scale(1.05);box-shadow:0 3px 8px rgba(0,0,0,.25)}.latest-recipe-image img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.latest-recipe-card:hover .latest-recipe-image img{transform:scale(1.03)}.latest-recipe-image--placeholder{display:flex;align-items:center;justify-content:center;font-size:2.5rem;background:var(--color-cream)}.latest-recipe-content{padding:var(--space-4)}.latest-recipe-course{display:inline-block;font-family:var(--font-ui);font-size:var(--text-sm);font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-accent-text);margin-bottom:var(--space-1)}.latest-recipe-title{font-family:var(--font-recipe-title);font-size:var(--text-lg);font-weight:700;margin:0 0 var(--space-2);line-height:var(--leading-tight);transition:color var(--transition)}.latest-recipe-card:hover .latest-recipe-title{color:var(--color-accent-hover)}.latest-recipe-meta{display:flex;gap:var(--space-3);font-family:var(--font-ui);font-size:var(--text-sm);color:var(--color-text-muted)}.home-section--courses{background:var(--color-surface-alt);border-top:1px solid var(--color-border)}.course-circles{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-8)}@media(min-width:640px){.course-circles{gap:var(--space-10)}}.course-circle{display:flex;flex-direction:column;align-items:center;text-decoration:none;color:var(--color-text)}.course-circle-image{width:100px;height:100px;border-radius:50%;overflow:hidden;margin-bottom:var(--space-3);border:4px solid #fff;box-shadow:0 3px 6px rgba(0,0,0,.16);transition:transform .4s ease;background:var(--color-cream)}@media(min-width:640px){.course-circle-image{width:120px;height:120px}}.course-circle:hover .course-circle-image{transform:scale(.95)}.course-circle-image img{width:100%;height:100%;object-fit:cover}.course-circle-emoji{display:flex;align-items:center;justify-content:center;width:100%;height:100%;font-size:2.5rem}.course-circle-name{font-family:var(--font-ui);font-size:var(--text-sm);font-weight:600;text-align:center;transition:color .4s ease}.course-circle:hover .course-circle-name{color:var(--color-accent-hover)}.home-section--family{border-top:1px solid var(--color-border)}.family-circles{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-6)}@media(min-width:640px){.family-circles{gap:var(--space-8)}}.family-circle{display:flex;flex-direction:column;align-items:center;text-decoration:none;color:var(--color-text)}.family-circle-image{width:90px;height:90px;border-radius:50%;overflow:hidden;margin-bottom:var(--space-2);border:4px solid #fff;box-shadow:0 3px 6px rgba(0,0,0,.16);transition:transform .4s ease;background:var(--color-cream)}@media(min-width:640px){.family-circle-image{width:100px;height:100px}}.family-circle:hover .family-circle-image{transform:scale(.95)}.family-circle-image img{width:100%;height:100%;object-fit:cover}.family-circle-emoji{display:flex;align-items:center;justify-content:center;width:100%;height:100%;font-size:2rem}.family-circle-name{font-family:var(--font-ui);font-size:var(--text-sm);font-weight:600;text-align:center;transition:color .4s ease}.family-circle:hover .family-circle-name{color:var(--color-accent-hover)}.family-circle-count{font-family:var(--font-ui);font-size:var(--text-xs);color:var(--color-text-muted);text-align:center}.recipe-list{display:flex;flex-direction:column}.recipe-list-item{display:flex;gap:var(--space-4);padding:var(--space-4)0;border-bottom:1px solid var(--color-border);text-decoration:none;color:inherit;transition:background var(--transition)}.recipe-list-item:last-child{border-bottom:none}.recipe-list-item:hover{background:var(--color-surface-alt);margin-left:calc(-1 * var(--space-3));margin-right:calc(-1 * var(--space-3));padding-left:var(--space-3);padding-right:var(--space-3)}.recipe-list-image{width:80px;height:80px;flex-shrink:0;overflow:hidden;background:var(--color-surface-alt)}.recipe-list-image img{width:100%;height:100%;object-fit:cover}.recipe-list-image--placeholder{display:flex;align-items:center;justify-content:center;font-size:2rem;background:var(--color-cream)}.recipe-list-content{display:flex;flex-direction:column;justify-content:center;min-width:0}.recipe-list-title{font-size:var(--text-lg);font-weight:700;margin:0 0 var(--space-1);line-height:var(--leading-tight)}.recipe-list-item:hover .recipe-list-title{color:var(--color-accent-hover)}.recipe-list-meta{display:flex;gap:var(--space-3);font-family:var(--font-ui);font-size:var(--text-sm);color:var(--color-text-muted)}.recipe-list-course{color:var(--color-accent-text);font-weight:600;text-transform:uppercase;letter-spacing:.03em}.recipe-hero{width:100%;max-height:450px;overflow:hidden}.recipe-hero-image{width:100%;height:100%;max-height:450px;object-fit:cover;display:block}@media(prefers-reduced-motion:no-preference){.recipe-hero-image{animation:heroZoom 20s ease-out forwards}@keyframes heroZoom{from{transform:scale(1.05)}to{transform:scale(1)}}}@media(min-width:768px){.recipe-hero{max-height:500px}.recipe-hero-image{max-height:500px}}.recipe-header{padding:var(--space-10)0;text-align:center;border-bottom:1px solid var(--color-border)}.recipe-header-content{max-width:var(--container-narrow);margin:0 auto}.recipe-courses{display:flex;flex-wrap:wrap;gap:var(--space-2);justify-content:center;margin-bottom:var(--space-4)}.course-tag{display:inline-block;font-family:var(--font-ui);font-size:var(--text-sm);font-weight:600;color:var(--color-accent-text);text-transform:uppercase;letter-spacing:.05em;text-decoration:none}.course-tag:hover{color:var(--color-accent-hover)}.recipe-title{font-size:var(--text-3xl);margin-bottom:var(--space-6)}.recipe-meta{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-8);padding-top:var(--space-4)}.meta-item{text-align:center}.meta-label{display:block;font-family:var(--font-ui);font-size:var(--text-sm);font-weight:700;color:var(--color-text);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--space-1)}.meta-value{font-size:var(--text-lg);color:var(--color-text-muted)}.recipe-body{padding:var(--space-10)0}.recipe-layout{display:flex;flex-direction:column;gap:var(--space-10);max-width:var(--container-narrow);margin:0 auto}.ingredient-section{padding:var(--space-6);border:1px solid var(--color-border);box-shadow:var(--shadow-sm)}.ingredient-section h2{font-size:var(--text-xl);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--space-4);padding-bottom:var(--space-3);border-bottom:2px solid var(--color-accent)}.servings-note{font-family:var(--font-ui);font-size:var(--text-sm);color:var(--color-text-muted);margin-bottom:var(--space-4)}.ingredient-group{margin-bottom:var(--space-5)}.ingredient-group:last-child{margin-bottom:0}.ingredient-group-title{font-family:var(--font-ui);font-size:var(--text-sm);font-weight:700;color:var(--color-text);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--space-3)}.ingredient-list{margin-bottom:var(--space-4)}.ingredient-item{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-2);margin:0 calc(-1 * var(--space-2));font-size:var(--text-base);line-height:var(--leading-normal);border-radius:var(--radius);transition:background var(--transition)}.ingredient-item:hover{background:rgba(245,166,35,6%)}.ingredient-checkbox{flex-shrink:0;width:20px;height:20px;margin-top:4px;accent-color:var(--color-accent);cursor:pointer;transition:transform var(--transition)}.ingredient-checkbox:hover{transform:scale(1.15)}@media(prefers-reduced-motion:no-preference){@keyframes checkPop{0%{transform:scale(1)}50%{transform:scale(1.3)}100%{transform:scale(1)}}.ingredient-checkbox:checked{animation:checkPop .2s ease-out}}.ingredient-text{flex:1;transition:color .3s ease,opacity .3s ease}.ingredient-text.checked{text-decoration:line-through;color:var(--color-text-muted);opacity:.7}.ingredient-amount{font-weight:600}.ingredient-notes{font-size:var(--text-sm);color:var(--color-text-muted)}.btn-print-recipe{display:flex;align-items:center;justify-content:center;gap:var(--space-2);width:100%;padding:var(--space-4);margin-top:var(--space-5);background:#fff;color:var(--color-text);border:1px solid var(--color-border);font-family:var(--font-ui);font-size:var(--text-base);font-weight:600;cursor:pointer;transition:all var(--transition)}.btn-print-recipe:hover{border-color:var(--color-accent);color:var(--color-accent-hover)}.btn-print-recipe svg{width:18px;height:18px}.substitutes-section{margin-top:var(--space-5);padding-top:var(--space-4);border-top:1px solid var(--color-border)}.substitutes-section h3{font-size:var(--text-base);font-weight:700;text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--space-3)}.substitute-item{padding:var(--space-2)0;font-size:var(--text-base)}.substitute-original{font-weight:600}.substitute-arrow{color:var(--color-accent);margin:0 var(--space-2)}.instruction-section{padding:var(--space-6);border:1px solid var(--color-border);box-shadow:var(--shadow-sm);margin-bottom:var(--space-8)}.instruction-section h2{font-size:var(--text-xl);text-transform:uppercase;letter-spacing:.08em;margin-bottom:var(--space-5);padding-bottom:var(--space-4);border-bottom:2px solid var(--color-accent)}.instruction-list{counter-reset:step-counter;list-style:none;padding:0;margin:0}.instruction-item{display:flex;align-items:flex-start;gap:var(--space-4);padding:var(--space-4)var(--space-3);margin:0 calc(-1 * var(--space-3));border-bottom:1px solid var(--color-border);border-left:3px solid transparent;border-radius:var(--radius)0 0 var(--radius);transition:background var(--transition),border-color var(--transition)}.instruction-item:hover{background:var(--color-surface-alt);border-left-color:var(--color-accent)}.instruction-item:last-child{border-bottom:none}.instruction-number{flex-shrink:0;width:56px;display:flex;align-items:flex-start;justify-content:center;padding-top:var(--space-1);font-family:var(--font-heading);font-size:var(--text-4xl);font-weight:400;line-height:1;color:var(--color-accent);transition:transform var(--transition),color var(--transition)}.instruction-item:hover .instruction-number{transform:scale(1.1);color:var(--color-accent-hover)}.instruction-content{flex:1}.instruction-content p{font-size:var(--text-base);line-height:var(--leading-relaxed);margin-bottom:0}.instruction-image{margin-top:var(--space-4);border-radius:var(--radius);overflow:hidden}.instruction-image img{width:100%;height:auto;display:block}.instruction-tip{margin-top:var(--space-4);padding:var(--space-4);background:var(--color-cream);font-size:var(--text-base);line-height:var(--leading-relaxed);border-left:4px solid var(--color-accent);border-radius:0 var(--radius-lg)var(--radius-lg)0}.instruction-tip strong{color:var(--color-accent-hover)}.recipe-family-story{position:relative;padding:var(--space-8);padding-left:var(--space-12);margin:var(--space-8)0;background:var(--color-cream);border:none;border-radius:var(--radius-lg)}.recipe-family-story::before{content:'"';font-family:Georgia,serif;font-size:5rem;color:var(--color-koa);opacity:.25;position:absolute;top:var(--space-4);left:var(--space-4);line-height:1}.recipe-family-story h2{font-size:var(--text-lg);margin-bottom:var(--space-3)}.recipe-family-story p{font-size:var(--text-base);line-height:var(--leading-relaxed);font-style:italic;color:var(--color-text-muted)}.recipe-source{font-family:var(--font-ui);font-size:var(--text-sm);color:var(--color-text-light);margin-top:var(--space-3);font-style:normal}.recipe-notes,.recipe-tips,.recipe-variations,.recipe-storage,.recipe-story{padding:var(--space-6);border:1px solid var(--color-border);margin-top:var(--space-6)}.recipe-notes h2,.recipe-tips h2,.recipe-variations h2,.recipe-storage h2{font-size:var(--text-lg);font-weight:700;text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--space-4);padding-bottom:0;border-bottom:none}.recipe-notes p,.recipe-storage p,.recipe-story p{font-size:var(--text-base);line-height:var(--leading-relaxed);color:var(--color-text-muted);margin:0}.recipe-tips ul,.recipe-variations ul{padding-left:0;margin:0;list-style:none}.recipe-tips li,.recipe-variations li{position:relative;margin-bottom:var(--space-3);padding-left:var(--space-6);font-size:var(--text-base);line-height:var(--leading-relaxed);color:var(--color-text-muted)}.recipe-tips li:last-child,.recipe-variations li:last-child{margin-bottom:0}.recipe-tips li::before,.recipe-variations li::before{content:'•';position:absolute;left:var(--space-2);color:var(--color-accent);font-weight:700}.recipe-listing{padding-bottom:var(--space-12)}.listing-header{padding:var(--space-10)0;margin-bottom:var(--space-8);text-align:center;border-bottom:1px solid var(--color-border)}.listing-title{margin-bottom:var(--space-3)}.listing-description{font-size:var(--text-lg);color:var(--color-text-muted);max-width:500px;margin:0 auto}.btn-print-bottom{display:flex;align-items:center;justify-content:center;gap:var(--space-2);width:100%;padding:var(--space-4);margin-top:var(--space-6);background:var(--color-cream);color:var(--color-text);border:1px solid var(--color-border);font-family:var(--font-ui);font-size:var(--text-base);font-weight:600;cursor:pointer;transition:all var(--transition)}.btn-print-bottom:hover{border-color:var(--color-accent);color:var(--color-accent-hover);background:var(--color-accent-light)}.btn-print-bottom svg{width:20px;height:20px;flex-shrink:0}.recipe-footer{display:flex;flex-direction:column;gap:var(--space-6);margin-top:var(--space-8);padding:var(--space-6);border:1px solid var(--color-border)}@media(min-width:640px){.recipe-footer{flex-direction:row;justify-content:space-between;align-items:flex-start}}.recipe-tags{flex:1}.recipe-tags-label{font-family:var(--font-ui);font-size:var(--text-sm);font-weight:600;color:var(--color-text-muted)}.recipe-tags-list{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-2)}.recipe-tag{display:inline-block;padding:var(--space-1)var(--space-3);background:var(--color-surface-alt);border:1px solid var(--color-border);font-family:var(--font-ui);font-size:var(--text-sm);color:var(--color-text-muted);text-decoration:none;transition:all var(--transition)}.recipe-tag:hover{border-color:var(--color-accent);color:var(--color-accent-text);transform:scale(1.03)}.recipe-share{flex-shrink:0}.recipe-share-label{display:block;font-family:var(--font-ui);font-size:var(--text-sm);font-weight:600;color:var(--color-text-muted);margin-bottom:var(--space-3)}.recipe-share-buttons{display:flex;flex-wrap:wrap;gap:var(--space-2)}.share-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-width:44px;min-height:44px;padding:var(--space-2)var(--space-3);background:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:var(--radius);font-family:var(--font-ui);font-size:var(--text-sm);color:var(--color-text-muted);text-decoration:none;cursor:pointer;transition:all var(--transition)}.share-btn:hover{border-color:var(--color-accent);color:var(--color-accent-text);background:var(--color-background)}.share-btn svg{flex-shrink:0}.share-btn--copy.copied{background:var(--color-success);border-color:var(--color-success);color:#fff}.share-btn--facebook:hover{background:#1877f2;border-color:#1877f2;color:#fff}.share-btn--pinterest:hover{background:#e60023;border-color:#e60023;color:#fff}@media(max-width:480px){.share-btn-text{display:none}}.related-recipes{max-width:none;margin:0;padding:var(--space-10)var(--space-6);background:var(--color-cream);border-top:none}.related-recipes h2{font-family:var(--font-heading);font-size:var(--text-xl);text-align:center;margin-bottom:var(--space-8);color:var(--color-koa)}.related-recipes-grid{display:flex;flex-wrap:wrap;gap:var(--space-4);justify-content:center;max-width:600px;margin:0 auto}.related-recipes-grid .related-recipe-card{flex:0 1 calc(50% - var(--space-2))}@media(min-width:640px){.related-recipes-grid{max-width:1200px}.related-recipes-grid .related-recipe-card{flex:0 1 calc(25% - var(--space-3));max-width:280px}}.related-recipe-card{display:block;text-decoration:none;color:inherit;background:#fff;border:none;border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-sm);transition:box-shadow var(--transition),transform var(--transition)}.related-recipe-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px)}.related-recipe-card img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;transition:transform .4s ease}.related-recipe-card:hover img{transform:scale(1.05)}.related-recipe-image{position:relative;overflow:hidden}.related-recipe-image img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;transition:transform .4s ease}.related-recipe-stamp{position:absolute;top:var(--space-2);right:var(--space-2);padding:2px var(--space-2);background:var(--color-koa);color:#fff;font-family:var(--font-ui);font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;border:2px solid var(--color-accent);transform:rotate(3deg);box-shadow:0 2px 4px rgba(0,0,0,.2);text-shadow:0 1px 2px rgba(0,0,0,.3);z-index:2;transition:transform var(--transition)}.related-recipe-card:hover .related-recipe-stamp{transform:rotate(0)scale(1.05)}.related-recipe-placeholder{aspect-ratio:4/3;display:flex;align-items:center;justify-content:center;background:var(--color-cream);font-size:2rem}.related-recipe-content{padding:var(--space-3)}.related-recipe-course{display:block;font-family:var(--font-ui);font-size:var(--text-sm);color:var(--color-accent-text);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--space-1)}.related-recipe-title{display:block;font-family:var(--font-body);font-size:var(--text-sm);font-weight:600;line-height:var(--leading-tight)}.related-recipe-card:hover .related-recipe-title{color:var(--color-accent-hover)}.text-size-controls{display:flex;gap:2px;margin-right:var(--space-3)}.text-size-btn{min-width:44px;min-height:44px;padding:var(--space-2)var(--space-3);background:0 0;border:1px solid var(--color-border);font-family:var(--font-ui);font-size:var(--text-sm);color:var(--color-text-muted);cursor:pointer;transition:all var(--transition)}.text-size-btn:first-child{border-radius:var(--radius)0 0 var(--radius)}.text-size-btn:last-child{border-radius:0 var(--radius)var(--radius)0}.text-size-btn[aria-pressed=true]{background:var(--color-accent);border-color:var(--color-accent);color:#1a1a1a}.text-size-btn:hover:not([aria-pressed=true]){border-color:var(--color-accent);color:var(--color-accent-text)}:root.text-large{--text-sm:1.078rem;--text-base:1.294rem;--text-lg:1.438rem;--text-xl:1.725rem;--text-2xl:2.156rem;--text-3xl:2.588rem;--text-4xl:2.875rem}:root.text-xl{--text-sm:1.219rem;--text-base:1.463rem;--text-lg:1.625rem;--text-xl:1.95rem;--text-2xl:2.438rem;--text-3xl:2.925rem;--text-4xl:3.25rem}.jump-to-recipe{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:var(--space-3);padding:var(--space-4);background:var(--color-surface-alt);border-bottom:1px solid var(--color-border)}@media(max-width:480px){.jump-to-recipe{gap:var(--space-2)}.jump-to-recipe-btn{width:100%;justify-content:center}.wake-lock-btn,.print-btn,.cooking-mode-btn{padding:var(--space-2)var(--space-3);font-size:var(--text-sm)}.wake-lock-text,.print-btn span,.cooking-mode-btn span{display:none}}.jump-to-recipe-btn{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-3)var(--space-5);background:var(--color-accent);border:2px solid var(--color-accent);color:#1a1a1a;font-family:var(--font-ui);font-size:var(--text-base);font-weight:600;text-decoration:none;border-radius:var(--radius);transition:all var(--transition)}.jump-to-recipe-btn:hover{background:var(--color-accent-hover);border-color:var(--color-accent-hover);transform:translateY(-1px)}.jump-to-recipe-btn:active{transform:translateY(0)scale(.98)}.wake-lock-btn{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2)var(--space-3);background:0 0;border:1px solid var(--color-border);font-family:var(--font-ui);font-size:var(--text-sm);color:var(--color-text-light);cursor:pointer;border-radius:var(--radius);transition:all var(--transition)}.wake-lock-btn:hover{color:var(--color-text-muted);border-color:var(--color-border-strong);background:var(--color-surface-alt)}.wake-lock-btn.active{background:var(--color-accent-light);color:var(--color-accent-text)}.wake-lock-btn[hidden]{display:none}.print-btn{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2)var(--space-3);background:0 0;border:1px solid var(--color-border);font-family:var(--font-ui);font-size:var(--text-sm);color:var(--color-text-light);cursor:pointer;border-radius:var(--radius);transition:all var(--transition)}.print-btn:hover{color:var(--color-text-muted);border-color:var(--color-border-strong);background:var(--color-surface-alt)}.print-btn:active{transform:scale(.97)}.print-btn svg{flex-shrink:0}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important;scroll-behavior:auto !important}}.search-bar-wrapper{display:none}@media(min-width:640px){.search-bar-wrapper{display:block}.search-toggle{display:none}}.search-bar{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2)var(--space-3);background:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:var(--radius);cursor:pointer;transition:all var(--transition)}.search-bar:hover{border-color:var(--color-accent)}.search-input{border:none;background:0 0;font-family:var(--font-ui);font-size:var(--text-sm);color:var(--color-text-muted);width:140px;cursor:pointer}.search-input:focus{outline:none}.search-bar:focus-within{outline:3px solid var(--color-accent);outline-offset:2px}.search-input::placeholder{color:var(--color-text-light)}.search-hint{font-family:var(--font-ui);font-size:.75rem;color:var(--color-text-light);background:var(--color-background);padding:2px 6px;border-radius:3px;border:1px solid var(--color-border)}.servings-scaler{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3);row-gap:var(--space-3);margin-bottom:var(--space-4);padding:var(--space-3);background:var(--color-surface-alt);border-radius:var(--radius)}@media(max-width:480px){.servings-scaler{justify-content:space-between}}.servings-label{font-family:var(--font-ui);font-size:var(--text-sm);color:var(--color-text-muted)}.servings-btn{display:flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;background:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius);font-family:var(--font-ui);font-size:var(--text-lg);color:var(--color-text);cursor:pointer;transition:all var(--transition)}.servings-btn:hover{border-color:var(--color-accent);color:var(--color-accent-text)}.servings-btn:active{background:var(--color-accent-light);transform:scale(.95)}.servings-value{min-width:2rem;text-align:center;font-family:var(--font-ui);font-weight:600;font-size:var(--text-base)}.unit-toggle{display:flex;gap:2px;margin-left:auto}@media(max-width:480px){.unit-toggle{margin-left:0;width:100%;justify-content:center}}.unit-btn{min-height:44px;padding:var(--space-2)var(--space-3);background:0 0;border:1px solid var(--color-border);font-family:var(--font-ui);font-size:var(--text-sm);color:var(--color-text-muted);cursor:pointer;transition:all var(--transition)}.unit-btn:first-child{border-radius:var(--radius)0 0 var(--radius)}.unit-btn:last-child{border-radius:0 var(--radius)var(--radius)0}.unit-btn[aria-pressed=true]{background:var(--color-accent);border-color:var(--color-accent);color:#1a1a1a}.unit-btn:hover:not([aria-pressed=true]){border-color:var(--color-accent);color:var(--color-accent-text)}.instruction-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-4)}.instruction-header h2{margin:0}@media(max-width:480px){.instruction-header{flex-direction:column;align-items:flex-start;gap:var(--space-3)}.instruction-header h2{width:100%}}.voice-read-btn{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2)var(--space-3);background:0 0;border:1px solid var(--color-border);font-family:var(--font-ui);font-size:var(--text-sm);color:var(--color-text-muted);cursor:pointer;border-radius:var(--radius);transition:all var(--transition)}.voice-read-btn:hover{border-color:var(--color-accent);color:var(--color-accent-text)}.voice-read-btn.active{background:var(--color-accent);border-color:var(--color-accent);color:#1a1a1a}.voice-read-btn svg{flex-shrink:0}.related-recipes{margin-top:var(--space-12);margin-bottom:var(--space-12);padding-top:var(--space-8);border-top:1px solid var(--color-border)}.related-recipes h2{font-size:var(--text-xl);margin-bottom:var(--space-6)}.related-recipe-card{display:block;text-decoration:none;overflow:hidden;background:#fff;border:1px solid var(--color-border);transition:border-color var(--transition)}.related-recipe-card:hover{border-color:var(--color-accent)}.related-recipe-card img{width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .4s ease}.related-recipe-card:hover img{transform:scale(1.03)}.related-recipe-placeholder{aspect-ratio:4/3;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--color-cream) 0%,#fef3e2 100%);font-size:2rem}.related-recipe-content{padding:var(--space-3)}.related-recipe-course{display:block;font-family:var(--font-ui);font-size:.7rem;font-weight:600;color:var(--color-accent-text);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--space-1)}.related-recipe-title{display:block;font-family:var(--font-recipe-title);font-size:var(--text-sm);font-weight:500;color:var(--color-text);line-height:var(--leading-tight);transition:color var(--transition)}.related-recipe-card:hover .related-recipe-title{color:var(--color-accent-hover)}.recipe-filters{display:flex;flex-direction:column;gap:var(--space-4);margin-bottom:var(--space-6);padding:var(--space-4);background:var(--color-surface-alt);border-radius:var(--radius)}@media(min-width:640px){.recipe-filters{flex-direction:row;align-items:center}}.filter-group{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap}.filter-label{font-family:var(--font-ui);font-size:var(--text-sm);font-weight:500;color:var(--color-text-muted)}.filter-buttons{display:flex;flex-wrap:wrap;gap:var(--space-2)}.filter-btn{padding:var(--space-1)var(--space-3);background:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius);font-family:var(--font-ui);font-size:var(--text-sm);color:var(--color-text-muted);cursor:pointer;transition:all var(--transition)}.filter-btn:hover{border-color:var(--color-accent);color:var(--color-accent-text)}.filter-btn.active{background:var(--color-accent);border-color:var(--color-accent);color:#1a1a1a}.cooking-mode-btn{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2)var(--space-4);background:0 0;border:1px solid var(--color-accent);font-family:var(--font-ui);font-size:var(--text-sm);font-weight:600;color:var(--color-accent-text);cursor:pointer;border-radius:var(--radius);transition:all var(--transition)}.cooking-mode-btn:hover{background:var(--color-accent-light);border-color:var(--color-accent-hover);color:var(--color-accent-hover)}.cooking-mode-btn:active{transform:scale(.97)}.cooking-mode-btn svg{flex-shrink:0}.cooking-mode{position:fixed;inset:0;z-index:var(--z-modal);display:flex;flex-direction:column;background:#1a1a1a;color:#fff}.cooking-mode[hidden]{display:none}.cooking-mode-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4)var(--space-6);border-bottom:1px solid #333}.cooking-mode-title{font-family:var(--font-body);font-size:var(--text-xl);font-weight:400;margin:0;color:#fff}.cooking-mode-close{display:flex;align-items:center;justify-content:center;width:48px;height:48px;padding:0;background:0 0;border:1px solid #444;border-radius:var(--radius);font-size:var(--text-xl);color:#a0a0a0;cursor:pointer;transition:all var(--transition)}.cooking-mode-close:hover{background:#333;border-color:#666;color:#fff}.step-indicators{display:flex;justify-content:center;gap:var(--space-2);padding:var(--space-3)var(--space-4);background:#222;flex-wrap:wrap}.step-pill{display:flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;background:#333;border:2px solid #444;border-radius:50%;font-family:var(--font-ui);font-size:var(--text-sm);font-weight:600;color:#a0a0a0;cursor:pointer;transition:all var(--transition)}.step-pill:hover{background:#444;border-color:#666;color:#fff}.step-pill.active{background:var(--color-accent);border-color:var(--color-accent);color:#1a1a1a}.step-pill.completed{background:#2a5a2a;border-color:#3a7a3a;color:#8f8}.cooking-mode-content{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding:var(--space-8);padding-top:var(--space-12);overflow-y:auto}.cooking-mode-step{max-width:800px;text-align:center;width:100%}.step-number{display:block;font-family:var(--font-ui);font-size:var(--text-sm);color:var(--color-accent);text-transform:uppercase;letter-spacing:.1em;margin-bottom:var(--space-4)}.step-text{font-family:var(--font-body);font-size:clamp(1.5rem,4vw,2rem);line-height:1.5;color:#fff;margin:0 0 var(--space-6)}.step-tip{font-family:var(--font-ui);font-size:var(--text-base);color:#b3b3b3;font-style:italic;padding:var(--space-4);background:#252525;border-radius:var(--radius);border-left:3px solid var(--color-accent);margin:0}.step-image-container{display:flex;justify-content:center;margin:var(--space-4)0}.step-image{max-width:100%;max-height:280px;width:auto;height:auto;border-radius:var(--radius);border:1px solid #333;object-fit:contain}.step-image[hidden]{display:none}.step-image-container:has(.step-image[hidden]){display:none}.cooking-mode-nav{display:flex;justify-content:center;gap:var(--space-4);padding:var(--space-6);border-top:1px solid #333}.cooking-nav-btn{display:flex;align-items:center;justify-content:center;min-width:140px;height:56px;padding:0 var(--space-6);background:#333;border:1px solid #444;border-radius:var(--radius);font-family:var(--font-ui);font-size:var(--text-base);font-weight:500;color:#fff;cursor:pointer;transition:all var(--transition)}.cooking-nav-btn:hover:not(:disabled){background:#444;border-color:#555}.cooking-nav-btn:active:not(:disabled){transform:scale(.97)}.cooking-nav-btn:disabled{opacity:.4;cursor:not-allowed}.cooking-nav-btn[data-dir=next]{background:var(--color-accent);border-color:var(--color-accent);color:#1a1a1a}.cooking-nav-btn[data-dir=next]:hover:not(:disabled){background:var(--color-accent-hover);border-color:var(--color-accent-hover)}.cooking-mode-progress{height:4px;background:#333}.progress-bar{position:relative;height:100%;background:var(--color-accent);transition:width .3s ease;overflow:hidden}@media(prefers-reduced-motion:no-preference){.progress-bar::after{content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient( 90deg,transparent,rgba(255,255,255,.3),transparent );animation:shimmer 2s infinite}}@media(max-width:640px){.cooking-mode-header{padding:var(--space-3)var(--space-4)}.cooking-mode-title{font-size:var(--text-lg)}.cooking-mode-content{padding:var(--space-4);padding-top:var(--space-8)}.step-text{font-size:1.25rem}.cooking-mode-nav{padding:var(--space-4)}.cooking-nav-btn{min-width:100px;height:48px;font-size:var(--text-sm)}}.cookbook-page{padding-top:var(--space-8);padding-bottom:var(--space-12)}.cookbook-header{text-align:center;margin-bottom:var(--space-8)}.cookbook-title{font-family:var(--font-heading);font-size:var(--text-3xl);color:var(--color-text);margin-bottom:var(--space-4)}.cookbook-description{font-family:var(--font-body);font-size:var(--text-lg);color:var(--color-text-muted);max-width:600px;margin:0 auto}.cookbook-controls{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-4);margin-bottom:var(--space-6);padding-bottom:var(--space-4);border-bottom:1px solid var(--color-border)}.cookbook-count{font-family:var(--font-ui);font-size:var(--text-base);font-weight:600;color:var(--color-text);margin-right:auto}.btn-sm{padding:var(--space-2)var(--space-4);font-size:var(--text-sm);min-height:36px}.cookbook-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:var(--space-4);margin-bottom:var(--space-8)}.cookbook-recipe-card{position:relative;display:block;background:#fff;border:2px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden;cursor:pointer;transition:all var(--transition)}.cookbook-recipe-card:hover{border-color:var(--color-accent)}.cookbook-checkbox{position:absolute;opacity:0;pointer-events:none}.cookbook-checkbox:checked+.cookbook-card-check{opacity:1}.cookbook-checkbox:checked~.cookbook-card-content{background:rgba(245,166,35,.1)}.cookbook-recipe-card:has(.cookbook-checkbox:checked){border-color:var(--color-accent);box-shadow:0 0 0 2px rgba(245,166,35,.3)}.cookbook-card-check{position:absolute;top:var(--space-2);right:var(--space-2);width:28px;height:28px;background:var(--color-accent);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;opacity:0;transition:opacity var(--transition);z-index:1}.cookbook-card-image{aspect-ratio:4/3;overflow:hidden;background:var(--color-background-alt)}.cookbook-card-image img{width:100%;height:100%;object-fit:cover}.cookbook-card-content{padding:var(--space-3);transition:background var(--transition)}.cookbook-card-title{font-family:var(--font-heading);font-size:var(--text-base);color:var(--color-text);margin:0 0 var(--space-1);line-height:1.3}.cookbook-card-meta{font-family:var(--font-ui);font-size:var(--text-sm);color:var(--color-text-muted)}.cookbook-actions{text-align:center}.cookbook-print{background:#fff}@media screen{.cookbook-print{max-width:800px;margin:0 auto;padding:var(--space-8)}}.cookbook-cover{min-height:100vh;display:flex;align-items:center;justify-content:center;text-align:center;background:linear-gradient(135deg,#fff5e6 0%,#fff 100%)}.cookbook-cover-content{padding:var(--space-8)}.cookbook-cover-title{font-family:var(--font-heading);font-size:3.5rem;color:var(--color-text);margin-bottom:var(--space-4)}.cookbook-cover-subtitle{font-family:var(--font-body);font-size:var(--text-lg);color:var(--color-text-muted);margin-bottom:var(--space-2)}.cookbook-cover-site{font-family:var(--font-ui);font-size:var(--text-2xl);font-weight:700;color:var(--color-accent);margin-bottom:var(--space-8)}.cookbook-cover-date{font-family:var(--font-ui);font-size:var(--text-base);color:var(--color-text-light)}.cookbook-toc{min-height:100vh;padding:3rem 2rem}.cookbook-toc-title{font-family:var(--font-heading);font-size:var(--text-2xl);color:var(--color-text);margin-bottom:var(--space-6);padding-bottom:var(--space-4);border-bottom:2px solid var(--color-accent)}.cookbook-toc-list{list-style:decimal;padding-left:var(--space-6)}.cookbook-toc-list li{font-family:var(--font-body);font-size:var(--text-lg);padding:var(--space-2)0;border-bottom:1px dotted var(--color-border)}.cookbook-recipe{padding:2rem}.cookbook-recipe-title{font-family:var(--font-heading);font-size:var(--text-2xl);color:var(--color-text);margin-bottom:var(--space-2);padding-bottom:var(--space-4);border-bottom:2px solid var(--color-accent)}.cookbook-recipe-meta{font-family:var(--font-ui);font-size:var(--text-base);color:var(--color-text-muted);margin-bottom:var(--space-4)}.cookbook-recipe-story{font-family:var(--font-body);font-size:var(--text-base);font-style:italic;color:var(--color-text-muted);margin-bottom:var(--space-6);padding:var(--space-4);background:var(--color-background-alt);border-radius:var(--radius)}.cookbook-recipe-content{display:grid;grid-template-columns:1fr 2fr;gap:var(--space-6)}@media(max-width:600px){.cookbook-recipe-content{grid-template-columns:1fr}}.cookbook-recipe-ingredients h3,.cookbook-recipe-instructions h3{font-family:var(--font-ui);font-size:var(--text-base);font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text);margin-bottom:var(--space-3)}.cookbook-recipe-ingredients ul{list-style:disc;padding-left:var(--space-5)}.cookbook-recipe-ingredients li{font-family:var(--font-body);font-size:var(--text-base);padding:var(--space-1)0}.cookbook-recipe-instructions ol{list-style:decimal;padding-left:var(--space-5)}.cookbook-recipe-instructions li{font-family:var(--font-body);font-size:var(--text-base);padding:var(--space-2)0;line-height:var(--leading-relaxed)}@media print{.site-header,.site-footer,.cookbook-header,.cookbook-builder{display:none !important}.cookbook-print{display:block !important;position:absolute;top:0;left:0;width:100%}.cookbook-page{padding:0 !important;max-width:none !important}@page{size:letter;margin:.75in}.cookbook-cover{page-break-after:always;min-height:auto;height:100vh}.cookbook-cover-title{font-size:2.5rem}.cookbook-toc{page-break-after:always;min-height:auto}.cookbook-recipe{page-break-before:always;padding:0}.cookbook-recipe:first-child{page-break-before:auto}.cookbook-recipe-content{page-break-inside:avoid}.cookbook-recipe-instructions li{page-break-inside:avoid}.cookbook-cover{background:#fff !important}.cookbook-recipe-story{background:#f5f5f5 !important;-webkit-print-color-adjust:exact;print-color-adjust:exact}}