@import "https://fonts.googleapis.com/css2?family=Libre+Franklin:wght@400;500;600&family=Source+Serif+4:opsz,wght@8..60,500;8..60,600&display=swap";:root{--paper:#f7f3ea;--surface:#fffdf8;--ink:#20201d;--muted:#6c6961;--rule:#d9d2c5;--accent:#a43f32;--accent-hover:#7f2f26;--font-body:"Libre Franklin", sans-serif;--font-title:"Source Serif 4", serif}*{box-sizing:border-box}html{background:var(--paper);color:var(--ink);scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);font-family:var(--font-body);margin:0;font-size:16px;line-height:1.6}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:var(--accent);text-underline-offset:.18em}a:hover{color:var(--accent-hover)}:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.library-page,.recipe-page{width:min(100% - 40px,1180px);margin:0 auto}.library-header{border-bottom:1px solid var(--ink);grid-template-columns:minmax(0,1fr) minmax(320px,500px);align-items:end;gap:64px;padding:88px 0 48px;display:grid}.eyebrow,.category-label{color:var(--accent);margin:0 0 8px;font-size:14px;font-weight:600}.library-heading h1,.recipe-header h1{font-family:var(--font-title);letter-spacing:-.035em;margin:0;font-weight:600}.library-heading h1{font-size:clamp(48px,7vw,72px);line-height:.98}.library-summary{color:var(--muted);margin:18px 0 0;font-size:17px}.search-wrap label{margin-bottom:9px;font-size:14px;font-weight:600;display:block}.search-control{border-bottom:2px solid var(--ink);background:var(--surface);align-items:center;gap:12px;min-height:56px;padding:0 18px;display:flex}.search-control span{color:var(--accent);font-size:28px;line-height:1;transform:rotate(-20deg)}.search-control input{width:100%;color:var(--ink);background:0 0;border:0;outline:0;font-size:17px}.search-control input::placeholder{color:#8b877e}.category-filters{flex-wrap:wrap;gap:8px;padding:26px 0 40px;display:flex}.category-filters button,.empty-state button,.print-button{border:1px solid var(--rule);min-height:44px;color:var(--ink);cursor:pointer;background:0 0;border-radius:999px;padding:8px 16px;font-size:14px;font-weight:500}.category-filters button:hover,.category-filters button.active,.empty-state button:hover{border-color:var(--ink);background:var(--ink);color:var(--surface)}.results-heading{justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:8px;display:flex}.results-heading h2{font-family:var(--font-title);margin:0;font-size:28px;font-weight:600}.results-heading p{color:var(--muted);margin:0;font-size:14px}.recipe-list{border-top:1px solid var(--rule);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.recipe-card{border-bottom:1px solid var(--rule);min-height:116px;color:var(--ink);grid-template-rows:auto auto;grid-template-columns:minmax(0,1fr) auto;column-gap:18px;padding:22px 18px 20px 0;text-decoration:none;display:grid}.recipe-card:nth-child(odd){border-right:1px solid var(--rule);padding-right:28px}.recipe-card:nth-child(2n){padding-left:28px}.recipe-card:hover{background:var(--surface);color:var(--ink)}.recipe-card-title{font-family:var(--font-title);align-self:end;font-size:21px;font-weight:600;line-height:1.24}.recipe-card-category{color:var(--muted);align-self:start;margin-top:8px;font-size:13px}.recipe-card-arrow{color:var(--accent);grid-area:1/2/span 2;align-self:center;font-size:22px;transition:transform .15s}.recipe-card:hover .recipe-card-arrow{transform:translate(4px)}.empty-state{border-top:1px solid var(--rule);text-align:center;padding:64px 0}.empty-state p{font-family:var(--font-title);margin:0 0 20px;font-size:28px}.library-footer{border-top:1px solid var(--rule);color:var(--muted);margin-top:64px;padding:24px 0 48px;font-size:13px}.recipe-topbar{border-bottom:1px solid var(--rule);justify-content:space-between;align-items:center;min-height:72px;display:flex}.back-link{color:var(--ink);cursor:pointer;background:0 0;border:0;padding:8px 0;font-size:14px;font-weight:600;text-decoration:none}.back-link span{color:var(--accent);margin-right:8px;font-size:20px}.print-button{border-color:var(--ink)}.print-button:hover{background:var(--ink);color:var(--surface)}.recipe-article{width:min(100%,980px);margin:0 auto;padding:72px 0 96px}.recipe-header{max-width:820px;margin-bottom:54px}.recipe-header h1{font-size:clamp(42px,6vw,64px);line-height:1.03}.yield-line{color:var(--muted);align-items:baseline;gap:12px;margin-top:24px;display:flex}.yield-line>span{color:var(--ink);font-size:13px;font-weight:600}.yield-line p{margin:0}.source-note{border-left:3px solid var(--accent);width:fit-content;color:var(--muted);margin:22px 0 0;padding-left:12px;font-size:14px}.recipe-columns{grid-template-columns:minmax(260px,.82fr) minmax(0,1.55fr);align-items:start;gap:72px;margin-top:44px;display:grid}.recipe-section{max-width:720px;margin-top:48px}.recipe-columns .recipe-section{margin-top:0}.method-column .recipe-section+.recipe-section{margin-top:56px}.recipe-section h2{border-bottom:1px solid var(--ink);font-family:var(--font-title);margin:0 0 22px;padding-bottom:9px;font-size:28px;font-weight:600}.recipe-section h3{font-family:var(--font-title);margin:28px 0 10px;font-size:20px}.ingredient-scaler{flex-wrap:wrap;align-items:center;gap:8px;margin:-6px 0 16px;display:flex}.ingredient-scaler-label{color:var(--muted);margin-right:2px;font-size:13px;font-weight:600}.scale-presets{gap:4px;display:flex}.scale-presets button,.custom-scale{border:1px solid var(--rule);background:var(--surface);min-height:40px;color:var(--ink);border-radius:2px}.scale-presets button{cursor:pointer;min-width:40px;padding:6px 9px;font-size:13px;font-weight:600}.scale-presets button:hover,.scale-presets button.active,.custom-scale.active{border-color:var(--ink);background:var(--ink);color:var(--surface)}.custom-scale{align-items:center;gap:5px;padding:0 9px;font-size:13px;font-weight:600;display:flex}.custom-scale input{border:0;border-bottom:1px solid var(--rule);width:44px;color:inherit;text-align:right;background:0 0;outline:0;padding:3px 1px}.custom-scale input::placeholder{color:#8b877e}.recipe-section p{margin:0 0 16px}.recipe-section ul,.recipe-section ol{margin:0;padding:0;list-style:none}.recipe-section li{border-bottom:1px solid var(--rule);padding:9px 0;position:relative}.recipe-section ol{counter-reset:recipe-step}.recipe-section ol li{counter-increment:recipe-step;border:0;padding:0 0 26px 46px;font-size:17px;line-height:1.68}.recipe-section ol li:before{content:counter(recipe-step);border:1px solid var(--ink);border-radius:50%;place-items:center;width:30px;height:30px;font-size:13px;font-weight:600;display:grid;position:absolute;top:2px;left:0}.recipe-section-source-images{max-width:none}.recipe-section-source-images>a{vertical-align:top;width:min(100%,420px);margin:0 16px 16px 0;display:inline-block}.source-image-link img{border:1px solid var(--rule);background:#fff;width:100%;height:auto;display:block}@media (max-width:760px){.library-page,.recipe-page{width:min(100% - 28px,1180px)}.library-header{grid-template-columns:1fr;gap:36px;padding:52px 0 32px}.library-heading h1{font-size:50px}.category-filters{scrollbar-width:none;flex-wrap:nowrap;margin-inline:-14px;padding:20px 14px 32px;overflow-x:auto}.category-filters::-webkit-scrollbar{display:none}.category-filters button{flex:none}.recipe-list,.recipe-columns{grid-template-columns:1fr}.recipe-card:nth-child(odd),.recipe-card:nth-child(2n){border-right:0;padding-left:0;padding-right:8px}.recipe-card{min-height:102px}.recipe-topbar{min-height:64px}.recipe-article{padding:48px 0 72px}.recipe-header{margin-bottom:40px}.recipe-header h1{font-size:43px}.recipe-columns{gap:52px}.ingredient-scaler{align-items:flex-start}.ingredient-scaler-label{width:100%}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.recipe-card-arrow{transition:none}}@media print{@page{margin:.65in}body,html{color:#000;background:#fff;font-size:11pt}.recipe-page{width:100%}.recipe-topbar,.ingredient-scaler,.recipe-section-source,.recipe-section-source-images{display:none}.recipe-article{width:100%;padding:0}.recipe-header{margin-bottom:24px}.recipe-header h1{font-size:30pt}.recipe-columns{grid-template-columns:.85fr 1.5fr;gap:.45in;margin-top:24px}.recipe-section h2{font-size:18pt}.recipe-section ol li{break-inside:avoid;font-size:11pt}}
