@font-face{font-family:Figtree;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/figtree-latin-ext-400-normal-CXAzuTZb.woff2)format("woff2"),url(/assets/figtree-latin-ext-400-normal-Gbh-3PTk.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Figtree;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/figtree-latin-400-normal-g7Dtegnw.woff2)format("woff2"),url(/assets/figtree-latin-400-normal-BD4aNku5.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Figtree;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/figtree-latin-ext-500-normal-Du0rIuHj.woff2)format("woff2"),url(/assets/figtree-latin-ext-500-normal-BOEJvrb_.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Figtree;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/figtree-latin-500-normal-BWnGEVsr.woff2)format("woff2"),url(/assets/figtree-latin-500-normal-B_yy1phn.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Figtree;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/figtree-latin-ext-600-normal-DJlfifZj.woff2)format("woff2"),url(/assets/figtree-latin-ext-600-normal-CQqsimlV.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Figtree;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/figtree-latin-600-normal-Cv_xCTDl.woff2)format("woff2"),url(/assets/figtree-latin-600-normal-BM_oTo4n.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Figtree;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/figtree-latin-ext-700-normal-CS4sQkGV.woff2)format("woff2"),url(/assets/figtree-latin-ext-700-normal-BoDi4KL2.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Figtree;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/figtree-latin-700-normal-th6qEP7c.woff2)format("woff2"),url(/assets/figtree-latin-700-normal-BCCt2T1q.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--page:#f4f2ea;--surface:#fbfaf4;--primary:#94ac93;--accent:#c8d6c4;--ink:#35493c;--ink-soft:#5f6e5e;--line:#e6e1d3;--clay:#b67b54;--clay-ink:#9a5f3a;--done:var(--primary);--radius-md:14px;--radius-pill:999px;--font:"Figtree", system-ui, -apple-system, sans-serif}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{min-height:100%}body{font-family:var(--font);background:var(--page);color:var(--ink);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}input{font:inherit;color:inherit}.shell{max-width:640px;min-height:100dvh;padding-top:env(safe-area-inset-top);flex-direction:column;margin:0 auto;display:flex}.header{justify-content:space-between;align-items:flex-start;gap:12px;padding:24px 22px 8px;display:flex}.header h1{letter-spacing:-.01em;font-size:25px;font-weight:700}.header .sub{color:var(--ink-soft);margin-top:3px;font-size:14px}.main{flex:1;padding-bottom:24px}.icon-btn{background:var(--surface);border:1px solid var(--line);width:40px;height:40px;color:var(--ink);border-radius:50%;flex-shrink:0;place-items:center;text-decoration:none;display:grid}.section-title{color:var(--ink-soft);padding:20px 22px 8px;font-size:13px;font-weight:600}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);margin:0 18px;overflow:hidden}.row{border:0;border-bottom:1px solid var(--line);text-align:left;width:100%;color:var(--ink);background:0 0;align-items:center;gap:12px;padding:15px 16px;text-decoration:none;display:flex}.row:last-child{border-bottom:none}.row .body{flex:1;min-width:0}.row .name{font-size:15.5px;font-weight:500}.row .meta{color:var(--ink-soft);margin-top:2px;font-size:13px}.row .value{font-size:14px;font-weight:600}.row.selected{background:var(--accent)}.empty{color:var(--ink-soft);padding:28px 22px;font-size:15px;line-height:1.5}.actions{flex-direction:column;gap:10px;margin:20px 18px 0;display:flex}.btn{background:var(--ink);color:var(--page);border-radius:var(--radius-pill);border:none;padding:13px 20px;font-size:15px;font-weight:600}.btn:disabled{opacity:.5}.btn.secondary{background:var(--surface);color:var(--ink);border:1px solid var(--line)}.field{flex-direction:column;gap:6px;margin:0 18px 14px;display:flex}.field label{color:var(--ink-soft);font-size:13px;font-weight:600}.field input,.field select,.field textarea,.new-ingredient select{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:12px 14px;font-size:16px}.error{color:var(--clay-ink);margin:0 18px 14px;font-size:14px;font-weight:600}.nav{padding:12px 8px calc(14px + env(safe-area-inset-bottom));background:var(--surface);border-top:1px solid var(--line);justify-content:space-around;display:flex;position:sticky;bottom:0}.nav a{color:var(--ink-soft);flex-direction:column;align-items:center;gap:4px;min-width:64px;font-size:12px;text-decoration:none;display:flex}.nav a.active{color:var(--ink);font-weight:600}.navicon{border-radius:10px;place-items:center;width:44px;height:30px;display:grid}.nav a.active .navicon{background:var(--primary);color:var(--ink)}.dot{background:var(--ink-soft);opacity:.6;vertical-align:middle;border-radius:50%;width:3px;height:3px;margin:0 7px;display:inline-block}.check{border:1.6px solid var(--primary);width:26px;height:26px;color:var(--surface);background:0 0;border-radius:8px;flex-shrink:0;place-items:center;display:grid}.check.done{background:var(--primary);border-color:var(--primary);color:var(--ink)}.row.is-done .name{color:var(--ink-soft);text-decoration:line-through}.pill{border-radius:var(--radius-pill);white-space:nowrap;flex-shrink:0;padding:5px 11px;font-size:13px;font-weight:600}.pill.stu{background:var(--ink);color:var(--page)}.pill.pam{background:var(--primary);color:var(--ink)}.pill.both{background:var(--accent);color:var(--ink)}.swap,.swap-spacer{flex-shrink:0;width:36px;height:36px}.swap{border:1px solid var(--line);background:var(--page);color:var(--ink-soft);border-radius:10px;place-items:center;display:grid}button:disabled{cursor:default}.swap:disabled,.check:disabled{opacity:.5}.drift{background:var(--accent);border-radius:var(--radius-md);flex-wrap:wrap;align-items:center;gap:12px;margin:8px 18px 0;padding:14px 16px;display:flex}.drift .txt{flex:180px;font-size:15px;line-height:1.4}.drift .act{background:var(--ink);color:var(--page);border-radius:var(--radius-pill);border:none;flex-shrink:0;padding:9px 15px;font-size:14px;font-weight:600}.drift .act.secondary{color:var(--ink);border:1px solid var(--ink);background:0 0}.drift-actions{gap:8px;display:flex}.addbar{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-pill);align-items:center;gap:10px;margin:6px 18px 4px;padding:6px 6px 6px 18px;display:flex}.addbar input{background:0 0;border:none;outline:none;flex:1;min-width:0;padding:8px 0;font-size:16px}.addbar input::placeholder{color:var(--ink-soft)}.addbar .plus{background:var(--primary);width:38px;height:38px;color:var(--ink);border:none;border-radius:50%;flex-shrink:0;place-items:center;display:grid}.addbar .plus:disabled{background:var(--accent)}.addbar:focus-within{border-color:var(--primary)}.suggestions{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);margin:4px 18px 0;overflow:hidden}.suggestion{border:none;border-bottom:1px solid var(--line);text-align:left;background:0 0;flex-direction:column;align-items:flex-start;gap:2px;width:100%;padding:11px 16px;display:flex}.suggestion:last-child{border-bottom:none}.suggestion .name{font-size:15.5px;font-weight:600}.suggestion .note{color:var(--ink-soft);font-size:13px}.name-btn{text-align:left;width:100%;font:inherit;color:inherit;background:0 0;border:none;padding:0;font-size:15.5px;font-weight:500;display:block}.qty{flex-shrink:0;align-items:center;gap:6px;display:flex}.qty button{border:1px solid var(--line);background:var(--page);width:32px;height:32px;color:var(--ink);border-radius:9px;place-items:center;display:grid}.qty button:disabled{opacity:.5}.qty-value{text-align:center;font-variant-numeric:tabular-nums;min-width:20px;font-size:16px;font-weight:600}.qty-note{color:var(--ink-soft);flex-shrink:0;font-size:14px}.chip{color:var(--ink);border:1px solid var(--line);background:var(--page);border-radius:var(--radius-pill);flex-shrink:0;padding:7px 11px;font-size:13px;font-weight:600}.chip:disabled{opacity:.5}.row.excluded .name{color:var(--ink-soft);text-decoration:line-through}.meta-only{color:var(--ink-soft);font-size:14px}.confirm{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);margin:20px 18px 0;padding:16px}.confirm p{margin-bottom:14px;font-size:15px;line-height:1.45}.confirm .drift-actions .btn{flex:1}.have-btn{width:calc(100% - 36px);min-height:56px;color:var(--ink);background:var(--accent);border-radius:var(--radius-md);border:none;justify-content:center;align-items:center;gap:10px;margin:12px 18px 0;font-size:17px;font-weight:600;display:flex}.footer-action .have-btn{width:100%}.mic-btn{width:100%;min-height:120px;color:var(--ink);background:var(--primary);border-radius:var(--radius-md);border:none;flex-direction:column;justify-content:center;align-items:center;gap:8px;font-size:16px;font-weight:600;display:flex}.mic-btn.on{background:var(--ink);color:var(--page)}.mic-btn:disabled{opacity:.5}.import-options{grid-template-columns:1fr 1fr;gap:10px;display:grid}.import-option{min-height:96px;color:var(--ink);background:var(--accent);border-radius:var(--radius-md);border:none;flex-direction:column;justify-content:center;align-items:center;gap:8px;font-size:15px;font-weight:600;display:flex}.import-option:disabled{opacity:.5}.thumbs{flex-wrap:wrap;gap:10px;margin-top:12px;display:flex}.thumb-pic{width:84px;height:84px;position:relative}.thumb-pic img{object-fit:cover;border:1px solid var(--line);border-radius:10px;width:100%;height:100%}.thumb-pic button{background:var(--ink);width:26px;height:26px;color:var(--page);border:none;border-radius:50%;place-items:center;display:grid;position:absolute;top:-6px;right:-6px}.import-banner{background:var(--accent);border-radius:var(--radius-md);margin:0 18px 14px;padding:12px 14px;font-size:14px;line-height:1.45}.meta.check-amount{color:var(--clay-ink);font-weight:600}.week-nav{justify-content:space-between;align-items:center;margin:4px 18px 0;font-size:15px;font-weight:600;display:flex}.section-title-row{justify-content:space-between;align-items:center;display:flex}.section-title .link{color:var(--ink);text-underline-offset:3px;font-weight:600;text-decoration:underline}.day-row{gap:14px}.daytag{text-align:center;flex-shrink:0;width:38px}.daytag .dn{color:var(--ink-soft);text-transform:uppercase;letter-spacing:.04em;font-size:11px}.daytag .num{font-size:18px;font-weight:700}.thumb{background:var(--accent);width:44px;height:44px;color:var(--ink);border-radius:10px;flex-shrink:0;place-items:center;display:grid}.add-slot{border:1px dashed var(--ink-soft);width:32px;height:32px;color:var(--ink);border-radius:9px;flex-shrink:0;place-items:center;display:grid}.name.muted{color:var(--ink-soft);font-weight:400}.on-list{color:var(--ink);background:var(--accent);border-radius:var(--radius-pill);flex-shrink:0;align-items:center;gap:3px;padding:4px 9px;font-size:12px;font-weight:600;display:inline-flex}.footer-action{flex-direction:column;gap:8px;margin:18px;display:flex}.footer-action .note{color:var(--ink-soft);text-align:center;font-size:13px;line-height:1.4}.thumb.night-off{background:var(--surface);border:1px dashed var(--ink-soft)}.night-off-options{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:14px;display:grid}.night-off-option{min-height:54px;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);justify-content:center;align-items:center;gap:8px;font-size:15px;font-weight:600;display:flex}.night-off-option.on{background:var(--accent);border-color:var(--primary)}.sheet-backdrop{z-index:50;background:#35493c73;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet{background:var(--page);width:100%;max-width:640px;max-height:85dvh;padding-bottom:env(safe-area-inset-bottom);border-radius:20px 20px 0 0;flex-direction:column;display:flex}.sheet-head{justify-content:space-between;align-items:center;gap:12px;padding:18px 18px 10px;display:flex}.sheet-head h2{font-size:19px;font-weight:700}.sheet-body{padding:0 18px 20px;overflow-y:auto}.sheet-text{margin-bottom:12px;font-size:15px;line-height:1.45}.card.flush{margin:0}.tick-row{cursor:pointer}.tick-row input{width:22px;height:22px;accent-color:var(--ink);flex-shrink:0}.recipe-line{gap:8px}.qty-input{text-align:right;border:1px solid var(--line);background:var(--page);border-radius:8px;flex-shrink:0;width:64px;padding:7px 8px;font-size:16px}.unit{min-width:34px;color:var(--ink-soft);flex-shrink:0;font-size:13px}.new-ingredient{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);margin-top:8px;padding:14px}.new-title{margin-bottom:10px;font-size:15px;font-weight:600}.mini-label{color:var(--ink-soft);margin:10px 0 6px;font-size:13px;font-weight:600;display:block}.btn.danger{background:var(--clay-ink);color:var(--page)}.qty .qty-some{width:auto;height:32px;color:var(--ink);background:var(--page);border:1px dashed var(--ink-soft);border-radius:9px;padding:6px 10px;font-size:14px}.qty .qty-some:disabled{opacity:.5}.row.has-note{flex-wrap:wrap;row-gap:4px}.row-note{color:var(--ink);overflow-wrap:anywhere;flex-basis:100%;padding-left:38px;font-size:13.5px;font-style:italic}.row.excluded .row-note{color:var(--ink-soft);padding-left:0}.field-row{align-items:center;gap:14px;display:flex}.hint{color:var(--ink-soft);font-size:13px;line-height:1.4}.stepper{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-pill);flex-shrink:0;align-items:center;display:inline-flex}.stepper button{background:0 0;border:none;place-items:center;width:40px;height:38px;display:grid}.stepper button:disabled{color:var(--line)}.stepper-value{text-align:center;min-width:24px;font-size:16px;font-weight:700}.segmented{background:var(--surface);border:1px solid var(--line);border-radius:12px;gap:3px;padding:3px;display:flex}.segmented button{color:var(--ink-soft);background:0 0;border:none;border-radius:9px;flex:1;padding:10px 6px;font-size:14px;font-weight:600}.segmented button.on{background:var(--primary);color:var(--ink)}.status{align-items:center;gap:6px;font-size:13px;font-weight:600;display:inline-flex}.status:before{content:"";background:var(--ink-soft);border-radius:50%;width:8px;height:8px}.status.live:before{background:var(--primary)}.status.offline{color:var(--clay-ink)}.status.offline:before{background:var(--clay)}select,textarea{font:inherit;color:inherit}.new-ingredient select{width:100%}.field textarea{resize:vertical;line-height:1.45}
