@import "https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=DM+Sans:wght@400;500;600;700&display=swap";:root{color-scheme:light;--page:#e9dfd1;--paper:#f7efe5;--ink:#34281f;--muted:#77685b;--line:#dac8b6;--line-strong:#c8aa92;--accent:#b64d35;--accent-hover:#913a28;--green:#617157;--green-soft:#dfe2d5;--ochre:#a66d2e;--ochre-soft:#eee0c8;--clay:#c16d4e;--tile-clay:#f0ddd0;--tile-ochre:#efe3ce;--tile-sage:#e2e3d7;--raised-shadow:7px 7px 16px #6f4b2f24, -7px -7px 16px #fffaf3ad;--inset-shadow:inset 3px 3px 7px #6f4b2f21, inset -3px -3px 7px #fffaf39e;--shadow:0 14px 34px #49301f24;--grain:url(/clay-grain.svg);font-synthesis:none;text-rendering:optimizelegibility;font-family:DM Sans,Avenir Next,sans-serif}:root[data-theme=dark]{color-scheme:dark;--page:#292420;--paper:#36302a;--ink:#f1e7dc;--muted:#c2ad99;--line:#51453b;--line-strong:#746050;--accent:#e28b6d;--accent-hover:#f0a083;--green:#a9b28f;--green-soft:#394137;--ochre:#d7ad6d;--ochre-soft:#463c2d;--clay:#d58a67;--tile-clay:#49352e;--tile-ochre:#493d2c;--tile-sage:#394137;--raised-shadow:7px 7px 16px #00000047, -7px -7px 16px #ffebd50a;--inset-shadow:inset 3px 3px 7px #00000040, inset -3px -3px 7px #ffebd50a;--shadow:0 14px 34px #0000004d}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--page:#292420;--paper:#36302a;--ink:#f1e7dc;--muted:#c2ad99;--line:#51453b;--line-strong:#746050;--accent:#e28b6d;--accent-hover:#f0a083;--green:#a9b28f;--green-soft:#394137;--ochre:#d7ad6d;--ochre-soft:#463c2d;--clay:#d58a67;--tile-clay:#49352e;--tile-ochre:#493d2c;--tile-sage:#394137;--raised-shadow:7px 7px 16px #00000047, -7px -7px 16px #ffebd50a;--inset-shadow:inset 3px 3px 7px #00000040, inset -3px -3px 7px #ffebd50a;--shadow:0 14px 34px #0000004d}}*{box-sizing:border-box}html{scroll-behavior:smooth;min-width:320px}body{background-color:var(--page);background-image:var(--grain);color:var(--ink);background-size:220px 220px;margin:0}button,input{font:inherit}a{color:inherit;text-decoration:none}button{color:inherit}::selection{background:var(--green);color:#fff}.page-width{width:min(1080px,100% - 48px);margin-inline:auto}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.site-header{z-index:2;border-bottom:1px solid var(--line);background:var(--paper) var(--grain) repeat;background-size:220px 220px;justify-content:space-between;align-items:center;gap:28px;min-height:74px;padding:0 max(24px,50vw - 540px);display:flex;position:relative;box-shadow:0 4px 12px #56392414}.wordmark{letter-spacing:0;align-items:center;gap:10px;font-size:18px;font-weight:700;display:inline-flex}.wordmark-mark{aspect-ratio:1;background:var(--clay) var(--grain) repeat;width:30px;box-shadow:var(--raised-shadow);color:var(--paper);background-size:180px;border-radius:10px;place-items:center;font-size:18px;font-weight:700;display:grid}.wordmark-light{color:var(--accent);font-weight:500}.header-nav{align-items:center;gap:22px;display:flex}.header-nav>a{font-size:13px;font-weight:600}.header-nav>a:hover{color:var(--accent)}.icon-button{border:1px solid color-mix(in srgb, var(--line) 75%, transparent);background:var(--paper) var(--grain) repeat;width:38px;height:38px;box-shadow:var(--raised-shadow);cursor:pointer;background-size:180px;border-radius:12px;place-items:center;display:grid}.icon-button:hover,.stepper-button:hover{border-color:var(--green);color:var(--green);transform:translateY(-1px)}.moon-icon,:root[data-theme=dark] .sun-icon{display:none}:root[data-theme=dark] .moon-icon{display:block}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .sun-icon{display:none}:root:not([data-theme=light]) .moon-icon{display:block}}.search-wrap{border:1px solid var(--line);background:var(--page) var(--grain) repeat;width:min(250px,30vw);height:40px;box-shadow:var(--inset-shadow);background-size:180px;border-radius:10px;align-items:center;gap:9px;padding:0 11px;display:flex;position:relative}.search-wrap:focus-within{border-color:var(--green);box-shadow:0 0 0 2px color-mix(in srgb, var(--green) 16%, transparent)}.search-icon{color:var(--muted);flex:none}.search-wrap input{width:100%;min-width:0;color:var(--ink);background:0 0;border:0;outline:0;padding:0;font-size:13px}.search-wrap input::placeholder{color:var(--muted)}.search-wrap input::-webkit-search-cancel-button{display:none}.search-clear{color:var(--muted);cursor:pointer;background:0 0;border:0;flex:none;place-items:center;padding:2px;display:grid}.search-results{z-index:10;border:1px solid var(--line);background:var(--paper) var(--grain) repeat;max-height:min(380px,65vh);box-shadow:var(--raised-shadow);background-size:220px;border-radius:8px;position:absolute;top:calc(100% + 7px);left:0;right:0;overflow:auto}.search-result{border-bottom:1px solid var(--line);gap:4px;padding:12px 14px;display:grid}.search-result:last-child{border-bottom:0}.search-result:hover,.search-result:focus-visible{background-color:var(--green-soft);outline:0}.search-result>span{font-size:14px;font-weight:600}.search-result small,.search-empty{color:var(--muted);font-size:11px}.search-empty{margin:0;padding:14px}.home-intro{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;min-height:205px;padding-block:38px;display:flex}.eyebrow,.section-kicker{color:var(--muted);letter-spacing:0;margin:0;font-family:DM Mono,monospace;font-size:10px;font-weight:500}.eyebrow{align-items:center;gap:9px;display:flex}.eyebrow-dot{background:var(--accent);border-radius:50%;width:7px;height:7px}.eyebrow-count{border-left:1px solid var(--line-strong);margin-left:6px;padding-left:14px}h1,h2,p{margin-top:0}.home-intro h1{letter-spacing:0;margin:0;font-family:DM Sans,Avenir Next,sans-serif;font-size:58px;font-weight:700;line-height:1}.home-intro h1 span{color:var(--green);font-style:italic}.home-content{padding-block:42px 88px}.section-heading{justify-content:space-between;align-items:end;gap:20px;margin-bottom:17px;display:flex}.section-heading h2,.panel-heading h2{letter-spacing:0;margin:8px 0 0;font-family:DM Sans,Avenir Next,sans-serif;font-size:25px;font-weight:700}.section-count{color:var(--muted);padding-bottom:3px;font-family:DM Mono,monospace;font-size:11px}.category-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.category-tile{border:1px solid color-mix(in srgb, var(--line) 75%, transparent);background-image:var(--grain);background-blend-mode:multiply;min-height:129px;box-shadow:var(--raised-shadow);background-repeat:repeat;background-size:180px;border-radius:8px;grid-template-columns:1fr auto;align-content:space-between;padding:18px;transition:border-color .16s,transform .16s,box-shadow .16s;display:grid;position:relative}.category-tile:nth-child(3n+1){background-color:var(--tile-clay)}.category-tile:nth-child(3n+2){background-color:var(--tile-ochre)}.category-tile:nth-child(3n+3){background-color:var(--tile-sage)}.category-tile:hover{border-color:var(--line-strong);transform:translateY(-2px);box-shadow:9px 9px 18px #6f4b2f2b,-7px -7px 16px #fffaf3b8}.category-index{color:var(--accent);font-family:DM Mono,monospace;font-size:11px}.category-name{grid-column:1;align-self:end;margin-top:16px;font-family:DM Sans,Avenir Next,sans-serif;font-size:21px;font-weight:700}.category-meta{color:var(--muted);grid-column:1;margin-top:5px;font-size:12px}.category-description{max-width:calc(100% - 25px);color:var(--muted);grid-column:1/-1;margin-top:7px;font-size:11px;line-height:1.4}.category-arrow{color:var(--green);position:absolute;bottom:20px;right:18px}.recipe-heading{margin-top:53px}.recipe-list{border-top:1px solid var(--line)}.recipe-row{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) 150px 22px;align-items:center;gap:20px;min-height:76px;padding:13px 10px 13px 2px;display:grid}.recipe-row:hover .recipe-row-title{color:var(--accent)}.recipe-row-main{gap:4px;display:grid}.recipe-row-title{font-size:15px;font-weight:600;transition:color .12s}.recipe-row-description{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.recipe-row-meta{color:var(--muted);align-items:center;gap:7px;font-size:12px;display:flex}.recipe-row-arrow{color:var(--green)}.empty-state{border:1px dashed var(--line-strong);background:var(--paper) var(--grain) repeat;box-shadow:var(--inset-shadow);color:var(--muted);background-size:220px;border-radius:8px;padding:22px;font-size:14px}.empty-state code{color:var(--ink)}.site-footer{border-top:1px solid var(--line);background:var(--paper) var(--grain) repeat;min-height:70px;color:var(--muted);background-size:220px;justify-content:space-between;align-items:center;gap:18px;padding:15px max(24px,50vw - 540px);font-size:11px;display:flex}.footer-home{color:var(--ink);font-weight:700}.offline-status{align-items:center;gap:7px;display:inline-flex}.offline-status:before{background:var(--green);content:"";border-radius:50%;width:6px;height:6px}body:has(.offline-status:not(:empty)) .offline-status{color:var(--muted)}.category-page{min-height:calc(100vh - 145px);padding-block:27px 85px}.breadcrumbs{color:var(--muted);flex-wrap:wrap;align-items:center;gap:9px;font-size:12px;display:flex}.breadcrumbs>a,.breadcrumb-item{align-items:center;gap:7px;display:inline-flex}.breadcrumbs a:hover{color:var(--accent)}.breadcrumb-current{color:var(--ink);align-items:center;gap:7px;display:inline-flex}.category-intro{padding:48px 0 42px}.category-intro h1,.recipe-title-block h1{letter-spacing:0;margin:15px 0 8px;font-family:DM Sans,Avenir Next,sans-serif;font-size:58px;font-weight:700;line-height:1.06}.category-period{color:var(--accent)}.category-intro>p:last-child{color:var(--muted);margin:0;font-size:14px}.category-intro>.category-description-intro{color:var(--ink);margin-bottom:8px;font-size:15px}.subcategory-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:38px;display:grid}.subcategory-tile{border:1px solid var(--line);background:var(--paper) var(--grain) repeat;min-height:62px;box-shadow:var(--raised-shadow);background-size:220px;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:15px;font-family:DM Sans,Avenir Next,sans-serif;font-size:16px;font-weight:600;display:flex}.subcategory-tile svg{color:var(--green);flex:none}.subcategory-icon{margin-right:8px;font-family:DM Sans,sans-serif}.subcategory-tile:hover{border-color:var(--green);transform:translateY(-1px)}.category-recipes{border-top:1px solid var(--line)}.recipe-page{padding-block:27px 90px}.recipe-hero{border-bottom:1px solid var(--line);justify-content:space-between;align-items:end;gap:30px;padding-block:47px 42px;display:flex}.recipe-title-block h1{font-size:54px}.recipe-description{max-width:590px;color:var(--muted);margin:14px 0 18px;font-size:16px;line-height:1.55}.recipe-facts{color:var(--muted);flex-wrap:wrap;align-items:center;gap:17px;font-size:12px;display:flex}.recipe-facts span{align-items:center;gap:6px;display:inline-flex}.recipe-facts strong{color:var(--ink);font-size:13px}.recipe-actions{flex:none;padding-bottom:2px}.recipe-photo{background:var(--green-soft);max-height:390px;box-shadow:var(--raised-shadow);border-radius:8px;margin:28px 0 0;overflow:hidden}.recipe-photo img{aspect-ratio:16/7;object-fit:cover;width:100%;max-height:390px;display:block}.button{border:1px solid color-mix(in srgb, var(--line) 75%, transparent);background:var(--paper) var(--grain) repeat;min-height:42px;box-shadow:var(--raised-shadow);cursor:pointer;background-size:180px;border-radius:8px;justify-content:center;align-items:center;gap:9px;padding:0 14px;font-size:12px;font-weight:600;display:inline-flex}.button:hover{border-color:var(--green);color:var(--green);transform:translateY(-1px)}.recipe-layout{grid-template-columns:minmax(260px,.82fr) minmax(0,1.5fr);gap:64px;padding-top:36px;display:grid}.panel-heading{justify-content:space-between;align-items:end;gap:15px;margin-bottom:20px;display:flex}.ingredients-panel{border:1px solid color-mix(in srgb, var(--line) 75%, transparent);background:var(--paper) var(--grain) repeat;box-shadow:var(--raised-shadow);background-size:220px;border-radius:8px;padding:20px}.serving-control{border:1px solid var(--line);background:var(--page) var(--grain) repeat;min-height:48px;box-shadow:var(--inset-shadow);background-size:180px;border-radius:8px;align-items:center;gap:9px;margin:20px 0 13px;padding:5px 8px;display:flex}.serving-control label{color:var(--muted);margin-left:3px;font-size:12px}.serving-control input{width:47px;color:var(--ink);text-align:center;background:0 0;border:0;outline:0;padding:4px 0;font-size:15px;font-weight:700}.serving-control input::-webkit-inner-spin-button{opacity:1}.servings-unit{min-width:0;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.stepper-button{border:1px solid color-mix(in srgb, var(--line) 75%, transparent);background:var(--paper) var(--grain) repeat;width:29px;height:29px;box-shadow:var(--raised-shadow);cursor:pointer;background-size:160px;border-radius:8px;flex:none;place-items:center;display:grid}.ingredient-list{margin:0;padding:0;list-style:none}.ingredient-row{border-bottom:1px solid var(--line);gap:11px;padding:12px 2px;display:flex}.ingredient-checkbox{width:18px;height:18px;accent-color:var(--clay);cursor:pointer;flex:none;margin:1px 0 0}.ingredient-checkbox:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.ingredient-content{flex-wrap:wrap;align-items:baseline;gap:0 5px;font-size:13px;line-height:1.5;display:flex}.ingredient-checkbox:checked+.ingredient-content{cursor:pointer}.ingredient-checkbox:checked+.ingredient-content .ingredient-item{color:var(--muted);text-decoration:line-through}.ingredient-content{cursor:pointer}.ingredient-amount{color:var(--green);font-weight:700}.ingredient-item{font-weight:500}.ingredient-note{color:var(--muted);flex-basis:100%;font-size:11px}.tag-list{flex-wrap:wrap;gap:7px;margin-top:19px;display:flex}.recipe-tag{border:1px solid var(--line);color:var(--muted);padding:5px 8px;font-family:DM Mono,monospace;font-size:10px}.method-heading{margin-bottom:23px}.time-note{color:var(--muted);font-size:11px}.directions{counter-reset:none}.markdown-content ol{counter-reset:step;margin:0;padding:0;list-style:none}.markdown-content li{min-height:60px;color:var(--ink);counter-increment:step;padding:0 0 21px 46px;font-size:14px;line-height:1.7;position:relative}.markdown-content li:before{border:1px solid var(--line);background:var(--ochre-soft);width:27px;height:27px;box-shadow:var(--inset-shadow);color:var(--ochre);content:counter(step, decimal-leading-zero);border-radius:9px;place-items:center;font-family:DM Mono,monospace;font-size:10px;display:grid;position:absolute;top:1px;left:0}.markdown-content p{color:var(--ink);margin:0 0 12px;font-size:14px;line-height:1.7}.recipe-notes{border-left:3px solid var(--ochre);background:var(--ochre-soft) var(--grain) repeat;background-size:220px;border-radius:0 8px 8px 0;margin-top:24px;padding:18px 20px}.recipe-notes .markdown-content p{margin:0;font-size:13px}.recipe-source{color:var(--muted);margin-top:22px;font-size:11px}@media (width<=760px){.site-header{gap:15px;min-height:66px}.header-nav{gap:12px}.header-nav>a{display:none}.search-wrap{width:min(225px,49vw)}.page-width{width:min(100% - 36px,620px)}.home-intro{min-height:170px;padding-block:30px}.home-intro h1,.category-intro h1,.recipe-title-block h1{font-size:54px}.category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.recipe-layout{grid-template-columns:1fr;gap:40px}.ingredients-panel{max-width:none}.ingredient-list{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:15px;display:grid}.recipe-hero{align-items:start}.recipe-actions{padding-top:22px}.recipe-photo img{aspect-ratio:4/3}}@media (width<=500px){.site-header{padding-inline:18px}.wordmark{gap:7px;font-size:16px}.wordmark-mark{width:27px}.search-wrap{gap:6px;width:min(174px,44vw);height:38px;padding-inline:8px}.search-wrap input{font-size:12px}.icon-button{width:35px;height:35px}.page-width{width:calc(100% - 36px)}.home-intro{align-items:center;min-height:145px}.home-intro h1{font-size:48px}.home-content{padding-top:32px}.section-heading h2,.panel-heading h2{font-size:22px}.section-count{font-size:10px}.category-grid,.subcategory-grid{grid-template-columns:1fr 1fr;gap:8px}.category-tile{min-height:118px;padding:14px}.category-name{font-size:20px}.category-meta{font-size:11px}.category-arrow{bottom:15px;right:13px}.recipe-row{grid-template-columns:minmax(0,1fr) 20px;gap:8px}.recipe-row-meta{grid-area:2/1}.recipe-row-arrow{grid-area:1/2/span 2}.site-footer{flex-wrap:wrap;padding-inline:18px}.category-page,.recipe-page{padding-top:20px}.category-intro{padding-block:36px 32px}.category-intro h1,.recipe-title-block h1{font-size:43px}.subcategory-tile{min-height:55px;padding:12px;font-size:15px}.recipe-hero{flex-direction:column;gap:17px;padding-block:36px 27px}.recipe-actions{padding:0}.recipe-description{font-size:14px}.recipe-layout{gap:36px;padding-top:28px}.ingredient-list{grid-template-columns:1fr}.serving-control{gap:7px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}
