:root{--color-text:#1a1a1a;--color-text-muted:#595959;--color-text-light:#666666;--color-background:#ffffff;--color-background-alt:#f5f5f5;--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;--color-dark-bg:#1a1a1a;--color-dark-surface:#222222;--color-dark-surface-alt:#252525;--color-dark-border:#333333;--color-dark-border-hover:#444444;--color-dark-border-strong:#555555;--color-dark-text:#ffffff;--color-dark-text-muted:#a0a0a0;--color-dark-text-light:#b3b3b3;--color-success-dark:#2a5a2a;--color-success-dark-border:#3a7a3a;--color-success-dark-text:#88ff88;--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-xs:0.8125rem;--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-md:6px;--radius-lg:8px;--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;--transition-fast:150ms ease;--transition-normal:300ms ease;--transition-slow:400ms ease;--input-height-md:44px;--input-height-lg:48px;--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{font-family:var(--font-heading);line-height:var(--leading-tight)}img{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}.hidden{display:none!important}h1,h2{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)}p{margin-bottom:var(--space-4)}p:last-child{margin-bottom:0}.container{width:100%;max-width:var(--container-max);margin:0 auto;padding:0 clamp(1.25rem,6vw,2.5rem)}.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)}@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%}}}.featured-recipe{background:#fff;overflow:hidden;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg)}.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-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)}@media(prefers-reduced-motion:no-preference){@keyframes heroZoom{from{transform:scale(1.05)}to{transform:scale(1)}}}@media(prefers-reduced-motion:no-preference){@keyframes checkPop{0%{transform:scale(1)}50%{transform:scale(1.3)}100%{transform:scale(1)}}}.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}.listing-header--warm{background:var(--color-cream);border-bottom:1px solid var(--color-border);position:relative}.listing-header--warm::after{content:'';position:absolute;bottom:0;left:50%;transform:translateX(-50%);width:80px;height:3px;background:var(--color-accent)}.listing-header--warm .listing-title{font-family:var(--font-heading);font-weight:400;letter-spacing:-.01em}.listing-header--warm .listing-description{color:var(--color-text-muted)}: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}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}@media(min-width:640px){}.pagefind-ui__result--focused{outline:3px solid var(--color-accent);outline-offset:2px;border-radius:var(--radius)}.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-recipe-card[aria-pressed=true]{border-color:var(--color-accent);box-shadow:0 0 0 3px rgba(245,166,35,.3);transform:scale(.98)}.cookbook-recipe-card[aria-pressed=true] .cookbook-card-check{opacity:1}.cookbook-recipe-card[aria-pressed=true] .cookbook-card-content{background:var(--color-accent-light)}.cookbook-recipe-card[aria-pressed=true] .cookbook-card-image::after{content:'';position:absolute;inset:0;background:rgba(245,166,35,.15)}.cookbook-actions{text-align:center}.cookbook-preview-controls{position:sticky;top:0;z-index:100;display:flex;justify-content:center;gap:var(--space-4);padding:var(--space-4);background:#fff;border-bottom:1px solid var(--color-border);box-shadow:var(--shadow)}.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:var(--color-cream);position:relative}.cookbook-cover::before{content:'';position:absolute;top:0;left:0;right:0;height:8px;background:linear-gradient( 90deg,var(--color-koa) 0%,var(--color-accent) 50%,var(--color-koa) 100% )}.cookbook-cover::after{content:'';position:absolute;bottom:2rem;left:50%;transform:translateX(-50%);width:120px;height:3px;background:var(--color-accent)}.cookbook-cover-content{padding:var(--space-8)}.cookbook-cover-title{font-family:var(--font-heading);font-size:3rem;color:var(--color-koa);margin-bottom:var(--space-2)}.cookbook-cover-subtitle{font-family:var(--font-body);font-size:var(--text-lg);font-style:italic;color:var(--color-text-muted);margin-bottom:var(--space-1)}.cookbook-cover-site{font-family:var(--font-heading);font-size:var(--text-2xl);color:var(--color-accent);margin-bottom:var(--space-8)}.cookbook-cover-date{font-family:var(--font-ui);font-size:var(--text-sm);color:var(--color-text-light);text-transform:uppercase;letter-spacing:.1em}.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-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)}.cookbook-recipe-empty{font-family:var(--font-body);font-size:var(--text-base);font-style:italic;color:var(--color-text-muted);padding:var(--space-4);text-align:center}@media print{.cookbook-header,.cookbook-builder,.cookbook-preview-controls,.no-print{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:var(--color-cream)!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}.cookbook-cover::before,.cookbook-cover::after{-webkit-print-color-adjust:exact;print-color-adjust:exact}.cookbook-recipe-story{background:#f5f5f5!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}}.empty-state-hero{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--color-cream);padding:var(--space-12)var(--space-6)}.empty-state-content{text-align:center;max-width:600px}.empty-state-kicker{font-family:var(--font-body);font-size:var(--text-sm);font-weight:600;text-transform:uppercase;letter-spacing:.15em;color:var(--color-accent);margin:0 0 var(--space-6)}.empty-state-kicker--large{font-size:var(--text-4xl);letter-spacing:.1em}.empty-state-title{font-family:var(--font-heading);font-size:clamp(2.5rem,6vw,4rem);font-weight:400;color:var(--color-text);margin:0 0 var(--space-8);line-height:1.2}.empty-state-divider{width:40px;height:2px;background:var(--color-accent);margin:0 auto var(--space-8)}.empty-state-message{font-family:var(--font-body);font-size:var(--text-lg);color:var(--color-text-muted);line-height:var(--leading-relaxed);margin:0 0 var(--space-10);max-width:520px;margin-left:auto;margin-right:auto}.empty-state-actions{margin:0 0 var(--space-6)}.empty-state-footer{font-family:var(--font-body);font-size:var(--text-xs);color:var(--color-text-light);letter-spacing:.05em;margin:0}.empty-state-footer a{color:var(--color-accent-text);text-decoration:underline;text-underline-offset:2px}.empty-state-footer a:hover{color:var(--color-accent)}.empty-state-list{text-align:center;padding:var(--space-16)var(--space-6)}.empty-state-subtitle{font-family:var(--font-heading);font-size:var(--text-2xl);font-weight:400;color:var(--color-text);margin:0 0 var(--space-4)}.empty-state-list .empty-state-message{max-width:400px;margin:0 auto}.pagefind-ui,.pagefind-ui *{visibility:visible!important;opacity:1!important}.pagefind-ui{display:block!important;width:100%!important}.pagefind-ui__search-icon,.pagefind-ui__form::before{display:none!important}.pagefind-ui{--pagefind-ui-scale:1;--pagefind-ui-primary:var(--color-accent);--pagefind-ui-text:var(--color-text);--pagefind-ui-background:var(--color-background);--pagefind-ui-border:var(--color-border);--pagefind-ui-tag:var(--color-surface-alt);--pagefind-ui-border-width:1px;--pagefind-ui-border-radius:var(--radius);--pagefind-ui-font:var(--font-body)}.pagefind-ui__form{position:relative;display:block!important;width:100%!important;background:var(--color-background)}.pagefind-ui__search-input{display:block!important;visibility:visible!important;opacity:1!important;width:100%!important;height:56px!important;min-height:56px!important;max-height:56px!important;box-sizing:border-box!important;padding:0 90px 0 52px!important;margin:0!important;font-family:var(--font-body)!important;font-size:1.125rem!important;font-weight:400!important;line-height:56px!important;border:none!important;border-bottom:1px solid var(--color-border)!important;border-radius:0!important;background-color:#fff!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%239ca3af' stroke-width='2'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z'/%3E%3C/svg%3E")!important;background-repeat:no-repeat!important;background-position:18px!important;background-size:20px 20px!important;color:#1a1a1a!important;outline:none!important;-webkit-appearance:none!important;-moz-appearance:none!important;appearance:none!important}.pagefind-ui__search-input::placeholder{color:var(--color-text-muted)}.pagefind-ui__search-input:focus{border-bottom-color:var(--color-accent)!important;outline:none}.pagefind-ui__search-clear{position:absolute!important;right:16px!important;top:14px!important;height:28px!important;padding:0 12px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;background:var(--color-surface-alt)!important;border:1px solid var(--color-border)!important;border-radius:6px!important;color:var(--color-text-muted)!important;font-family:var(--font-ui)!important;font-size:.8125rem!important;font-weight:500!important;line-height:1!important;cursor:pointer!important;transition:all .15s ease!important;z-index:10!important}.pagefind-ui__search-clear:hover{background:var(--color-border)!important;color:var(--color-text)!important}.pagefind-ui__results-area{max-height:60vh;overflow-y:auto;padding:0}.pagefind-ui__results{padding:var(--space-2)0}.pagefind-ui__message{padding:var(--space-4)var(--space-5)!important;text-align:left!important;font-family:var(--font-ui)!important;font-size:.875rem!important;font-weight:400!important;color:var(--color-text-muted)!important;margin:0!important}.pagefind-ui__result{padding:var(--space-4)var(--space-5)!important;border-bottom:1px solid var(--color-border)!important;background:0 0!important;cursor:pointer;transition:background var(--transition)}.pagefind-ui__result:last-child{border-bottom:none!important}.pagefind-ui__result:hover{background:var(--color-cream)!important}.pagefind-ui__result-link{text-decoration:none!important;color:inherit!important;display:block!important}.pagefind-ui__result-title{font-family:var(--font-ui)!important;font-size:1rem!important;font-weight:600!important;color:var(--color-text)!important;margin:0 0 4px!important;transition:color var(--transition)}.pagefind-ui__result:hover .pagefind-ui__result-title{color:var(--color-accent-hover)!important}.pagefind-ui__result-excerpt{font-family:var(--font-body)!important;font-size:.875rem!important;font-weight:400!important;color:var(--color-text-muted)!important;line-height:1.5!important;margin:0!important}.pagefind-ui__result-excerpt mark,.pagefind-ui mark{background:#fef3c7!important;background-color:#fef3c7!important;color:var(--color-text)!important;padding:2px 4px!important;border-radius:2px!important;font-weight:500!important}.pagefind-ui__result-image{width:80px!important;height:80px!important;object-fit:cover!important;border-radius:var(--radius)!important;flex-shrink:0!important}.pagefind-ui__result-inner{display:flex!important;align-items:flex-start!important;gap:16px!important}.pagefind-ui__result-thumb{flex-shrink:0!important;margin:0!important}.pagefind-ui__result-thumb img{width:80px!important;height:80px!important;object-fit:cover!important;border-radius:var(--radius)!important;border:1px solid var(--color-border)!important}.pagefind-ui__result-nested{margin-top:var(--space-2);padding-left:var(--space-4);border-left:2px solid var(--color-border)}.pagefind-ui__result-nested .pagefind-ui__result-link{padding:var(--space-2)0;font-size:var(--text-sm)}.pagefind-ui__loading{padding:var(--space-6);text-align:center}.pagefind-ui__button{font-family:var(--font-ui)}.pagefind-ui__drawer{display:block!important;width:100%!important}@media(max-width:640px){.pagefind-ui__results-area{max-height:calc(100vh - 140px)}}