@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/source-serif-4-latin.woff2) format("woff2")}@font-face{font-family:"Source Serif 4";font-style:italic;font-weight:400 700;font-display:swap;src:url(/fonts/source-serif-4-latin-italic.woff2) format("woff2")}:root{--font-serif:"Source Serif 4";--bg:#f3f2f2;--surface:#ffffff;--border:#d7d3d3;--divider:color-mix(in srgb,#201e1d 16%,transparent);--text:#201e1d;--muted:#605d5d;--accent:#7b8071;--accent-600:#6b7061;--accent-ink:#565b4d;--accent-soft:#e4e6df;--warn:#aa0b56;--warn-soft:#fff1f4;--radius:2px;--tint-a:rgba(123,128,113,0.09);--tint-b:rgba(156,146,130,0.13);color-scheme:light}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:17px/1.55 var(--font-serif),"Source Serif 4",Georgia,serif;-webkit-font-smoothing:antialiased}a{color:var(--accent-ink)}a:hover{color:var(--text)}::selection{background:var(--accent-soft)}.shell{max-width:780px;margin:0 auto;padding:26px 22px 120px}.masthead{display:flex;flex-direction:column;align-items:stretch;gap:0;margin-bottom:26px}.masthead h1{margin:0;font-size:30px;font-weight:600;line-height:1;letter-spacing:-.015em}.masthead h1 a{color:inherit;text-decoration:none}.rulethick{height:3px;margin-top:10px}.rulethick,.rulethin{background:var(--text)}.rulethin{height:1px}.dateline,.masthead .tagline{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:7px 0;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.tabbar{position:fixed;inset:auto 0 0 0;z-index:10;background:var(--bg);border-top:1px solid var(--text);display:grid;grid-template-columns:repeat(4,1fr);padding-bottom:env(safe-area-inset-bottom,0)}.tabbar a{min-height:48px;display:flex;align-items:center;justify-content:center;padding:14px 0 16px;font-size:15px;color:var(--muted);text-decoration:none;border-top:3px solid transparent;margin-top:-1px}.tabbar a[aria-current=page]{color:var(--text);font-weight:600;border-top-color:var(--accent)}.card{background:transparent;border:none;border-radius:0;padding:0}.card+.card{margin-top:30px}h2{font-size:10.5px;font-weight:400;text-transform:uppercase;letter-spacing:.16em;color:var(--muted);margin:36px 0 12px}form.import{display:flex;gap:10px;flex-wrap:wrap}input[type=number],input[type=url]{flex:1 1 260px;min-width:0;padding:13px 12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text);font:inherit}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:2px}button{min-height:48px;padding:13px 18px;border:1px solid transparent;border-radius:var(--radius);background:var(--accent-ink);color:var(--bg);font:inherit;font-weight:600;cursor:pointer}button:hover{background:#4e5346}button:active{background:#43483c}button:disabled{opacity:.45;cursor:progress}.hint{color:var(--muted);font-size:14px;line-height:1.5;margin:10px 0 0}.notice{border:none;border-left:3px solid var(--text);border-radius:0;padding:2px 0 2px 14px;margin-bottom:20px;font-size:16px;background:transparent}.notice.good,.notice.ok{border-left-color:var(--accent)}.notice.warn{border-left-color:var(--warn);color:var(--warn)}ul.recipes{list-style:none;margin:0;padding:0}ul.recipes li+li{border-top:none}ul.recipes a{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 2px;text-decoration:none;color:inherit}ul.recipes a:hover .title{color:var(--accent-ink)}.title{font-size:20px;font-weight:600;line-height:1.15}.meta{color:var(--muted);font-size:13.5px;white-space:nowrap}table.ingredients{width:100%;border-collapse:collapse;font-size:17px}table.ingredients td{padding:11px 0;border-bottom:none;vertical-align:baseline}td.amount{white-space:nowrap;width:1%;padding-right:18px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--muted)}td.amount.scaled{color:var(--text);font-weight:600}.note{color:var(--muted)}.badge{display:inline-block;margin-left:8px;padding:1px 7px;border-radius:var(--radius);font-size:12px;background:var(--warn-soft);color:var(--warn);border:1px solid color-mix(in srgb,var(--warn) 30%,transparent)}.backlink{display:inline-flex;align-items:center;min-height:44px;margin-bottom:12px;color:var(--accent-ink);font-size:14px;text-decoration:none}.backlink:hover{color:var(--text)}.empty{padding:6px 0}.empty,.weeknav{color:var(--muted)}.weeknav{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:22px;padding:7px 0;border-bottom:1px solid var(--text);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;flex-wrap:wrap}.weeknav strong{font-weight:400}.weeknav .backlink{margin:0;min-height:44px;font-size:10.5px;letter-spacing:.14em}.card.day{background:var(--tint-a);border-bottom:1px solid var(--divider);padding:14px 16px}.card.day:nth-of-type(2n){background:var(--tint-b)}.card.day:last-of-type{border-bottom:none}.card.day+.card.day{margin-top:12px}.card.day.today{border:none}.card.day.today .dayhead span:first-child{color:var(--accent-ink);font-weight:700}.dayhead{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:4px;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.dayhead span:first-child{font-weight:400}ul.entries,ul.questions{list-style:none;margin:0 0 10px;padding:0}ul.entries li{display:flex;align-items:center;gap:12px;padding:4px 0}ul.entries li a{text-decoration:none;font-size:23px;font-weight:600;line-height:1.12;letter-spacing:-.01em;color:inherit}ul.entries li a:hover{color:var(--accent-ink)}ul.entries li form{margin-left:auto}ul.questions{background:var(--tint-b);padding:4px 16px;margin-top:12px}ul.questions li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--divider);flex-wrap:wrap}ul.questions li:last-child{border-bottom:none}.addrow,.answers{display:flex;gap:10px}.addrow{align-items:center;flex-wrap:wrap}select{flex:1 1 200px;min-width:0;min-height:48px;padding:13px 12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text);font:inherit}input.servings{flex:0 0 84px;padding:13px 12px}button.ghost{background:transparent;color:var(--text);border:1px solid var(--border);font-weight:400;padding:12px 16px}button.ghost:hover{background:var(--accent-soft);border-color:var(--accent);color:var(--text)}.group{background:var(--tint-a);border-bottom:1px solid var(--divider);padding:12px 16px}.group:nth-of-type(2n){background:var(--tint-b)}.group:last-of-type{border-bottom:none}.group+.group{margin-top:12px}.group h3{margin:0 0 6px;font-size:10.5px;font-weight:400;text-transform:uppercase;letter-spacing:.16em;color:var(--muted)}td .meta{font-size:13px}.listbar{justify-content:space-between;gap:12px;margin-bottom:14px;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.listbar,.listbaractions{display:flex;align-items:center}.listbaractions{justify-content:flex-end;flex-wrap:wrap;gap:8px}ul.shopping{list-style:none;margin:0;padding:0}ul.shopping li{display:flex;align-items:stretch;flex-wrap:wrap;gap:6px;border-bottom:none}button.tick{flex:1 1;display:flex;align-items:flex-start;gap:14px;min-height:56px;padding:12px 2px;border:none;color:var(--text);font:inherit;font-weight:400;text-align:left;cursor:pointer}button.tick,button.tick:hover{background:transparent}.box{flex:0 0 24px;height:24px;margin-top:3px;border:1.5px solid var(--text);border-radius:var(--radius);display:flex;align-items:center;justify-content:center;font-size:15px;line-height:1;color:transparent}li.done .box{background:var(--accent);border-color:var(--accent);color:var(--bg)}.label{display:flex;flex-direction:column;gap:3px;min-width:0}.label .name{font-size:18px;line-height:1.25}.label .name strong{font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.label .meta{font-style:italic;white-space:normal}li.done .label .name{text-decoration:line-through;color:var(--muted)}li.done .label .meta{opacity:.6}ul.shopping li form{display:flex;align-items:center}.addown{margin-top:20px}input[type=email],input[type=password],input[type=search],input[type=text],textarea{flex:1 1 200px;min-width:0;padding:13px 12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text);font:inherit}textarea{width:100%;resize:vertical;line-height:1.55}@media (max-width:520px){.shell{padding:22px 20px 120px}.masthead{margin-bottom:20px}.masthead h1{font-size:26px}button,input,select,textarea{font-size:17px}}.stack{gap:16px}.field,.stack{display:flex;flex-direction:column}.field{gap:7px}.field>span{font-size:10.5px;font-weight:400;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.field input{flex:1 1 auto;width:100%}.field .hint{margin:0}.actionrow{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.actionrow.spaced{margin-top:18px}.actionrow a{text-decoration:none}.statusline{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:18px}.badge.okbadge{background:var(--accent-soft);color:var(--accent-ink);border-color:color-mix(in srgb,var(--accent) 45%,transparent)}.badge.warnbadge{background:var(--warn-soft);color:var(--warn)}.toolbar{flex-wrap:wrap;margin-bottom:12px}.checkline,.toolbar{display:flex;gap:10px;align-items:center}.checkline{min-height:44px;padding:4px 0 10px;cursor:pointer}.checkline input{width:20px;height:20px;flex:0 0 auto;accent-color:var(--accent)}.offers{flex:1 0 100%;display:flex;flex-direction:column;gap:2px;padding:0 0 10px 38px}.offer{display:flex;align-items:baseline;gap:9px;padding:3px 0;background:transparent;border-radius:0}.offerthumb{flex:0 0 auto;display:block;width:34px;height:34px;border-radius:var(--radius);overflow:hidden;background:var(--surface);align-self:center}.offerthumb img{width:100%;height:100%;object-fit:contain;display:block}.offerprice{flex:0 0 auto;font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--accent-ink)}.offerbody{display:flex;flex-direction:column;gap:0;min-width:0}.offername{font-size:14.5px;line-height:1.35;color:var(--accent-ink)}.offer .meta{font-size:13px}.tag{display:inline-block;margin-left:6px;padding:0 6px;border:1px solid var(--border);border-radius:var(--radius);font-size:12px;color:var(--muted);white-space:nowrap}.warntag{border-color:color-mix(in srgb,var(--warn) 40%,transparent);background:var(--warn-soft);color:var(--warn)}button.ghost.more{align-self:flex-start;min-height:44px;padding:4px 0;border:none;font-size:14px;color:var(--accent-ink)}button.ghost.more:hover{background:transparent;color:var(--text)}@media (max-width:520px){.offers{padding-left:0}}.login{max-width:26rem;margin:48px auto 0}.login h2{font-size:34px;font-weight:600;line-height:1.08;letter-spacing:-.015em;text-transform:none;color:var(--text);margin:0 0 16px}input.code{font-family:var(--font-serif),"Source Serif 4",Georgia,serif;font-size:26px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:.32em;text-align:center}.login form+form{margin-top:12px}.wege{margin-bottom:26px}.wege h3{margin:0 0 10px;font-size:10.5px;font-weight:400;text-transform:uppercase;letter-spacing:.16em;color:var(--muted)}ul.retailers{list-style:none;margin:0;padding:0}ul.retailers>li{background:var(--tint-a);border-bottom:1px solid var(--divider);padding:12px 16px}ul.retailers>li:nth-child(2n){background:var(--tint-b)}ul.retailers>li:last-child{border-bottom:none}ul.retailers>li+li{border-top:none;margin-top:12px}button.marktzeile{width:100%;min-height:48px;display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:8px 2px;border:none;color:var(--text);font:inherit;text-align:left;cursor:pointer}button.marktzeile,button.marktzeile:hover{background:transparent}.marktname{font-size:24px;font-weight:600}button.marktzeile .meta{font-size:15px;color:var(--warn)}ul.markttreffer{list-style:none;margin:0 0 8px;padding:0}ul.markttreffer li{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:6px 0;font-size:16px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.recipehead{display:flex;flex-direction:column;gap:0;align-items:stretch}.recipeheadtext{flex:1 1 auto;min-width:0;padding-top:18px}.recipephoto{width:100%;max-width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:var(--radius);display:block}.photoform{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0}.photoform input[type=file]{max-width:100%;font-size:14px}.thumb{width:72px;height:72px;flex:0 0 auto;border-radius:var(--radius);object-fit:cover;display:block}.thumb.empty{background-color:#eae7e7;background-image:radial-gradient(#9b9797 1px,transparent 1.3px);background-size:5px 5px}.recipetext{display:flex;justify-content:space-between;gap:16px;flex:1 1 auto;min-width:0;flex-wrap:wrap}.entrythumb{flex:0 0 auto;line-height:0;order:2;margin-left:auto}.entrythumb img{width:76px;height:76px;border-radius:var(--radius);object-fit:cover;display:block}ul.entries li:has(.entrythumb){align-items:flex-start}ol.steps{list-style:none;margin:0;counter-reset:step;flex-direction:column;gap:18px}ol.steps,ol.steps li{padding-left:0;display:flex}ol.steps li{counter-increment:step;gap:14px;white-space:pre-wrap;line-height:1.5}ol.steps li:before{content:counter(step);flex:0 0 auto;font-size:26px;font-weight:600;line-height:1;color:var(--accent-ink)}.fieldrow{display:flex;gap:14px;flex-wrap:wrap}.fieldrow .field{flex:1 1 130px}.backlink.quiet{color:var(--muted);font-size:14px}.card.danger{border:none;padding-top:8px}button.destructive{background:var(--warn);border-color:var(--warn);color:#ffffff}button.destructive:hover{background:#790e3d}