:root{--bg:#f7f7f4;--card:#fff;--ink:#23241f;--muted:#6b6f66;--line:#e4e5df;--green:#7bb661;--green-dark:#5d9247;--amber:#d99a2b;--red:#c0562f;--chip:#eef3e9;--radius:14px;--fs-xs:.72rem;--fs-sm:.8rem;--fs-base:.9rem;--fs-md:1rem;--fs-lg:1.1rem;--space-4:.25rem;--space-8:.5rem;--space-12:.75rem;--space-16:1rem;--space-20:1.25rem;--space-24:1.5rem;--space-64:4rem;--meal-fruehstueck:#d9a441;--meal-mittag:#4f8fc4;--meal-abend:#8868b3;--meal-snack:#4fa89c;--first-time:#c25b8a;--hit-min:2.75rem;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#1a1b17;--card:#24261f;--ink:#ecebe3;--muted:#9a9d91;--line:#34362d;--chip:#2e3327}}*{box-sizing:border-box}body{background:var(--bg);color:var(--ink);margin:0}.wrap{min-height:100vh;padding:var(--space-20);justify-content:center;align-items:center;display:flex}.app{max-width:720px;margin:0 auto;padding:0}.topbar{z-index:5;background:var(--bg);padding:var(--space-12) var(--space-16) var(--space-8);border-bottom:1px solid var(--line);position:sticky;top:0}.topbar h1{font-size:var(--fs-lg);margin:0 0 var(--space-8)}.tabs{gap:var(--space-4);display:flex;overflow-x:auto}.tab{color:var(--muted);padding:var(--space-8) var(--space-12);font-size:var(--fs-base);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:999px}.tab.active{background:var(--chip);color:var(--ink);font-weight:600}.bottom-nav{z-index:6;background:var(--bg);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom);display:flex;position:fixed;bottom:0;left:0;right:0}.nav-tab{justify-content:center;align-items:center;gap:var(--space-4);min-height:var(--hit-min);color:var(--muted);font-size:var(--fs-xs);cursor:pointer;padding:var(--space-8) var(--space-4);background:0 0;border:none;flex-direction:column;flex:1;display:flex}.nav-tab.active{color:var(--green-dark);font-weight:600}.nav-icon{font-size:var(--fs-lg);line-height:1}.nav-label{white-space:nowrap}.app{padding-bottom:calc(var(--hit-min) + var(--space-16) + env(safe-area-inset-bottom))}@media (width>=640px){.bottom-nav{border-top:none;border-bottom:1px solid var(--line);padding:var(--space-8) var(--space-16) 0;position:static}.nav-tab{font-size:var(--fs-base);flex-direction:row;flex:none}.nav-icon{font-size:var(--fs-md)}.app{padding-bottom:var(--space-64)}}.content{padding:var(--space-16);gap:var(--space-16);flex-direction:column;display:flex}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:var(--space-16)}.card.login{gap:var(--space-12);flex-direction:column;width:min(360px,92vw);display:flex}.card h2{margin:0 0 var(--space-8);font-size:var(--fs-lg)}.card-inset{background:var(--bg)}.overlay-backdrop{z-index:20;background:#00000073;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.overlay-panel{border-radius:var(--radius) var(--radius) 0 0;width:100%;max-height:85vh;margin:0;overflow-y:auto}@media (width>=640px){.overlay-backdrop{padding:var(--space-20);align-items:flex-start;overflow-y:auto}.overlay-panel{width:min(560px,100%);max-height:none;margin:var(--space-24) 0;border-radius:var(--radius)}}.sheet-block{margin-top:var(--space-16)}.sheet-block+.sheet-block{padding-top:var(--space-16);border-top:1px solid var(--line)}.sheet-block h3{font-size:var(--fs-md);margin:0}label{gap:var(--space-4);font-size:var(--fs-sm);color:var(--muted);flex-direction:column;display:flex}input,select{padding:var(--space-8) var(--space-12);border:1px solid var(--line);background:var(--bg);color:var(--ink);font-size:var(--fs-md);border-radius:10px}.input-sm{width:4.5rem}.btn{background:var(--green);color:#fff;padding:var(--space-8) var(--space-16);font-size:var(--fs-md);cursor:pointer;min-height:var(--hit-min);border:none;border-radius:10px;justify-content:center;align-items:center;display:inline-flex}.btn:hover{background:var(--green-dark)}.btn:disabled{opacity:.6;cursor:default}.btn.ghost{color:var(--ink);border:1px solid var(--line);background:0 0}.btn.small{padding:var(--space-4) var(--space-8);font-size:var(--fs-sm)}.row{gap:var(--space-8);flex-wrap:wrap;align-items:center;display:flex}.row.spread{justify-content:space-between}.row.top{align-items:flex-start}.muted{color:var(--muted);font-size:var(--fs-base)}.error{color:var(--red);font-size:var(--fs-sm)}.tight-margin{margin:var(--space-4) 0}.top-gap{margin-top:var(--space-8)}.field-fixed{flex:none}.chip{align-items:center;gap:var(--space-4);background:var(--chip);padding:var(--space-4) var(--space-8);font-size:var(--fs-sm);color:var(--ink);border-radius:999px;display:inline-flex}.chip.warn{background:color-mix(in srgb, var(--amber) 22%, transparent)}.chip.iron-ok{background:color-mix(in srgb, var(--green) 22%, transparent)}.chip.iron-low{background:color-mix(in srgb, var(--amber) 22%, transparent)}.chip.expired{background:color-mix(in srgb, var(--red) 22%, transparent)}.day{gap:var(--space-8);flex-direction:column;display:flex}.day-head{justify-content:space-between;align-items:baseline;display:flex}.day-head h3{font-size:var(--fs-md);margin:0}.slot{border-top:1px solid var(--line);padding-top:var(--space-8)}.slot:first-child{border-top:none;padding-top:0}.slot-label{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.04em;color:var(--muted);padding-left:var(--space-8);margin-left:calc(var(--space-8) * -1);border-left:3px solid #0000}.slot-label[data-slot=fruehstueck],[data-slot=fruehstueck] .slot-label{border-left-color:var(--meal-fruehstueck)}.slot-label[data-slot=mittag],[data-slot=mittag] .slot-label{border-left-color:var(--meal-mittag)}.slot-label[data-slot=abend],[data-slot=abend] .slot-label{border-left-color:var(--meal-abend)}.slot-label[data-slot=snack],[data-slot=snack] .slot-label{border-left-color:var(--meal-snack)}.day.day-disabled{opacity:.65}.slot.slot-disabled{justify-content:space-between;align-items:center;display:flex}.snack-section{margin-top:var(--space-8);padding-top:var(--space-8);border-top:1px dashed var(--line)}.snack-section .slot{opacity:.85}.snack-label{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin-bottom:var(--space-4);border-left:3px solid var(--meal-snack);padding-left:var(--space-8);margin-left:calc(var(--space-8) * -1)}.slot-menu{position:relative}.slot-menu-trigger{padding-left:var(--space-12);padding-right:var(--space-12)}.slot-menu-list{right:0;top:calc(100% + var(--space-4));z-index:10;background:var(--card);border:1px solid var(--line);min-width:10rem;padding:var(--space-4);border-radius:10px;flex-direction:column;display:flex;position:absolute;box-shadow:0 4px 16px #0000002e}.slot-menu-item{color:var(--ink);text-align:left;padding:var(--space-8) var(--space-12);font-size:var(--fs-sm);cursor:pointer;min-height:var(--hit-min);background:0 0;border:none;border-radius:8px}.slot-menu-item:hover{background:var(--chip)}.slot-menu-item:disabled{opacity:.6;cursor:default}.options{gap:var(--space-4);margin-top:var(--space-4);flex-direction:column;display:flex}.option{justify-content:space-between;align-items:center;gap:var(--space-8);border:1px solid var(--line);padding:var(--space-8);cursor:pointer;background:var(--bg);border-radius:10px;display:flex}.option.selected{border-color:var(--green);background:color-mix(in srgb, var(--green) 12%, var(--card))}.option .name{font-size:var(--fs-base)}.option .tags{gap:var(--space-4);flex-wrap:wrap;display:flex}.list{gap:var(--space-8);flex-direction:column;display:flex}.list-item{justify-content:space-between;align-items:flex-start;gap:var(--space-8);padding:var(--space-8) 0;border-bottom:1px solid var(--line);display:flex}.list-item:last-child{border-bottom:none}.shopping-recipes{font-size:var(--fs-sm);margin-top:var(--space-4)}.shopping-item{cursor:pointer}.shopping-item.checked{opacity:.55}.shopping-item.checked .item-name{text-decoration:line-through}.cat-head{font-size:var(--fs-sm);text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin:var(--space-8) 0 var(--space-4)}.progress-bar{background:var(--line);border-radius:999px;height:8px;overflow:hidden}.progress-bar>span{background:var(--green);height:100%;display:block}.food{align-items:center;gap:var(--space-8);padding:var(--space-4) 0;display:flex}.food .dot{border:1px solid var(--line);border-radius:50%;flex:none;width:10px;height:10px}.food .dot.on{background:var(--green);border-color:var(--green)}.food .dot.established{background:var(--green);border-color:var(--green);color:#fff;justify-content:center;align-items:center;width:17px;height:17px;font-size:12px;font-weight:800;line-height:1;display:inline-flex}.food.animal .name{color:var(--muted)}.food .name{font-size:var(--fs-base);flex:1}.food .count{font-size:var(--fs-sm);color:var(--muted)}.food .known-badge{font-size:var(--fs-xs);color:var(--green);font-weight:700}.steps{margin:var(--space-8) 0 0;padding-left:var(--space-16)}.steps li{margin:var(--space-4) 0;font-size:var(--fs-base)}.recipe-detail{gap:var(--space-8);flex-direction:column;display:flex}.pill-row{gap:var(--space-4);flex-wrap:wrap;display:flex}.zone-label{font-size:var(--fs-sm);text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin-top:var(--space-4)}.zone-kommt{gap:var(--space-16);opacity:.9;flex-direction:column;display:flex}.day.today{border-color:var(--green)}.chip-remove{color:inherit;cursor:pointer;padding:0 0 0 var(--space-4);font-size:var(--fs-md);background:0 0;border:none;line-height:1}input[type=checkbox]{width:var(--hit-min);height:var(--hit-min);flex:none}
