*{box-sizing:border-box}body{color:#1f2a24;background:#f7f5f0;margin:0;font-family:system-ui,sans-serif}.top{justify-content:space-between;align-items:center;gap:1rem;display:flex}.top h1{margin:0}a.profile{color:#2f6b4f;background:#fff;border:1px solid #b9b4a8;border-radius:999px;flex:none;place-items:center;width:2.75rem;height:2.75rem;display:grid}a.profile[aria-current=page]{color:#fff;background:#2f6b4f;border-color:#2f6b4f}form.sign-out{margin:2rem 0 0}main{max-width:28rem;margin:0 auto;padding:1.25rem 1.25rem 2rem}main:has(.bottom-bar){padding-bottom:calc(6rem + env(safe-area-inset-bottom))}.back{margin:0 0 .75rem}.back a{text-decoration:none}form{gap:1rem;display:grid}label{gap:.35rem;font-weight:600;display:grid}input{min-width:0;font:inherit;border:1px solid #b9b4a8;border-radius:.5rem;padding:.75rem}button{font:inherit;color:#fff;background:#2f6b4f;border:0;border-radius:.5rem;padding:.8rem;font-weight:600}a{color:#2f6b4f;font-weight:600}.problem{color:#a3261b;margin:0}.empty{text-align:center;border:2px dashed #c9c3b5;border-radius:.75rem;padding:2rem 1rem}h2,h3{margin:0}.people{gap:.75rem;margin:0;padding:0;list-style:none;display:grid}.person{border:1px solid #b9b4a8;border-radius:.75rem;gap:.75rem;padding:.9rem;display:grid}.person p,.note{margin:0}.note{color:#3d4a43;font-weight:400}select{min-width:0;font:inherit;background:#fff;border:1px solid #b9b4a8;border-radius:.5rem;padding:.75rem}.check{align-items:center;gap:.6rem;font-weight:600;display:flex}.check input{width:1.25rem;height:1.25rem}button.danger{background:#a3261b}button.quiet{color:#1f2a24;background:#fff;border:1px solid #b9b4a8}dialog.confirm{color:#1f2a24;background:#f7f5f0;border:0;border-radius:.75rem;width:min(24rem,100% - 2.5rem);padding:1.25rem}dialog.confirm::backdrop{background:#1f2a2473}dialog.confirm p{margin:.75rem 0 1.25rem}dialog.confirm .actions{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}dialog.confirm .actions.column{grid-template-columns:1fr}dialog.confirm .actions form button{width:100%}.modes{grid-template-columns:1fr 1fr 1fr;gap:.35rem;display:grid}.modes button{color:#1f2a24;background:#fff;border:1px solid #b9b4a8}.modes button[aria-selected=true]{color:#fff;background:#2f6b4f;border-color:#2f6b4f}.voice,.capture{gap:.75rem;display:grid}.voice .example{background:#fff;border:1px solid #b9b4a8;border-radius:.5rem;margin:0;padding:.75rem;font-weight:400}section{gap:1rem;margin:2rem 0;display:grid}.offline{color:#5a3b06;background:#fbe7c6;border-radius:.5rem;margin:0 0 1rem;padding:.75rem 1rem}.lots,.pools{gap:.75rem;margin:0;padding:0;list-style:none;display:grid}.item-grid{grid-template-columns:1fr 1fr;gap:.75rem;margin:0;padding:0;list-style:none;display:grid}.item-card{background:#fff;border:1px solid #d8d3c7;border-radius:1rem;align-content:start;padding:1rem;display:grid}button.item-open{width:100%;min-width:0;color:inherit;text-align:left;background:0 0;border:0;border-radius:0;gap:.3rem;padding:0;font-weight:400;display:grid}.item-card strong{font-size:.95rem;line-height:1.3}.item-card .note{margin:0;font-size:.78rem;line-height:1.35}.item-card .due{padding:.05rem .4rem;font-size:.72rem}.choices{gap:.5rem;display:grid}.details{gap:.6rem;margin:0;display:grid}.details dt{color:#3d4a43;font-size:.85rem}.details dd{overflow-wrap:anywhere;margin:0}.card-actions{justify-content:flex-end;gap:.5rem;display:flex}.card-actions button{padding:.4rem .85rem;font-size:.9rem}form.inline{display:contents}.lots.kitchen-lots{gap:.3rem}.lot-row{background:#fff;border:1px solid #b9b4a8;border-radius:.6rem;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.15rem .35rem;padding:.28rem .35rem .28rem .65rem;display:grid}.minus-form{display:contents}.lot-row .problem{grid-column:1/-1}button.lot{color:#1f2a24;text-align:left;background:0 0;border:0;border-radius:0;gap:.05rem;width:100%;min-width:0;padding:.05rem 0;font-weight:400;display:grid}.lot-line{justify-content:space-between;align-items:baseline;gap:.5rem;line-height:1.2;display:flex}.lot-line strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.lot-line span:last-child,.lot-row .note{flex:none;font-size:.8rem;line-height:1.2}.lot-row .due{justify-self:start;padding:.02rem .4rem;font-size:.75rem}button.minus{border-radius:999px;width:2.25rem;height:2.25rem;padding:0;font-size:1.35rem;line-height:1}.undo{z-index:2;left:50%;bottom:calc(5.25rem + env(safe-area-inset-bottom));color:#fff;background:#1f2a24;border-radius:.75rem;justify-content:space-between;align-items:center;gap:.75rem;width:min(24rem,100% - 1.5rem);padding:.55rem .7rem;display:flex;position:fixed;transform:translate(-50%)}.undo p{margin:0}.undo form{align-items:center;gap:.5rem;display:flex}.undo button{color:#1f2a24;background:#fff;padding:.4rem .75rem}.undo .problem{color:#f6d3cf}.lot-name{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.due{color:#5a3b06;background:#fbe7c6;border-radius:999px;flex:none;padding:.15rem .5rem;font-size:.85rem;font-weight:600}.due.expired{color:#a3261b;background:#f6d3cf}.profile-tabs,.section-tabs{border-bottom:1px solid #d8d3c7;margin:.75rem -1.25rem 1.25rem;display:grid}.profile-tabs{grid-template-columns:repeat(3,1fr)}.section-tabs{grid-template-columns:repeat(2,1fr);margin-top:.25rem}.profile-tabs button,.section-tabs button{color:#3d4a43;background:0 0;border:0;border-bottom:2px solid #0000;border-radius:0;padding:.7rem .25rem;font-size:.92rem;font-weight:600}.profile-tabs button[aria-selected=true],.section-tabs button[aria-selected=true]{color:#2f6b4f;background:0 0;border-bottom-color:#2f6b4f}.place-tabs{border-bottom:1px solid #d8d3c7;grid-template-columns:repeat(4,1fr);margin:0 -1.25rem .25rem;display:grid}.place-tabs button{color:#3d4a43;background:0 0;border:0;border-bottom:2px solid #0000;border-radius:0;padding:.65rem .15rem;font-size:.88rem;font-weight:600}.place-tabs button[aria-selected=true]{color:#2f6b4f;background:0 0;border-bottom-color:#2f6b4f}form.place-name{grid-template-columns:1fr auto;align-items:end;margin:.85rem 0 .25rem}form.place-name .problem,form.place-name .note{grid-column:1/-1}.shelf-choices{margin:0;padding:0;list-style:none}.shelf-choices form{gap:.25rem}button.shelf-choice,p.shelf-choice{color:#1f2a24;text-align:left;background:0 0;border:0;border-bottom:1px solid #d8d3c7;border-radius:0;justify-content:space-between;align-items:center;width:100%;margin:0;padding:.85rem .1rem;font-weight:600;display:flex}.shelf-choice .switch{background:#d4cfc3;border-radius:999px;flex:none;width:2.75rem;height:1.55rem;position:relative}.shelf-choice .switch:after{content:"";background:#fff;border-radius:999px;width:1.2rem;height:1.2rem;position:absolute;top:.18rem;left:.18rem}.shelf-choice[aria-pressed=true] .switch,.shelf-choice.on .switch{background:#2f6b4f}.shelf-choice[aria-pressed=true] .switch:after,.shelf-choice.on .switch:after{left:1.35rem}p.shelf-choice{opacity:.7}.tabs{border-bottom:1px solid #d8d3c7;grid-template-columns:repeat(6,1fr);margin:.5rem -1.25rem 1rem;display:grid}.tabs button{color:#3d4a43;background:0 0;border:0;border-bottom:2px solid #0000;border-radius:0;justify-items:center;gap:.15rem;padding:.35rem 0 .45rem;font-size:.68rem;font-weight:600;display:grid}.tabs button svg{width:22px;height:22px}.tabs button[aria-selected=true]{color:#2f6b4f;background:0 0;border-bottom-color:#2f6b4f}.shelves{grid-template-columns:repeat(3,1fr);gap:.45rem;display:grid}button.shelf{aspect-ratio:1;color:#1f2a24;text-align:center;background:#eef1ef;border:0;border-radius:1rem;flex-direction:column;justify-content:center;align-items:center;gap:.4rem;padding:.45rem .3rem;display:flex}button.shelf .picture{color:#3d4a43;width:2.15rem;height:2.15rem;display:grid}button.shelf .picture svg{width:100%;height:100%}button.shelf.dairy .picture{color:#8a6430}button.shelf.meat .picture{color:#9a4636}button.shelf.fish .picture{color:#2f6d78}button.shelf.veg .picture{color:#2f7a46}button.shelf.fruit .picture{color:#b5523c}button.shelf.grain .picture{color:#8a6a2e}button.shelf.can .picture{color:#4e5c52}button.shelf.drink .picture{color:#2f6480}button.shelf.snack .picture{color:#9a6230}button.shelf>span:last-child{font-size:.78rem;font-weight:700;line-height:1.15}button.shelf.dairy{background:#f3ecdc}button.shelf.meat{background:#f6e8e2}button.shelf.fish{background:#e4f0f2}button.shelf.veg{background:#e4f2e8}button.shelf.fruit{background:#f8ece6}button.shelf.grain{background:#f4efe2}button.shelf.can{background:#e8ebe6}button.shelf.drink{background:#e6f0f4}button.shelf.snack{background:#f6eee4}.chore-grid{grid-template-columns:1fr 1fr;gap:.75rem;margin:1.25rem 0;padding:0;list-style:none;display:grid}.chore-card{background:#fff;border:1px solid #d8d3c7;border-radius:1rem;align-content:start;gap:.7rem;padding:1rem;display:grid}.chore-card-head{justify-content:space-between;align-items:flex-start;gap:.5rem;display:flex}.chore-card-head strong{font-size:.95rem;line-height:1.3}button.chore-open{width:100%;min-width:0;color:inherit;text-align:left;background:0 0;border:0;border-radius:0;flex:1;gap:.3rem;padding:0;font-weight:400;display:grid}.alarm{color:#5c675f;background:#eef1ef;border-radius:999px;flex:none;place-items:center;width:1.85rem;height:1.85rem;display:grid}.alarm.on{color:#8a5a12;background:#fbe7c6}.chore-often{color:#8a5a12;font-size:.82rem;font-weight:600;line-height:1.3}.chore-often.off{color:#3d4a43}.chore-card .note{margin:0;font-size:.78rem;line-height:1.35}.chore-card form{gap:.35rem}.chore-card form button{padding:.55rem .5rem}.chore-card form.alarm-form{flex:none;margin:0;display:block}.chore-card form.alarm-form input{display:none}.chore-card button.alarm{width:1.85rem;height:1.85rem;padding:0}.shelf-back{margin-bottom:.4rem}.due-section+.due-section{margin-top:1.25rem}.top+.note{margin-top:.5rem}.bottom-bar{z-index:1;max-width:28rem;padding:.4rem .5rem calc(.4rem + env(safe-area-inset-bottom));background:#f7f5f0;border-top:1px solid #d8d3c7;grid-template-columns:repeat(5,1fr);align-items:center;margin:0 auto;display:grid;position:fixed;inset:auto 0 0}.bottom-bar a{color:#3d4a43;justify-items:center;gap:.15rem;padding:.35rem 0;font-size:.75rem;text-decoration:none;display:grid}.bottom-bar a[aria-current=page]{color:#2f6b4f}.bottom-bar .plus{border-radius:999px;justify-self:center;place-items:center;width:3.25rem;height:3.25rem;padding:0;display:grid;box-shadow:0 .25rem .75rem #2f6b4f59}dialog.sheet{width:100%;max-width:28rem;max-height:90dvh;padding:1.25rem 1.25rem calc(1.25rem + env(safe-area-inset-bottom));color:#1f2a24;background:#f7f5f0;border:0;border-radius:1rem 1rem 0 0;margin:auto auto 0}dialog.sheet::backdrop{background:#1f2a2473}dialog.sheet form.draft{gap:.75rem;margin:0}dialog.sheet input[type=hidden]{display:none}dialog.sheet:has(.sheet-actions){gap:.85rem;display:grid}.often{grid-template-columns:1fr 1fr;align-items:end;gap:.4rem .65rem;display:grid}.often label{grid-column:1/-1}.sheet-actions{grid-template-columns:1fr 1fr;gap:.65rem;display:grid}.sheet-actions.one{grid-template-columns:1fr}.sheet-actions form{display:grid}.sheet-actions button{padding:.7rem .5rem}.sheet-body{gap:1rem;display:grid}.sheet-body p{margin:0}.sheet-head{justify-content:space-between;align-items:center;gap:1rem;display:flex}.sheet-head button{padding:.5rem .9rem}main:has(.chat-screen){flex-direction:column;height:100dvh;padding-top:.75rem;padding-bottom:0;display:flex;overflow:hidden}.chat-screen{flex-direction:column;flex:1;min-height:0;display:flex}.chat-top{z-index:2;background:#f7f5f0;flex:none;margin:0 -1.25rem;padding:0 1.25rem .75rem}.chat-top .back{margin-bottom:.35rem}.chat-thread{flex-direction:column;flex:1;min-height:0;display:flex}.chat-log{flex-direction:column;flex:1;gap:.75rem;min-height:0;margin:0;padding:.25rem 0 1rem;list-style:none;display:flex;overflow:auto}.chat-log li:not(.empty){background:#fff;border:1px solid #b9b4a8;border-radius:.75rem;gap:.35rem;padding:.75rem;display:grid}.chat-log .speaker{margin:0;font-weight:600}.chat-log .said,.chat-log .recipe{white-space:pre-wrap;margin:0}.chat-log .recipe{gap:.2rem;display:grid}.chat-log .recipe button,.chat-log .recipe form{justify-self:start}.saved-recipes{gap:.75rem;margin:1rem 0 0;padding:0;list-style:none;display:grid}.saved-recipes li{background:#fff;border:1px solid #b9b4a8;border-radius:.75rem;gap:.35rem;padding:.8rem 1rem;display:grid}.saved-recipes button{justify-self:start}.saved-recipes .recipe-text,.chat-log .recipe .said{white-space:pre-wrap}form.ask{padding:.75rem 1.25rem calc(.75rem + env(safe-area-inset-bottom));background:#f7f5f0;border-top:1px solid #d8d3c7;flex:none;gap:.75rem;margin:0 -1.25rem;display:grid}.dashboard{grid-template-columns:1fr 1fr;gap:.75rem;margin:.75rem 0 0;display:grid}.card{color:#1f2a24;background:#fff;border:1px solid #b9b4a8;border-radius:.75rem;align-content:start;gap:.5rem;padding:1rem;font-weight:400;text-decoration:none;display:grid}.card.food{grid-column:1/-1}.card.chat{grid-column:1/-1;align-items:center;padding:.7rem 1rem}.card h2{font-size:1.05rem}.figures{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}.figure strong{font-size:2rem;line-height:1.1;display:block}.figure.expired strong{color:#a3261b}section.usage{gap:.6rem;margin:1.25rem 0}form.lower{grid-template-columns:1fr auto;align-items:end}form.lower .problem{grid-column:1/-1}form.draft{margin:2rem 0}fieldset.line{border:1px solid #b9b4a8;border-radius:.75rem;gap:.75rem;min-width:0;margin:0;padding:.9rem;display:grid}fieldset.line legend{padding:0 .35rem;font-weight:600}.pair{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}.pools{text-align:center;grid-template-columns:repeat(3,1fr)}.pools li{border:1px solid #b9b4a8;border-radius:.75rem;padding:.75rem .5rem}.pools strong{font-size:1.5rem;display:block}button:disabled{opacity:.6}
