:root{--bg:#fbf9f4;--fg:#1b2c25;--muted:#556d63;--border:#e6e1d5;--green:#2c6d4a;--green-dark:#1c4a35;--green-soft:#e2f3e9;--sand:#f0ebe0;--orange:#f68428;--orange-dark:#d55515;--orange-soft:#fef0e2;--brown:#6d5540;--radius:1rem;--display:Fraunces, Georgia, serif}*{box-sizing:border-box}body{background:var(--bg);color:var(--fg);margin:0;font:16px/1.55 Plus Jakarta Sans,ui-sans-serif,system-ui,sans-serif}h1,h2,h3,h4{font-family:var(--display);color:var(--green-dark);margin:0 0 .5rem;line-height:1.15}h1{font-size:clamp(2rem,6vw,3.25rem);font-weight:700}h2{font-size:clamp(1.4rem,4vw,2rem)}h3{font-size:1.2rem}p{margin:0 0 .75rem}a{color:var(--green);font-weight:600}img{background:var(--sand);max-width:100%;height:auto;display:block}:focus-visible{outline:3px solid var(--orange);outline-offset:2px;border-radius:4px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.skip{z-index:50;background:#fff;padding:.5rem 1rem;position:absolute;top:.5rem;left:-999px}.skip:focus{left:.5rem}.topbar{z-index:20;background:color-mix(in srgb, var(--bg) 92%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--border);position:sticky;top:0}.topbar-inner{align-items:center;gap:1rem;max-width:72rem;margin:0 auto;padding:.75rem 1rem;display:flex}.logo{font-family:var(--display);color:var(--green-dark);margin-right:auto;font-size:1.4rem;font-weight:700;text-decoration:none}.logo span{color:var(--orange)}.desktop-nav{gap:.25rem;display:none}.desktop-nav a,.side-menu nav a{color:var(--fg);border-radius:999px;padding:.5rem .75rem;font-size:.9rem;font-weight:600;text-decoration:none}.desktop-nav a.active,.side-menu nav a.active{background:var(--green-soft);color:var(--green-dark)}.desktop-only{display:none}.side-menu{background:var(--bg);border:0;width:min(20rem,85vw);height:100dvh;max-height:none;margin:0 0 0 auto;padding:1rem}.side-menu::backdrop{background:#00000059}.side-menu nav{gap:.25rem;margin-top:1rem;display:grid}main{max-width:72rem;margin:0 auto;padding:1rem 1rem 6rem}.footer{border-top:1px solid var(--border);background:var(--sand);text-align:center;color:var(--brown);padding:2rem 1rem 6rem}.footer p{max-width:40rem;margin:0 auto 1rem}.footer nav{flex-wrap:wrap;justify-content:center;gap:.5rem 1rem;display:flex}.bottom-nav{z-index:20;border-top:1px solid var(--border);padding-bottom:env(safe-area-inset-bottom);background:#fff;grid-template-columns:repeat(5,1fr);display:grid;position:fixed;inset:auto 0 0}.bottom-nav a{text-align:center;color:var(--muted);padding:.7rem .2rem;font-size:.72rem;text-decoration:none}.bottom-nav a.active{color:var(--green)}@media (width>=960px){.desktop-nav,.desktop-only{display:flex}.mobile-only,.bottom-nav{display:none}main{padding-bottom:3rem}.footer{padding-bottom:2rem}}.page>section,.page>div,.page>article{margin-bottom:2.5rem}.narrow{max-width:44rem}.center{text-align:center;margin-inline:auto}.muted{color:var(--muted)}.small{font-size:.875rem}.lead{color:var(--brown);font-size:1.1rem}.eyebrow{text-transform:uppercase;letter-spacing:.08em;color:var(--orange-dark);margin-bottom:.25rem;font-size:.75rem;font-weight:700}.pill{background:var(--orange-soft);color:var(--orange-dark);border-radius:999px;padding:.3rem .8rem;font-size:.8rem;font-weight:700;display:inline-block}.section-head{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:.5rem 1rem;margin-bottom:1rem;display:flex}.section-head .muted{max-width:40rem}.more,.back{margin-bottom:1rem;display:inline-block}.actions{gap:.75rem;justify-content:inherit;flex-wrap:wrap;display:flex}.center .actions{justify-content:center}.btn{border:2px solid var(--green);background:var(--green);color:#fff;min-height:2.75rem;font:inherit;cursor:pointer;border-radius:999px;justify-content:center;align-items:center;padding:.6rem 1.2rem;font-weight:700;text-decoration:none;display:inline-flex}.btn-orange{background:var(--orange);border-color:var(--orange)}.btn-outline{color:var(--green);background:0 0}.btn-soft{background:var(--green-soft);color:var(--green-dark)}.btn-small{min-height:2.25rem;padding:.35rem .9rem;font-size:.9rem}.input{border:1px solid var(--border);border-radius:var(--radius);width:100%;min-height:3rem;font:inherit;color:inherit;background:#fff;padding:.6rem 1rem}.grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,16rem),1fr));gap:1rem;display:grid}.stack{gap:1rem;margin-top:1.5rem;display:grid}.card{border:1px solid var(--border);border-radius:calc(var(--radius) * 1.5);background:#fff;overflow:hidden;box-shadow:0 1px 3px #281e0a0f}.card-body{padding:1rem 1.25rem;display:block}.panel{background:var(--green-soft);border-radius:calc(var(--radius) * 1.5);padding:1.5rem}.safety{background:var(--orange-soft)}.tipbox{background:var(--green-soft);color:var(--green-dark);border-radius:var(--radius);padding:.75rem 1rem}.tipbox-card{background:var(--green-soft)}.chips,.pills{flex-wrap:wrap;gap:.4rem;margin:0 0 .75rem;padding:0;list-style:none;display:flex}.chips li{background:var(--sand);color:var(--brown);border-radius:999px;padding:.2rem .7rem;font-size:.8rem;font-weight:600}.badge{color:var(--brown);background:#ffffffeb;border-radius:999px;padding:.2rem .7rem;font-size:.75rem;font-weight:700}.chips .badge-green,.badge-green{background:var(--green-soft);color:var(--green-dark)}.chips .badge-orange,.badge-orange{background:var(--orange-soft);color:var(--orange-dark)}.chip-btn{border:1px solid var(--border);color:var(--fg);font:inherit;cursor:pointer;background:#fff;border-radius:999px;padding:.4rem .9rem;font-size:.9rem;font-weight:600;text-decoration:none}.chip-btn[aria-pressed=true]{background:var(--green);border-color:var(--green);color:#fff}.chip-btn:disabled{opacity:.45;cursor:default}.filter{gap:.4rem;margin:.5rem 0;padding:.25rem 0;display:flex;overflow-x:auto}.filter .chip-btn{flex:none}.ticks{padding-left:1.2rem}.ticks li{margin-bottom:.4rem}.card-img{position:relative}.card-img img{aspect-ratio:3/2;object-fit:cover;width:100%}.badges{gap:.3rem;display:flex;position:absolute;top:.75rem;left:.75rem}.fav{width:2.5rem;height:2.5rem;color:var(--orange-dark);cursor:pointer;background:#ffffffeb;border:0;border-radius:50%;font-size:1.25rem;position:absolute;top:.75rem;right:.75rem}.recipe-card h3 a{color:inherit;text-decoration:none}.recipe-card h3 a:after{content:"";position:absolute;inset:0}.recipe-card{position:relative}.recipe-card .fav{z-index:1}.match{color:var(--green);font-size:.85rem;font-weight:700}.match-miss{color:var(--orange-dark)}.scroller{scroll-snap-type:x mandatory;grid-auto-columns:min(80%,18rem);grid-auto-flow:column;gap:1rem;padding-bottom:.5rem;display:grid;overflow-x:auto}.scroller>*{scroll-snap-align:start}.category-card{color:inherit;text-decoration:none;display:block}.category-card img{aspect-ratio:16/10;object-fit:cover;width:100%}.category-card strong{font-family:var(--display);color:var(--green-dark);font-size:1.15rem;display:block}.category-card .muted{font-size:.9rem;font-weight:400}.accent-orange{border-bottom:4px solid var(--orange)}.accent-green{border-bottom:4px solid var(--green)}.accent-brown{border-bottom:4px solid var(--brown)}.today{display:grid}.today img{aspect-ratio:3/2;object-fit:cover;width:100%}.hero{align-items:center;gap:1.5rem;display:grid}.hero img{border-radius:calc(var(--radius) * 2);aspect-ratio:4/3;object-fit:cover;width:100%}@media (width>=760px){.hero,.today{grid-template-columns:1.1fr 1fr}.today img{aspect-ratio:auto;height:100%}}.recipe-top{gap:1.5rem;display:grid}.recipe-top .card-img img{border-radius:calc(var(--radius) * 2)}.recipe-cols{gap:1rem;display:grid}.side{align-content:start;gap:1rem;display:grid}.side h2{font-size:1.15rem}@media (width>=860px){.recipe-top{grid-template-columns:1fr 1fr;align-items:center}.recipe-cols{grid-template-columns:2fr 1fr}}.stepper{align-items:center;gap:.5rem;margin-bottom:.5rem;font-weight:600;display:flex}.stepper button{border:1px solid var(--border);cursor:pointer;width:2.25rem;height:2.25rem;color:var(--green-dark);background:#fff;border-radius:50%;font-size:1.1rem}.stepper button:disabled{opacity:.4;cursor:default}.stepper output{text-align:center;min-width:1.5rem;color:var(--green-dark);font-weight:700}.ingredients{gap:.5rem;padding:0;list-style:none;display:grid}.ingredients li{border:1px solid var(--border);border-radius:var(--radius);color:var(--brown);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.25rem .75rem;padding:.6rem .9rem;font-weight:600;display:flex}.ingredients li.has{background:var(--green-soft)}.swap{color:var(--orange-dark);flex-basis:100%;font-weight:500}.steps{gap:1.25rem;padding:0;list-style:none;display:grid}.steps li{gap:1rem;display:flex}.steps li>div{flex:1;min-width:0}.steps img{border-radius:var(--radius);aspect-ratio:2;object-fit:cover;width:100%;max-width:32rem}.step-no{background:var(--green);color:#fff;border-radius:50%;flex:none;place-items:center;width:2rem;height:2rem;font-size:.9rem;font-weight:700;display:grid}.add-form{gap:.5rem;margin-top:1rem;display:flex}.suggestions{border:1px solid var(--border);border-radius:var(--radius);background:#fff;margin:.25rem 0 1rem;padding:.25rem;list-style:none}.suggestions button{text-align:left;width:100%;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:.5rem;padding:.6rem .75rem}.suggestions button:hover{background:var(--green-soft)}.pantry{flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:1rem;display:flex}.pantry .pills{margin:0}.chip{background:var(--green);color:#fff;border-radius:999px;align-items:center;gap:.25rem;padding:.25rem .4rem .25rem .8rem;font-size:.9rem;font-weight:600;display:inline-flex}.chip button{color:#fff;cursor:pointer;background:#fff3;border:0;border-radius:50%;width:1.6rem;height:1.6rem;font-size:1rem;line-height:1}.howto{text-align:left;display:inline-block}.result{display:grid}.result img{aspect-ratio:3/2;object-fit:cover;width:100%}.result h4{font-size:1.15rem}@media (width>=640px){.result{grid-template-columns:12rem 1fr}.result img{aspect-ratio:auto;height:100%}}.logo{white-space:nowrap}img.img-missing{background:var(--sand)}.btn-danger{color:#9b2727;background:0 0;border-color:#b82e2e}.confirm[open] .btn-danger{color:#fff;background:#ab2b2b}.warn{background:var(--orange-soft);color:var(--orange-dark);border-radius:var(--radius);padding:.4rem .75rem;font-size:.875rem;font-weight:600}.notice:empty{display:none}.notice{color:var(--green-dark);font-weight:600}.confirm{border-radius:calc(var(--radius) * 1.5);border:0;max-width:min(28rem,90vw);padding:1.5rem}.confirm::backdrop{background:#0006}.update{z-index:30;border:1px solid var(--border);border-radius:var(--radius);background:#fff;flex-wrap:wrap;align-items:center;gap:.5rem;max-width:28rem;margin:0 auto;padding:.75rem 1rem;display:flex;position:fixed;bottom:4.5rem;left:1rem;right:1rem;box-shadow:0 4px 16px #0000001f}.update span{flex:1;font-weight:700}.stats .stat-value{font-family:var(--display);color:var(--green-dark);margin:0;font-size:1.8rem;font-weight:700}.stat-value span{color:var(--brown);font-size:.9rem}.two-col{gap:1rem;display:grid}@media (width>=640px){.two-col{grid-template-columns:1fr 1fr}}.accordion details{border-bottom:1px solid var(--border);padding:.75rem 0}.accordion summary{cursor:pointer;font-family:var(--display);color:var(--green-dark);font-size:1.1rem;font-weight:700}.picked{gap:.5rem;margin-top:1rem;display:grid}fieldset{border:0;flex-wrap:wrap;gap:.5rem 1rem;margin:.5rem 0;padding:0;display:flex}legend{text-transform:uppercase;letter-spacing:.06em;color:var(--brown);margin-bottom:.4rem;font-size:.85rem;font-weight:700}.prefs label{align-items:center;gap:.35rem;display:inline-flex}.prefs label:has(input:checked){background:var(--green-soft);border-color:var(--green)}.status{vertical-align:middle;border-radius:999px;padding:.2rem .7rem;font-family:inherit;font-size:.75rem;font-weight:700;display:inline-block}.status-utgatt{color:#8f2424;background:#fae5e5}.status-i-dag{background:var(--orange);color:#fff}.status-snart{background:var(--orange-soft);color:var(--orange-dark)}.status-ok{background:var(--green-soft);color:var(--green-dark)}.log{gap:.5rem;padding:0;list-style:none;display:grid}.log li{background:var(--sand);border-radius:var(--radius);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;padding:.5rem .75rem;display:flex}.log p{margin:0}.chart{grid-template-columns:repeat(6,1fr);align-items:end;gap:.5rem;height:12rem;margin-top:1rem;display:grid}.bar-col{text-align:center;flex-direction:column;justify-content:end;align-items:center;gap:.25rem;height:100%;display:flex}.bar{background:var(--green);border-radius:.4rem .4rem 0 0;width:100%;max-width:3rem;min-height:2px}.bar-track{flex:1;justify-content:center;align-items:end;width:100%;display:flex}@media (width<=959px){.desktop-only{display:none}}.stats{grid-template-columns:repeat(auto-fit,minmax(min(100%,9rem),1fr))}
