:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--canvas:#f5f5f7;--surface:#fff;--fill:#efeff2;--fill-2:#e6e6ea;--sep:#e3e3e8;--ink:#1d1d1f;--ink-2:#5e5e66;--ink-3:#86868b;--accent:#0a7c4e;--accent-tint:#e6f4ec;--basket:#c2410c;--basket-tint:#fdefe7;--amber:#8a5300;--amber-tint:#fff3d6;--danger:#c0281c;--danger-tint:#fdecea;--f-body:-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;--f-display:-apple-system,BlinkMacSystemFont,"SF Pro Display","Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;--r:16px;--r-s:10px;--top:52px;--side:300px;--sat:env(safe-area-inset-top,0px);--sab:env(safe-area-inset-bottom,0px);--sal:env(safe-area-inset-left,0px);--sar:env(safe-area-inset-right,0px);--gutter:16px;--ease:cubic-bezier(.2,.8,.2,1);--spring:cubic-bezier(.34,1.4,.64,1);--shadow:0 1px 2px #0000000a,0 4px 16px -8px #00000014;--shadow-lift:0 2px 6px #0000000f,0 18px 40px -18px #00000047}*{box-sizing:border-box}html,body{background:var(--canvas);margin:0}body{color:var(--ink);font-family:var(--f-body);letter-spacing:-.005em;-webkit-font-smoothing:antialiased;font-variant-numeric:tabular-nums;-webkit-tap-highlight-color:transparent;font-size:15px;line-height:1.47;overflow-x:hidden}body:before{content:"";height:var(--sat);z-index:60;background:#f5f5f7f7;position:fixed;inset:0 0 auto}img{max-width:100%}[hidden]{display:none!important}button,input,select,textarea{font:inherit;color:inherit;letter-spacing:inherit}button{cursor:pointer}a{color:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:8px}h1,h2,h3{font-family:var(--f-display);text-wrap:balance;margin:0}h1{letter-spacing:-.025em;font-size:30px;font-weight:700;line-height:1.08}h2{letter-spacing:-.02em;font-size:21px;font-weight:700;line-height:1.2}h3{letter-spacing:-.01em;font-size:17px;font-weight:600;font-family:var(--f-body)}svg.i{stroke:currentColor;fill:none;stroke-width:1.9px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:18px;height:18px}header.top{top:var(--sat);z-index:40;height:var(--top);background:#f5f5f7f7;transition:box-shadow .3s;position:sticky}body.scrolled header.top{box-shadow:0 1px 0 var(--sep)}.top-in{max-width:1320px;height:100%;padding-left:max(var(--gutter),var(--sal));padding-right:max(var(--gutter),var(--sar));grid-template-columns:1fr auto;align-items:center;gap:12px;margin:0 auto;display:grid}.brand{letter-spacing:-.02em;white-space:nowrap;align-items:center;gap:10px;min-width:0;font-size:17px;font-weight:700;display:flex}.logo{border-radius:7px;flex:none;width:26px;height:26px;display:block}.top-title{opacity:0;transition:opacity .25s,transform .35s var(--ease);text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:15px;font-weight:600;display:none;overflow:hidden;transform:translateY(6px)}body.title-up .top-title{opacity:1;transform:none}.brand .sep{background:var(--sep);opacity:0;width:1px;height:16px;transition:opacity .25s;display:none}body.title-up .brand .sep{opacity:1}.top-actions{justify-self:end;align-items:center;gap:8px;display:flex}.avatar{background:var(--fill);width:34px;height:34px;color:var(--ink-2);border:0;border-radius:99px;flex:none;place-items:center;padding:0;font-weight:700;display:grid;overflow:hidden}.avatar img{object-fit:cover;width:100%;height:100%}nav.tabs{z-index:50;left:max(12px,var(--sal));right:max(12px,var(--sar));bottom:calc(10px + var(--sab));-webkit-backdrop-filter:saturate(180%)blur(24px);backdrop-filter:saturate(180%)blur(24px);background:#ffffffc7;border-radius:26px;justify-content:space-around;padding:6px;display:flex;position:fixed;box-shadow:0 0 0 1px #0000000f,0 12px 32px -12px #0000004d}nav.tabs .nav-ind{background:var(--fill);width:0;height:calc(100% - 12px);transition:transform .45s var(--spring),width .45s var(--spring);pointer-events:none;border-radius:20px;position:absolute;top:6px;left:0}nav.tabs button{z-index:1;min-width:0;height:52px;color:var(--ink-2);background:0 0;border:0;border-radius:20px;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;padding:0 2px;font-size:10px;font-weight:600;transition:color .2s;display:flex;position:relative}nav.tabs button svg{width:22px;height:22px}nav.tabs button[aria-current=page]{color:var(--accent)}nav.tabs .badge{background:var(--basket);color:#fff;border-radius:99px;place-items:center;min-width:17px;height:17px;padding:0 5px;font-size:10px;font-weight:700;display:grid;position:absolute;top:4px;right:calc(50% - 24px)}nav.tabs .badge:empty{display:none}.shell{grid-template-columns:minmax(0,1fr);max-width:1320px;margin:0 auto;display:grid}main{min-width:0;padding-block:16px calc(120px + var(--sab));padding-left:max(var(--gutter),var(--sal));padding-right:max(var(--gutter),var(--sar))}.wrap{max-width:1180px;margin:0 auto}aside.side{z-index:70;background:var(--canvas);width:min(360px,88vw);padding:calc(var(--sat) + 16px) 0 0 max(16px,var(--sal));transition:transform .45s var(--ease);visibility:hidden;flex-direction:column;display:flex;position:fixed;top:0;bottom:0;left:0;transform:translate(-102%);box-shadow:20px 0 60px -20px #00000059}body.side-open aside.side{visibility:visible;transform:none}.side-scrim{z-index:65;opacity:0;pointer-events:none;background:#00000047;transition:opacity .3s;position:fixed;inset:0}body.side-open .side-scrim{opacity:1;pointer-events:auto}.side-h{gap:12px;padding:0 12px 12px 4px;display:grid}.side-list{padding:0 12px calc(24px + var(--sab)) 0;-webkit-overflow-scrolling:touch;flex:1;overflow:auto;-webkit-mask-image:linear-gradient(#0000 0,#000 12px calc(100% - 24px),#0000);mask-image:linear-gradient(#0000 0,#000 12px calc(100% - 24px),#0000)}.row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.between{justify-content:space-between}.grow{flex:1;min-width:0}.eyebrow{color:var(--ink-2);font-size:13px;font-weight:600}.muted{color:var(--ink-2)}.small{font-size:13px}.btn{background:var(--fill);white-space:nowrap;height:40px;color:var(--ink);transition:transform .2s var(--spring),background .2s,box-shadow .2s,opacity .2s;border:0;border-radius:99px;justify-content:center;align-items:center;gap:7px;padding:0 16px;font-size:14px;font-weight:600;text-decoration:none;display:inline-flex}.btn:active{transform:scale(.96)}.btn.primary{background:var(--accent);color:#fff}.btn.cng{background:var(--basket);color:#fff;border-radius:14px;width:100%;height:50px;font-size:16px}.btn.cng .cart{display:inline-flex}.btn.ghost{background:0 0}.btn.sm{height:34px;padding:0 12px;font-size:13px}.btn.danger,.btn.danger.ghost{color:var(--danger)}.btn.danger-solid{background:var(--danger);color:#fff}.btn.block{width:100%}.btn:disabled{opacity:.4;cursor:default;transform:none}.ib{background:var(--fill);width:36px;height:36px;color:var(--ink-2);transition:background .2s,color .2s,transform .2s var(--spring);border:0;border-radius:99px;flex:none;place-items:center;padding:0;font-weight:600;display:inline-grid}.ib:active{transform:scale(.88)}.ib.sm{width:30px;height:30px}.ib.ghost{background:0 0}.ib:disabled{opacity:.35}.ib.on{background:var(--accent);color:#fff}.ib.on.miss{background:var(--danger)}.ib.on.sub{background:var(--amber)}input[type=text],input[type=url],input[type=number],input[type=search],input[type=email],select,textarea{background:var(--fill);border:0;border-radius:10px;width:100%;min-width:0;height:42px;padding:0 12px;font-size:16px;transition:box-shadow .2s,background .2s}input::placeholder,textarea::placeholder{color:var(--ink-2)}input:focus,select:focus,textarea:focus{background:var(--surface);box-shadow:0 0 0 2px var(--accent);outline:none}textarea{resize:vertical;height:auto;min-height:110px;padding:10px 12px}.search{position:relative}.search svg{color:var(--ink-3);width:17px;height:17px;position:absolute;top:12px;left:11px}.search input{padding-left:34px}label.f{color:var(--ink-2);gap:6px;font-size:13px;font-weight:600;display:grid}.pill{background:var(--fill);height:22px;color:var(--ink-2);white-space:nowrap;text-overflow:ellipsis;border-radius:99px;align-items:center;gap:4px;max-width:100%;padding:0 9px;font-size:12px;font-weight:600;display:inline-flex;overflow:hidden}.pill.wait{background:var(--amber-tint);color:var(--amber)}.pill.ok{background:var(--accent-tint);color:var(--accent)}.pill.boni{background:var(--basket-tint);color:var(--basket)}.pill.err{background:var(--danger-tint);color:var(--danger)}.lbl{background:var(--fill);height:28px;color:var(--ink-2);white-space:nowrap;transition:background .2s,color .2s,transform .2s var(--spring);border:0;border-radius:99px;align-items:center;padding:0 11px;font-size:12px;font-weight:600;display:inline-flex}button.lbl:active{transform:scale(.95)}button.lbl[aria-pressed=true]{background:var(--ink);color:#fff}.lbls{flex-wrap:wrap;gap:6px;display:flex}.emo{background:var(--lb,var(--fill));border-radius:10px;flex:none;place-items:center;width:44px;height:44px;font-size:20px;line-height:1;display:grid;position:relative;overflow:hidden}.emo img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.seg{background:var(--fill);border-radius:10px;gap:2px;padding:2px;display:flex}.seg button{height:32px;color:var(--ink-2);white-space:nowrap;background:0 0;border:0;border-radius:8px;flex:1;padding:0 10px;font-size:13px;font-weight:600;transition:background .25s,color .2s,box-shadow .25s}.seg button[aria-pressed=true]{background:var(--surface);color:var(--ink);box-shadow:0 1px 2px #00000014,0 2px 6px -2px #00000014}.card{background:var(--surface);border-radius:var(--r);box-shadow:var(--shadow)}.empty{background:var(--surface);border-radius:var(--r);text-align:center;color:var(--ink-2);justify-items:center;gap:10px;padding:40px 20px;display:grid}.empty b{color:var(--ink);font-size:17px}.banner{background:var(--amber-tint);color:var(--ink);border-radius:14px;align-items:flex-start;gap:12px;margin-bottom:20px;padding:12px 16px;font-size:14px;display:flex}.banner.err{background:var(--danger-tint)}.kbd{background:var(--fill);-webkit-user-select:all;user-select:all;border-radius:7px;padding:0 7px;font-weight:600;display:inline-block}.divider{background:var(--sep);height:1px}.stepper{align-items:center;gap:6px;display:inline-flex}.stepper b{text-align:center;min-width:18px;font-weight:600}.spin{vertical-align:-2px;border:2px solid;border-right-color:#0000;border-radius:50%;flex:none;width:14px;height:14px;animation:.8s linear infinite sp;display:inline-block}.grp{margin-top:4px}.grp-h{width:100%;color:var(--ink-2);text-align:left;background:0 0;border:0;align-items:center;gap:8px;padding:14px 8px 6px;font-size:13px;font-weight:600;display:flex}.grp-h .n{margin-left:auto;font-weight:500}.grp-h .chev{transition:transform .3s var(--ease);width:15px;height:15px}.grp.closed .chev{transform:rotate(-90deg)}.grp.closed .grp-b{display:none}.rrow{-webkit-user-select:none;user-select:none;transition:background .2s,transform .25s var(--spring);cursor:pointer;border-radius:12px;align-items:center;gap:12px;padding:7px 8px;display:flex}.rrow:active{transform:scale(.98)}.rrow .tx{flex:1;min-width:0}.rrow .t{white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:600;line-height:1.3;overflow:hidden}.rrow .m{color:var(--ink-2);white-space:nowrap;text-overflow:ellipsis;margin-top:1px;font-size:12px;overflow:hidden}.rrow .m b{color:var(--accent);font-weight:600}.grip{color:var(--ink-3);touch-action:none;cursor:grab;opacity:.7;place-items:center;padding:8px 4px;display:grid}.btn.idx{background:var(--accent-tint);width:100%;color:var(--accent);justify-content:flex-start}.view-h{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px 16px;margin-bottom:20px;display:flex}.view-h .eyebrow{margin-bottom:4px}.weeknav{align-items:center;gap:6px;display:flex}.week-tools{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 14px;width:100%;display:flex}.side-toggle[aria-pressed=true]{background:var(--ink);color:#fff}.days{gap:6px;display:grid}.day{border-radius:var(--r);transition:background .3s,box-shadow .3s,transform .3s var(--spring);background:0 0;gap:10px;padding:12px;display:grid}.day.today{background:var(--surface);box-shadow:var(--shadow)}.day.over{background:var(--accent-tint);box-shadow:0 0 0 2px var(--accent);transform:scale(1.01)}.day-l{align-items:baseline;gap:8px;display:flex}.day-l b{letter-spacing:-.015em;font-size:17px;font-weight:700;line-height:1.1}.day-l span{color:var(--ink-2);font-size:13px}.day-l .tag-today{background:var(--accent);color:#fff;letter-spacing:.02em;border-radius:99px;width:max-content;padding:1px 8px;font-size:11px;font-weight:700;display:inline-flex}.meals{grid-template-columns:1fr;gap:10px;display:grid}.meal{background:var(--surface);box-shadow:var(--shadow);min-height:76px;transition:box-shadow .3s,transform .3s var(--spring);border-radius:14px;grid-template-columns:64px minmax(0,1fr) auto;align-items:center;gap:12px;padding:6px 4px 6px 6px;display:grid}.day.today .meal{box-shadow:0 0 0 1px var(--sep)}.meal .emo{width:64px;height:64px;font-size:26px}.meal .t{-webkit-line-clamp:2;cursor:pointer;-webkit-box-orient:vertical;font-size:15px;font-weight:600;line-height:1.3;display:-webkit-box;overflow:hidden}.meal .ctl{justify-content:space-between;align-items:center;gap:6px;margin-top:4px;display:flex}.meal .ctl .stepper{color:var(--ink-2);font-size:13px}.meal .ctl .stepper b{color:var(--ink)}.meal .grip{align-self:stretch}.add-slot{border:1.5px dashed var(--fill-2);min-height:52px;color:var(--ink-2);background:0 0;border-radius:14px;justify-content:center;align-items:center;gap:6px;font-size:13px;font-weight:600;transition:border-color .2s,color .2s,background .2s;display:flex}.add-slot:active{border-color:var(--accent);color:var(--accent);background:var(--accent-tint)}.week-foot{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:24px;padding:0 4px;display:flex}.list-grid{grid-template-columns:minmax(0,1fr);align-items:start;gap:24px;padding-bottom:84px;display:grid}.aisle{margin-bottom:22px}.aisle-h{align-items:baseline;gap:10px;margin:0 4px 8px;display:flex}.aisle-h h3{color:var(--ink-2);font-size:15px;font-weight:600}.aisle-h .n{color:var(--ink-2);margin-left:auto;font-size:13px}.items{background:var(--surface);border-radius:var(--r);box-shadow:var(--shadow);overflow:hidden}.item{grid-template-columns:26px minmax(0,1fr) auto 30px;align-items:center;gap:10px;padding:12px 8px 12px 14px;transition:background .2s,opacity .3s;display:grid;position:relative}.item+.item:before{content:"";background:var(--sep);height:1px;position:absolute;top:0;left:50px;right:0}.item .nm{font-weight:600;transition:color .3s}.item .sub{color:var(--ink-2);flex-wrap:wrap;align-items:center;gap:6px;min-width:0;margin-top:2px;font-size:12px;display:flex}.item .sub .pill{height:20px;padding:0 7px;font-size:11px}.item .q{text-align:right;white-space:nowrap;justify-content:flex-end;align-items:center;gap:6px;font-size:14px;font-weight:600;display:flex}.item .q input{text-align:right;width:56px;height:34px;padding:0 6px}.item.have .nm{color:var(--ink-3);text-decoration:line-through;text-decoration-thickness:1.5px}.item.have .q,.item.have .sub{opacity:.45}.pantry .aisle-h h3{color:var(--amber)}.pantry-tx{margin:-2px 4px 10px}.pantry .items{box-shadow:var(--shadow),inset 0 0 0 1.5px var(--amber-tint)}.item.pan{grid-template-columns:22px minmax(0,1fr) auto}.item.pan .sub{display:block}.item.pan .sub b{color:var(--ink);font-weight:600}.item.pan .pact{gap:6px;display:flex}.item.pan .pact .btn:not(.ghost){justify-content:center;width:40px;padding:0}.item.pan .pact .btn:not(.ghost) span{display:none}@media (min-width:430px){.item.pan .pact .btn:not(.ghost){width:auto;padding:0 12px}.item.pan .pact .btn:not(.ghost) span{display:inline}}.pdot{border:1.5px solid var(--amber);color:#fff;border-radius:50%;place-items:center;width:22px;height:22px;display:grid}.pdot .i{width:14px;height:14px}.item.pan.have .pdot{background:var(--accent);border-color:var(--accent)}.item.pan+.item.pan:before{left:46px}.pantry-all{margin:8px 4px 0}.item .sub button.pill{cursor:pointer;font:inherit;border:0;font-size:11px;font-weight:600}a.stat.check{background:var(--amber-tint);color:inherit;text-decoration:none}a.stat.check b{color:var(--amber)}.chk{appearance:none;border:1.5px solid var(--ink-3);cursor:pointer;width:24px;height:24px;transition:background .25s,border-color .25s,transform .25s var(--spring);border-radius:99px;place-items:center;margin:0;display:grid}.chk:active{transform:scale(.85)}.chk:after{content:"";width:5px;height:10px;transition:transform .3s var(--spring);border:2px solid #fff;border-width:0 2px 2px 0;margin-top:-2px;transform:rotate(45deg)scale(0)}.chk:checked{background:var(--accent);border-color:var(--accent)}.chk:checked:after{transform:rotate(45deg)scale(1)}.panel{gap:14px;padding:18px;display:grid}.stats{grid-template-columns:1fr 1fr;gap:8px;display:grid}.stat{background:var(--fill);border-radius:12px;padding:10px 12px}.stat b{letter-spacing:-.02em;font-size:24px;font-weight:700;line-height:1.15;display:block}.stat span{color:var(--ink-2);font-size:12px}.stat.ok b{color:var(--accent)}.stat.sub b{color:var(--amber)}.stat.miss b{color:var(--danger)}.clearbox{gap:2px;display:grid}.clearbox .btn{justify-content:flex-start}.job{background:var(--basket-tint);border-radius:14px;gap:8px;padding:14px;display:grid}.pbar{background:#fffc;border-radius:3px;height:6px;overflow:hidden}.pbar i{background:var(--basket);height:100%;transition:width .6s var(--ease);border-radius:3px;display:block}.cta-m{left:0;right:0;bottom:calc(80px + var(--sab));z-index:45;padding:10px max(16px,var(--sar)) 6px max(16px,var(--sal));position:fixed}.chips{scrollbar-width:none;margin-bottom:16px;margin-inline:calc(-1 * var(--gutter));padding-inline:var(--gutter);gap:6px;padding-bottom:2px;display:flex;overflow-x:auto}.chips::-webkit-scrollbar{display:none}.chip{background:var(--surface);height:34px;box-shadow:inset 0 0 0 1px var(--sep);color:var(--ink);white-space:nowrap;transition:background .2s,color .2s,box-shadow .2s,transform .2s var(--spring);border:0;border-radius:99px;flex:none;align-items:center;gap:6px;padding:0 13px;font-size:13px;font-weight:600;display:inline-flex}.chip:active{transform:scale(.95)}.chip[aria-pressed=true]{background:var(--ink);color:#fff;box-shadow:none}.chip .n{color:var(--ink-2);font-weight:500}.chip[aria-pressed=true] .n{color:#ffffffb3}.book-tools{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:14px;display:flex}.book-tools .search{flex:240px}.pcat{background:var(--surface);border-radius:var(--r);box-shadow:var(--shadow);margin-bottom:12px;overflow:hidden}.pcat-h{text-align:left;background:0 0;border:0;align-items:center;gap:12px;width:100%;padding:14px 16px;display:flex}.pcat-t{flex:1;min-width:0;display:grid}.pcat-t b{letter-spacing:-.01em;font-size:17px;font-weight:600}.pcat-t small{color:var(--ink-2);font-size:12px}.pcat-h .chev{transition:transform .3s var(--ease);color:var(--ink-3)}.pcat.closed .chev{transform:rotate(-90deg)}.pcat.closed .pcat-b{display:none}.prow{border-top:1px solid var(--sep);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:4px 12px;padding:12px 16px;display:grid}.prow .pn b{font-weight:600;display:block}.prow .pn small,.prow .pd small{color:var(--ink-2);font-size:12px}.prow .pd{color:var(--ink-2);grid-column:1;min-width:0;font-size:13px}.prow .pc{color:var(--ink-2);grid-column:1;align-items:center;gap:10px;font-size:12px;display:flex}.prow .pa{grid-area:1/2/span 3;align-items:center;gap:4px;display:flex}.bar{background:var(--fill);vertical-align:middle;border-radius:2px;width:48px;height:4px;display:inline-block;overflow:hidden}.bar i{background:var(--accent);border-radius:2px;height:100%;display:block}.movecat{width:34px;height:34px;color:var(--ink-2);text-align:center;cursor:pointer;appearance:none;background:0 0;border-radius:99px;padding:0;font-size:15px;font-weight:700}.book-sec{margin-bottom:36px}.book-sec-h{align-items:baseline;gap:10px;margin:0 2px 14px;display:flex}.book-sec-h h2{font-size:22px}.book-sec-h .n{color:var(--ink-2);font-size:15px;font-weight:500}.book{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 14px;display:grid}.bcard{cursor:pointer;text-align:left;color:inherit;background:0 0;border:0;flex-direction:column;gap:8px;min-width:0;padding:0;display:flex;position:relative}.ph{aspect-ratio:4/3;background:var(--lb,var(--fill));border-radius:var(--r);max-width:100%;box-shadow:var(--shadow);transition:box-shadow .4s var(--ease),transform .4s var(--spring);place-items:center;display:grid;position:relative;overflow:hidden}.bcard:active .ph{transform:scale(.98)}.ph img{object-fit:cover;width:100%;height:100%;transition:transform .8s var(--ease);position:absolute;inset:0}.ph .big-emo{transition:transform .5s var(--spring);font-size:44px}.ph .badge-time{z-index:1;color:var(--ink);background:#ffffffd9;border-radius:99px;padding:2px 8px;font-size:11px;font-weight:600;position:absolute;bottom:8px;left:8px}.bbody{gap:2px;min-width:0;padding:0 2px;display:grid}.bbody .eyebrow{font-size:12px}.bbody h3{font-size:15px;font-weight:600;line-height:1.28}.bsub{color:var(--ink-2);-webkit-line-clamp:1;-webkit-box-orient:vertical;font-size:13px;line-height:1.35;display:-webkit-box;overflow:hidden}.bmeta{color:var(--ink-2);flex-wrap:wrap;gap:10px;margin-top:2px;font-size:12px;display:flex}.bcard.sel .ph{box-shadow:0 0 0 3px var(--danger)}.selbox{z-index:2;width:26px;height:26px;box-shadow:inset 0 0 0 1.5px var(--ink-3);color:#fff;background:#ffffffe6;border-radius:99px;place-items:center;font-size:13px;font-weight:800;display:grid;position:absolute;top:10px;left:10px}.bcard.sel .selbox{background:var(--danger);box-shadow:none;animation:pop .35s var(--spring)}.selbar{top:calc(var(--sat) + var(--top) + 8px);z-index:5;color:#fff;animation:rise .35s var(--ease) both;box-shadow:var(--shadow-lift);background:#1d1d1feb;border-radius:16px;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:18px;padding:8px 10px 8px 16px;display:flex;position:sticky}.selbar .btn.ghost{color:#fff}.hist-grid{grid-template-columns:minmax(0,1fr);align-items:start;gap:24px;display:grid}.wk{gap:14px;padding:16px;display:grid}.wk.current{box-shadow:0 0 0 2px var(--accent),var(--shadow)}.wk-days{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.wk-d{background:var(--fill);border-radius:10px;align-content:start;gap:4px;min-height:56px;padding:8px;display:grid}.wk-d .dn{color:var(--ink-2);font-size:11px;font-weight:600}.wk-d .ml{gap:4px;font-size:12px;font-weight:500;line-height:1.3;display:flex}.top-list{gap:12px;display:grid}.top-item{grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:12px;display:grid}.top-item .bar{width:100%;margin:6px 0 0}.scrim{z-index:90;background:#00000047;justify-content:center;align-items:flex-end;animation:.25s both fade;display:flex;position:fixed;inset:0}.sheet{background:var(--surface);overscroll-behavior:contain;width:100%;max-height:92dvh;padding:26px max(18px,var(--sar)) calc(24px + var(--sab)) max(18px,var(--sal));animation:up .45s var(--spring) both;border-radius:24px 24px 0 0;align-content:start;gap:18px;display:grid;position:relative;overflow:auto;box-shadow:0 30px 80px -20px #00000059}.sheet:before{content:"";background:var(--fill-2);border-radius:3px;width:36px;height:5px;margin-left:-18px;position:absolute;top:8px;left:50%}.sheet-h{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.grid2{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.grid2 .full{grid-column:1/-1}.ing-edit{gap:6px;display:grid}.ing-row{grid-template-columns:62px 74px minmax(0,1fr) 36px;gap:6px;display:grid}.steps{gap:8px;margin:0;padding-left:20px;display:grid}.dz{border:1.5px dashed var(--fill-2);text-align:center;color:var(--ink-2);border-radius:16px;justify-items:center;gap:6px;padding:28px 16px;transition:border-color .2s,background .2s;display:grid}.dz.over{border-color:var(--accent);background:var(--accent-tint)}.daypick{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.daypick .btn{border-radius:14px;flex-direction:column;align-items:flex-start;gap:0;height:auto;padding:12px 14px}.pick-list{gap:2px;max-height:55dvh;display:grid;overflow:auto}.metas{color:var(--ink-2);flex-wrap:wrap;gap:6px 16px;font-size:13px;display:flex}.metas b{color:var(--ink)}.rpage{z-index:75;background:var(--surface);overscroll-behavior:contain;padding-top:var(--sat);animation:up .45s var(--ease) both;position:fixed;inset:0;overflow:auto}.rp-bar{z-index:2;padding-block:10px;padding-left:max(12px,var(--sal));padding-right:max(12px,var(--sar));background:#fffffff0;align-items:center;gap:8px;display:flex;position:sticky;top:0}.rp-bar .sp{flex:1}.rp-in{max-width:1080px;padding-block:8px calc(60px + var(--sab));padding-left:max(var(--gutter),var(--sal));padding-right:max(var(--gutter),var(--sar));gap:28px;margin:0 auto;display:grid}.rp-hero{gap:20px;display:grid}.rp-hero .ph{aspect-ratio:4/3;box-shadow:var(--shadow-lift);border-radius:20px}.rp-hero .ph img{transition:none}.rp-hero .ph .big-emo{font-size:96px}.rp-title{align-content:center;gap:12px;display:grid}.rp-title h1{letter-spacing:-.03em;font-size:30px;line-height:1.06}.rp-sub{color:var(--ink-2);font-size:17px;line-height:1.35}.rp-facts{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.rp-facts .stat b{font-size:19px}.rp-cols{gap:28px;display:grid}.rp-ings{background:var(--canvas);border-radius:20px;gap:2px;padding:18px;display:grid}.rp-ing{border-bottom:1px solid var(--sep);grid-template-columns:72px minmax(0,1fr);gap:12px;padding:9px 0;font-size:15px;display:grid}.rp-ing:last-child{border-bottom:0}.rp-ing .q{text-align:right;font-weight:600}.rp-ing small{color:var(--ink-2);font-size:12px;display:block}.rp-steps{counter-reset:st;gap:20px;margin:0;padding:0;list-style:none;display:grid}.rp-steps li{counter-increment:st;grid-template-columns:34px minmax(0,1fr);gap:14px;font-size:16px;line-height:1.6;display:grid}.rp-steps li:before{content:counter(st);background:var(--accent-tint);width:30px;height:30px;color:var(--accent);border-radius:50%;place-items:center;margin-top:1px;font-size:14px;font-weight:700;display:grid}.rp-steps b{font-weight:600}.ph-actions{z-index:2;flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex;position:absolute;bottom:10px;right:10px}.ph-actions .btn{background:#ffffffe6}.sec-h{font-family:var(--f-display);margin-bottom:14px;font-size:20px;font-weight:700}.bk-top{gap:12px;display:grid}.bk-list{gap:8px;display:grid}.bk{background:var(--surface);box-shadow:var(--shadow);border-radius:14px;grid-template-columns:minmax(0,1fr);align-items:center;gap:10px;padding:12px 12px 12px 14px;transition:background .2s,opacity .2s;display:grid}.bk .nm{font-weight:600;line-height:1.3}.bk .qy{color:var(--ink-2);flex-wrap:wrap;align-items:center;gap:6px;margin-top:2px;font-size:13px;display:flex}.bk .qy b{color:var(--ink)}.bk .acts{align-items:center;gap:6px;display:flex}.bk .go{justify-content:space-between;align-items:center;gap:8px;display:flex}.bk .acts .ib{width:40px;height:40px}.bk.ok{background:#f3faf6}.bk.ok .nm{color:var(--ink-2)}.bk.miss{background:var(--danger-tint)}.bk.sub{background:var(--amber-tint)}.bk .subin{gap:6px;display:flex}.bk-sec{gap:8px;margin-top:8px;display:grid}.fillbar{background:var(--surface);border-radius:var(--r);box-shadow:var(--shadow-lift);align-items:center;gap:12px;margin-bottom:20px;padding:12px 14px 12px 16px;display:flex}.fillbar .tx{flex:1;min-width:0;font-size:14px}.login{min-height:100dvh;padding:24px max(20px,var(--sar)) calc(24px + var(--sab)) max(20px,var(--sal));place-items:center;display:grid}.login-card{text-align:center;justify-items:center;gap:18px;width:min(400px,100%);padding:36px 24px;display:grid}.login-card .logo{width:72px;height:72px;box-shadow:var(--shadow-lift);border-radius:18px}.gbtn{background:var(--ink);color:#fff;border:0;border-radius:99px;justify-content:center;align-items:center;gap:10px;width:100%;height:48px;font-size:16px;font-weight:600;display:inline-flex}.gbtn svg{width:20px;height:20px}.boot{min-height:70dvh;color:var(--ink-2);place-items:center;display:grid}.drag-ghost{z-index:100;pointer-events:none;box-shadow:var(--shadow-lift);background:var(--surface);border-radius:14px;width:240px;position:fixed;transform:translate(-50%,-50%)rotate(-2deg)scale(1.04)}.anim .ai{animation:rise .5s var(--ease) both;animation-delay:calc(var(--i,0) * 30ms)}.pop{animation:pop .5s var(--spring) both}.flash{animation:1.1s both flash}.bump{animation:bump .45s var(--spring)}.toast{left:50%;bottom:calc(92px + var(--sab));color:#fff;z-index:210;width:max-content;max-width:calc(100% - 32px);animation:toast .45s var(--spring) both;box-shadow:var(--shadow-lift);background:#1d1d1ff0;border-radius:22px;align-items:center;gap:12px;padding:12px 18px;font-size:14px;font-weight:600;display:flex;position:fixed;transform:translate(-50%)}.toast button{color:#7ee2b0;white-space:nowrap;background:0 0;border:0;padding:0;font-weight:700}@keyframes rise{0%{opacity:0;transform:translateY(8px)}}@keyframes pop{0%{opacity:0;transform:scale(.85)}to{opacity:1;transform:none}}@keyframes flash{0%{background:var(--accent-tint)}to{background:0 0}}@keyframes bump{50%{transform:scale(1.3)}}@keyframes wiggle{25%{transform:rotate(-10deg)}50%{transform:rotate(8deg)}75%{transform:rotate(-4deg)}}@keyframes up{0%{opacity:0;transform:translateY(24px)}}@keyframes fade{0%{opacity:0}}@keyframes toast{0%{opacity:0;transform:translate(-50%,16px)scale(.96)}}@keyframes sp{to{transform:rotate(360deg)}}::view-transition-old(root){animation:.2s var(--ease) both vt-out}::view-transition-new(root){animation:.3s var(--ease) both vt-in}@keyframes vt-out{to{opacity:0;transform:translateY(-6px)}}@keyframes vt-in{0%{opacity:0;transform:translateY(10px)}}::view-transition-group(hero){animation-duration:.5s;animation-timing-function:var(--ease)}::view-transition-old(hero){object-fit:cover;height:100%}::view-transition-new(hero){object-fit:cover;height:100%}::view-transition-group(topbar){animation:none}::view-transition-group(tabbar){animation:none}header.top{view-transition-name:topbar}nav.tabs{view-transition-name:tabbar}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}::view-transition-group(*){animation:none!important}::view-transition-old(*){animation:none!important}::view-transition-new(*){animation:none!important}}@media (prefers-reduced-transparency:reduce){nav.tabs{background:var(--surface);-webkit-backdrop-filter:none!important;backdrop-filter:none!important}}@media (prefers-contrast:more){:root{--ink-2:#3f3f46;--sep:#c7c7ce}.card,.items,.pcat,.meal,.bk{box-shadow:0 0 0 1px #a1a1aa}}@media (min-width:600px){:root{--gutter:24px}.book{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:24px 18px}.meals{grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}.wk-days{grid-template-columns:repeat(4,minmax(0,1fr))}.daypick{grid-template-columns:repeat(auto-fill,minmax(130px,1fr))}.prow{grid-template-rows:auto;grid-template-columns:minmax(0,1.2fr) minmax(0,1.4fr) 110px auto}.prow .pd,.prow .pc{grid-column:auto}.prow .pa{grid-area:auto}.scrim{align-items:center;padding:24px}.sheet{border-radius:24px;width:min(680px,100%);padding:24px}.sheet:before{display:none}.rp-title h1{font-size:40px}}@media (min-width:861px){:root{--top:60px}h1{font-size:clamp(30px,3.2vw,40px)}header.top{-webkit-backdrop-filter:saturate(180%)blur(20px);backdrop-filter:saturate(180%)blur(20px);background:#f5f5f7cc}.top-in{padding-left:max(20px,var(--sal));padding-right:max(20px,var(--sar));grid-template-columns:1fr auto 1fr;gap:16px}.top-title,.brand .sep{display:block}nav.tabs{background:var(--fill);-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:none;view-transition-name:none;border-radius:12px;gap:2px;padding:3px;position:relative;bottom:auto;left:auto;right:auto}nav.tabs .nav-ind{background:var(--surface);border-radius:9px;height:calc(100% - 6px);top:3px;box-shadow:0 1px 2px #00000014,0 2px 8px -2px #00000014}nav.tabs button{border-radius:9px;flex-direction:row;flex:none;gap:7px;height:34px;padding:0 14px;font-size:14px}nav.tabs button svg{display:none}nav.tabs button[aria-current=page]{color:var(--ink)}nav.tabs .badge{min-width:18px;height:18px;font-size:11px;position:static}main{padding-block:28px 80px;padding-left:max(28px,var(--sal));padding-right:max(28px,var(--sar))}.toast{bottom:calc(28px + var(--sab))}.btn{height:36px}.btn.sm{height:30px}.ib{width:32px;height:32px}.ib.sm{width:28px;height:28px}input[type=text],input[type=url],input[type=number],input[type=search],input[type=email],select{height:38px;font-size:15px}.view-h{margin-bottom:28px}.week-tools{width:auto}body[data-tab=week]:not(.side-collapsed) .shell{grid-template-columns:var(--side) minmax(0,1fr)}aside.side{top:calc(var(--sat) + var(--top));height:calc(100vh - var(--top) - var(--sat));z-index:auto;width:auto;box-shadow:none;visibility:visible;padding:20px 0 0 max(20px,var(--sal));animation:sidein .45s var(--ease) both;background:0 0;transition:none;display:none;position:sticky;transform:none}body[data-tab=week]:not(.side-collapsed) aside.side{display:flex}.side-scrim{display:none}.side-close{display:none!important}.rrow{cursor:grab}.rrow:hover{background:var(--surface);box-shadow:var(--shadow)}.rrow .grip{opacity:0}.rrow:hover .grip{opacity:1}.day{grid-template-columns:120px minmax(0,1fr);gap:16px;padding:14px 14px 14px 18px}.day:hover{background:var(--surface);box-shadow:var(--shadow)}.day:hover .meal{box-shadow:0 0 0 1px var(--sep)}.day-l{gap:1px;padding-top:9px;display:grid}.day-l .tag-today{margin-top:4px}.meal{cursor:grab;grid-template-columns:64px minmax(0,1fr);padding:6px 8px 6px 6px}.meal:hover{transform:translateY(-2px);box-shadow:var(--shadow-lift)!important}.meal .t:hover{color:var(--accent)}.meal .grip{display:none}.meal .ctl>.ib{opacity:0;transition:opacity .2s}.meal:hover .ctl>.ib,.meal:focus-within .ctl>.ib{opacity:1}.add-slot{min-height:76px}.add-slot:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-tint)}.meals .add-slot:not(:only-child){opacity:0;transition:opacity .2s,border-color .2s,color .2s,background .2s}.day:hover .add-slot,.day.over .add-slot,.add-slot:focus-visible{opacity:1!important}.item:hover{background:#fafafb}.item>.ib{opacity:0}.item:hover>.ib,.item:focus-within>.ib{opacity:1}.book{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:28px 22px}.bcard:hover .ph{box-shadow:var(--shadow-lift);transform:translateY(-3px)}.bcard:hover .ph img{transform:scale(1.04)}.bcard:hover .ph .big-emo{transform:scale(1.1)rotate(-6deg)}.ph .big-emo{font-size:56px}.wk-days{grid-template-columns:repeat(7,minmax(0,1fr))}.rp-hero{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);align-items:center;gap:40px}.rp-hero .ph{aspect-ratio:5/4;border-radius:24px}.rp-hero .ph .big-emo{font-size:110px}.rp-title h1{font-size:clamp(30px,4vw,46px)}.rp-cols{grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);gap:48px}.rp-ings{padding:22px;position:sticky;top:76px}.rp-in{gap:40px;padding-top:20px}.bk-list{grid-template-columns:repeat(auto-fill,minmax(420px,1fr))}.chips{flex-wrap:wrap;margin-inline:0;padding-inline:0;overflow:visible}}@media (min-width:861px) and (hover:none){.meal .grip{display:grid}.meal{grid-template-columns:64px minmax(0,1fr) auto}.meal .ctl>.ib,.item>.ib,.meals .add-slot:not(:only-child){opacity:1}}@media (min-width:1101px){.list-grid{grid-template-columns:minmax(0,1fr) 340px;gap:28px;padding-bottom:0}.hist-grid{grid-template-columns:minmax(0,1fr) 320px;gap:28px}.panel{top:calc(var(--sat) + var(--top) + 20px);max-height:calc(100vh - var(--top) - 48px);padding:20px;position:sticky;overflow:auto}.cta-m{display:none}}@media (min-width:861px) and (max-width:1100px){.top-in{grid-template-columns:auto 1fr auto}.top-title,.brand .sep{display:none}nav.tabs{justify-self:center}.cta-m{bottom:var(--sab);background:linear-gradient(to top,var(--canvas) 65%,transparent);padding-bottom:calc(10px + var(--sab))}}@keyframes sidein{0%{opacity:0;transform:translate(-12px)}}
