@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:400;src:url(../media/barlow-vietnamese-400-normal.1p7a6n-wg7475.woff2)format("woff2"),url(../media/barlow-vietnamese-400-normal.0k-idquqjs3ou.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:400;src:url(../media/barlow-latin-ext-400-normal.3428h6_4no53c.woff2)format("woff2"),url(../media/barlow-latin-ext-400-normal.3-5gl67tny_vk.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:Barlow;font-style:normal;font-display:swap;font-weight:400;src:url(../media/barlow-latin-400-normal.0ttnbqtks8pz8.woff2)format("woff2"),url(../media/barlow-latin-400-normal.2q232q7nmze6k.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:Barlow;font-style:normal;font-display:swap;font-weight:500;src:url(../media/barlow-vietnamese-500-normal.34vh5f-6yju0-.woff2)format("woff2"),url(../media/barlow-vietnamese-500-normal.0fgg28h67ffz5.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:500;src:url(../media/barlow-latin-ext-500-normal.0y48t30zsg1-x.woff2)format("woff2"),url(../media/barlow-latin-ext-500-normal.3tpb058eqjlba.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:Barlow;font-style:normal;font-display:swap;font-weight:500;src:url(../media/barlow-latin-500-normal.07ksy-a4avz1m.woff2)format("woff2"),url(../media/barlow-latin-500-normal.2gp2c7bmfr47a.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:Barlow;font-style:normal;font-display:swap;font-weight:600;src:url(../media/barlow-vietnamese-600-normal.1m5b9nf7zu8da.woff2)format("woff2"),url(../media/barlow-vietnamese-600-normal.2fsgphdgpmz4d.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:600;src:url(../media/barlow-latin-ext-600-normal.2h29y9nb1nz0g.woff2)format("woff2"),url(../media/barlow-latin-ext-600-normal.45cip6q06fzn7.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:Barlow;font-style:normal;font-display:swap;font-weight:600;src:url(../media/barlow-latin-600-normal.2ekrofpr7xv99.woff2)format("woff2"),url(../media/barlow-latin-600-normal.2r--11ob1d7-_.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:Barlow Condensed;font-style:normal;font-display:swap;font-weight:500;src:url(../media/barlow-condensed-vietnamese-500-normal.3xo9s8zyfuyd6.woff2)format("woff2"),url(../media/barlow-condensed-vietnamese-500-normal.3qx7wyf86xs4s.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:500;src:url(../media/barlow-condensed-latin-ext-500-normal.1ne4fhi7fpjy9.woff2)format("woff2"),url(../media/barlow-condensed-latin-ext-500-normal.1-g5931w4-eu4.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:Barlow Condensed;font-style:normal;font-display:swap;font-weight:500;src:url(../media/barlow-condensed-latin-500-normal.38aj5eyydxap2.woff2)format("woff2"),url(../media/barlow-condensed-latin-500-normal.2ouj1ygbbtao3.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:Barlow Condensed;font-style:normal;font-display:swap;font-weight:600;src:url(../media/barlow-condensed-vietnamese-600-normal.3e4flxcugo2h5.woff2)format("woff2"),url(../media/barlow-condensed-vietnamese-600-normal.1m4yi3r85r-2e.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:600;src:url(../media/barlow-condensed-latin-ext-600-normal.3fs29psnn2dnj.woff2)format("woff2"),url(../media/barlow-condensed-latin-ext-600-normal.16yc7s53by18l.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:Barlow Condensed;font-style:normal;font-display:swap;font-weight:600;src:url(../media/barlow-condensed-latin-600-normal.2t96v6p0iv501.woff2)format("woff2"),url(../media/barlow-condensed-latin-600-normal.3id26guef6u69.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:Barlow Condensed;font-style:normal;font-display:swap;font-weight:700;src:url(../media/barlow-condensed-vietnamese-700-normal.312nbn3hifl_p.woff2)format("woff2"),url(../media/barlow-condensed-vietnamese-700-normal.0qq2rbf8hr6cv.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:700;src:url(../media/barlow-condensed-latin-ext-700-normal.28iwym1vpi4ti.woff2)format("woff2"),url(../media/barlow-condensed-latin-ext-700-normal.2hkqehxqksiuo.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:Barlow Condensed;font-style:normal;font-display:swap;font-weight:700;src:url(../media/barlow-condensed-latin-700-normal.3hmancrpg57x4.woff2)format("woff2"),url(../media/barlow-condensed-latin-700-normal.31l4qbhx6zok2.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{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f8f9f7;--surface:#fff;--ink:#13294b;--muted:#5d6b82;--rule:#dfe3e8;--tag:#ffd23f;--tag-ink:#13294b;--danger:#b3261e;--focus:#1f56d6;--check-fill:#13294b;--check-tick:#ffd23f;--text:"Barlow",system-ui,-apple-system,"Segoe UI",sans-serif;--sign:"Barlow Condensed","Barlow",system-ui,sans-serif}[data-aisle=obst]{--dept:#2e8b57}[data-aisle=brot]{--dept:#c9a227}[data-aisle=kuehl]{--dept:#2b7bd0}[data-aisle=fleisch]{--dept:#c23b32}[data-aisle=tk]{--dept:#4a8fa8}[data-aisle=trocken]{--dept:#8a6a45}[data-aisle=gewuerz]{--dept:#a8552a}[data-aisle=backen]{--dept:#cc5c8c}[data-aisle=getraenke]{--dept:#2a9d9d}[data-aisle=sonst]{--dept:#6b7480}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--ink);font:17px/1.4 var(--text);font-variant-numeric:tabular-nums;margin:0}main{max-width:560px;margin:0 auto;padding:32px 18px 120px}h1{font:700 40px/1 var(--sign);margin:0 0 16px}.sub{color:var(--muted);max-width:34ch;margin:-6px 0 24px;font-size:16px}button{font:inherit;cursor:pointer;border:0;border-radius:4px}input:focus-visible,textarea:focus-visible,button:focus-visible,a:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.panel{background:var(--surface);border:1px solid var(--rule);border-radius:8px;padding:16px}label{color:var(--muted);margin:16px 0 6px;font-size:14px;display:block}label:first-child{margin-top:0}input[type=url],textarea{width:100%;font:inherit;color:var(--ink);background:var(--bg);border:1px solid var(--rule);border-radius:4px;padding:11px 12px}input[type=url]::placeholder,textarea::placeholder{color:var(--muted);opacity:.7}input[type=file]{width:100%;font:inherit;color:var(--muted);font-size:15px}textarea{resize:vertical;min-height:96px}input[type=file]::file-selector-button{font:inherit;color:var(--ink);border:1.5px solid var(--ink);cursor:pointer;background:0 0;border-radius:4px;margin-right:12px;padding:8px 12px;font-weight:500}.primary{background:var(--tag);color:var(--tag-ink);width:100%;margin-top:20px;padding:14px 16px;font-weight:600}.primary:disabled{opacity:.55;cursor:default}.msg{color:var(--muted);margin-top:12px;font-size:15px}.msg.err{color:var(--danger)}.msg.ok{color:var(--ink);margin:-4px 0 20px;font-weight:500}.hint{color:var(--muted);margin-top:12px;font-size:14px;line-height:1.5}.open-form{width:100%;color:var(--ink);border:1.5px solid var(--ink);background:0 0;padding:13px 16px;font-weight:600}input[type=checkbox]{appearance:none;border:2px solid var(--ink);cursor:pointer;background:0 0;border-radius:4px;flex:none;place-content:center;width:24px;height:24px;margin:0;transition:background-color .12s;display:grid}input[type=checkbox]:after{content:"";border-left:2.5px solid var(--check-tick);border-bottom:2.5px solid var(--check-tick);opacity:0;width:11px;height:6px;transition:opacity .12s;transform:rotate(-45deg)translate(1px,-1px)}input[type=checkbox]:checked{background:var(--check-fill)}input[type=checkbox]:checked:after{opacity:1}.listbar{justify-content:space-between;align-items:baseline;margin:40px 0 0;display:flex}.listbar h2{font:700 26px/1.1 var(--sign);margin:0}.listbar h2 .n{font:500 15px var(--text);color:var(--muted);margin-left:8px}.textbtn{color:var(--muted);background:0 0;padding:10px 4px;font-size:15px;text-decoration:none}.textbtn:hover{color:var(--ink);text-decoration:underline}.listbar .textbtn{margin-right:-4px}.ractions{flex-wrap:wrap;gap:8px;margin:0 0 10px;display:flex}.group{margin-top:20px}.group h3{font:500 20px/1.15 var(--sign);border-bottom:1px solid var(--dept);justify-content:space-between;align-items:baseline;margin:0;padding-bottom:6px;display:flex}.group h3 .n{font:500 15px var(--text);color:var(--muted)}.item{border-bottom:1px solid var(--rule);align-items:center;gap:14px;min-height:56px;padding:6px 0;display:flex}.item .t{flex:1;min-width:0;font-size:18px;transition:color .12s}.item .amt{color:var(--muted);white-space:nowrap;font-size:16px}.item.done .t{color:var(--muted);text-decoration:line-through}.x{color:var(--muted);background:0 0;padding:10px;font-size:20px;line-height:1}.x:hover{color:var(--ink)}.empty{color:var(--muted);padding:20px 0}.recipes-block h2{font:700 26px/1.1 var(--sign);margin:0 0 4px}.recipe{border-bottom:1px solid var(--rule);align-items:center;gap:12px;min-height:48px;display:flex}.recipe .name{text-overflow:ellipsis;white-space:nowrap;text-align:left;min-width:0;color:var(--ink);background:0 0;flex:1;padding:12px 0;font-size:17px;overflow:hidden}.rbox.off .name{color:var(--muted);text-decoration:line-through}.chev{border-bottom:2px solid;border-right:2px solid;width:7px;height:7px;margin:0 10px 1px 2px;transition:transform .15s;display:inline-block;transform:rotate(-45deg)}.chev.open{transform:rotate(45deg)}.rlist{color:var(--muted);border-bottom:1px solid var(--rule);padding:6px 0 10px 36px;font-size:16px}.rrow{align-items:center;gap:8px;display:flex}.rrow .rn{min-width:0;color:var(--ink);flex:1}.reset-row{margin-top:40px}.reset{color:var(--danger);margin-left:-4px;padding:12px 4px}.reset.confirm{background:var(--danger);color:var(--bg);padding:12px 16px;font-weight:600}.thumbs{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.thumb{border:1px solid var(--rule);border-radius:4px;width:64px;height:64px;position:relative;overflow:hidden}.thumb img{object-fit:cover;width:100%;height:100%;display:block}.thumb button{color:#fff;background:#000000b3;border-radius:50%;width:22px;height:22px;padding:0;font-size:14px;line-height:1;position:absolute;top:2px;right:2px}.panel.collapsed,.placeholder{display:none}@media (min-width:1025px){main{max-width:1120px;padding:56px 32px 120px}.sub{display:none}h1{margin-bottom:28px}.layout{grid-template-columns:minmax(340px,400px) minmax(0,1fr);align-items:start;gap:72px;display:grid}.input-col{min-width:0}.open-form{display:none}.panel.collapsed{display:block}.placeholder{color:var(--muted);max-width:36ch;margin:0;padding-top:6px;display:block}.recipes-block{margin-top:36px}}@media (prefers-reduced-motion:reduce){*{transition:none!important}}.estimate{margin:10px 0 0}.estimate .sum{margin:0;font-size:17px}.estimate .sum strong{font-weight:600}.estimate .sum .n,.nutri .note{color:var(--muted);font-size:14px}.estimate .est-btn{padding-left:0}.estimate .est-btn:disabled{opacity:.6;cursor:default;text-decoration:none}.item .amt{flex-direction:column;align-items:flex-end;line-height:1.25;display:flex}.item .amt .price{font-size:14px}.nutri{margin:40px 0 0}.nutri h2{font:700 26px/1.1 var(--sign);margin:0 0 10px}.nutri table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:15px}.nutri th,.nutri td{border-bottom:1px solid var(--rule);text-align:right;color:var(--ink);padding:7px 0;font-weight:400}.nutri thead th{color:var(--muted);font-size:14px}.nutri th:first-child{text-align:left}.nutri .note{margin:8px 0 0}.actionbar{flex-wrap:wrap;gap:8px;margin:14px 0 6px;display:flex}.action{background:var(--surface);color:var(--ink);border:1px solid var(--ink);min-height:44px;font:500 15px var(--text);cursor:pointer;white-space:nowrap;border-radius:6px;padding:0 14px}.action:hover{background:var(--ink);color:var(--surface)}.action:disabled{opacity:.6;cursor:default;background:var(--surface);color:var(--ink)}.action.danger{border-color:var(--danger);color:var(--danger);margin-left:auto}.action.danger:hover,.action.danger.confirm{background:var(--danger);color:#fff}.estimate .est-btn{display:none}.ractions .textbtn{border:1px solid;border-radius:6px;align-items:center;min-height:40px;padding:0 12px;text-decoration:none;display:inline-flex}.ractions .textbtn:hover{color:var(--ink);text-decoration:none}.prices{margin:40px 0 0}.prices h2{font:700 26px/1.1 var(--sign);margin:0 0 10px}.prices table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:16px}.prices th,.prices td{border-bottom:1px solid var(--rule);color:var(--ink);text-align:right;padding:9px 0;font-weight:400}.prices th:first-child{text-align:left}.prices td:nth-child(2){color:var(--muted);padding-right:12px}.prices td:nth-child(3){padding-right:12px}.prices thead th{color:var(--muted);font-size:14px}.prices tfoot th,.prices tfoot td{border-bottom:0;padding-top:12px;font-weight:600}.prices .note{color:var(--muted);margin:8px 0 14px;font-size:14px}.prices .action{margin-top:4px}.prices tfoot td:nth-child(2){color:var(--ink);padding-right:12px}.recipes-block h2 .n{font:500 15px var(--text);color:var(--muted);margin-left:8px}.recipes-block .note{color:var(--muted);margin:10px 0 0;font-size:14px;line-height:1.5}.tiles{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;margin-top:12px;display:grid}.tile{background:var(--surface);border:1px solid var(--rule);border-radius:6px;position:relative;overflow:hidden}.tile:before{content:"";background:0 0;height:4px;position:absolute;top:0;left:0;right:0}.tiles.all .tile:before,.tile.sel:before{background:var(--tag)}.tile.sel{border-color:var(--ink);box-shadow:0 0 0 1px var(--ink)}.tile-main{width:100%;min-height:92px;color:var(--ink);text-align:left;background:0 0;flex-direction:column;align-items:flex-start;gap:6px;padding:18px 44px 12px 12px;display:flex}.tile-main:hover{background:var(--bg)}.tile .tt{font:600 17px/1.25 var(--text);-webkit-line-clamp:2;overflow-wrap:anywhere;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.tile .tn{color:var(--muted);font-size:14px}.trash{width:40px;height:40px;color:var(--muted);background:0 0;border-radius:6px;justify-content:center;align-items:center;display:inline-flex;position:absolute;top:8px;right:2px}.trash:hover{color:var(--danger)}.focusbar{background:var(--surface);border:1px solid var(--rule);border-left:4px solid var(--tag);border-radius:6px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin:0 0 4px;padding:12px 14px;display:flex}.focusbar .ft{font:600 18px/1.25 var(--text);color:var(--ink)}.focusbar .fl{font:400 13px var(--text);color:var(--muted);margin-bottom:2px;display:block}.focusbar .fa{flex-wrap:wrap;gap:8px;display:flex}a.action{align-items:center;text-decoration:none;display:inline-flex}.sr{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.tile .tf{justify-content:space-between;align-items:baseline;gap:8px;width:100%;margin-top:auto;display:flex}.tile .tp{font:600 15px var(--text);color:var(--ink);font-variant-numeric:tabular-nums;white-space:nowrap}.rhead{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.rhead .reset{margin:0 -4px 0 0;padding:8px 4px;font-size:15px}.rhead .reset.confirm{padding:8px 12px}.overlay{z-index:50;background:#13294b73;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal{background:var(--surface);color:var(--ink);border-radius:8px;width:100%;max-width:420px;padding:24px;box-shadow:0 12px 40px #00000040}.modal h2{font:700 24px/1.15 var(--sign);margin:0 0 10px}.modal p{color:var(--muted);margin:0 0 20px;font-size:16px;line-height:1.5}.modal-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.action.solid-danger{background:var(--danger);border-color:var(--danger);color:#fff}.action.solid-danger:hover{filter:brightness(.92);background:var(--danger);color:#fff}.focusbar .serv{color:var(--ink);flex-wrap:wrap;flex-basis:100%;align-items:center;gap:10px;font-size:15px;display:flex}.stepper{border:1px solid var(--ink);background:var(--surface);border-radius:6px;align-items:stretch;display:inline-flex;overflow:hidden}.stepper button{width:40px;color:var(--ink);cursor:pointer;background:0 0;font-size:20px;line-height:1}.stepper button:hover:not(:disabled){background:var(--ink);color:var(--surface)}.stepper button:disabled{opacity:.35;cursor:default}.stepper input{border:0;border-left:1px solid var(--rule);border-right:1px solid var(--rule);text-align:center;background:var(--surface);-moz-appearance:textfield;border-radius:0;width:56px;min-height:40px;margin:0;padding:8px 4px}.stepper input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.stepper input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.focusbar .orig{color:var(--muted);font-size:14px}.prices table{font-size:15px}.prices tfoot td{white-space:nowrap}.item.stocked .t{color:var(--muted)}.item.stocked .amt{font-size:14px}.pantry,.finder{margin-top:36px}.pantry h2,.finder h2{font:700 26px/1.1 var(--sign);margin:0 0 4px}.pantry h2 .n{font:500 15px var(--text);color:var(--muted);margin-left:8px}.pantry .note,.finder .note{color:var(--muted);margin:8px 0;font-size:14px;line-height:1.5}.plist{margin:10px 0 0;padding:0;list-style:none}.plist li{border-bottom:1px solid var(--rule);align-items:center;gap:8px;min-height:48px;display:flex}.plist .pn{flex:1;min-width:0;font-size:16px}.plist input{text-align:right;width:84px;min-height:0;margin:0;padding:6px 8px}.plist .pu{width:36px;color:var(--muted);font-size:14px}.padd{grid-template-columns:1fr 84px 84px;gap:8px;margin-top:12px;display:grid}.padd input,.padd select{min-width:0;margin:0}.padd .action{grid-column:1/-1}.finder .fsearch{gap:8px;margin:10px 0 8px;display:flex}.finder .fsearch input{flex:1;min-width:0;margin:0}.finder .wide{width:100%}.fresults{margin:0;padding:0;list-style:none}.fresults li{border-bottom:1px solid var(--rule);justify-content:space-between;align-items:center;gap:10px;padding:10px 0;display:flex}.fr-text{flex-direction:column;gap:2px;min-width:0;display:flex}.fr-text a{color:var(--ink);overflow-wrap:anywhere;font-weight:600;text-decoration:none}.fr-text a:hover{text-decoration:underline}.fr-site{color:var(--muted);font-size:13px}.fr-note{color:var(--muted);font-size:14px;line-height:1.4}.fresults .action{flex:none}.cooklist{max-height:40vh;margin:0 0 4px;padding:0;list-style:none;overflow:auto}.cooklist li{border-bottom:1px solid var(--rule);justify-content:space-between;gap:12px;padding:8px 0;font-size:15px;display:flex}.cooklist li span:last-child{color:var(--muted);white-space:nowrap}.cooked .ck-head{align-items:flex-start;gap:12px;margin:0 0 10px;display:flex}.cooked .ck-head h2{overflow-wrap:anywhere;margin:2px 0 0}.ck-check{color:#fff;background:#1f6b3a;border-radius:50%;flex:none;place-items:center;width:36px;height:36px;display:grid}.cooked p{margin:0 0 14px}.ck-sub{font:600 15px var(--text);color:var(--ink);margin:0 0 4px}.ck-sub .n{color:var(--muted);margin-left:4px;font-weight:500}.ck-left{border-top:1px solid var(--rule);max-height:40vh;margin:0 0 14px;padding:0;list-style:none;overflow:auto}.ck-left li{border-bottom:1px solid var(--rule)}.ck-left label{cursor:pointer;align-items:center;gap:12px;min-height:48px;padding:4px 0;display:flex}.ck-name{min-width:0;color:var(--ink);overflow-wrap:anywhere;flex:1;font-size:16px}.ck-amt{color:var(--ink);font-variant-numeric:tabular-nums;flex:none;font-size:15px}.ck-left li.off .ck-name{color:var(--muted);text-decoration:line-through}.ck-left li.off .ck-amt{color:var(--danger)}.cooked .ck-more .ds-k{color:var(--ink);font-weight:600}.cooked .ck-more{margin:0 0 8px;font-size:14px;line-height:1.45}.cooked .modal-actions{margin-top:18px}.action.solid{background:var(--ink);color:var(--surface)}.action.solid:hover{background:var(--ink);filter:brightness(1.15);color:var(--surface)}.finder input,.padd input,.padd select,.plist input{font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--rule);border-radius:4px;width:100%;padding:10px 12px;font-size:16px}.finder input::placeholder,.padd input::placeholder{color:var(--muted);opacity:.7}.plist input{width:84px;padding:6px 8px}.finder .fsearch input{width:auto}.finder input:focus-visible,.padd input:focus-visible,.padd select:focus-visible,.plist input:focus-visible,.padd select:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.head h1{margin-bottom:4px}.ask{font:500 22px/1.2 var(--sign);color:var(--muted);margin:0 0 20px}.stepnav ol{margin:0;padding:0;list-style:none;display:flex}.stepnav li{flex:1}.stepnav button{width:100%;min-height:56px;color:var(--muted);font:500 15px var(--text);background:0 0;border-radius:0;flex-direction:column;align-items:center;gap:2px;padding:8px 4px;display:flex;position:relative}.stepnav .sn{width:24px;height:24px;font:600 13px var(--text);border:1.5px solid;border-radius:50%;place-items:center;display:grid}.stepnav [aria-current=step]{color:var(--ink);font-weight:600}.stepnav [aria-current=step] .sn{background:var(--ink);border-color:var(--ink);color:var(--tag)}.stepnav .sc{background:var(--tag);min-width:20px;color:var(--ink);font:600 12px/20px var(--text);text-align:center;border-radius:10px;padding:0 5px;position:absolute;top:4px;left:calc(50% + 8px)}.stepnav{z-index:20;background:var(--surface);border-top:1px solid var(--rule);padding-bottom:env(safe-area-inset-bottom);position:fixed;bottom:0;left:0;right:0}.stepnav [aria-current=step]:after{content:"";background:var(--tag);height:3px;position:absolute;top:0;left:12px;right:12px}.stepbody{max-width:680px}.lead{color:var(--muted);margin:0 0 8px;font-size:16px;line-height:1.5}.textbtn.inline{min-height:0;padding:0;text-decoration:underline;display:inline}.cta{margin-top:28px}.cta .primary{margin-top:0}.emptystep{color:var(--muted);padding:24px 0}.emptystep p{margin:0 0 14px}.tile.off{opacity:.62}.tile-main{padding:18px 12px 10px}.tile .tf{width:100%;margin-right:0}.onlist{border-top:1px solid var(--rule);min-height:44px;color:var(--ink);cursor:pointer;align-items:center;gap:10px;margin:0;padding:10px 12px;font-size:14px;display:flex}.recipes-block{margin-top:0}.rhead h2 .n{margin:4px 0 0;display:block}.focusbar{margin-top:16px}.cooks{gap:12px;margin-top:12px;display:grid}.cookcard{background:var(--surface);border:1px solid var(--rule);border-left:4px solid var(--tag);border-radius:6px;padding:14px}.cookcard h3{font:600 20px/1.2 var(--text);margin:0 0 6px}.cookcard .status{margin:0;font-weight:600}.cookcard .status.ok{color:#1f6b3a}.cookcard .lacking{color:var(--muted);margin:4px 0 0;font-size:15px}.cookcard .fa{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.receipt{margin-top:32px}.receipt h2{font:700 26px/1.1 var(--sign);margin:0 0 4px}.receipt .note{color:var(--muted);margin:6px 0 12px;font-size:14px;line-height:1.5}.receipt-actions{flex-wrap:wrap;gap:8px;display:flex}.filebtn{cursor:pointer;color:var(--ink);align-items:center;margin:0;font-size:16px;display:inline-flex;position:relative}.filebtn:focus-within{outline:2px solid var(--focus);outline-offset:2px}.cooklist .rm{align-items:center;gap:8px;display:inline-flex}.stepbody .pantry{margin-top:32px}.stepbody .receipt:first-of-type{margin-top:20px}.stepbody .nutri,.stepbody .prices{margin-top:36px}.layout{flex-direction:column;gap:24px;display:flex}.layout.has .results-col{order:-1}@media (min-width:1025px){main{padding-top:24px}.stepnav{border:0;border-bottom:1px solid var(--rule);background:0 0;margin:0 0 28px;padding:0;position:static}.stepnav button{flex-direction:row;justify-content:center;gap:8px;min-height:52px;font-size:17px}.stepnav .sc{margin-left:2px;position:static}.stepnav [aria-current=step]:after{inset:auto 0 -1px}.layout{grid-template-columns:minmax(380px,440px) minmax(0,1fr);gap:64px;display:grid}.layout.has .results-col,.layout.has .input-col{order:0}.stepnav{margin-bottom:40px}.stepnav ol{gap:8px;max-width:none}.stepnav li{flex:none}.stepnav button{padding:8px 16px}.head h1{margin-bottom:8px}.ask{margin-bottom:36px}.msg.ok{background:var(--surface);border:1px solid var(--rule);border-left:4px solid var(--tag);border-radius:6px;margin:-16px 0 28px;padding:12px 16px}.panel{padding:24px}.finder{margin-top:48px}.rhead{margin-bottom:8px}.tiles{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:14px;margin-top:16px}.tile-main{min-height:108px;padding:20px 16px 12px}.onlist{padding:12px 16px}.cta{margin-top:36px}}.prices td:not(:last-child),.prices thead th:not(:first-child):not(:last-child){padding-right:12px}.picker{background:var(--surface);border:1px solid var(--rule);border-radius:6px;margin:0 0 20px}.picker ul{margin:0;padding:0;list-style:none}.picker li{border-top:1px solid var(--rule);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;padding:10px 14px;display:flex}.picker li:first-child{border-top:0}.picker .pk-on{min-width:0;min-height:44px;color:var(--ink);cursor:pointer;flex:220px;align-items:center;gap:12px;margin:0;font-size:16px;display:flex}.picker .pk-t{overflow-wrap:anywhere;font-weight:600}.picker li.off .pk-t{color:var(--muted)}.picker li.off .pk-serv{opacity:.55}.picker .pk-serv{color:var(--muted);align-items:center;gap:10px;font-size:14px;display:flex}.topbar{justify-content:flex-end;margin:0 0 12px;display:flex}.receipt-top{flex:none;position:relative}.receipt-top .filebtn{white-space:nowrap;font-size:15px}.receipt-top .msg{z-index:30;background:var(--surface);border:1px solid var(--rule);border-radius:6px;width:max-content;max-width:min(320px,80vw);margin-top:6px;padding:8px 12px;position:absolute;top:100%;right:0;box-shadow:0 4px 16px #00000014}@media (min-width:1025px){.topbar{border-bottom:1px solid var(--rule);justify-content:space-between;align-items:center;gap:16px;margin:0 0 40px}.topbar .stepnav{border-bottom:0;margin:0}}.overlay.loading{cursor:progress}.loader{background:var(--surface);color:var(--ink);text-align:center;border-radius:8px;flex-direction:column;align-items:center;gap:6px;min-width:260px;padding:28px 32px;display:flex;box-shadow:0 12px 40px #00000040}.loader .spinner{border:4px solid var(--rule);border-top-color:var(--tag);border-right-color:var(--ink);border-radius:50%;width:44px;height:44px;margin-bottom:10px;animation:.9s linear infinite spin}.loader .lt{font:700 22px/1.2 var(--sign);margin:0}.loader .ls{color:var(--muted);margin:0;font-size:14px}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.loader .spinner{animation-duration:2.4s}}.modal.wide{max-width:640px}.bonlist{max-height:52vh;margin:0 0 4px;padding:0;list-style:none;overflow:auto}.bonlist li{border-bottom:1px solid var(--rule);grid-template-columns:44px minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:8px 0;display:grid}.bon-img{background:var(--bg);border:1px solid var(--rule);object-fit:contain;border-radius:4px;width:44px;height:44px;display:block}.bon-t{flex-direction:column;min-width:0;display:flex}.bon-n{color:var(--ink);font-size:15px;font-weight:600}.bon-p{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.bon-p a{color:inherit}.bon-a{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:6px;display:flex}.bon-a input{width:72px;font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--rule);text-align:right;border-radius:4px;padding:6px 8px;font-size:15px}.bon-u{width:28px;color:var(--muted);font-size:14px}.tag-est{text-align:right;color:#7a5b00;flex-basis:100%;font-size:12px}.bon-lookup{flex-wrap:wrap;align-items:center;gap:8px 12px;margin:12px 0 4px;display:flex}.bon-lookup .note{color:var(--muted);flex:220px;margin:0;font-size:13px;line-height:1.4}.modal .bon-lookup p{margin:0}.layout.shop .results-col{order:0}.quickadd{background:var(--surface);border:1px solid var(--rule);border-left:4px solid var(--tag);border-radius:8px;padding:16px}.quickadd h2{font:700 22px/1.1 var(--sign);margin:0 0 10px}.qa-row{align-items:stretch;gap:8px;display:flex}.qa-row input{min-width:0;font:inherit;color:var(--ink);background:var(--bg);border:1px solid #13294b59;border-radius:8px;flex:1;min-height:48px;padding:10px 14px;font-size:16px;transition:border-color .15s,box-shadow .15s}.qa-row input::placeholder{color:var(--muted);opacity:.8}.qa-row input:focus,.qa-row input:focus-visible{border-color:var(--ink);outline:none;box-shadow:0 0 0 3px #ffd23f8c}.qa-row .action{flex:none}.qa-row .action.qa-add{border-radius:8px;align-items:center;gap:6px;min-height:48px;padding:0 16px;font-weight:600;display:inline-flex}.qa-row .action.qa-add:disabled{opacity:.45}.qa-row .mic{border-radius:8px;width:48px;min-height:48px}.mic{background:var(--surface);width:44px;min-height:44px;color:var(--ink);border:1px solid var(--ink);border-radius:6px;flex:none;justify-content:center;align-items:center;display:inline-flex}.mic:hover{background:var(--ink);color:var(--surface)}.mic.on{background:var(--danger);border-color:var(--danger);color:#fff;animation:1.2s ease-in-out infinite pulse}.mic:disabled{opacity:.5;cursor:default}@keyframes pulse{50%{box-shadow:0 0 0 6px #b3261e2e}}@media (prefers-reduced-motion:reduce){.mic.on{animation:none}}.qa-hint{color:var(--muted);margin:8px 0 0;font-size:14px}.quickadd .msg{margin-top:10px}.recipes-src{margin-top:28px}.recipes-src h2{font:700 22px/1.1 var(--sign);margin:0}.recipes-src .picker{margin:12px 0 10px}.action.wide{width:100%;margin-top:4px}.recipe-form{margin-top:12px}.recipes-src .finder{margin-top:28px}.picker .pk-link{width:36px;height:40px;color:var(--muted);justify-content:center;align-items:center;display:inline-flex}.picker .pk-link:hover{color:var(--ink)}.picker .x{padding:8px}.shop .listbar{margin-top:0}.shop .results-col .lead{margin-bottom:12px}@media (min-width:1025px){.shop .results-col{padding-top:2px}}.plist .p-img{border:1px solid var(--rule);background:var(--bg);object-fit:contain;border-radius:4px;flex:none;width:36px;height:36px;display:block}.plist.with-img li{gap:10px;min-height:52px}.recipes-src .rhead h2 .n{margin:0 0 0 8px;display:inline}.topbar{justify-content:space-between;align-items:center;gap:12px}.brand{font:700 26px/1 var(--sign);color:var(--ink);white-space:nowrap;text-decoration:none}.brand:hover{color:var(--ink);opacity:.8}.head h1{font:700 34px/1.1 var(--sign);margin:0 0 24px}@media (min-width:1025px){.topbar{justify-content:flex-start;gap:28px}.topbar .receipt-top{margin-left:auto}.head h1{margin-bottom:32px;font-size:40px}.topbar{grid-template-columns:1fr auto 1fr;gap:16px;display:grid}.topbar .brand{justify-self:start}.topbar .stepnav{justify-self:center}.topbar .receipt-top{justify-self:end;margin-left:0}}.stepnav button{gap:6px}@media (max-width:1024px){.stepnav button{justify-content:center;font-size:16px}.stepnav .sc{top:6px;left:auto;right:calc(50% - 44px)}}.layout.cook .results-col{order:0}.cook .finder{margin-top:0}.finder.pantry-first .wide{margin:10px 0 4px}.finder.pantry-first .fsearch{margin-top:16px}.cook-add{margin-top:28px}.cook .cooks,.cook .results-col .lead{margin-top:0}.f-controls{flex-direction:column;gap:8px;display:flex}.f-controls .fsearch,.finder .f-pantry .wide{margin:0}.fcards{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px;margin:8px 0 0;padding:0;list-style:none;display:grid}.fcard{background:var(--surface);border:1px solid var(--rule);border-radius:8px;flex-direction:column;display:flex;overflow:hidden}.fc-img{aspect-ratio:4/3;background:var(--bg);border-bottom:1px solid var(--rule);display:block}.fc-img img{object-fit:cover;width:100%;height:100%;display:block}.fc-noimg{height:100%;font:600 15px var(--text);color:var(--muted);place-items:center;display:grid}.fc-body{flex-direction:column;flex:1;gap:6px;padding:12px 14px 14px;display:flex}.fc-title{font:600 17px/1.3 var(--text);color:var(--ink);overflow-wrap:anywhere;text-decoration:none}.fc-title:hover{text-decoration:underline}.fc-meta{color:var(--muted);flex-wrap:wrap;gap:4px 12px;font-size:13px;display:flex}.fr-rating{color:var(--ink);align-items:center;gap:6px;font-size:14px;display:inline-flex}.stars{letter-spacing:1px;font-size:15px;line-height:1;display:inline-block;position:relative}.stars-off{color:var(--rule)}.stars-on{white-space:nowrap;color:#e0a800;position:absolute;inset:0 auto 0 0;overflow:hidden}.fcard .fr-note{color:var(--muted);font-size:14px;line-height:1.4}.fc-actions{flex-wrap:wrap;gap:8px;margin-top:auto;padding-top:4px;display:flex}.f-more{margin-top:16px}.cookpage{flex-direction:column;gap:40px;display:flex}.cook-list h2{font:700 26px/1.1 var(--sign);margin:0 0 6px}.cook-list .cooks{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px;margin-top:12px;display:grid}.cookpage .finder{margin-top:0}.cookpage .cook-add{max-width:520px;margin-top:0}@media (min-width:1025px){.cookpage .f-controls{flex-direction:row;align-items:flex-start;gap:12px}.cookpage .f-pantry{flex:0 0 320px}.cookpage .f-controls .fsearch{flex:1;max-width:560px}.fcards{grid-template-columns:repeat(3,minmax(0,1fr))}.recipes-src .fcards{grid-template-columns:1fr}}.sources h2{font:700 26px/1.1 var(--sign);margin:0 0 14px}.src-tabs{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.src-tab{background:var(--surface);min-height:64px;color:var(--ink);border:1px solid var(--rule);text-align:left;cursor:pointer;border-radius:8px;align-items:center;gap:12px;padding:14px 16px;transition:border-color .12s,box-shadow .12s;display:flex}.src-tab:hover{border-color:var(--ink)}.src-tab[aria-selected=true]{border-color:var(--ink);box-shadow:inset 0 -3px 0 var(--tag),0 0 0 1px var(--ink)}.src-ic{background:var(--bg);width:40px;height:40px;color:var(--ink);border-radius:50%;flex:none;place-items:center;display:grid}.src-tab[aria-selected=true] .src-ic{background:var(--tag)}.src-txt{flex-direction:column;gap:2px;min-width:0;display:flex}.src-t{font:600 16px/1.2 var(--text)}.src-d{color:var(--muted);font-size:13px;line-height:1.3}.src-panel{background:var(--surface);border:1px solid var(--rule);border-radius:8px;margin-top:16px;padding:20px}.src-panel>.action{width:auto}.src-lead{color:var(--muted);margin:0 0 10px;font-size:15px}.chips{flex-wrap:wrap;gap:6px;margin:0 0 16px;padding:0;list-style:none;display:flex}.chips li{border:1px solid var(--rule);background:var(--bg);color:var(--ink);border-radius:999px;padding:4px 10px;font-size:14px}.chips li.more{color:var(--muted)}.src-empty p{color:var(--muted);max-width:56ch;margin:0 0 12px;line-height:1.5}.src-search{gap:8px;max-width:560px;display:flex}.src-search input{min-width:0;font:inherit;color:var(--ink);background:var(--bg);border:1px solid var(--rule);border-radius:4px;flex:1;min-height:44px;padding:10px 12px;font-size:16px}.src-search input:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.src-panel .fresults-wrap{margin-top:20px}.src-panel .f-more{width:auto;margin-top:16px}.src-panel .recipe-add.inline .recipe-form{border:0;max-width:560px;margin:0;padding:0}.src-panel .recipe-form .primary{width:auto;padding-left:24px;padding-right:24px}.src-panel .fcards{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}@media (max-width:640px){.src-tabs{grid-template-columns:1fr}.src-tab{min-height:56px;padding:10px 12px}.src-panel{padding:16px}}@media (min-width:1025px){.src-panel .fcards{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:640px){.src-tabs{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.src-tab{text-align:center;flex-direction:column;justify-content:center;gap:6px;padding:10px 4px}.src-ic{width:34px;height:34px}.src-t{font-size:14px}.src-d{display:none}}.stock-in{gap:16px;margin-top:20px;display:grid}.stock-in .receipt{margin-top:0}.barcode,.stock-in .receipt{background:var(--surface);border:1px solid var(--rule);border-radius:8px;padding:16px}.barcode h2{font:700 22px/1.1 var(--sign);margin:0 0 4px}.stock-in .receipt h2{font-size:22px}.barcode .note{color:var(--muted);margin:6px 0 12px;font-size:14px;line-height:1.5}@media (min-width:760px){.stock-in{grid-template-columns:1fr 1fr}}.scan-modal{max-width:520px;max-height:calc(100vh - 32px);overflow:auto}.scan-head{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.scan-head h2{margin:0}.scan-video{aspect-ratio:4/3;background:#0d1b30;border-radius:6px;position:relative;overflow:hidden}.scan-video video{object-fit:cover;width:100%;height:100%;display:block}.scan-video.paused video{opacity:.35}.scan-frame{border:3px solid var(--tag);border-radius:6px;position:absolute;inset:32% 12%;box-shadow:0 0 0 999px #00000040}.scan-msg{text-align:center;color:#fff;place-items:center;margin:0;padding:20px;font-size:15px;line-height:1.5;display:grid;position:absolute;inset:0}.scan-manual{margin-top:14px}.scan-manual label{margin:0 0 6px}.scan-row{gap:8px;display:flex}.scan-row input,.scan-fields input,.scan-fields select{font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--rule);border-radius:4px;min-width:0;min-height:44px;padding:9px 10px;font-size:16px}.scan-row input{flex:1}.scan-result{margin-top:14px}.scan-prod{align-items:center;gap:12px;display:flex}.scan-prod img,.scan-noimg{border:1px solid var(--rule);background:var(--bg);object-fit:contain;border-radius:6px;flex:none;width:64px;height:64px}.scan-title{font-weight:600;color:var(--ink)!important;margin:0!important;font-size:16px!important}.scan-ean{margin:2px 0 0!important;font-size:13px!important}.scan-err{color:#7a5b00!important;margin:4px 0 0!important;font-size:14px!important}.scan-fields{gap:10px;margin:14px 0 6px;display:grid}.scan-fields label{color:var(--muted);flex-direction:column;gap:4px;margin:0;font-size:14px;display:flex}.scan-amt{gap:8px;display:flex}.scan-amt input{flex:1}.scan-fields .stepper{align-self:flex-start}.scan-added{color:var(--ink)!important;margin:12px 0 0!important;font-size:14px!important}.modal .scan-video .scan-msg{color:#fff;margin:0;font-size:15px}.scan-video.paused,.scan-video.nocam{aspect-ratio:auto;height:96px}.scan-modal{max-width:600px}.scan-video{aspect-ratio:4/3}.scan-frame{transition:border-color .15s;inset:20% 5%}.scan-frame.hit{border-color:#2fbf71;box-shadow:0 0 0 999px #00000073}.scan-line{background:var(--tag);height:2px;box-shadow:0 0 8px var(--tag);animation:1.6s ease-in-out infinite scanline;position:absolute;top:50%;left:4%;right:4%}@keyframes scanline{0%,to{top:12%}50%{top:88%}}.modal .scan-tip{text-align:center;color:#fff;text-shadow:0 1px 3px #000000b3;margin:0;font-size:14px;position:absolute;bottom:8px;left:0;right:0}.modal .scan-hit{color:#fff;font:600 16px/1.4 var(--text);text-align:center;white-space:nowrap;background:#13294bd9;border-radius:8px;margin:0;padding:12px 18px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.scan-video.paused{height:96px}@media (prefers-reduced-motion:reduce){.scan-line{animation:none;top:50%}}@media (max-width:640px){.overlay:has(.scan-modal){padding:0}.scan-modal{border-radius:0;width:100%;max-width:none;height:100%;max-height:none;padding:16px}.scan-video{aspect-ratio:3/4;max-height:62vh}.scan-frame{inset:30% 4%}}.psearch{background:var(--surface);border:1px solid var(--rule);color:var(--muted);border-radius:6px;align-items:center;gap:8px;margin:10px 0 4px;padding:0 4px 0 12px;display:flex}.psearch:focus-within{border-color:var(--ink);outline:2px solid var(--focus);outline-offset:2px}.psearch input{min-width:0;font:inherit;color:var(--ink);background:0 0;border:0;outline:none;flex:1;min-height:44px;padding:10px 0;font-size:16px}.psearch input::-webkit-search-cancel-button{display:none}.psearch .x{padding:8px}.pnone{padding:14px 0 6px}.pnone p{color:var(--muted);margin:0 0 10px}.kids-toggle{min-height:44px;color:var(--ink);cursor:pointer;align-items:center;gap:10px;margin:0;font-size:15px;display:inline-flex}.kids-toggle .kt-d{color:var(--muted);font-size:13px;display:block}.finder .kids-toggle{margin:4px 0 8px}.src-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:4px 16px;margin-bottom:14px;display:flex}.src-head h2{margin:0}.topbar-actions{justify-self:end;align-items:center;gap:8px;display:flex}.topbar-actions .receipt-top{margin-left:0}.hh-btn{white-space:nowrap;align-items:center;gap:8px;max-width:220px;font-size:15px;display:inline-flex}.hh-label{text-overflow:ellipsis;overflow:hidden}@media (max-width:480px){.hh-label{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.hh-btn{padding:0 12px}}.hh-modal{max-width:560px;max-height:calc(100vh - 32px);overflow:auto}.hh-head{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.hh-head h2{margin:0}.modal .hh-note{color:var(--muted);margin:0 0 10px;font-size:14px;line-height:1.45;display:block}.modal .hh-ok{color:var(--ink);background:var(--bg);border-left:4px solid var(--tag);border-radius:4px;padding:10px 12px}.modal .hh-sync{color:#1f6b3a;margin:0 0 12px;font-size:14px}.modal .hh-sync.err{color:var(--danger)}.hh-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.hh-row input:not([type=checkbox]){min-width:0;font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--rule);border-radius:4px;flex:180px;min-height:44px;padding:10px 12px;font-size:16px}.hh-choice{gap:20px;margin-top:8px;display:grid}.hh-choice form{border:1px solid var(--rule);border-radius:8px;padding:14px}.hh-modal h3{font:700 20px/1.1 var(--sign);color:var(--ink);margin:18px 0 6px}.hh-choice h3{margin-top:0}.hh-invite{background:var(--bg);border:1px solid var(--rule);border-left:4px solid var(--tag);border-radius:6px;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}.modal .hh-invite .hh-note{margin:0}.hh-code{font:700 28px/1.1 var(--sign);letter-spacing:.12em;color:var(--ink)}.hh-family{margin:0 0 10px;padding:0;list-style:none}.hh-family li{border-bottom:1px solid var(--rule);align-items:center;gap:12px;min-height:48px;display:flex}.hh-fn{min-width:0;color:var(--ink);flex:1;font-size:16px}.hh-kid{color:var(--ink);cursor:pointer;align-items:center;gap:8px;min-height:44px;margin:0;font-size:15px;display:inline-flex}.hh-foot{border-top:1px solid var(--rule);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-top:22px;padding-top:14px;display:flex}.modal .hh-foot .hh-note{margin:0}.hh-foot-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.start{flex-direction:column;gap:32px;display:flex}.start-cards{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;display:grid}.start-card{background:var(--surface);color:var(--ink);border:1px solid var(--rule);border-left:4px solid var(--tag);text-align:left;cursor:pointer;border-radius:8px;grid-template-columns:auto 1fr;grid-template-areas:"ic t""v v""d d";align-items:center;gap:6px 12px;padding:18px;transition:border-color .12s,box-shadow .12s;display:grid}.start-card:hover{border-color:var(--ink);border-left-color:var(--tag);box-shadow:0 2px 10px #13294b14}.sc-ic{background:var(--bg);width:40px;height:40px;color:var(--ink);border-radius:50%;grid-area:ic;place-items:center;display:grid}.sc-t{font:700 22px/1.1 var(--sign);grid-area:t}.sc-v{font:700 44px/1 var(--sign);grid-area:v;margin-top:8px}.sc-d{color:var(--muted);grid-area:d;font-size:14px}.start-actions h2,.start-home h2{font:700 22px/1.1 var(--sign);margin:0 0 10px}.sa-row{flex-wrap:wrap;gap:10px;display:flex}.action.sa{align-items:center;gap:8px;min-height:48px;padding:0 16px;font-size:16px;display:inline-flex}.start-home{background:var(--surface);border:1px solid var(--rule);border-radius:8px;flex-wrap:wrap;align-items:center;gap:14px;padding:18px;display:flex}.start-home .sh-text{flex:240px;min-width:0}.start-home h2{margin:0 0 4px}.start-home p{color:var(--muted);margin:0;font-size:15px;line-height:1.45}@media (max-width:640px){.start{gap:24px}.start-cards{grid-template-columns:1fr}.start-card{grid-template-columns:auto 1fr auto;grid-template-areas:"ic t v""ic d v";padding:14px 16px}.sc-v{margin:0;font-size:36px}.action.sa{flex:100%;justify-content:flex-start}}.apple-btn{color:#fff;min-height:44px;font:600 16px var(--text);cursor:pointer;background:#000;border-radius:6px;justify-content:center;align-items:center;gap:8px;padding:0 20px;display:inline-flex}.apple-btn:hover{background:#222}.apple-btn:disabled{opacity:.6;cursor:default}.modal .hh-or{color:var(--muted);margin:14px 0 8px;font-size:13px}@media (min-width:641px){.start-cards{grid-template-columns:repeat(3,minmax(0,1fr))}}.avatar{background:var(--surface);width:44px;height:44px;color:var(--ink);border:1.5px solid var(--ink);cursor:pointer;border-radius:50%;flex:none;place-items:center;padding:0;display:grid}.avatar.signed-in{background:var(--tag);border-color:var(--tag);font:700 20px/1 var(--sign)}.avatar:hover{box-shadow:0 0 0 3px #13294b1f}.avatar.active{box-shadow:0 0 0 3px var(--tag)}.avatar.signed-in.active{box-shadow:0 0 0 3px var(--ink)}.sa-row .receipt-top{display:contents}.sa-row .receipt-top .filebtn{align-items:center;gap:8px;min-height:48px;padding:0 16px;font-size:16px;display:inline-flex}@media (max-width:640px){.sa-row .receipt-top .filebtn{flex:100%;justify-content:flex-start}}.profile{max-width:620px}.profile-card{background:var(--surface);border:1px solid var(--rule);border-radius:8px;padding:20px}.profile .hh-head{justify-content:flex-start;gap:12px;margin-bottom:12px}.profile .hh-head h2{font:700 26px/1.1 var(--sign);margin:0}.profile p{color:var(--muted);margin:0 0 14px;line-height:1.5}.profile .hh-note{color:var(--muted);margin:0 0 10px;font-size:14px;line-height:1.45;display:block}.profile .hh-ok{color:var(--ink);background:var(--bg);border-left:4px solid var(--tag);border-radius:4px;padding:10px 12px}.profile .hh-sync{color:#1f6b3a;margin:0 0 12px;font-size:14px}.profile .hh-sync.err{color:var(--danger)}.profile .hh-or{color:var(--muted);margin:14px 0 8px;font-size:13px}.profile .hh-invite .hh-note,.profile .hh-foot .hh-note{margin:0}.profile h3{font:700 20px/1.1 var(--sign);color:var(--ink);margin:20px 0 6px}.profile .hh-choice h3{margin-top:0}.profile .hh-choice{gap:16px;margin-top:4px;display:grid}@media (min-width:760px){.profile .hh-choice{grid-template-columns:1fr 1fr}}.hh-card{border:1px solid var(--rule);background:var(--surface);border-radius:8px;flex-direction:column;gap:8px;padding:16px;display:flex}.hh-card-head{align-items:center;gap:10px;display:flex}.hh-card-ic{background:var(--tag);width:38px;height:38px;color:var(--ink);border-radius:50%;flex:none;place-items:center;display:grid}.profile .hh-card h3{margin:0}.profile .hh-card .hh-note{margin:0 0 6px}.hh-label-field{color:var(--ink);margin:4px 0 0;font-size:14px;font-weight:600}.hh-input{font:inherit;color:var(--ink);background:var(--bg);border:1px solid #13294b59;border-radius:6px;width:100%;min-height:46px;padding:10px 12px;font-size:16px}.hh-input:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-color:var(--ink)}.hh-input::placeholder{color:var(--muted);opacity:.7}.hh-code-input{letter-spacing:.12em;font:600 20px/1 ui-monospace,SFMono-Regular,Menlo,monospace}.profile .hh-submit{align-self:flex-start;width:auto;margin-top:6px;padding-left:22px;padding-right:22px}.pf{flex-direction:column;gap:16px;display:flex}.pf-head{align-items:center;gap:12px;margin-bottom:10px;display:flex}.pf-head h2{font:700 24px/1.1 var(--sign);margin:0}.pf-title{flex-wrap:wrap;flex:1;align-items:center;gap:6px 10px;min-width:0;display:flex}.pf-head .textbtn{margin-left:auto}.badge{background:var(--bg);border:1px solid var(--rule);color:var(--muted);white-space:nowrap;border-radius:999px;align-items:center;padding:2px 10px;font-size:13px;font-weight:600;display:inline-flex}.badge.admin{background:var(--tag);border-color:var(--tag);color:var(--ink)}.pf-form{flex-direction:column;gap:8px;margin:4px 0 14px;display:flex}.pf-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.pf-actions .hh-submit{margin-top:0}.pf-family{margin:6px 0 4px;padding:0;list-style:none}.pf-family li{border-bottom:1px solid var(--rule);align-items:center;gap:12px;min-height:56px;display:flex}.pf-family li:last-child{border-bottom:0}.pf-av{background:var(--tag);width:38px;height:38px;color:var(--ink);font:700 18px/1 var(--sign);border-radius:50%;flex:none;place-items:center;display:grid}.pf-av.child{background:var(--bg);border:2px solid var(--tag)}.pf-name{min-width:0;color:var(--ink);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:17px;overflow:hidden}.pf-confirm{gap:6px;display:flex}.pf-add{border-top:1px solid var(--rule);margin-top:14px;padding-top:14px}.pf-add h3{margin:0 0 4px}.pf-locked{margin-top:10px}.profile .pf .hh-note{margin:0 0 6px}.seg{border:1px solid var(--ink);border-radius:6px;flex:none;align-self:flex-start;display:inline-flex;overflow:hidden}.seg button{background:var(--surface);min-height:40px;color:var(--ink);font:500 15px var(--text);cursor:pointer;border-radius:0;padding:0 14px}.seg button+button{border-left:1px solid var(--ink)}.seg button[aria-pressed=true]{background:var(--ink);color:var(--surface)}.seg button:disabled{opacity:.6;cursor:default}.pf-name{align-items:center;gap:4px;display:inline-flex}.pf-pen{width:36px;height:36px;color:var(--muted);background:0 0;border-radius:6px;flex:none;place-items:center;padding:0;display:inline-grid}.pf-pen:hover{color:var(--ink);background:var(--bg)}.pf-edit{flex-wrap:wrap;flex:1;align-items:center;gap:8px;min-width:0;padding:6px 0;display:flex}.pf-edit .hh-input{flex:160px;width:auto;min-height:42px}.pf-add-btn{align-items:center;gap:8px;margin-top:12px;display:inline-flex}.pf-tabs{align-self:flex-start}.pf-tabs button{min-width:120px;font-weight:600}.pf-me{align-items:center;gap:14px;margin-bottom:12px;display:flex}.pf-me h2{font:700 26px/1.1 var(--sign);margin:0 0 2px}.pf-av.big{width:56px;height:56px;font-size:26px}.pf-data{margin:0 0 14px}.pf-data>div{border-top:1px solid var(--rule);grid-template-columns:120px 1fr;align-items:center;gap:8px;min-height:48px;display:grid}.pf-data dt{color:var(--muted);font-size:14px}.pf-data dd{color:var(--ink);overflow-wrap:anywhere;min-width:0;margin:0;font-size:16px}@media (max-width:480px){.pf-data>div{grid-template-columns:1fr;gap:0;padding:8px 0}}.loader.done{max-width:440px}.lo-check{color:#fff;background:#1f6b3a;border-radius:50%;place-items:center;width:52px;height:52px;margin-bottom:10px;display:grid}.loader.done .ls{line-height:1.5}.lo-actions{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:16px;display:flex}.lo-actions .primary{width:auto;margin-top:0;padding-left:22px;padding-right:22px}.overlay.loading:has(.loader.done){cursor:default}.login-hint{background:var(--bg);border:1px dashed #13294b59;border-radius:8px;flex-wrap:wrap;align-items:center;gap:10px 12px;padding:12px 14px;display:flex}.login-hint p{color:var(--ink);flex:220px;margin:0;font-size:15px;line-height:1.45}.lh-ic{background:var(--surface);border:1px solid var(--rule);width:34px;height:34px;color:var(--ink);border-radius:50%;flex:none;place-items:center;display:grid}.receipt .login-hint,.finder .login-hint{margin-top:10px}.sa-note{color:var(--muted);margin:10px 0 0;font-size:14px}.action.icon-l{align-items:center;gap:6px;text-decoration:none;display:inline-flex}.save-btn.on,.save-btn.on:hover{background:var(--tag);border-color:var(--ink);color:var(--ink)}.action.quiet{color:var(--muted);text-underline-offset:3px;background:0 0;border-color:#0000;text-decoration:underline}.action.quiet:hover{color:var(--danger);background:0 0}.saved h2{font:700 26px/1.1 var(--sign);margin:0 0 6px}.saved h2 .n{font:500 16px var(--text);color:var(--muted);margin-left:6px}.sv-list{border-top:1px solid var(--rule);margin:4px 0 0;padding:0;list-style:none}.sv-row{border-bottom:1px solid var(--rule)}.sv-head{width:100%;min-height:52px;color:var(--ink);text-align:left;cursor:pointer;font:inherit;background:0 0;border:0;align-items:center;gap:4px;padding:10px 0;display:flex}.sv-head .chev{flex:none}.sv-thumb{object-fit:cover;border:1px solid var(--rule);background:var(--bg);border-radius:4px;flex:none;width:44px;height:44px;margin-right:8px}.sv-title{min-width:0;font:600 17px/1.3 var(--text);overflow-wrap:anywhere;flex:1}.sv-head:hover .sv-title{text-underline-offset:3px;text-decoration:underline}.sv-site{text-overflow:ellipsis;white-space:nowrap;max-width:40%;color:var(--muted);flex:none;margin-left:8px;font-size:13px;overflow:hidden}.sv-body{flex-wrap:wrap;gap:12px 16px;padding:0 0 14px 21px;animation:.18s ease-out sv-in;display:flex}.sv-img{aspect-ratio:4/3;border:1px solid var(--rule);background:var(--bg);border-radius:6px;flex:none;width:160px;display:block;overflow:hidden}.sv-img img{object-fit:cover;width:100%;height:100%;display:block}.sv-info{flex-direction:column;flex:240px;gap:8px;min-width:0;display:flex}.sv-info .fr-note{color:var(--muted);margin:0;font-size:14px;line-height:1.4}.sv-info .fc-actions{margin-top:0}@keyframes sv-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.sv-body{animation:none}.chev{transition:none}}@media (max-width:520px){.sv-img{width:100%}.sv-body{padding-left:0}}.phead{justify-content:space-between;align-items:center;gap:12px;display:flex}.icon-btn{width:44px;height:44px;color:var(--ink);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;place-items:center;display:inline-grid}.icon-btn:hover{border-color:var(--rule);background:var(--surface)}.icon-btn.danger{color:var(--danger)}.icon-btn.danger:hover{border-color:var(--danger)}.pf-who{flex-direction:column;flex:1;align-items:flex-start;gap:2px;min-width:0;padding:6px 0;display:flex}.pf-who .pf-name{flex:none;max-width:100%}.diet-sum{color:var(--muted);flex-direction:column;gap:2px;margin:0;font-size:14px;line-height:1.35;display:flex}.diet-sum .ds-k{color:var(--ink);font-weight:600}.textbtn.diet-open{min-height:32px;padding:4px 0;font-size:14px}.pf-family li:has(.diet-edit){flex-wrap:wrap}.diet-edit{flex-direction:column;flex:1 0 100%;gap:16px;padding:4px 0 16px 50px;display:flex}.diet-set{border:0;min-width:0;margin:0;padding:0}.diet-set legend{font:600 16px var(--text);color:var(--ink);padding:0}.diet-set .hh-note{margin:2px 0 8px}.diet-chips{flex-wrap:wrap;gap:8px;margin-bottom:12px;display:flex}.diet-chip{border:1px solid var(--rule);background:var(--bg);min-height:40px;color:var(--ink);font:500 15px var(--text);cursor:pointer;border-radius:999px;align-items:center;gap:4px;padding:0 14px;display:inline-flex}.diet-chip:hover{border-color:var(--ink)}.diet-chip.on{background:var(--ink);border-color:var(--ink);color:var(--surface)}.diet-chip:disabled{opacity:.5;cursor:default}.diet-own{align-items:stretch;gap:8px;max-width:420px;display:flex}.diet-own .hh-input{flex:1;min-width:0}.diet-note{color:var(--muted);margin:4px 0 8px;font-size:14px}@media (max-width:600px){.diet-edit{padding-left:0}}.textbtn.diet-open{color:var(--ink);text-underline-offset:3px;text-decoration:underline}.pf-family li{align-items:flex-start;padding:8px 0}.pf-family .pf-av{margin-top:4px}.pf-family .pf-pen{width:44px;height:44px;margin-left:auto}.pf-role{color:var(--muted);font-size:14px}.fam-edit{flex-direction:column;max-height:calc(100dvh - 40px);display:flex;overflow:auto}.fam-fields{flex-direction:column;gap:20px;margin-bottom:20px;display:flex}.fam-fields .hh-input{width:100%}.fam-foot{border-top:1px solid var(--rule);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding-top:16px;display:flex}.fam-foot .modal-actions{margin-left:auto}.textbtn.fam-del{color:var(--danger);text-underline-offset:3px;min-height:44px;padding:0;font-size:15px;text-decoration:underline}.fam-remove{flex-wrap:wrap;align-items:center;gap:8px;font-size:15px;display:flex}.trash-btn{min-height:44px;color:var(--ink);font:500 15px var(--text);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;align-items:center;gap:6px;padding:0 10px;display:inline-flex}.trash-btn:hover{border-color:var(--rule);background:var(--surface)}.trash-n{background:var(--tag);min-width:22px;height:22px;color:var(--tag-ink);font:600 13px/22px var(--text);text-align:center;border-radius:11px;padding:0 6px}.textbtn.pclear{color:var(--danger);text-underline-offset:3px;min-height:44px;margin-top:6px;padding:0;font-size:15px;text-decoration:underline}.trash-dlg{max-height:calc(100dvh - 40px);overflow:auto}.trash-dlg .tr-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.trash-dlg .tr-head h2 .n{font:500 16px var(--text);color:var(--muted);margin-left:6px}.trash-dlg p{margin:0 0 14px;font-size:15px}.tr-empty{color:var(--ink)}.tr-list{border-top:1px solid var(--rule);margin:0 0 16px;padding:0;list-style:none}.tr-list li{border-bottom:1px solid var(--rule);align-items:center;gap:12px;padding:10px 0;display:flex}.tr-text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.tr-name{color:var(--ink);overflow-wrap:anywhere;font-size:16px}.tr-amt{color:var(--muted);margin-left:4px;font-size:15px}.tr-meta{color:var(--muted);font-size:13px}.tr-list .action{flex:none}.tr-foot{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.toast-wrap{left:0;right:0;bottom:calc(72px + env(safe-area-inset-bottom));z-index:40;pointer-events:none;justify-content:center;padding:0 16px;display:flex;position:fixed}.toast{pointer-events:auto;width:100%;max-width:560px;font:500 15px/1.4 var(--text);border-radius:10px;align-items:center;gap:10px;padding:10px 6px 10px 12px;animation:.2s ease-out toast-in;display:flex;box-shadow:0 8px 28px #13294b2e}.toast.ok{color:#163f26;background:#e6f2ea;border:1px solid #b9dcc5}.toast-ic{color:#fff;background:#1f6b3a;border-radius:50%;flex:none;place-items:center;width:24px;height:24px;display:grid}.toast-t{flex:1;min-width:0}.toast-x{width:36px;height:36px;color:inherit;opacity:.7;cursor:pointer;background:0 0;border-radius:6px;flex:none;font-size:20px;line-height:1}.toast-x:hover{opacity:1;background:#1f6b3a1a}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.toast{animation:none}}@media (min-width:1025px){.toast-wrap{bottom:24px}}.site{flex-direction:column;max-width:880px;min-height:100dvh;margin:0 auto;padding:24px 16px 40px;display:flex}.site-top{border-bottom:1px solid var(--rule);justify-content:space-between;align-items:center;padding:8px 0 24px;display:flex}.site-main{flex:1;width:100%;max-width:none;margin:0;padding:40px 0}.site-foot{border-top:1px solid var(--rule);color:var(--muted);padding:20px 0 0;font-size:14px}.site-foot nav{gap:20px;margin-bottom:6px;display:flex}.site-foot a{color:var(--ink);text-underline-offset:3px}.site-foot p{margin:0}.hero h1{font:700 44px/1.05 var(--sign);max-width:16ch;margin:0 0 16px}.hero .lead{color:var(--muted);max-width:56ch;margin:0 0 28px;font-size:19px;line-height:1.5}.hero-actions{flex-wrap:wrap;align-items:center;gap:12px 20px;display:flex}.action.hero-cta{background:var(--tag);border-color:var(--tag);min-height:52px;color:var(--ink);align-items:center;padding:0 24px;font-size:17px;font-weight:600;text-decoration:none;display:inline-flex}.action.hero-cta:hover{background:var(--tag);color:var(--ink);filter:brightness(.95)}.hero-note{color:var(--muted);font-size:15px}.features{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin:56px 0 0;padding:0;list-style:none;display:grid}.features li{background:var(--surface);border:1px solid var(--rule);border-left:4px solid var(--tag);border-radius:8px;padding:16px 18px}.features h2{font:700 24px/1.1 var(--sign);margin:0 0 6px}.features p{color:var(--muted);margin:0;font-size:16px;line-height:1.5}.legal{max-width:68ch}.legal h1{font:700 40px/1.1 var(--sign);margin:0 0 8px}.legal h2{font:700 22px/1.2 var(--sign);margin:32px 0 8px}.legal p,.legal li{color:var(--ink);font-size:16px;line-height:1.6}.legal p{margin:0 0 12px}.legal ul{margin:0 0 12px;padding-left:20px}.legal a{color:var(--ink)}.legal-meta{color:var(--muted)!important;font-size:14px!important}.legal-missing{border:1px dashed var(--danger);border-radius:6px;padding:10px 14px;color:var(--danger)!important}@media (max-width:600px){.hero h1{font-size:36px}.site .site-main{padding:28px 0}}.pf-danger h2{font:700 22px/1.1 var(--sign);margin:0 0 6px}.pf-danger .hh-note{margin:0 0 6px}.consent{border:1px solid var(--rule);border-left:4px solid var(--tag);background:var(--bg);color:var(--ink);cursor:pointer;border-radius:6px;align-items:flex-start;gap:10px;margin-top:4px;padding:12px;font-size:14px;line-height:1.45;display:flex}.consent input{margin-top:1px}.consent a{color:var(--ink)}.diet-sum .ds-warn{color:var(--danger);font-style:normal}.diet-note .diet-warn{color:var(--ink);margin-top:2px;display:block}.app-legal{gap:20px;margin:28px 0 0;font-size:14px;display:flex}.app-legal a{color:var(--muted);text-underline-offset:3px}.gate .topbar{justify-content:flex-start}.gate-title{font:700 36px/1.1 var(--sign);margin:8px 0}.gate-lead{color:var(--muted);margin:0 0 24px;font-size:17px;line-height:1.5}.gate-wait{color:var(--muted);text-align:center;padding:40px 0}.pf-out .hh-note{margin:0 0 10px}.beta{max-width:560px;color:var(--ink);background:#fff8dc;border:1px solid #f1d77a;border-radius:10px;align-items:flex-start;gap:14px;padding:16px 18px;display:flex}.beta-ic{background:var(--tag);width:40px;height:40px;color:var(--ink);border-radius:50%;flex:none;place-items:center;display:grid}.beta-tag{background:var(--ink);color:var(--surface);font:600 13px/1.6 var(--text);letter-spacing:.02em;text-transform:uppercase;border-radius:999px;margin:0 0 6px;padding:2px 10px;display:inline-block}.beta-t{font:600 18px/1.35 var(--text);margin:0}.ld{margin:64px 0 0}.ld-title{font:700 32px/1.1 var(--sign);margin:0 0 20px}.ld-grid{grid-template-columns:minmax(0,1fr) minmax(0,380px);align-items:start;gap:32px;display:grid}.ld-steps{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.ld-step{text-align:left;background:var(--surface);border:1px solid var(--rule);width:100%;color:var(--ink);cursor:pointer;border-radius:10px;align-items:flex-start;gap:14px;padding:14px 16px;transition:border-color .2s,box-shadow .2s;display:flex;position:relative;overflow:hidden}.ld-step:hover{border-color:var(--ink)}.ld-step.on{border-color:var(--ink);box-shadow:0 6px 20px #13294b14}.ld-num{border:1.5px solid var(--ink);width:30px;height:30px;font:600 15px var(--text);border-radius:50%;flex:none;place-items:center;transition:background .2s,color .2s;display:grid}.ld-step.on .ld-num{background:var(--ink);color:var(--tag)}.ld-st{flex-direction:column;gap:3px;display:flex}.ld-stt{font:700 20px/1.2 var(--sign)}.ld-std{color:var(--muted);font-size:15px;line-height:1.45}.ld-progress{background:var(--tag);height:3px;transition:width .65s linear;position:absolute;bottom:0;left:0}.ld-device{background:var(--bg);border:1px solid var(--rule);box-shadow:0 24px 60px #13294b29,inset 0 0 0 6px var(--surface);border-radius:28px;padding:12px;position:relative}.ld-bar{justify-content:space-between;align-items:center;padding:10px 14px 8px;display:flex}.ld-brand{font:700 18px/1 var(--sign)}.ld-tab{background:var(--tag);border-radius:999px;padding:3px 10px;font-size:13px;font-weight:600}.ld-screen{background:var(--surface);border:1px solid var(--rule);border-radius:18px;height:430px;animation:.35s ease-out ld-fade;overflow:hidden}.ld-scene{flex-direction:column;gap:10px;height:100%;padding:16px;font-size:14px;display:flex;position:relative}@keyframes ld-fade{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes ld-in{0%{opacity:0;transform:translateY(10px)scale(.98)}to{opacity:1;transform:none}}@keyframes ld-pop{0%{transform:scale(1)}40%{transform:scale(1.25)}to{transform:scale(1)}}.ld-chips{gap:6px;display:flex}.ld-chip{border:1px solid var(--rule);color:var(--muted);border-radius:999px;padding:5px 10px;font-size:12px}.ld-chip.on{border-color:var(--ink);color:var(--ink);background:#fff8dc;font-weight:600}.ld-search{border:1.5px solid var(--rule);background:var(--bg);border-radius:8px;align-items:center;gap:8px;padding:10px 12px;transition:border-color .2s,box-shadow .2s;display:flex}.ld-search.focus{border-color:var(--ink);box-shadow:0 0 0 3px #ffd23f73}.ld-typed{white-space:nowrap;flex:1;min-width:0;font-weight:500;overflow:hidden}.ld-ph{color:var(--muted);font-weight:400}.ld-caret{background:var(--ink);width:2px;height:16px;animation:.8s step-end infinite ld-blink}@keyframes ld-blink{50%{opacity:0}}.ld-diet{color:var(--muted);margin:0;font-size:12px}.ld-searching{color:var(--muted);align-items:center;gap:8px;padding:8px 0;display:flex}.ld-spin{border:2.5px solid var(--rule);border-top-color:var(--ink);border-radius:50%;width:16px;height:16px;animation:.7s linear infinite ld-rot}@keyframes ld-rot{to{transform:rotate(360deg)}}.ld-results{flex-direction:column;gap:10px;display:flex}.ld-rcard{border:1px solid var(--rule);background:var(--surface);border-radius:10px;gap:10px;padding:8px;animation:.4s ease-out both ld-in;display:flex}.ld-rimg{border-radius:8px;flex:none;width:72px;height:72px}.ld-rimg.a{background:radial-gradient(circle at 35% 35%,#ffb347,#e8743b 60%,#b9512a)}.ld-rimg.b{background:radial-gradient(circle at 60% 40%,#f6d58e,#d9a441 55%,#7a8b52)}.ld-rbody{flex-direction:column;gap:3px;min-width:0;display:flex}.ld-rtitle{font-size:14px;font-weight:600}.ld-rmeta{color:var(--muted);font-size:12px}.ld-rbtn{background:var(--ink);color:var(--surface);border-radius:6px;align-self:flex-start;align-items:center;gap:4px;margin-top:4px;padding:4px 10px;font-size:12px;font-weight:600;transition:transform .15s,background .2s;display:inline-flex}.ld-rbtn.press{transform:scale(.92)}.ld-rbtn.done{background:#1f6b3a}.ld-rbtn.ghost{color:var(--ink);border:1px solid var(--ink);background:0 0}.ld-toast{color:#163f26;background:#e6f2ea;border:1px solid #b9dcc5;border-radius:10px;align-items:center;gap:8px;padding:9px 10px;font-size:13px;font-weight:500;animation:.35s ease-out both ld-in;display:flex;position:absolute;bottom:12px;left:12px;right:12px;box-shadow:0 8px 20px #13294b26}.ld-tic{color:#fff;background:#1f6b3a;border-radius:50%;place-items:center;width:20px;height:20px;display:grid}.ld-listhead{justify-content:space-between;align-items:baseline;display:flex}.ld-h{font:700 20px/1 var(--sign)}.ld-count{color:var(--muted);font-variant-numeric:tabular-nums;font-size:13px}.ld-count.bump{color:var(--ink);font-weight:700;animation:.5s ease-out ld-pop;display:inline-block}.ld-group{border-left:4px solid var(--dept);flex-direction:column;padding-left:10px;animation:.35s ease-out both ld-in;display:flex}.ld-aisle{text-transform:uppercase;letter-spacing:.04em;color:var(--dept);margin:2px 0;font-size:11px;font-weight:700}.ld-item{border-bottom:1px solid var(--rule);align-items:center;gap:8px;padding:6px 0;animation:.35s ease-out both ld-in;display:flex}.ld-box{border:2px solid var(--ink);width:18px;height:18px;color:var(--tag);border-radius:4px;flex:none;place-items:center;transition:background .2s;display:grid}.ld-item.done .ld-box{background:var(--ink)}.ld-item.done .ld-n{color:var(--muted);text-decoration:line-through}.ld-item.home{opacity:.55}.ld-item.home .ld-box{border-color:var(--muted);color:var(--muted)}.ld-item.home .ld-n{text-decoration:line-through}.ld-n{flex:1;min-width:0}.ld-a{color:var(--muted);white-space:nowrap;font-size:12px}.ld-note{background:#fff8dc;border-radius:8px;margin:4px 0 0;padding:8px 10px;font-size:12px;animation:.35s ease-out both ld-in}.ld-scanner{background:#1b2433;border:3px solid #0000;border-radius:12px;place-items:center;height:120px;transition:border-color .25s;display:grid;position:relative;overflow:hidden}.ld-scanner.hit{border-color:#3bb36a}.ld-barcode{background:#fff;border-radius:4px;gap:2px;height:60px;padding:8px 12px;display:flex}.ld-barcode span{background:#111;height:100%;display:block}.ld-scanline{background:#ff4d4d;height:2px;animation:1.1s ease-in-out infinite alternate ld-scan;position:absolute;left:10%;right:10%;box-shadow:0 0 12px 2px #ff4d4db3}@keyframes ld-scan{0%{top:22%}to{top:78%}}.ld-hit{color:#fff;background:#3bb36a;border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-size:12px;font-weight:600;animation:.3s ease-out both ld-in;display:inline-flex;position:absolute;bottom:8px}.ld-dot{background:var(--tag);border-radius:50%;flex:none;width:10px;height:10px}.ld-dot.rest{background:#e8743b}.ld-new{background:linear-gradient(90deg,#ffd23f40,#0000 70%)}@media (max-width:820px){.ld-grid{grid-template-columns:1fr}.ld-device{width:100%;max-width:400px;margin:0 auto}.ld-std{display:none}.ld-steps{flex-direction:row;gap:8px}.ld-steps li{flex:1;min-width:0}.ld-step{text-align:center;flex-direction:column;align-items:center;gap:6px;padding:10px 6px}.ld-stt{font-size:16px}}@media (prefers-reduced-motion:reduce){.ld *,.ld-screen{transition:none!important;animation:none!important}}.ld-lead{color:var(--muted);max-width:60ch;margin:-10px 0 20px;font-size:17px;line-height:1.5}.ld.flip .ld-grid{grid-template-columns:minmax(0,380px) minmax(0,1fr)}.ld.flip .ld-device{order:-1}.ld-label{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-size:11px;font-weight:700}.ld-hhcard{border:1px solid var(--rule);border-left:4px solid var(--tag);background:var(--surface);border-radius:10px;flex-direction:column;gap:8px;padding:12px;display:flex}.ld-hhtop{align-items:center;gap:8px;display:flex}.ld-hhic{background:var(--tag);border-radius:50%;flex:none;place-items:center;width:30px;height:30px;display:grid}.ld-hhname{min-width:0;font:700 18px/1.1 var(--sign);white-space:nowrap;flex:1;align-items:center;gap:2px;display:flex;overflow:hidden}.ld-badge{background:var(--tag);border-radius:999px;flex:none;padding:2px 8px;font-size:11px;font-weight:700;animation:.3s ease-out both ld-in}.ld-code{gap:5px;display:flex}.ld-codech{border:1.5px solid var(--rule);background:var(--bg);border-radius:6px;place-items:center;width:30px;height:36px;font:600 18px ui-monospace,SFMono-Regular,Menlo,monospace;transition:border-color .2s,background .2s;display:grid}.ld-codech.on{border-color:var(--ink);background:var(--surface);animation:.35s ease-out ld-pop}.ld-bubble{color:#fff;background:#2f7cf6;border-radius:14px 14px 4px;align-self:flex-end;max-width:85%;padding:9px 12px;font-size:13px;line-height:1.35;animation:.35s ease-out both ld-in;box-shadow:0 6px 16px #2f7cf640}.ld-members{flex-direction:column;gap:6px;animation:.35s ease-out both ld-in;display:flex}.ld-avs{display:flex}.ld-av{background:var(--tag);width:34px;height:34px;color:var(--ink);font:700 16px/1 var(--sign);border:2px solid var(--surface);border-radius:50%;flex:none;place-items:center;display:grid}.ld-avs .ld-av+.ld-av{margin-left:-8px}.ld-av.kid{background:var(--surface);box-shadow:inset 0 0 0 2px var(--tag)}.ld-av.sm{border:0;width:22px;height:22px;font-size:12px}.ld-av.pop{animation:.5s ease-out ld-pop}.ld-fam{border-bottom:1px solid var(--rule);border-radius:8px;align-items:flex-start;gap:10px;padding:7px 6px;transition:background .2s;animation:.35s ease-out both ld-in;display:flex}.ld-fam.edit{background:#fff8dc}.ld-fwho{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.ld-fn{font-weight:600}.ld-fr,.ld-fd{color:var(--muted);font-size:12px}.ld-fd b{color:var(--ink)}.ld-in{animation:.35s ease-out both ld-in}.ld-pen{color:var(--muted);flex:none;padding-top:4px}.ld-sheet{background:var(--surface);border:1px solid var(--rule);border-radius:14px;flex-direction:column;gap:8px;padding:12px;animation:.35s ease-out both ld-in;display:flex;position:absolute;bottom:10px;left:10px;right:10px;box-shadow:0 -8px 30px #13294b29}.ld-chips.wrap{flex-wrap:wrap}.ld-chip{align-items:center;gap:3px;display:inline-flex}.ld-chip.sel{background:var(--ink);border-color:var(--ink);color:var(--surface);font-weight:600;animation:.35s ease-out ld-pop}.ld-consent{background:var(--bg);border-radius:8px;align-items:center;gap:8px;padding:8px;font-size:12px;animation:.3s ease-out both ld-in;display:flex}.ld-consent.on .ld-box{background:var(--ink)}.ld-sync{color:#1f6b3a;align-items:center;gap:4px;font-size:12px;font-weight:600;display:inline-flex}.ld-sync.pulse svg{animation:.6s ease-out ld-rot}.ld-split{grid-template-columns:1fr 1fr;gap:8px;display:grid}.ld-mini{border:1px solid var(--rule);background:var(--bg);border-radius:12px;flex-direction:column;padding:8px;display:flex}.ld-mini .ld-item{padding:5px 0;font-size:13px}.ld-who{align-items:center;gap:6px;margin-bottom:2px;font-size:12px;font-weight:600;display:flex}.ld-mini .ld-item{animation:none}.ld-mini .ld-item.ld-new{animation:.35s ease-out both ld-in}.ld-mini .ld-item.flash{animation:1.2s ease-out ld-flash}@keyframes ld-flash{0%{background:#ffd23fcc}to{background:0 0}}@media (max-width:820px){.ld.flip .ld-grid{grid-template-columns:1fr}.ld.flip .ld-device{order:0}}.site-icon{border-radius:11px;width:44px;height:44px;box-shadow:0 2px 8px #13294b2e}.invite-bad{border:1px solid var(--danger);background:#fdecea;border-radius:8px;margin:0 0 24px;padding:12px 14px}.inv h2{font:700 22px/1.1 var(--sign);margin:0 0 6px}.inv .hh-note{margin:0 0 10px}.inv-link{border:1px solid var(--rule);border-left:4px solid var(--tag);background:var(--bg);border-radius:8px;flex-direction:column;align-items:flex-start;gap:8px;margin:12px 0 0;padding:12px;display:flex}.inv-link p{margin:0;font-size:15px}.inv-link code{overflow-wrap:anywhere;background:var(--surface);border:1px solid var(--rule);border-radius:6px;max-width:100%;padding:8px;font-size:13px;display:block}.inv-list{margin:12px 0 0;padding:0;list-style:none}.inv-list li{border-bottom:1px solid var(--rule);align-items:center;gap:10px;min-height:44px;display:flex}.inv-mail{overflow-wrap:anywhere;flex:1;min-width:0;font-size:15px}.inv-st{white-space:nowrap;font-size:13px}.inv-st.ok{color:#1f6b3a}.inv-st.off{color:var(--muted)}.inv-st.open{color:var(--ink);font-weight:600}.gate-share{border:1px solid var(--rule);border-left:4px solid var(--tag);background:var(--surface);border-radius:8px;margin:-8px 0 20px;padding:12px 14px;font-size:15px}.input-col .recipes-src{margin-top:12px}.seg.list-sort{margin:12px 0 4px}.group.flat{border-left:0;padding-left:0}.action.recipe-go{justify-content:center;align-items:center;gap:6px;display:inline-flex}
