:root{--brand:#1f6f5c;--bg:#f6f4ee;--ink:#1d2b27;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}body{background:var(--bg);color:var(--ink);margin:0;font:16px/1.5 system-ui,sans-serif}.app{flex-direction:column;max-width:40rem;min-height:100dvh;margin:0 auto;display:flex}header{background:var(--brand);color:#fff;padding:calc(.75rem + env(safe-area-inset-top)) 1rem .75rem}header h1{margin:0;font-size:1.25rem}header p{opacity:.85;margin:0;font-size:.875rem}main{flex:1;padding:1rem}nav{padding-bottom:env(safe-area-inset-bottom);background:#fff;border-top:1px solid #d8d4c8;grid-template-columns:repeat(4,1fr);display:grid;position:sticky;bottom:0}nav button{min-height:56px;font:inherit;color:var(--ink);background:0 0;border:0;font-size:.75rem}nav button[aria-current=true]{color:var(--brand);box-shadow:inset 0 3px var(--brand);font-weight:700}button{font:inherit;cursor:pointer}.primary,.ghost{border:1px solid var(--brand);border-radius:999px;min-height:44px;padding:0 1.1rem}.primary{background:var(--brand);color:#fff}.primary:disabled{opacity:.45;cursor:default}.ghost{color:var(--brand);background:0 0;border-color:#0000}.frieda{background:var(--bg);border-radius:.75rem;margin:.75rem 0;padding:.75rem}.capture-busy{color:#5c6b66}.capture-error{color:#a33b2b;margin:.5rem 0 0}.chips{flex-wrap:wrap;gap:.5rem;margin:0 0 1rem;padding:0;list-style:none;display:flex}.chip{border:1.5px solid var(--brand);min-height:40px;color:var(--ink);background:#e4efe9;border-radius:999px;padding:0 .9rem}.chip.op-discard,.chip.op-out{background:#f6e8dc;border-color:#a35a2b}.chip.conf-assumed,.chip.conf-fading{border-style:dashed}.chip[aria-pressed=false]{color:#8a948f;background:0 0;border-color:#c9c4b6;text-decoration:line-through}.chips li{align-items:center;display:flex}.chip-edit{padding:.25rem .4rem}.chip-editor{flex-wrap:wrap;gap:.5rem;margin:0 0 1rem;display:flex}.chip-editor input{min-width:0;font:inherit;flex:8rem;padding:.4rem .5rem}.chip.lesson[aria-pressed=false]{border-style:dashed;text-decoration:none}.lessons-hint{color:#5c6b66;margin:0 0 .5rem}.actions{justify-content:flex-end;gap:.5rem;display:flex}.meals-head{justify-content:space-between;align-items:center;margin-top:1.5rem;display:flex}.meals-head h3{margin:0;font-size:1.05rem}.meal-list{gap:.5rem;margin:.5rem 0 0;padding:0;list-style:none;display:grid}.meal-card{text-align:left;width:100%;color:var(--ink);background:#fff;border:1px solid #d8d4c8;border-radius:.75rem;gap:.15rem;padding:.75rem;display:grid}.meal-name{font-weight:700}.meal-tags{color:var(--brand);font-size:.85rem}.meal-ingredients{font-size:.9rem}.meal-notes{color:#5c6b66;font-size:.85rem}.meal-form{border:1px solid var(--brand);background:#fff;border-radius:.75rem;gap:.75rem;margin:.5rem 0;padding:.75rem;display:grid}.meal-form label{gap:.25rem;font-size:.9rem;display:grid}.meal-form input:not([type=checkbox]),.meal-form select,.meal-form textarea{width:100%;font:inherit;border:1px solid #d8d4c8;border-radius:.5rem;padding:.5rem;font-size:1rem}.meal-form-row{flex-wrap:wrap;align-items:end;gap:.75rem;display:flex}.meal-form-row>label:first-child{flex:8rem}.meal-form .meal-kid{align-items:center;gap:.4rem;min-height:44px;display:flex}.meal-form .hint{color:#5c6b66}.ghost.danger{color:#a33b2b;margin-right:auto}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.hint{color:#5c6b66;font-weight:400}.setup{gap:.75rem;display:grid}.setup-ask{gap:.5rem;display:flex}.setup-ask input{min-width:0;font:inherit;border:1px solid #d8d4c8;border-radius:999px;flex:1;padding:.6rem .75rem;font-size:1rem}.horizon,.setup-chips{flex-wrap:wrap;gap:.4rem;display:flex}.chip[aria-pressed=true]{background:var(--brand);color:#fff}.horizon .chip[aria-pressed=false],.setup-chips .chip[aria-pressed=false]{color:var(--ink);background:#fff;border-color:#d8d4c8;text-decoration:none}.chip.small{min-height:36px;padding:0 .7rem;font-size:.85rem}.setup-days{gap:.6rem;margin:0;padding:0;list-style:none;display:grid}.setup-days li{background:#fff;border:1px solid #d8d4c8;border-radius:.75rem;gap:.35rem;padding:.75rem;display:grid}.setup-day{font-weight:700}.setup-guests{align-items:center;gap:.4rem;font-size:.9rem;display:flex}.questions{gap:.5rem;margin:0 0 .75rem;padding:0;list-style:none;display:grid}.questions li{gap:.4rem;margin:0;display:grid}.cards{gap:.6rem;margin:0 0 .75rem;padding:0;list-style:none;display:grid}.card{border:1.5px solid var(--brand);background:#fff;border-radius:.75rem;gap:.25rem;padding:.75rem;display:grid}.card.chosen{background:#e4efe9;border-color:#d8d4c8}.card-when{color:var(--brand);font-size:.85rem;font-weight:700}.card-name{font-size:1.1rem;font-weight:700}.card-reasons{font-size:.9rem}.card-missing{color:#a35a2b;font-size:.85rem}.card select{width:100%;font:inherit;border:1px solid #d8d4c8;border-radius:.5rem;padding:.5rem;font-size:1rem}.shop-progress{z-index:1;background:var(--bg);align-items:center;gap:.75rem;padding:.5rem 0;font-weight:700;display:flex;position:sticky;top:0}.shop-progress progress{height:.6rem;accent-color:var(--brand);flex:1}.shop-offline{color:#6b3f1d;background:#f6e8dc;border-radius:.5rem;margin:0 0 .5rem;padding:.4rem .75rem;font-size:.9rem}.shop-section h3{text-transform:uppercase;letter-spacing:.04em;color:#5c6b66;margin:1rem 0 .35rem;font-size:.85rem}.shop-section ul{background:#fff;border:1px solid #d8d4c8;border-radius:.75rem;margin:0;padding:0;list-style:none;overflow:hidden}.shop-item{border-top:1px solid #ece8de;align-items:center;display:flex}.shop-item:first-child{border-top:0}.shop-item label{cursor:pointer;flex:1;align-items:center;gap:.85rem;min-height:56px;padding:.5rem .75rem;display:flex}.shop-item input[type=checkbox]{width:1.6rem;height:1.6rem;accent-color:var(--brand);flex:none}.shop-text{font-size:1.1rem;display:grid}.shop-note{color:#5c6b66;font-size:.85rem}.shop-badge{color:#6b3f1d;vertical-align:middle;background:#f6e8dc;border-radius:999px;margin-left:.4rem;padding:0 .4rem;font-size:.75rem}.shop-item.checked .shop-text{color:#8a948f;text-decoration:line-through}.shop-remove{min-height:56px}.shop-add{flex-wrap:wrap;gap:.5rem;margin:1.25rem 0 .75rem;display:flex}.shop-add input{min-width:0;font:inherit;border:1px solid #d8d4c8;border-radius:.75rem;flex:12rem;padding:.6rem .75rem;font-size:1rem}.shop-add select{font:inherit;background:#fff;border:1px solid #d8d4c8;border-radius:.75rem;padding:.5rem;font-size:1rem}.stock .shop-section>p{margin:0}.stock-note{border-top:1px solid #ece8de;justify-content:space-between;align-items:center;gap:.75rem;min-height:48px;padding:.5rem .75rem;display:flex}.stock-note:first-child{border-top:0}.stock-what{display:grid}.stock-meta{text-align:right;flex:none;justify-items:end;font-size:.85rem;display:grid}.stock-conf{color:var(--brand);background:#e4efe9;border-radius:999px;padding:0 .45rem}.conf-assumed .stock-conf{color:#6b5a1d;background:#f3efe2}.conf-fading .stock-conf{color:#6b3f1d;background:#f6e8dc}.stock-out{margin:1rem 0}.stock-alert{color:#a35a2b;font-size:.85rem;font-weight:700}.fridge-q p{margin:0 0 .4rem}.fridge-q .chip[aria-pressed=false]{color:var(--ink);background:#fff;border-color:#d8d4c8;text-decoration:none}.fridge-summary{margin:0 0 .75rem;font-weight:700}.fridge-inventory{margin:0 0 1rem;font-size:.9rem}.fridge-inventory summary{cursor:pointer}.fridge-inventory p{margin:.3rem 0 0}.login{gap:.75rem;display:grid}.login input{font:inherit;border:1px solid #d8d4c8;border-radius:.75rem;padding:.75rem;font-size:1.05rem}.fridge-q .chips{margin-bottom:.5rem}.fridge-answer{box-sizing:border-box;width:100%;font:inherit;border:1px solid #d8d4c8;border-radius:.75rem;margin:0 0 1rem;padding:.5rem .75rem}.fridge-answer:focus{outline:2px solid var(--brand);outline-offset:-1px}main:has(>.chat){flex-direction:column;display:flex}.chat{flex-direction:column;flex:1;gap:.5rem;display:flex}.chat-tools{justify-content:flex-end;margin:-.5rem 0 0;display:flex}.chat-log{flex-direction:column;gap:.6rem;margin:0;padding:0;list-style:none;display:flex}.bubble{border-radius:1rem;max-width:90%;padding:.6rem .85rem;scroll-margin-top:.5rem}.bubble>p{white-space:pre-wrap;margin:0}.bubble>p+p{margin-top:.4rem}.user-bubble{background:var(--brand);color:#fff;border-bottom-right-radius:.25rem;align-self:flex-end}.frieda-bubble{background:#fff;border:1px solid #d8d4c8;border-bottom-left-radius:.25rem;align-self:flex-start}.bubble-photos{opacity:.85;font-size:.85rem}.chat-card{border-top:1px solid #ece8de;margin-top:.6rem;padding-top:.6rem}.chat-card .chips{margin-bottom:.6rem}.card-done{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.25rem .5rem;margin:0;display:flex}.card-done p{margin:0}.chip.shop-chip{border-style:solid}.composer{bottom:calc(56px + env(safe-area-inset-bottom));background:var(--bg);border-top:1px solid #d8d4c8;gap:.4rem;margin:auto -1rem -1rem;padding:.6rem 1rem .75rem;display:grid;position:sticky}.composer textarea{width:100%;font:inherit;resize:none;border:1px solid #d8d4c8;border-radius:.75rem;padding:.6rem .75rem;font-size:1.05rem}.composer textarea:focus{outline:2px solid var(--brand);outline-offset:-1px}.composer-actions{gap:.25rem;display:flex}.composer-actions .primary{margin-left:auto}.composer-actions .ghost{padding:0 .6rem}.tray .hint{margin:0 0 .3rem;font-size:.85rem}.tray ul{gap:.4rem;margin:0;padding:6px 6px 0 0;list-style:none;display:flex;overflow-x:auto}.tray li{flex:none;position:relative}.tray img,.tray-add{object-fit:cover;border-radius:.5rem;width:64px;height:64px;display:block}.tray-add{border:1px dashed var(--brand);color:var(--brand);background:#fff;font-size:1.5rem}.tray-remove{background:var(--ink);color:#fff;border:0;border-radius:999px;width:24px;height:24px;padding:0;font-size:.75rem;line-height:24px;position:absolute;top:-6px;right:-6px}.stock-tap{min-height:48px;color:inherit;text-align:left;background:0 0;border:0;flex:1;justify-content:space-between;align-items:center;gap:.75rem;margin:-.5rem -.75rem;padding:.5rem .75rem;display:flex}.stock-add{margin:-.25rem -.5rem}.stock-edit{background:#fbfaf6;border-top:1px solid #ece8de;padding:.6rem .75rem}.stock-edit:first-child{border-top:0}.stock-form{gap:.5rem;display:grid}.stock-form-row{flex-wrap:wrap;gap:.5rem;display:flex}.stock-form input,.stock-form select{min-width:0;font:inherit;background:#fff;border:1px solid #d8d4c8;border-radius:.6rem;flex:8rem;padding:.5rem .6rem;font-size:1rem}.stock-form .stock-portions{flex:0 6rem}.stock-form select{flex:0 9rem}.stock-form .actions{flex-wrap:wrap}.stock-form .actions .ghost{padding:0 .6rem}.shop-edit{flex:1;margin:0;padding:.5rem .75rem}
