@font-face{font-family:DM Serif Display;font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/dm-serif-display-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Serif Display;font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/dm-serif-display-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--bg:var(--lightningcss-light,#faf6ef)var(--lightningcss-dark,#201c19);--surface:var(--lightningcss-light,#fffdf9)var(--lightningcss-dark,#2a2522);--ink:var(--lightningcss-light,#2e2722)var(--lightningcss-dark,#f2ece4);--ink-soft:var(--lightningcss-light,#6b5f55)var(--lightningcss-dark,#b8aa9c);--line:var(--lightningcss-light,#e4d9c8)var(--lightningcss-dark,#40382f);--accent:var(--lightningcss-light,#b4552d)var(--lightningcss-dark,#e08155);--accent-ink:var(--lightningcss-light,#fff)var(--lightningcss-dark,#201c19);--accent-soft:var(--lightningcss-light,#f4e3d8)var(--lightningcss-dark,#3a2d25);--focus:var(--lightningcss-light,#8a3d1d)var(--lightningcss-dark,#f0a37c);--accent-strong:var(--lightningcss-light,#8a3d1d)var(--lightningcss-dark,#f0a37c);--alt:var(--lightningcss-light,#2a6a75)var(--lightningcss-dark,#7cc3cf);--alt-soft:var(--lightningcss-light,#d9eaec)var(--lightningcss-dark,#22383c);--hero-bg:var(--lightningcss-light,#fffdf9)var(--lightningcss-dark,#2a2522);--hero-ink:var(--lightningcss-light,#2e2722)var(--lightningcss-dark,#f2ece4);--hero-soft:var(--lightningcss-light,#6b5f55)var(--lightningcss-dark,#b8aa9c);--hero-line:var(--lightningcss-light,#e4d9c8)var(--lightningcss-dark,#40382f);--stripe:var(--lightningcss-light,#eddccb)var(--lightningcss-dark,#332a23);--scrim:var(--lightningcss-light,#2e27226b)var(--lightningcss-dark,#0009);--shadow-color:var(--lightningcss-light,#2e272212)var(--lightningcss-dark,#00000073);--shadow:none;--sans:system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--serif:Georgia, "Iowan Old Style", "Palatino Linotype", serif;--font-head:var(--serif);--font-body:var(--sans);--head-weight:600;--h1:clamp(1.6rem, 1.2rem + 2vw, 2.2rem);--h1-lh:1.15;--radius:10px;--radius-lg:14px;--radius-pill:999px;--border:1px solid var(--line);--chip-py:.55rem;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--space-8:3rem;--measure:38rem;--wide:69rem;--tap:2.75rem;--tabbar:4.25rem}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}:root[data-tone=speels]{--font-head:"DM Serif Display", Georgia, "Iowan Old Style", serif;--head-weight:400;--h1:clamp(2rem, 1.4rem + 3vw, 2.8rem);--h1-lh:1.05;--radius:18px;--radius-lg:26px;--chip-py:.7rem;--line:var(--lightningcss-light,#eadfd0)var(--lightningcss-dark,#40382f);--hero-bg:var(--lightningcss-light,#a54a25)var(--lightningcss-dark,#7c3718);--hero-ink:#fff7ef;--hero-soft:var(--lightningcss-light,#fbeade)var(--lightningcss-dark,#f6dccd);--hero-line:#ffffff4d;--shadow:0 10px 30px var(--shadow-color)}:root[data-mode=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-mode=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}@media (prefers-reduced-motion:reduce){*,:after,:before{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}*,:after,:before{box-sizing:border-box}body{background:var(--bg);color:var(--ink);font-family:var(--font-body);-webkit-text-size-adjust:100%;margin:0;font-size:1rem;line-height:1.6}main{max-width:var(--measure);padding:var(--space-4) var(--space-3) calc(var(--tabbar) + var(--space-6));padding-left:max(var(--space-3),env(safe-area-inset-left));padding-right:max(var(--space-3),env(safe-area-inset-right));margin:0 auto}@media (width>=30rem){main{padding-left:var(--space-5);padding-right:var(--space-5)}}@media (width>=52rem){main{max-width:var(--wide);padding-bottom:var(--space-8)}}h1,h2,h3{font-family:var(--font-head);font-weight:var(--head-weight);margin:var(--space-5) 0 var(--space-3);text-wrap:balance;line-height:1.2}h1{font-size:var(--h1);line-height:var(--h1-lh);margin-top:0}h2{font-size:1.35rem}h3{font-size:1.1rem}p{margin:0 0 var(--space-3)}small{color:var(--ink-soft);font-size:.875rem}a{color:var(--accent);text-underline-offset:2px;text-decoration-thickness:1px}a:hover{text-decoration-thickness:2px}:where(a,button,input,select,textarea,[tabindex]):focus-visible{outline:3px solid var(--focus);outline-offset:2px;border-radius:2px}label{margin-bottom:var(--space-3);font-size:.95rem;display:block}label>input,label>select,label>textarea{margin-top:var(--space-1)}input,select,textarea{font:inherit;color:var(--ink);background:var(--surface);border:var(--border);border-radius:var(--radius);padding:var(--space-2) var(--space-3);min-height:var(--tap);width:100%;font-size:max(1rem,16px)}.picker input,.row input,.row select,.stepper input,input[type=checkbox],input[type=radio]{width:auto}input[type=checkbox],input[type=radio]{width:1.1rem;height:1.1rem;min-height:0;accent-color:var(--accent)}textarea{min-height:4rem;line-height:1.5}fieldset{border:var(--border);border-radius:var(--radius-lg);padding:var(--space-3);margin:0 0 var(--space-4)}legend{padding:0 var(--space-2);font-weight:600}button{font:inherit;color:var(--ink);background:var(--surface);border:var(--border);border-radius:var(--radius);padding:var(--space-2) var(--space-4);min-height:var(--tap);cursor:pointer;font-weight:600}button:hover:not(:disabled){border-color:var(--accent)}button:disabled{opacity:.5;cursor:not-allowed}button.primary,button[type=submit]{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}button.primary:hover:not(:disabled),button[type=submit]:hover:not(:disabled){filter:brightness(1.08)}button.link{min-height:0;color:var(--accent);font-weight:inherit;background:0 0;border:0;padding:0;text-decoration:underline}[role=alert]{background:var(--accent-soft);border-left:3px solid var(--accent);padding:var(--space-2) var(--space-3);border-radius:var(--radius)}.tabbar{z-index:10;background:var(--surface);border-top:var(--border);padding:var(--space-1) var(--space-3) calc(var(--space-2) + env(safe-area-inset-bottom));display:flex;position:fixed;inset:auto 0 0}.tabbar a{min-height:var(--tap);padding:var(--space-1) 0;color:var(--ink-soft);flex-direction:column;flex:1;align-items:center;gap:2px;font-size:.7rem;font-weight:600;text-decoration:none;display:flex}.tabbar a .dot{border-radius:var(--radius-pill);place-items:center;width:3.5rem;height:1.85rem;transition:background-color .25s;display:grid}.tabbar a[aria-current]{color:var(--accent)}.tabbar a[aria-current] .dot{background:var(--accent-soft)}.topnav{display:none}@media (width>=52rem){.tabbar{display:none}.topnav{gap:var(--space-5);padding:0 var(--space-5);background:var(--surface);border-bottom:var(--border);min-height:4rem}.topnav,.topnav .brand{align-items:center;display:flex}.topnav .brand{font-family:var(--font-head);font-weight:var(--head-weight);color:var(--ink);gap:var(--space-2);font-size:1.4rem;text-decoration:none}.topnav .brand:before{content:"";border-radius:var(--radius-pill);background:var(--accent);width:.75rem;height:.75rem}.topnav .links{gap:var(--space-1);display:flex}.topnav .links a{padding:var(--space-2) var(--space-3);border-radius:var(--radius-pill);color:var(--ink);font-weight:500;text-decoration:none}.topnav .links a[aria-current]{background:var(--accent-soft)}.topnav .end{align-items:center;gap:var(--space-3);margin-left:auto;display:flex}}.hero{background:var(--hero-bg);color:var(--hero-ink);border:1px solid var(--hero-line);border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:var(--space-5) var(--space-4) var(--space-4);gap:var(--space-4);margin-bottom:var(--space-6);flex-direction:column;display:flex}.hero h1{max-width:14ch;margin:0}.hero .line{justify-content:space-between;align-items:center;gap:var(--space-3);color:var(--hero-soft);min-height:1.5rem;font-size:.875rem;display:flex}.hero .count{border:1px solid var(--hero-line);border-radius:var(--radius-pill);padding:2px var(--space-3);font-size:.78rem}@media (width>=52rem){.hero{padding:var(--space-6) var(--space-6) var(--space-5)}}.searchbar{align-items:center;gap:var(--space-3);background:var(--surface);color:var(--ink-soft);border:var(--border);border-radius:var(--radius-pill);padding-inline:var(--space-4) var(--space-2);min-height:3.25rem;display:flex}.searchbar:hover{border-color:var(--accent)}.searchbar svg{color:var(--accent);flex:none}.recipes{gap:var(--space-3);margin:0;padding:0;list-style:none;display:grid}@media (width>=52rem){.recipes{grid-template-columns:repeat(3,minmax(0,1fr))}}.recipes li{min-width:0;margin:0}main ol,main ul:not(.recipes,.plain){padding-left:1.3em}main ol li,main ul:not(.recipes,.plain) li{margin-bottom:var(--space-2)}.plain{margin:0;padding:0;list-style:none}.chips{gap:var(--space-2);scrollbar-width:none;padding-bottom:var(--space-1);margin:0 calc(var(--space-3)*-1);padding-inline:var(--space-3);scroll-padding-inline:var(--space-3);display:flex;overflow-x:auto}.chips::-webkit-scrollbar{display:none}.chips button{border-radius:var(--radius-pill);padding:var(--chip-py) var(--space-4);white-space:nowrap;flex:none;font-weight:500}.chips button.on{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.sheet .chips{flex-wrap:wrap;margin:0;padding-inline:0;overflow:visible}.pill{align-items:center;gap:var(--space-1);border-radius:var(--radius-pill);padding:3px var(--space-3);background:var(--accent-soft);color:var(--accent-strong);font-size:.8rem;font-weight:600;display:inline-flex}.pill.alt{background:var(--alt-soft);color:var(--alt)}.stepper{align-items:center;gap:var(--space-2);display:inline-flex}.stepper button{width:var(--tap);border-radius:var(--radius-pill);padding:0;font-size:1.2rem;line-height:1}.stepper output{font-variant-numeric:tabular-nums;min-width:2.5rem}.action,.stepper output{text-align:center;font-weight:600}.action{justify-content:center;align-items:center;gap:var(--space-2);width:100%;padding:var(--space-3) var(--space-4);background:var(--accent);color:var(--accent-ink);border:1px solid var(--accent);border-radius:var(--radius);min-height:3.25rem;box-shadow:var(--shadow);font-size:1.05rem;text-decoration:none;display:flex}.action:hover{filter:brightness(1.08);text-decoration:none}.meta{gap:var(--space-1) var(--space-3);color:var(--ink-soft);margin-bottom:var(--space-3);flex-wrap:wrap;font-size:.9rem;display:flex}.meta strong{color:var(--ink);font-weight:600}.back{align-items:center;gap:var(--space-1);min-height:var(--tap);color:var(--accent);font-weight:500;text-decoration:none;display:inline-flex}.back:before{content:"‹";font-size:1.4rem;line-height:1}.empty{background:var(--surface);border:1px dashed var(--line);border-radius:var(--radius-lg);padding:var(--space-6) var(--space-4);text-align:center;align-items:center;gap:var(--space-3);flex-direction:column;display:flex}.empty>:first-child{font-family:var(--font-head);font-weight:var(--head-weight);margin:0;font-size:1.25rem}.empty p{color:var(--ink-soft);margin:0}.headrow{justify-content:space-between;align-items:baseline;gap:var(--space-3);display:flex}.headrow h2,.tiles{margin:0}.tiles{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));padding:0;list-style:none;display:grid}@media (width>=52rem){.tiles{grid-template-columns:repeat(4,minmax(0,1fr))}}.sheet:not([open]){display:none}.sheet{background:var(--surface);width:100%;max-width:none;max-height:88dvh;color:var(--ink);border-radius:var(--radius-lg) var(--radius-lg) 0 0;box-shadow:0 -12px 40px var(--shadow-color);border:0;flex-direction:column;padding:0;animation:.32s cubic-bezier(.2,.8,.2,1) both slideUp;display:flex;position:fixed;inset:auto 0 0}.sheet::backdrop{background:var(--scrim);animation:.25s both fadeIn}.sheet>header{padding:var(--space-5) var(--space-4) var(--space-2);align-items:center;gap:var(--space-3);flex:none;display:flex;position:relative}.sheet>header:before{content:"";top:var(--space-2);background:var(--line);border-radius:2px;width:2.5rem;height:4px;position:absolute;left:50%;transform:translate(-50%)}.sheet>header h2{flex:1;margin:0;font-size:1.35rem}.sheet>header h2:focus-visible{outline:none}.sheet .body{padding:var(--space-1) var(--space-4) var(--space-2);gap:var(--space-5);flex-direction:column;flex:1;display:flex;overflow:auto}.sheet>footer{padding:var(--space-3) var(--space-4) calc(var(--space-3) + env(safe-area-inset-bottom));border-top:var(--border);flex:none}.sheet>footer button{width:100%;min-height:3.25rem}@media (width>=52rem){.sheet{border-radius:var(--radius-lg);width:min(30rem,92vw);max-height:80dvh;animation-name:popIn;inset:50% auto auto 50%;transform:translate(-50%,-50%)}.sheet>header:before{display:none}.sheet>header{padding-top:var(--space-4)}}.toast{z-index:30;left:50%;bottom:calc(var(--tabbar) + var(--space-4) + env(safe-area-inset-bottom));background:var(--ink);color:var(--bg);padding:var(--space-2) var(--space-4);border-radius:var(--radius-pill);box-shadow:0 8px 24px var(--shadow-color);white-space:nowrap;font-size:.9rem;font-weight:500;animation:.3s cubic-bezier(.2,.8,.2,1) both toastIn;position:fixed;transform:translate(-50%)}@media (width>=52rem){.toast{bottom:var(--space-6)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:none}}@keyframes popIn{0%{opacity:0;transform:translate(-50%,-50%)scale(.96)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}@keyframes toastIn{0%{opacity:0;transform:translate(-50%,14px)}to{opacity:1;transform:translate(-50%)}}@keyframes spring{0%{transform:scale(.88)}60%{transform:scale(1.07)}to{transform:scale(1)}}main{animation:.3s both fadeUp}@media (prefers-reduced-motion:no-preference){.recipes>li{animation:.4s both rise}.recipes>li:first-child{animation-delay:0s}.recipes>li:nth-child(2){animation-delay:40ms}.recipes>li:nth-child(3){animation-delay:80ms}.recipes>li:nth-child(4){animation-delay:.12s}.recipes>li:nth-child(5){animation-delay:.16s}.recipes>li:nth-child(n+6){animation-delay:.2s}a,button,input,select{transition:border-color .12s,background-color .12s,filter .12s}}
