:root{--cream:#fffaf1;--paper:#ffffff;--ink:#322e29;--muted:#676159;--green:#526b4f;--green-dark:#3b5439;--light-green:#eaf0e6;--border:#e8dfd1;--gold:#e5b873;--soft:#f5eee3;--shadow:0 5px 25px rgba(64,45,27,.08)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;color:var(--ink);font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--cream);font-size:18px;line-height:1.6;padding-bottom:calc(84px + env(safe-area-inset-bottom))}h1,h2,h3,h4{font-family:Georgia,"Times New Roman",serif;line-height:1.16;letter-spacing:-.015em}p{margin:.6rem 0 1rem}a{color:var(--green-dark);text-underline-offset:3px}button,a{touch-action:manipulation}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible{outline:4px solid #d19a44;outline-offset:3px}img{display:block;max-width:100%}.container{max-width:980px;margin:auto;padding-left:clamp(18px,5vw,42px);padding-right:clamp(18px,5vw,42px)}.eyebrow{font-size:.76rem;letter-spacing:.16em;text-transform:uppercase;font-weight:800;color:#74816a}.skip{position:absolute;top:-100px;left:20px;background:white;padding:10px;z-index:99}.skip:focus{top:8px}.hero{background:radial-gradient(circle at 85% 14%,rgba(255,226,169,.28),transparent 45%),linear-gradient(140deg,#e9edde 0%,#fef5e7 85%);border-bottom:1px solid #e3e3d9}.hero-inner{max-width:980px;margin:auto;padding:64px clamp(18px,5vw,42px) 58px}.hero h1{font-size:clamp(2.6rem,8vw,5.2rem);margin:15px 0 12px;font-weight:700;line-height:1.04}.hero h1 em{color:var(--green);font-style:italic;font-weight:400}.hero p{color:#575d53;font-size:clamp(1.1rem,3vw,1.42rem);max-width:560px}.hero-link,.see-link{display:inline-flex;align-items:center;gap:10px;font-weight:700}.hero-link{background:var(--green);border-radius:12px;padding:12px 20px;color:white;text-decoration:none;margin-top:14px;min-height:50px}.hero-link:hover,.primary-action:hover,.add-recipe:hover{background:var(--green-dark)}.directory{padding-top:62px;padding-bottom:58px}.section-heading h2,.howto h2,.shopping-section h2{font-size:clamp(2rem,5vw,3rem);margin:6px 0}.section-heading p,.section-description{color:var(--muted)}.recipe-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin-top:28px}.recipe-card{background:var(--paper);border:1px solid var(--border);border-radius:18px;overflow:hidden;box-shadow:var(--shadow)}.card-image-link img{width:100%;aspect-ratio:1.28;object-fit:cover;transition:transform .2s}.card-image-link:hover img{transform:scale(1.02)}.card-content{padding:18px 20px 20px}.card-content h3{font-size:1.35rem;margin:0 0 9px}.card-content h3 a{color:var(--ink);text-decoration:none}.card-content p{color:var(--muted);font-size:.94rem;line-height:1.45;min-height:54px}.card-bottom{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.card-bottom small{color:var(--muted);font-size:.78rem}.see-link{border-radius:10px;background:var(--light-green);text-decoration:none;padding:9px 12px;font-size:.91rem;min-height:44px}.howto{background:#edf0e6;padding-top:40px;padding-bottom:45px;border-radius:22px;margin-bottom:55px}.howto h2{font-size:2rem}.three-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:24px 0}.three-steps>div{background:white;border-radius:14px;min-height:124px;padding:14px;text-align:center;display:flex;flex-direction:column;gap:4px;align-items:center;justify-content:center}.step-coin{display:inline-flex;align-items:center;justify-content:center;background:var(--green);width:36px;height:36px;border-radius:50%;color:white;font-weight:800}.three-steps strong{font-size:1.08rem}.three-steps small{font-size:.82rem;color:var(--muted)}.soft-note{background:rgba(255,255,255,.6);padding:14px 18px;border-radius:12px;font-size:.93rem;margin:12px 0}.recipe-section{border-top:1px solid var(--border);padding:54px 0 65px;scroll-margin-top:18px}.recipe-section:nth-child(even){background:#fffcf7}.back-link{display:inline-flex;align-items:center;font-size:.97rem;font-weight:750;padding:10px 0;min-height:44px}.recipe-head{margin:22px 0 22px}.recipe-head h2{font-size:clamp(2rem,5.5vw,3.5rem);max-width:780px;margin:4px 0 6px}.recipe-head p{color:var(--muted);font-size:1.07rem}.recipe-photo{width:100%;max-height:450px;object-fit:cover;object-position:center;border-radius:18px;box-shadow:var(--shadow)}.recipe-facts{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0}.recipe-facts span{border-radius:10px;padding:8px 12px;background:var(--light-green);color:#3d5339;font-size:.93rem;font-weight:700}.add-recipe,.primary-action{background:var(--green);color:white;border:0;border-radius:13px;font-weight:750;min-height:54px;padding:13px 22px}.add-recipe{display:block;width:100%;max-width:440px}.add-recipe.selected{background:#e4ece1;color:#315331;border:2px solid #7d9f74}.add-recipe.selected:hover{background:#d6e6d1}.subhint{font-size:.85rem;color:var(--muted);margin:6px 0 18px}.recipe-columns{display:grid;grid-template-columns:minmax(240px, .8fr) minmax(0,1.2fr);gap:30px;align-items:start;margin:28px 0}.recipe-columns h3{font-size:1.65rem;margin:0 0 16px}.ingredients-block,.instructions-block{background:white;padding:25px 26px;border:1px solid var(--border);border-radius:16px}.ingredients-block ul{padding-left:23px;margin:0}.ingredients-block li{padding:7px 0;border-bottom:1px solid #f2eee7}.ingredients-block li:last-child{border:0}.instructions-block ol{list-style:none;counter-reset:cook;display:flex;flex-direction:column;gap:18px;margin:0;padding:0}.instructions-block li{counter-increment:cook;position:relative;padding-left:48px;min-height:36px}.instructions-block li:before{content:counter(cook);position:absolute;left:0;top:0;border-radius:50%;background:#e9eee5;color:var(--green-dark);font-weight:800;width:34px;height:34px;display:grid;place-items:center}.instructions-block h4{margin:30px 0 2px}.time-table{border-collapse:collapse;width:100%;font-size:.9rem}.time-table th,.time-table td{border-bottom:1px solid #e8e0d7;padding:8px 3px;text-align:left}.time-table td{text-align:right;white-space:nowrap}.cook-tip,.make-ahead{margin:15px 0;padding:18px 22px;border-radius:12px;background:#edf1e7;border-left:5px solid #86a47b}.make-ahead{background:#f7efe3;border-left-color:#dfb773}.cook-tip strong,.make-ahead strong{font-size:1.05rem}.cook-tip p,.make-ahead p{margin:5px 0 0;font-size:.96rem}.end-links{display:flex;gap:25px;flex-wrap:wrap;justify-content:space-between;margin-top:18px}.cart-text-link{font-size:.96rem;font-weight:700;padding:10px 0}.shopping-section{padding-top:72px;padding-bottom:84px;scroll-margin-top:22px}.shopping-section h2{margin-top:7px}.summary{background:var(--light-green);border-radius:10px;padding:11px 15px;display:inline-block;font-weight:700}.shopping-list{max-width:740px}.empty-shop{background:white;border:1px solid var(--border);border-radius:14px;padding:22px}.selected-recipes{background:#f5eee4;padding:18px 20px;border-radius:14px;margin:15px 0 25px}.selected-recipes>div{display:flex;flex-wrap:wrap;gap:7px;margin-top:9px}.selected-recipes span{background:white;border-radius:30px;padding:6px 12px;font-size:.85rem}.shop-group{margin-top:20px;border:1px solid var(--border);border-radius:14px;overflow:hidden;background:white}.shop-group h3{background:#edf1e8;padding:11px 17px;font-size:1.35rem;margin:0}.shop-row{display:flex;align-items:center;gap:14px;cursor:pointer;padding:13px 17px;border-top:1px solid #f1ede5;min-height:52px}.shop-row input{width:24px;height:24px;flex:0 0 24px;accent-color:var(--green)}.shop-row input:checked+span{color:#777;text-decoration:line-through}.shopping-actions{display:flex;gap:12px;flex-wrap:wrap;margin:30px 0 12px}.secondary-action,.quiet-action{padding:12px 18px;border-radius:13px;min-height:54px;font-weight:750}.secondary-action{background:#e9eee4;color:var(--green-dark);border:1px solid #c9d9c3}.quiet-action{background:white;color:#58544b;border:1px solid #d9d4c8}button:disabled{opacity:.48;cursor:not-allowed}.feedback{font-size:.91rem;min-height:22px;color:var(--green-dark);font-weight:700}.footer{text-align:center;background:#eae9dc;padding:28px 20px 46px;color:#5d6256}.footer p{margin:4px auto 10px;max-width:750px}.tiny{font-size:.75rem;line-height:1.5}.bottom-nav{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(9px + env(safe-area-inset-bottom));z-index:100;width:min(calc(100% - 22px),590px);display:grid;grid-template-columns:1fr 1fr;gap:4px;background:#344a35;border:1px solid #738574;padding:7px;border-radius:16px;box-shadow:0 9px 27px #2637203d}.bottom-nav a{color:white;min-height:52px;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:.94rem;text-decoration:none;border-radius:10px;text-align:center;padding:5px 8px}.bottom-nav a:hover,.bottom-nav a:focus{background:#547055}#print-sheet{display:none}#recipes{scroll-margin-top:20px}#shopping{scroll-margin-top:20px}
@media(max-width:720px){body{font-size:17px}.recipe-grid{grid-template-columns:1fr;gap:17px}.directory{padding-top:44px;padding-bottom:44px}.card-image-link img{aspect-ratio:1.55}.card-content p{min-height:0}.recipe-columns{grid-template-columns:1fr;gap:15px}.recipe-section{padding:42px 0 55px}.recipe-photo{max-height:365px}.hero-inner{padding-top:42px;padding-bottom:45px}.howto{border-radius:0}.three-steps{gap:8px}.three-steps>div{padding:9px}.ingredients-block,.instructions-block{padding:19px 19px}.shopping-actions>button{flex:1 1 100%}.end-links{gap:10px}}
@media(max-width:370px){.three-steps{grid-template-columns:1fr}.three-steps>div{flex-direction:row;gap:15px;text-align:left;min-height:70px;flex-wrap:wrap}.three-steps small{width:100%;text-align:center}.bottom-nav a{font-size:.82rem}.recipe-facts span{font-size:.82rem}.recipe-head h2{font-size:2rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
@media print{
 @page{size:letter;margin:.65in}
 html,body{background:white!important;color:black!important;padding:0!important;margin:0!important;font:12pt/1.35 Arial,sans-serif!important}
 body>*:not(#print-sheet){display:none!important}
 body[data-print-mode="shopping"] #print-sheet{display:block!important}
 #print-sheet{padding:0!important;color:#000!important}
 #print-sheet h1{font:700 20pt Georgia,serif;margin:0 0 12pt}
 #print-sheet p{font-size:10pt;margin:0 0 15pt}
 #print-sheet section{break-inside:avoid;page-break-inside:avoid;margin-bottom:12pt}
 #print-sheet h2{font:700 13pt Georgia,serif;border-bottom:1px solid #888;padding-bottom:3pt;margin:0 0 4pt}
 #print-sheet ul{list-style:none;padding:0;margin:0}
 #print-sheet li{padding:3pt 0;font-size:11pt}
}
