:root{--bg: #f2f4ef;--surface: #ffffff;--surface-2: #e8ece5;--line: #d6ddd3;--fg: #16201a;--muted: #5d6a61;--accent: #1f6b47;--accent-fg: #ffffff;--accent-soft: #dcebe1;--tag: #f5d23f;--tag-fg: #1b1a10;--promo: #c93d24;--warn-bg: #fff3d6;--warn-fg: #7a4b00;--art-bg: #e9e4d8;--m-p: #2f7fd1;--m-f: #e0a21a;--m-c: #3aa16a;--m-fib: #a0785a;--av1: #1f6b47;--av2: #c4572d;--av3: #5160c9;--av4: #a2407f;--av-fg: #ffffff;--font-display: "Unbounded", "Onest", system-ui, sans-serif;--font-body: "Onest", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--r-sm: 10px;--r-md: 16px;--r-lg: 22px;--gutter: 16px;--shadow: 0 1px 2px rgb(20 40 28 / .06), 0 6px 18px rgb(20 40 28 / .06);--safe-top: max(env(safe-area-inset-top, 0px), var(--tg-content-safe-area-inset-top, 0px));--safe-bottom: max(env(safe-area-inset-bottom, 0px), var(--tg-safe-area-inset-bottom, 0px))}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){--bg: #0e1411;--surface: #17201b;--surface-2: #1f2a24;--line: #2a372f;--fg: #e7eee9;--muted: #95a39a;--accent: #5cc08b;--accent-fg: #07130c;--accent-soft: #1d3428;--tag: #e8c537;--tag-fg: #17150a;--promo: #ff7a5e;--warn-bg: #3a2e12;--warn-fg: #f3cf7a;--art-bg: #26302a;--m-p: #6aa9ec;--m-f: #f0bd4a;--m-c: #62c48e;--m-fib: #c19f80;--av1: #2e8a5d;--av2: #c96a43;--av3: #6b78d8;--av4: #b75a95;--shadow: 0 1px 2px rgb(0 0 0 / .3);color-scheme:dark}}:root[data-theme=dark]{--bg: #0e1411;--surface: #17201b;--surface-2: #1f2a24;--line: #2a372f;--fg: #e7eee9;--muted: #95a39a;--accent: #5cc08b;--accent-fg: #07130c;--accent-soft: #1d3428;--tag: #e8c537;--tag-fg: #17150a;--promo: #ff7a5e;--warn-bg: #3a2e12;--warn-fg: #f3cf7a;--art-bg: #26302a;--m-p: #6aa9ec;--m-f: #f0bd4a;--m-c: #62c48e;--m-fib: #c19f80;--av1: #2e8a5d;--av2: #c96a43;--av3: #6b78d8;--av4: #b75a95;--shadow: 0 1px 2px rgb(0 0 0 / .3);color-scheme:dark}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}html,body{margin:0;min-height:100%}body{background:var(--bg);color:var(--fg);font-family:var(--font-body);font-size:15px;line-height:1.45;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;overflow-x:hidden;overscroll-behavior-y:none;overflow-wrap:break-word}button,a,input,label,[role=button]{touch-action:manipulation}button{font:inherit;color:inherit;-webkit-user-select:none;user-select:none}input,select,textarea{font:inherit;font-size:16px}img,svg{max-width:100%}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.block{display:block}.ellipsis{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.cap{text-transform:capitalize}.app{max-width:480px;margin:0 auto;min-height:100vh;display:flex;flex-direction:column;overflow-x:clip;padding-top:var(--tg-content-safe-area-inset-top, 0px)}.screen{flex:1;display:flex;flex-direction:column;gap:18px;padding-inline:var(--gutter);padding-block:12px 24px;min-width:0}.screen>*{min-width:0}.screen.with-nav{padding-bottom:calc(92px + var(--safe-bottom))}.screen.with-cta{padding-bottom:calc(150px + var(--safe-bottom))}.brand{font-family:var(--font-display);font-weight:700;letter-spacing:-.01em}.brand-row{display:inline-flex;align-items:center;gap:10px}.brand-icon{width:28px;height:28px;border-radius:8px}.h1{font-family:var(--font-display);font-weight:700;font-size:24px;line-height:1.15;margin:0;text-wrap:balance;letter-spacing:-.01em}.h2{font-size:18px;font-weight:700;margin:0;text-wrap:balance}.sub{color:var(--muted);margin:6px 0 0}.eyebrow{display:flex;align-items:center;gap:5px;font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.muted{color:var(--muted)}.small{font-size:13px}.num{font-variant-numeric:tabular-nums}.ico-txt{display:inline-flex;align-items:center;gap:6px;min-width:0}.topbar{display:flex;align-items:center;gap:10px;min-height:40px}.topbar .title{flex:1;font-weight:600;min-width:0}.icon-btn{width:40px;height:40px;flex:none;border-radius:50%;border:0;background:var(--surface-2);display:grid;place-items:center;cursor:pointer}.icon-btn.square{width:52px;height:52px;border-radius:14px}.progress{display:grid;gap:4px}.progress span{height:4px;border-radius:2px;background:var(--line);transition:background .25s}.progress span.on{background:var(--accent)}.step-meta{display:flex;justify-content:space-between;gap:8px;font-size:13px;color:var(--muted)}.btn{border:0;border-radius:var(--r-md);padding:15px 18px;width:100%;background:var(--accent);color:var(--accent-fg);font-weight:700;font-size:16px;cursor:pointer;transition:transform .08s ease,opacity .2s}.btn:active{transform:scale(.985)}.btn:disabled{opacity:.45;cursor:default}.btn.secondary{background:var(--surface-2);color:var(--fg)}.btn.ghost{background:transparent;color:var(--accent);padding:10px}.btn.small{padding:10px 14px;font-size:14px;width:auto;border-radius:var(--r-sm);flex:none;display:inline-flex;align-items:center;gap:6px}.btn-in{display:inline-flex;align-items:center;justify-content:center;gap:8px}.row-btns{display:flex;gap:10px}.row-btns .btn{flex:1}.cta{position:fixed;left:0;right:0;bottom:0;z-index:20;padding:12px var(--gutter) calc(12px + var(--safe-bottom));background:linear-gradient(to top,var(--bg) 72%,transparent)}.cta-inner{max-width:448px;margin:0 auto;display:grid;gap:6px}.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.grid3.tight{gap:8px}.tile{position:relative;text-align:left;cursor:pointer;background:var(--surface);border:1.5px solid var(--line);border-radius:var(--r-md);padding:14px;display:flex;flex-direction:column;gap:8px;min-width:0;transition:border-color .15s,background .15s}.tile.on{border-color:var(--accent);background:var(--accent-soft)}.tile .t-name{font-weight:700;line-height:1.2;overflow-wrap:break-word}.tile .t-note{font-size:12.5px;color:var(--muted);line-height:1.3}.tile .check{position:absolute;top:10px;right:10px;width:22px;height:22px;border-radius:50%;background:var(--accent);color:var(--accent-fg);display:grid;place-items:center;font-size:12px;font-weight:700}.tile.compact{padding:12px 6px;align-items:center;text-align:center;justify-content:center;min-height:84px;gap:6px}.tile.compact .t-name{font-size:13.5px;-webkit-hyphens:auto;hyphens:auto}.tile.row{flex-direction:row;align-items:center;gap:12px;padding:12px 14px}.tile-ico{width:38px;height:38px;flex:none;border-radius:12px;display:grid;place-items:center;background:var(--surface-2);color:var(--accent)}.tile.on .tile-ico{background:var(--surface)}.tile.compact .tile-ico{width:34px;height:34px}.tick{width:22px;height:22px;flex:none;border-radius:7px;border:2px solid var(--line);display:grid;place-items:center;color:transparent}.tick.on{background:var(--accent);border-color:var(--accent);color:var(--accent-fg)}.mono{width:38px;height:38px;flex:none;border-radius:11px;display:grid;place-items:center;font-weight:700;font-size:17px;background:var(--surface-2);color:var(--fg)}.tile.on .mono{background:var(--surface)}.chips{display:flex;flex-wrap:wrap;gap:8px}.chips.scroll{flex-wrap:nowrap;overflow-x:auto;margin-inline:calc(var(--gutter) * -1);padding-inline:var(--gutter);scrollbar-width:none}.chips.scroll::-webkit-scrollbar{display:none}.chips.scroll .chip{flex:none}.chip{border:1.5px solid var(--line);background:var(--surface);border-radius:999px;padding:8px 14px;font-weight:500;cursor:pointer;white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis}.chip.on{background:var(--accent);border-color:var(--accent);color:var(--accent-fg)}.chip .x{margin-left:6px;opacity:.8}.chip.icon-chip{display:inline-flex;align-items:center;gap:6px}.chip.person{display:inline-flex;align-items:center;gap:6px;padding:5px 12px 5px 5px}.field{width:100%;border:1.5px solid var(--line);background:var(--surface);color:var(--fg);border-radius:var(--r-md);padding:13px 14px;outline:none;min-width:0}.field:focus{border-color:var(--accent)}.row-input{display:flex;gap:8px}.row-input .field{flex:1}.numfield{display:flex;flex-direction:column;gap:6px;min-width:0}.numfield-row{display:flex;align-items:center;gap:4px;min-width:0}.num-input{text-align:center;padding:10px 2px;font-weight:700;border-radius:12px;font-variant-numeric:tabular-nums}.card{background:var(--surface);border-radius:var(--r-lg);padding:16px;box-shadow:var(--shadow);min-width:0}.card.flat{box-shadow:none;border:1.5px solid var(--line)}.stack{display:flex;flex-direction:column;gap:10px;min-width:0}.between{display:flex;justify-content:space-between;align-items:center;gap:12px;min-width:0}.between.wrap{flex-wrap:wrap}.round{width:42px;height:42px;flex:none;border-radius:50%;border:0;background:var(--surface-2);font-size:22px;cursor:pointer;display:grid;place-items:center}.round.sm{width:30px;height:30px;font-size:17px}.round:disabled{opacity:.35}.seg{display:inline-grid;grid-auto-flow:column;grid-auto-columns:1fr;background:var(--surface-2);border-radius:12px;padding:3px;gap:2px;max-width:100%}.seg button{border:0;background:transparent;padding:8px 12px;border-radius:9px;font-size:14px;font-weight:600;color:var(--muted);cursor:pointer;white-space:nowrap;min-width:0;overflow:hidden;text-overflow:ellipsis}.seg button.on{background:var(--surface);color:var(--fg);box-shadow:var(--shadow)}.seg.wide{display:grid;width:100%}.seg.seg-sm button{padding:6px 10px;font-size:13px}.switch{position:relative;width:50px;height:30px;flex:none;border-radius:999px;border:0;background:var(--line);cursor:pointer;transition:background .2s}.switch:after{content:"";position:absolute;top:3px;left:3px;width:24px;height:24px;border-radius:50%;background:#fff;transition:transform .2s;box-shadow:0 1px 3px #0003}.switch.on{background:var(--accent)}.switch.on:after{transform:translate(20px)}.range{width:100%;accent-color:var(--accent);height:28px}.budget-value{font-family:var(--font-display);font-size:38px;font-weight:700;text-align:center;font-variant-numeric:tabular-nums;letter-spacing:-.02em}.presets{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.preset{border:1.5px solid var(--line);background:var(--surface);border-radius:var(--r-sm);padding:10px 6px;cursor:pointer;text-align:center;min-width:0}.preset.on{border-color:var(--accent);background:var(--accent-soft)}.preset b{display:block;font-variant-numeric:tabular-nums;font-size:14px}.preset span{font-size:12px;color:var(--muted)}.note{border-radius:var(--r-md);padding:12px 14px;background:var(--warn-bg);color:var(--warn-fg);font-size:14px}.note.info{background:var(--accent-soft);color:var(--fg)}.note svg{vertical-align:-2px}.avatar{position:relative;flex:none;border-radius:50%;display:inline-grid;place-items:center;color:var(--av-fg);font-weight:700;line-height:1}.avatar.tone1{background:var(--av1)}.avatar.tone2{background:var(--av2)}.avatar.tone3{background:var(--av3)}.avatar.tone4{background:var(--av4)}.avatar-diet{position:absolute;right:-3px;bottom:-3px;border-radius:50%;background:var(--surface);color:var(--accent);padding:2px;display:grid;place-items:center;box-shadow:0 0 0 1.5px var(--surface)}.member-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;background:var(--surface);border:0;border-radius:var(--r-lg);padding:12px 14px;box-shadow:var(--shadow);text-align:left;cursor:pointer;width:100%}.member-info{min-width:0}.member-kcal{text-align:right}.slot-card{display:flex;flex-direction:column;gap:10px}.slot-head{display:inline-flex;align-items:center;gap:10px}.slot-ico{width:32px;height:32px;border-radius:10px;background:var(--accent-soft);color:var(--accent);display:grid;place-items:center}.radio-list{display:flex;flex-direction:column;gap:6px}.radio-row{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;align-items:center;text-align:left;background:var(--surface);border:1.5px solid var(--line);border-radius:14px;padding:10px 12px;cursor:pointer}.radio-row.on{border-color:var(--accent);background:var(--accent-soft)}.act-bars{display:inline-flex;align-items:flex-end;gap:2px;height:18px}.act-bars i{width:4px;border-radius:2px;background:var(--line)}.act-bars i:nth-child(1){height:6px}.act-bars i:nth-child(2){height:9px}.act-bars i:nth-child(3){height:12px}.act-bars i:nth-child(4){height:15px}.act-bars i:nth-child(5){height:18px}.act-bars i.on{background:var(--accent)}.norm-card{background:var(--surface);border-radius:var(--r-md);padding:14px;display:flex;flex-direction:column;gap:8px;border:1.5px dashed var(--line)}.macro-row{display:flex;flex-wrap:wrap;gap:4px 14px;font-variant-numeric:tabular-nums}.macro-row span{display:inline-flex;align-items:center;gap:5px}.mdot{width:8px;height:8px;border-radius:50%;display:inline-block}.mdot.p,.macro-bar .p{background:var(--m-p)}.mdot.f,.macro-bar .f{background:var(--m-f)}.mdot.c,.macro-bar .c{background:var(--m-c)}.macro-bar{display:flex;height:8px;border-radius:4px;overflow:hidden;gap:2px}.macro-bar i{display:block;flex-basis:0}.fam-row{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;align-items:center}.fam-row .meter{margin-block:6px 4px}.pricetag{--notch: 14px;position:relative;display:inline-flex;flex-direction:column;justify-content:center;flex:none;background:var(--tag);color:var(--tag-fg);padding:8px 14px 8px calc(var(--notch) + 12px);clip-path:polygon(var(--notch) 0,100% 0,100% 100%,var(--notch) 100%,0 50%);border-radius:4px;font-variant-numeric:tabular-nums;white-space:nowrap}.pricetag:before{content:"";position:absolute;left:calc(var(--notch) - 2px);top:50%;width:7px;height:7px;margin-top:-3.5px;border-radius:50%;background:var(--surface)}.pricetag .p-main{font-family:var(--font-display);font-weight:700;font-size:26px;line-height:1.05;letter-spacing:-.02em}.pricetag .p-cap{font-size:11.5px;font-weight:600;opacity:.75}.pricetag.sm{--notch: 9px;padding:3px 9px 3px calc(var(--notch) + 8px)}.pricetag.sm:before{width:5px;height:5px;margin-top:-2.5px}.pricetag.sm .p-main{font-family:var(--font-body);font-size:14px;font-weight:700;letter-spacing:0}.promo{color:var(--promo);font-size:12px;font-weight:700}.meter{height:8px;border-radius:4px;background:var(--surface-2);overflow:hidden}.meter.thin{height:6px}.meter>i{display:block;height:100%;border-radius:4px;background:var(--accent);transition:width .3s}.meter.over>i{background:var(--promo)}.days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.day{border:0;border-radius:12px;padding:8px 0;background:var(--surface);cursor:pointer;min-width:0;display:flex;flex-direction:column;align-items:center;gap:1px;box-shadow:var(--shadow)}.day small{font-size:11px;color:var(--muted)}.day b{font-size:16px;font-variant-numeric:tabular-nums}.day.on{background:var(--accent);color:var(--accent-fg)}.day.on small{color:inherit;opacity:.85}.day.today b{position:relative}.day.today b:after{content:"";position:absolute;left:50%;bottom:-5px;width:4px;height:4px;margin-left:-2px;border-radius:50%;background:var(--accent)}.day.on.today b:after{background:var(--accent-fg)}.day.off,.day:disabled{opacity:.45;cursor:default;box-shadow:none;background:var(--surface-2)}.today-mark{font-family:var(--font-body);font-weight:400;text-transform:none}.prev-meal{display:grid;grid-template-columns:70px minmax(0,1fr) auto;gap:8px;align-items:baseline;text-align:left;border:0;border-radius:10px;padding:8px 10px;background:var(--surface-2);color:var(--fg);font:inherit;cursor:pointer}.meal{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;padding:12px;background:var(--surface);border-radius:var(--r-lg);box-shadow:var(--shadow);cursor:pointer;text-align:left}.meal-body{display:flex;flex-direction:column;gap:4px;min-width:0}.meal .m-slot{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.meal .m-title{font-weight:700;font-size:16px;line-height:1.25}.meal .m-meta{display:flex;gap:4px 10px;flex-wrap:wrap;align-items:center;color:var(--muted);font-size:12.5px}.meal-foot{grid-column:1 / -1;display:flex;align-items:center;gap:10px;flex-wrap:wrap}.who{display:flex;align-items:center;gap:4px;flex-wrap:wrap;min-width:0;margin-top:2px}.who .avatar{font-size:10px;box-shadow:0 0 0 2px var(--surface)}.who .small{margin-left:4px}.badge{font-size:11px;font-weight:700;padding:2px 8px;border-radius:999px;background:var(--surface-2);color:var(--muted)}.badge.batch{background:var(--accent-soft);color:var(--accent)}.swap{margin-left:auto;border:0;background:var(--surface-2);border-radius:999px;padding:7px 12px;font-size:13px;font-weight:600;cursor:pointer;display:inline-flex;gap:6px;align-items:center}.dish-art,.dish-photo{display:block;flex:none;object-fit:cover}.dish-wide{width:100%;aspect-ratio:16 / 10;max-width:100%;overflow:hidden;display:grid;place-items:center;background:var(--art-bg)}.dish-wide .dish-art{width:100%;height:auto;max-height:100%;aspect-ratio:1}.dish-photo.wide{width:100%;aspect-ratio:16 / 10;height:auto}.recipe-hero{margin:0;display:flex;flex-direction:column;gap:6px}.list-group{background:var(--surface);border-radius:var(--r-lg);box-shadow:var(--shadow);overflow:hidden}.list-group h3{margin:0;padding:12px 16px 6px;font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.item{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;padding:11px 16px;border:0;border-top:1px solid var(--line);cursor:pointer;background:transparent;width:100%;text-align:left}.list-group h3+.item{border-top:0}.box{width:24px;height:24px;border-radius:7px;border:2px solid var(--line);display:grid;place-items:center;color:transparent}.item.done .box{background:var(--accent);border-color:var(--accent);color:var(--accent-fg)}.item.done .i-name{text-decoration:line-through;color:var(--muted)}.i-name{font-weight:600}.i-sub{font-size:12.5px;color:var(--muted)}.i-price{text-align:right;font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}.store-head{display:flex;align-items:center;gap:12px;padding:4px 2px 0}.cmp-row{display:grid;grid-template-columns:30px minmax(0,1fr) auto;gap:10px;align-items:center;padding-block:5px}.cmp-row .mono{width:30px;height:30px;font-size:13px;border-radius:8px}.cmp-bar{height:6px;border-radius:3px;background:var(--surface-2);margin-top:4px;overflow:hidden}.cmp-bar>i{display:block;height:100%;background:var(--accent);opacity:.7}.cmp-row.me .cmp-bar>i{background:var(--tag);opacity:1}.delta{font-size:12.5px;font-weight:600}.delta.good{color:var(--accent)}.nav{position:fixed;left:0;right:0;bottom:0;z-index:20;background:var(--surface);border-top:1px solid var(--line);padding:6px var(--gutter) calc(6px + var(--safe-bottom))}.nav-inner{max-width:448px;margin:0 auto;display:grid;grid-auto-flow:column;grid-auto-columns:1fr}.nav button{border:0;background:transparent;display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 0;font-size:12px;font-weight:600;color:var(--muted);cursor:pointer;min-width:0}.nav button.on{color:var(--accent)}.nav-ico{position:relative;display:inline-grid}.nav .count{position:absolute;left:16px;top:-5px;background:var(--tag);color:var(--tag-fg);font-size:10.5px;border-radius:999px;padding:0 5px;font-weight:700;line-height:16px}.sheet-wrap{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;background:#0000006b;display:flex;align-items:flex-end;justify-content:center;animation:fade .2s ease}.sheet{width:100%;max-width:480px;max-height:92vh;display:flex;flex-direction:column;background:var(--bg);border-radius:24px 24px 0 0;animation:rise .25s ease;overflow:hidden}.grabber{width:40px;height:5px;border-radius:3px;background:var(--line);margin:10px auto 0;flex:none}.sheet-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:8px var(--gutter) 6px;flex:none}.sheet-title{font-size:21px;min-width:0}.sheet-body{overflow-y:auto;overscroll-behavior:contain;padding:8px var(--gutter) 20px;display:flex;flex-direction:column;gap:16px;-webkit-overflow-scrolling:touch}.sheet-foot{flex:none;padding:12px var(--gutter) calc(12px + var(--safe-bottom));border-top:1px solid var(--line);background:var(--bg)}.ing{display:flex;justify-content:space-between;align-items:center;gap:12px;padding-block:9px;border-bottom:1px solid var(--line)}.ing:last-child{border-bottom:0}.ing>span:first-child{min-width:0}.ing-q{text-align:right;flex:none;max-width:55%}.subs{display:flex;flex-direction:column;gap:4px;padding-top:10px;margin-top:4px;border-top:1px dashed var(--line)}.steps{margin:0;padding:0;list-style:none;counter-reset:s;display:flex;flex-direction:column;gap:12px}.steps li{counter-increment:s;display:grid;grid-template-columns:28px minmax(0,1fr);gap:10px}.steps li:before{content:counter(s);width:28px;height:28px;border-radius:50%;background:var(--accent-soft);color:var(--accent);display:grid;place-items:center;font-weight:700;font-size:14px}.tip-card{display:grid;grid-template-columns:32px minmax(0,1fr);gap:10px;align-items:start;padding:12px 14px;border-radius:14px;background:var(--accent-soft);line-height:1.45}.tip-card b{color:var(--accent)}.tip-ico{width:32px;height:32px;border-radius:50%;background:var(--surface);color:var(--accent);display:grid;place-items:center}.facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.fact{background:var(--surface);border-radius:var(--r-md);padding:10px 6px;text-align:center;min-width:0}.fact b{display:block;font-size:16px;font-variant-numeric:tabular-nums;white-space:nowrap}.fact span{font-size:11.5px;color:var(--muted)}.gen{flex:1;display:flex;flex-direction:column;justify-content:center;gap:28px}.gen-row{display:flex;align-items:center;gap:12px;font-weight:600;color:var(--muted);transition:color .2s}.gen-row.done,.gen-row.active{color:var(--fg)}.dot{width:26px;height:26px;border-radius:50%;border:2px solid var(--line);display:grid;place-items:center;flex:none;color:transparent}.gen-row.active .dot{border-color:var(--accent);border-top-color:transparent;animation:spin .8s linear infinite}.gen-row.done .dot{background:var(--accent);border-color:var(--accent);color:var(--accent-fg)}.hero{display:flex;flex-direction:column;gap:14px;padding-top:10px}.hero .brand{font-size:16px;color:var(--accent)}.hero .h1{font-size:28px}.receipt{background:var(--surface);border-radius:var(--r-lg);padding:16px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:10px}.receipt-row{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:12px;align-items:center;font-size:14px;border-bottom:1px dashed var(--line);padding-bottom:10px}.receipt-title{min-width:0}.perks{display:grid;gap:14px;margin:0;padding:0;list-style:none}.perks li{display:grid;grid-template-columns:34px minmax(0,1fr);gap:12px;align-items:start}.perk-ico{width:34px;height:34px;border-radius:10px;background:var(--accent-soft);color:var(--accent);display:grid;place-items:center}.toast{position:fixed;left:50%;bottom:calc(96px + var(--safe-bottom));transform:translate(-50%);background:var(--fg);color:var(--bg);padding:10px 16px;border-radius:12px;font-weight:600;font-size:14px;z-index:60;animation:fade .2s ease;max-width:calc(100% - 32px)}.tap-row{background:transparent;border:0;width:100%;text-align:left;cursor:pointer;padding:0;color:inherit}.fam-row.tap-row{padding-block:8px}.settings-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding-block:11px;border-bottom:1px solid var(--line)}.settings-row.tap-row{padding-block:11px;border-bottom:1px solid var(--line)}.settings-val{flex:1;text-align:right;font-weight:600;min-width:0}.fam-row .kcal-tag{white-space:nowrap;flex:none}.settings-row:last-child{border-bottom:0}.settings-row span:first-child{flex:none}.settings-row span:last-child{text-align:right;font-weight:600;min-width:0}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fade{0%{opacity:0}}@keyframes rise{0%{transform:translateY(40px);opacity:.6}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media (max-width: 370px){:root{--gutter: 12px}.grid3{grid-template-columns:repeat(2,minmax(0,1fr))}.grid3.tight{grid-template-columns:repeat(3,minmax(0,1fr))}.h1{font-size:21px}.hero .h1{font-size:24px}.budget-value{font-size:32px}.pricetag .p-main{font-size:22px}.seg button{padding:7px 8px;font-size:13px}.day small{font-size:10px}}.grid4,.grid5{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}textarea.field{resize:vertical;min-height:96px;line-height:1.4}.recipe-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;width:100%;background:var(--surface);border:0;border-radius:var(--r-lg);padding:10px 12px;box-shadow:var(--shadow);text-align:left;cursor:pointer}.recipe-row-body{display:flex;flex-direction:column;gap:4px;min-width:0}.recipe-row-title{line-height:1.25}.recipe-row .m-meta,.idea-card .m-meta,.review-card .m-meta{display:flex;gap:4px 10px;flex-wrap:wrap;align-items:center;color:var(--muted);font-size:12.5px}.badge{display:inline-flex;align-items:center;gap:3px}.badge.warn{background:var(--warn-bg);color:var(--warn-fg)}.warn-text{color:var(--promo)}.ing-edit{background:var(--surface);border-radius:var(--r-md);padding:10px 12px;display:flex;flex-direction:column;gap:8px;border:1.5px solid transparent}.ing-edit.unmatched{border-color:var(--promo)}.ing-name{padding:0}.ing-controls{display:grid;grid-template-columns:72px minmax(0,1fr) auto auto;gap:6px;align-items:center}.ing-controls .field{padding:9px 8px;border-radius:12px}.unit-select{-moz-appearance:none;appearance:none;-webkit-appearance:none;background:var(--surface);text-align:center}.opt-chip{padding:7px 10px;font-size:13px}.ing-controls .icon-btn{width:36px;height:36px}.days.compact .day{padding:6px 0;box-shadow:none;background:var(--surface-2)}.days.compact .day.on{background:var(--accent)}a.btn{text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:6px;text-align:center}.map-box{position:relative;border-radius:var(--r-lg);overflow:hidden;background:var(--surface-2);box-shadow:var(--shadow)}.map-canvas{width:100%;height:340px}.schema-map{display:block;width:100%;height:auto;touch-action:manipulation}.sm-bg{fill:var(--surface)}.sm-ring{fill:none;stroke:var(--line);stroke-width:1.5;stroke-dasharray:4 5}.sm-label{fill:var(--muted);font-size:11px;font-family:var(--font-body)}.sm-north path{fill:var(--muted)}.sm-pt{cursor:pointer}.sm-pt .sm-hit{fill:transparent}.sm-pt circle:last-child{stroke:var(--surface);stroke-width:1.5}.sm-food circle:last-child{fill:var(--accent)}.sm-shop circle:last-child{fill:var(--av3)}.sm-healthy circle:last-child{fill:var(--m-f)}.sm-pt.sel circle:last-child{fill:var(--promo)}.sm-halo{fill:var(--promo);opacity:.25}.sm-me circle{fill:var(--m-p)}.sm-me .sm-me-halo{opacity:.25}.place{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;width:100%;text-align:left;cursor:pointer;background:var(--surface);border:1.5px solid transparent;border-radius:var(--r-lg);padding:10px 12px;box-shadow:var(--shadow)}.place.on{border-color:var(--accent)}.place-detail .place{box-shadow:none;padding:0;border:0}.place-ico{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;color:var(--accent-fg)}.place-ico.food{background:var(--accent)}.place-ico.shop{background:var(--av3)}.place-ico.healthy{background:var(--m-f)}.place-body{display:flex;flex-direction:column;gap:3px;min-width:0}.place-name{line-height:1.25}.place-diets{display:flex;flex-wrap:wrap;gap:4px;margin-top:2px}.place-dist{font-weight:700;white-space:nowrap}.nav button{font-size:11px}.notify-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.notify-when{display:flex;gap:8px;flex-wrap:wrap;margin-top:-4px}.field.compact{width:auto;padding:8px 12px;border-radius:12px;font-weight:600;text-transform:capitalize}.link-btn{border:0;background:none;padding:0;color:var(--accent);font-weight:600;cursor:pointer;text-decoration:underline;text-underline-offset:3px}.login-steps{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:6px}.login-wait{display:flex;align-items:center;justify-content:center;gap:8px}.spin-dot{width:14px;height:14px;border-radius:50%;border:2px solid var(--accent);border-top-color:transparent;animation:spin .8s linear infinite;flex:none}a.btn{text-decoration:none;display:flex;align-items:center;justify-content:center}.sheet a.small{color:var(--muted);text-underline-offset:3px}.book-switch{margin-bottom:-4px}.cover{position:relative;overflow:hidden;display:grid;place-items:center;color:#ffffffe6;background:linear-gradient(135deg,#2f8f5f,#164f36)}.cover img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover}.cover-tips{background:linear-gradient(135deg,#e9b949,#c9781f)}.cover-nutrition{background:linear-gradient(135deg,#4f8fd8,#2c5aa0)}.cover-recipes{background:linear-gradient(135deg,#e0735a,#b2402f)}.cover-ico{opacity:.9}.cat-badge{display:inline-flex;align-items:center;gap:4px;font-size:11.5px;font-weight:700;letter-spacing:.02em;color:var(--accent)}.cat-tips{color:#b26d12}.cat-nutrition{color:#2f68b5}.cat-recipes{color:#c04a34}:root[data-theme=dark] .cat-tips{color:#f0c15c}:root[data-theme=dark] .cat-nutrition{color:#7fb2f0}:root[data-theme=dark] .cat-recipes{color:#f08f78}.badge.pin{background:#ffffffe6;color:#16201a}.post-hero{border:0;padding:0;background:none;text-align:left;cursor:pointer;border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow);color:#fff}.post-hero-cover{aspect-ratio:4 / 3.4;align-items:end;display:flex}.post-hero-cover .cover-ico{position:absolute;top:28%;left:50%;transform:translate(-50%) scale(1.6)}.post-hero-shade{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#0000 35%,#000000b8)}.post-hero-text{position:relative;display:flex;flex-direction:column;gap:6px;padding:16px;width:100%;min-width:0}.post-hero-meta{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.post-hero-meta .cat-badge{background:#ffffffeb;padding:3px 9px;border-radius:999px}.post-hero-title{font-family:var(--font-display);font-size:22px;line-height:1.15;letter-spacing:-.01em;text-wrap:balance;overflow-wrap:anywhere}.post-hero-lead{font-size:14px;line-height:1.35;opacity:.9;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.post-row{display:flex;gap:12px;align-items:center;border:0;background:var(--surface);border-radius:var(--r-md);padding:10px;text-align:left;cursor:pointer;box-shadow:var(--shadow);color:inherit;min-width:0;width:100%}.post-thumb{width:84px;height:84px;flex:none;border-radius:14px}.post-thumb .cover-ico svg{width:26px;height:26px}.post-row-body{display:flex;flex-direction:column;gap:3px;min-width:0}.post-row-title{font-size:15.5px;line-height:1.25;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.clamp2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.page-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:35;background:var(--bg);overflow-y:auto;overscroll-behavior:contain;animation:rise .22s ease;padding-top:var(--safe-top)}.page-bar{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px var(--gutter);pointer-events:none}.page-bar>*{pointer-events:auto}.page-bar .icon-btn{background:#ffffffe0;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 1px 4px #0000001f;color:#16201a}.page-bar.solid{background:var(--bg);border-bottom:1px solid var(--line);pointer-events:auto}.page-bar.solid .icon-btn{background:var(--surface-2);color:var(--fg);box-shadow:none}.page-bar .row-btns{gap:8px}.article{margin-top:-60px;padding-bottom:calc(40px + var(--safe-bottom))}.article-cover{aspect-ratio:16 / 11;width:100%}.article-cover .cover-ico{transform:scale(1.8)}.article-in{position:relative;margin-top:-22px;background:var(--bg);border-radius:24px 24px 0 0;padding:20px var(--gutter) 0;display:flex;flex-direction:column;gap:14px;max-width:720px;margin-inline:auto}.article-meta{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.article-title{font-family:var(--font-display);font-weight:700;font-size:27px;line-height:1.12;letter-spacing:-.015em;margin:0;text-wrap:balance;overflow-wrap:anywhere}.article-lead{font-size:18px;line-height:1.45;color:var(--muted);margin:0}.a-p{font-size:16.5px;line-height:1.62;margin:0;overflow-wrap:anywhere}.a-p a,.a-quote a,.a-tip a,.a-list a{color:var(--accent);text-underline-offset:3px}.a-h{font-family:var(--font-display);font-size:20px;line-height:1.2;margin:10px 0 -2px;letter-spacing:-.01em}.a-quote{margin:4px 0;padding:4px 0 4px 16px;border-left:4px solid var(--accent);font-size:18px;line-height:1.5;font-style:italic}.a-tip{background:var(--accent-soft);border-radius:var(--r-md);padding:14px 16px}.a-tip-head{display:inline-flex;align-items:center;gap:6px;font-weight:700;color:var(--accent);font-size:13px;text-transform:uppercase;letter-spacing:.06em}.a-tip p{margin:6px 0 0;font-size:16px;line-height:1.55}.a-list{margin:0;padding-left:22px;display:flex;flex-direction:column;gap:6px;font-size:16.5px;line-height:1.55}.a-list li::marker{color:var(--accent);font-weight:700}.a-fig{margin:4px 0}.a-fig img{width:100%;border-radius:var(--r-md);display:block}.a-fig-empty{aspect-ratio:16 / 10;border-radius:var(--r-md)}.a-fig figcaption{font-size:13.5px;color:var(--muted);text-align:center;margin-top:8px}.article-foot{border-top:1px solid var(--line);padding-top:12px;margin:8px 0 0}.editor-body{padding:16px var(--gutter) calc(130px + var(--safe-bottom));gap:12px;max-width:720px;margin:0 auto}.field.auto{resize:none;overflow:hidden;line-height:1.5}.ed-title{font-family:var(--font-display);font-weight:700;font-size:22px!important;line-height:1.2!important;border:0;padding:4px 0;background:transparent}.ed-lead{font-size:17px!important;color:var(--muted);border:0;padding:4px 0;background:transparent}.ed-title:focus,.ed-lead:focus{border:0}.ed-row{display:flex;gap:10px;flex-wrap:wrap}.ed-field{display:flex;flex-direction:column;gap:6px;flex:1;min-width:130px}.ed-field .field.compact{width:100%}.ed-block{background:var(--surface);border-radius:var(--r-md);padding:10px 12px 12px;display:flex;flex-direction:column;gap:8px;border-left:4px solid var(--line)}.ed-h{border-left-color:var(--accent)}.ed-quote{border-left-color:#7a8a80}.ed-tip{border-left-color:#e9b949}.ed-img{border-left-color:#4f8fd8}.ed-list{border-left-color:#a07ad8}.ed-h .field{font-weight:700;font-size:18px}.ed-block-bar{display:flex;justify-content:space-between;align-items:center}.ed-block-bar .row-btns{gap:4px}.icon-btn.sm{width:32px;height:32px}.icon-btn:disabled{opacity:.35}.rot-up{transform:rotate(-90deg)}.rot-down{transform:rotate(90deg)}.ed-add{display:flex;flex-wrap:wrap;gap:8px}.img-pick{display:flex;flex-direction:column;gap:8px;position:relative}.img-pick img{width:100%;border-radius:var(--r-md);display:block;max-height:360px;object-fit:cover}.img-pick.big img{aspect-ratio:16 / 11;max-height:none}.img-pick-empty{border:2px dashed var(--line);background:var(--surface);border-radius:var(--r-md);padding:22px 12px;display:flex;flex-direction:column;align-items:center;gap:6px;color:var(--accent);cursor:pointer}.img-pick.big .img-pick-empty{aspect-ratio:16 / 9;justify-content:center}.img-pick-empty b{color:var(--fg)}.img-pick-actions{position:absolute;right:8px;top:8px;display:flex;gap:6px}.img-pick-actions .chip{background:#ffffffeb;color:#16201a;border:0;display:inline-flex;align-items:center;gap:4px}.page-foot{position:fixed;left:0;right:0;bottom:0;z-index:3;background:var(--bg);border-top:1px solid var(--line);padding:10px var(--gutter) calc(10px + var(--safe-bottom))}.foot-btns .btn{padding:13px 10px;font-size:15px}.spin-dot.light{border-color:var(--accent-fg);border-top-color:transparent;display:inline-block}.toast.top{z-index:70;bottom:calc(90px + var(--safe-bottom))}.team-row{display:flex;align-items:center;gap:10px;padding:8px 0;min-width:0}.team-row .row-btns{gap:6px;flex:none}.team-row.found{flex-wrap:wrap}.team-row.found>span:nth-child(2){flex:1 1 140px}.team-row.found .row-btns{flex:1 1 100%;padding-left:44px;flex-wrap:wrap}.team-row .chip{padding:6px 10px;font-size:13px}.team-ava{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--accent-soft);color:var(--accent);font-weight:700;flex:none}.map-wait{height:340px}.demo-card{border:1.5px solid var(--accent);box-shadow:none;margin-top:8px}.demo-card .btn{justify-content:center;text-align:center}.story-row{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:var(--gutter);margin-inline:calc(-1 * var(--gutter));padding:6px var(--gutter) 8px;scrollbar-width:none}.story-row::-webkit-scrollbar{display:none}.story{flex:none;width:148px;border:0;padding:0;background:none;cursor:pointer;scroll-snap-align:start;border-radius:18px;color:#fff;text-align:left;box-shadow:var(--shadow)}.story.unread{box-shadow:0 0 0 2.5px var(--bg),0 0 0 4.5px var(--accent)}.story-cover{height:196px;border-radius:18px;align-items:end;display:flex}.story-cover .cover-ico{position:absolute;top:26%;left:50%;transform:translate(-50%) scale(1.2)}.story-text{position:relative;display:flex;flex-direction:column;gap:5px;padding:10px;min-width:0;width:100%}.story-text .cat-badge{background:#ffffffeb;padding:2px 7px;border-radius:999px;align-self:flex-start;font-size:10.5px}.story-title{font-size:13.5px;line-height:1.22;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}.fresh-badge{margin-left:6px;background:var(--accent);color:var(--accent-fg);border-radius:999px;padding:1px 7px;font-size:10.5px;letter-spacing:0;text-transform:none}.swap.topup{margin-left:auto}.swap.topup+.swap{margin-left:0}.extras{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.extra-chip{display:inline-flex;align-items:center;gap:4px;background:var(--accent-soft);color:var(--accent);border-radius:999px;padding:3px 4px 3px 9px;font-size:12px;font-weight:600;max-width:100%}.extra-chip button{border:0;background:transparent;color:inherit;display:grid;place-items:center;width:20px;height:20px;border-radius:50%;cursor:pointer}.addon-row{display:flex;align-items:center;gap:10px;background:var(--surface);border-radius:var(--r-md);padding:10px 12px;box-shadow:var(--shadow);min-width:0}.addon-row .btn{width:auto;flex:none}img.mono.logo{object-fit:contain;background:#fff;padding:3px}.map-legend{display:flex;flex-wrap:wrap;gap:6px 12px;margin-top:-8px}.map-legend span{display:inline-flex;align-items:center;gap:5px}.legend-pin,.place-ico{color:#fff}.legend-pin{width:18px;height:18px;border-radius:50%;display:grid;place-items:center}img.place-ico.logo-ico{object-fit:contain;background:#fff;padding:4px;border:1px solid var(--line)}.price-row{display:flex;gap:10px;align-items:center;background:var(--surface);border-radius:var(--r-md);padding:8px 10px;min-width:0}.price-row.changed{box-shadow:0 0 0 2px var(--accent)}.price-name{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.price-name b{font-size:14.5px;overflow-wrap:anywhere}.price-ctrl{display:flex;flex-direction:column;align-items:flex-end;gap:4px;flex:none}.price-ctrl .field.compact{width:84px;text-align:right;padding:7px 8px}.price-btns{display:flex;gap:4px}.mini{border:1px solid var(--line);background:transparent;border-radius:999px;padding:2px 8px;font-size:11.5px;font-weight:600;color:var(--muted);cursor:pointer}.mini.on{background:var(--accent);border-color:var(--accent);color:var(--accent-fg)}.pack-in{display:flex;align-items:center;gap:6px;margin-top:4px;flex-wrap:wrap}.pack-in .field.compact{width:76px;padding:5px 8px}.mono.chip-logo{width:20px;height:20px;font-size:11px;border-radius:6px}.hero-wrap{position:relative;display:block}.hero-edit{position:absolute;right:10px;bottom:10px;display:inline-flex;align-items:center;gap:5px;padding:6px 10px;border-radius:999px;border:0;background:#0000008c;color:#fff;font:600 13px/1 inherit;font-family:inherit;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);cursor:pointer}.photo-tools{display:flex;flex-wrap:wrap;gap:8px}.photo-tools .btn{flex:1 1 auto}.photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.photo-tile{display:flex;flex-direction:column;gap:6px;padding:0;border:0;background:none;text-align:left;color:inherit;font:inherit;cursor:pointer;min-width:0}.photo-tile-img{position:relative;display:block;aspect-ratio:1;border-radius:12px;overflow:hidden;background:var(--surface)}.photo-tile-img>img,.photo-tile-img>svg,.photo-tile-img>div{width:100%!important;height:100%!important;object-fit:cover;display:block}.photo-tile-name{font-size:12px;line-height:1.25;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.photo-flag{position:absolute;left:6px;top:6px;padding:2px 7px;border-radius:999px;background:var(--accent);color:var(--accent-fg);font-size:11px;font-weight:700}.photo-flag.muted{background:#0009;color:#fff}.kind-chips{gap:6px;align-items:center;margin-top:-4px}.chip.small-chip{padding:6px 11px;font-size:13px;min-height:0}.chip-sep{flex:none;width:1px;height:20px;background:var(--line);margin-inline:2px}.badge.kind-healthy{background:var(--accent-soft);color:var(--accent)}.badge.kind-hearty{background:#f6e3cf;color:#9a5418}.badge.kind-festive{background:#f3dcef;color:#8a2f7a}.badge.kind-unusual{background:#dfe4fb;color:#3a4aa8}@media (prefers-color-scheme: dark){:root:not([data-theme=light]) .badge.kind-hearty{background:#4a3322;color:#f0b98a}:root:not([data-theme=light]) .badge.kind-festive{background:#45263f;color:#eeb0e0}:root:not([data-theme=light]) .badge.kind-unusual{background:#262d52;color:#b4bff5}}:root[data-theme=dark] .badge.kind-hearty{background:#4a3322;color:#f0b98a}:root[data-theme=dark] .badge.kind-festive{background:#45263f;color:#eeb0e0}:root[data-theme=dark] .badge.kind-unusual{background:#262d52;color:#b4bff5}.ico-txt.cost-budget{color:var(--accent)}.ico-txt.cost-premium{color:#9a5418;font-weight:600}@media (prefers-color-scheme: dark){:root:not([data-theme=light]) .ico-txt.cost-premium{color:#f0b98a}}:root[data-theme=dark] .ico-txt.cost-premium{color:#f0b98a}.cat-steps{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:8px}.cat-steps li{display:list-item}.cat-steps .btn{display:inline-flex;margin-top:6px}.badge.soon{background:#fdf0d2;color:#8a5a00;font-weight:600;font-size:11px;padding:1px 7px;vertical-align:middle;white-space:nowrap}@media (prefers-color-scheme: dark){:root:not([data-theme=light]) .badge.soon{background:#4a3a14;color:#f3cf7a}}:root[data-theme=dark] .badge.soon{background:#4a3a14;color:#f3cf7a}.tile .tile-soon{margin-top:4px;align-self:flex-start}.item-row{display:flex;align-items:stretch;border-top:1px solid var(--line)}.item-row .item{border-top:0;flex:1;min-width:0}.list-group h3+.item-row{border-top:0}.home-btn{flex:none;width:44px;border:0;background:transparent;color:var(--muted);display:grid;place-items:center;cursor:pointer;opacity:.55}.home-btn:hover,.home-btn:focus-visible{opacity:1;color:var(--accent)}.home-btn.on,.home-btn.part{opacity:1;color:var(--accent)}.home-btn.part:after{content:"";position:absolute;width:6px;height:6px;border-radius:50%;background:var(--accent);transform:translate(9px,-9px)}.home-btn.part{position:relative}.item-acts{flex:none;display:flex;flex-direction:column;justify-content:center}.item-acts .home-btn{width:40px;min-height:34px;flex:1}.home-btn.pin{opacity:1;color:var(--accent);position:relative}.home-btn.pin:after{content:"";position:absolute;width:6px;height:6px;border-radius:50%;background:var(--accent);transform:translate(9px,-9px)}.store-pick{display:flex;align-items:center;gap:10px;width:100%;text-align:left;padding:10px 12px;border-radius:14px;border:1px solid var(--line);background:var(--surface);color:var(--fg);cursor:pointer}.store-pick .mono{width:30px;height:30px;font-size:13px;border-radius:8px;flex:none}.store-pick.on{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent) inset}.store-pick .pick-check{color:var(--accent);flex:none}.store-pick-ico{width:30px;height:30px;border-radius:8px;background:var(--accent-soft);color:var(--accent);display:grid;place-items:center;flex:none}.store-pick .good{color:var(--accent);font-weight:600}.home-unit{display:grid;place-items:center;padding:0 14px;border-radius:12px;background:var(--surface-2);color:var(--muted);font-weight:600}.i-sub .home-note{color:var(--accent)}.item.at-home{cursor:pointer}.item.at-home .i-name{color:var(--muted)}.box.home{border-color:transparent;background:var(--accent-soft, var(--line));color:var(--accent);display:grid;place-items:center}.stat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.stat{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:10px 10px 9px;display:flex;flex-direction:column;gap:2px;min-width:0}.stat.wide{grid-column:1 / -1;flex-direction:row;flex-wrap:wrap;align-items:baseline;column-gap:10px}.stat-num{font-size:22px;font-weight:700;line-height:1.1;font-variant-numeric:tabular-nums}.stat.wide .stat-num{font-size:28px}.stat-label{font-size:12.5px;color:var(--muted);line-height:1.25;overflow-wrap:anywhere}.stat.wide .stat-label{font-size:14px;color:var(--fg);font-weight:600}.stat-sub{font-size:12.5px;color:var(--muted);flex-basis:100%}.stat-bars{display:grid;grid-template-columns:repeat(14,minmax(0,1fr));gap:3px;height:120px;align-items:end}.stat-bar{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-end;height:100%;min-width:0}.stat-bar-n{font-size:10px;color:var(--muted);text-align:center;line-height:1.2;min-height:12px;font-variant-numeric:tabular-nums}.stat-bar-col{display:flex;flex-direction:column;justify-content:flex-end;background:var(--accent);border-radius:4px 4px 2px 2px;min-height:2px;max-height:calc(100% - 26px);overflow:hidden}.stat-bar-new{display:block;background:#8fbfa5;background:color-mix(in srgb,var(--accent) 45%,var(--surface))}.stat-bar-d{font-size:10px;color:var(--muted);text-align:center;line-height:1.2;margin-top:2px}.stat-key{display:inline-block;width:10px;height:10px;border-radius:3px;background:#8fbfa5;background:color-mix(in srgb,var(--accent) 45%,var(--surface));vertical-align:-1px}.stat-user{align-items:flex-start;border-bottom:1px solid var(--line)}.stat-user:last-child{border-bottom:0}.stat-tags{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}.stat-tag{font-size:11.5px;padding:1px 7px;border-radius:999px;background:var(--accent-soft);color:var(--accent)}.stat-tag.warn{background:var(--surface-2);color:var(--muted)}@media (max-width: 340px){.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.ask-me{align-self:flex-end;max-width:85%;background:var(--accent);color:var(--accent-fg, #fff);padding:10px 14px;border-radius:18px 18px 4px;line-height:1.4;overflow-wrap:anywhere}.ask-bot{align-self:stretch;background:var(--surface);border-radius:18px 18px 18px 4px;padding:12px;display:flex;flex-direction:column;gap:10px;box-shadow:var(--shadow)}.ask-bot p{margin:0;line-height:1.45}.ask-got{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.ask-card{border:1px solid var(--line);border-radius:14px;padding:10px;display:flex;flex-direction:column;gap:8px}.ask-card .ask-row{box-shadow:none;border:0;padding:0;background:transparent}.ask-need{font-size:13px;color:var(--accent);display:flex;gap:6px;align-items:flex-start;line-height:1.35}.ask-need svg{flex:none;margin-top:2px}.ask-input{display:flex;gap:8px;align-items:center}.ask-input .field{flex:1;min-width:0}.ask-input .ask-send{background:var(--accent);color:var(--accent-fg, #fff)}.ask-input .ask-send:disabled{opacity:.5}.ask-foot{margin:-6px 0 0;text-align:center}.ask-bot .row-btns{flex-wrap:wrap}.ask-off{align-items:center;text-align:center;gap:10px;padding:28px 20px}.ask-off .ask-off-ico{width:48px;height:48px;border-radius:14px}.idea-card{position:relative;display:flex;flex-direction:column;gap:10px;padding:14px;border-radius:16px;background:linear-gradient(var(--surface),var(--surface)) padding-box,linear-gradient(135deg,var(--accent) 0%,var(--tag) 55%,var(--accent) 100%) border-box;border:1.5px solid transparent}.idea-eyebrow{display:inline-flex;align-items:center;gap:6px;align-self:flex-start;font-size:12px;font-weight:700;letter-spacing:.02em;padding:3px 10px;border-radius:999px;background:var(--tag);color:var(--tag-fg)}.idea-top{display:grid;grid-template-columns:64px minmax(0,1fr);gap:12px;align-items:center}.idea-name{font-family:var(--font-display);font-size:17px;line-height:1.25;overflow-wrap:anywhere}.idea-ok{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:700;color:var(--accent)}.idea-ing{display:flex;flex-direction:column;gap:0;border-top:1px solid var(--line);padding-top:8px}.idea-ing .eyebrow{margin-bottom:2px}.idea-steps-toggle{display:flex;justify-content:space-between;align-items:center;width:100%;border:0;background:var(--surface-2);color:var(--fg);padding:10px 12px;border-radius:12px;font:inherit;font-weight:600;font-size:14px;cursor:pointer;text-align:left}.idea-steps-toggle svg{transition:transform .2s;flex:none}.steps.compact{gap:8px;font-size:14px;line-height:1.45}.steps.compact li{grid-template-columns:24px minmax(0,1fr);gap:8px}.steps.compact li:before{width:24px;height:24px;font-size:12px}.idea-done{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;border-radius:12px;background:var(--accent-soft);color:var(--accent);font-weight:600}.idea-done .btn{flex:none}.idea-again{align-self:center;width:auto;display:inline-flex;align-items:center;gap:6px;font-size:14px}.idea-foot{text-align:center;margin-top:-4px}.idea-card.loading{gap:12px}.idea-skel{display:flex;flex-direction:column;gap:8px}.idea-skel i{display:block;height:12px;border-radius:6px;background:linear-gradient(90deg,var(--surface-2) 0%,var(--line) 50%,var(--surface-2) 100%);background-size:200% 100%;animation:idea-shimmer 1.2s linear infinite}.idea-skel i:nth-child(1){width:70%;height:16px}.idea-skel i:nth-child(2){width:92%}.idea-skel i:nth-child(3){width:55%}@keyframes idea-shimmer{to{background-position:-200% 0}}@media (prefers-reduced-motion: reduce){.idea-skel i{animation:none}}.idea-card.error{border-style:dashed}.idea-hint{display:flex;gap:8px;align-items:flex-start;font-size:13.5px;line-height:1.4;padding:10px 12px;border-radius:12px;background:var(--surface-2)}.idea-hint svg{flex:none;margin-top:1px;color:var(--accent)}.idea-cta .btn-in svg{color:var(--accent)}.ask-sub-eyebrow{margin:4px 0 -4px}.badge.shared{background:#dff0f4;color:#1f5f73}@media (prefers-color-scheme: dark){:root:not([data-theme=light]) .badge.shared{background:#183640;color:#9fd6e6}}:root[data-theme=dark] .badge.shared{background:#183640;color:#9fd6e6}.shared-credit{display:flex;gap:8px;align-items:center;padding:10px 12px;border-radius:12px;background:var(--surface-2);color:var(--muted)}.shared-credit svg{flex:none;color:var(--accent)}.share-box{display:flex;flex-direction:column;gap:10px;padding:14px;border-radius:16px;border:1px dashed var(--line)}.share-box.status-published{border-style:solid;background:var(--accent-soft)}.share-box.status-pending{border-style:solid}.share-head{display:grid;grid-template-columns:36px minmax(0,1fr);gap:10px;align-items:start}.share-ico{width:36px;height:36px;border-radius:12px;display:grid;place-items:center;background:var(--accent-soft);color:var(--accent)}.share-box.status-published .share-ico{background:var(--accent);color:var(--accent-fg)}.share-box .btn.small{align-self:flex-start}.review-card{display:flex;flex-direction:column;gap:10px;padding:12px;border-radius:16px;background:var(--surface);border:1px solid var(--line)}.review-top{display:flex;gap:12px;align-items:center}.review-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-width:0}.team-ava.sm{width:22px;height:22px;font-size:11px}.review-similar{display:flex;gap:6px;align-items:flex-start}.review-similar svg{flex:none;margin-top:2px}.review-acts{flex-wrap:wrap}.review-acts .btn.small{flex:1 1 auto;justify-content:center}.review-why{padding:10px;border-radius:12px;background:var(--surface-2)}.review-empty{display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;padding:28px 12px}.btn.danger{background:var(--promo);color:#fff}.btn.ghost.danger-text,.danger-text{color:var(--promo)}.review-tabs button{padding:8px 4px;font-size:13.5px}.react-bar{display:flex;flex-direction:column;gap:10px;padding:14px;border-radius:16px;background:var(--surface);border:1px solid var(--line)}.react-btns{display:grid;grid-template-columns:1fr 1fr;gap:8px}.react-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:11px 10px;border-radius:12px;border:1.5px solid var(--line);background:var(--surface);color:var(--fg);font:inherit;font-weight:600;font-size:15px;cursor:pointer;transition:transform .08s,background .15s,border-color .15s;min-width:0}.react-btn:active{transform:scale(.97)}.react-btn b{font-size:13px;color:var(--muted);font-weight:700}.react-btn.up.on{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.react-btn.up.on b{color:var(--accent)}.react-btn.down.on{background:var(--warn-bg);border-color:var(--warn-fg);color:var(--warn-fg)}.react-btn.down.on b{color:var(--warn-fg)}.like-label{font-weight:600;color:var(--accent)}.stats-pick{position:relative;display:flex;align-items:center}.stats-pick>svg:first-child{position:absolute;left:14px;color:var(--accent);pointer-events:none}.stats-pick select{-moz-appearance:none;appearance:none;-webkit-appearance:none;padding-left:42px;padding-right:40px;font-weight:700;cursor:pointer}.stats-pick-arrow{position:absolute;right:14px;color:var(--muted);pointer-events:none}.stat-bar-new.warn,.stat-key.warn{background:#e39a8b;background:color-mix(in srgb,var(--promo) 55%,var(--surface))}.react-btn{white-space:nowrap}@media (max-width: 360px){.react-btn{font-size:14px;padding:10px 6px;gap:4px}}.review-tabs.scroll-x{display:flex;overflow-x:auto;scrollbar-width:none}.review-tabs.scroll-x::-webkit-scrollbar{display:none}.review-tabs.scroll-x button{flex:1 0 auto;padding:8px 10px;font-size:13.5px;overflow:visible}.ok-text{color:var(--accent);display:inline-flex;align-items:center;gap:4px}.tools-entry{display:flex;align-items:center;gap:12px;text-align:left;justify-content:flex-start;padding:12px 14px}.tools-entry b{font-size:15px}.tools-entry-ico{width:36px;height:36px;flex:none;border-radius:12px;display:grid;place-items:center;background:var(--accent);color:var(--accent-fg)}.tools-entry>svg:last-child{color:var(--muted);flex:none}.tools-entry .small{font-weight:500}.tool-card{border-radius:16px;background:var(--surface);border:1px solid var(--line);overflow:hidden}.tool-card.open{border-color:var(--accent)}.tool-card.off .tool-head{opacity:.7}.tool-head{display:flex;align-items:center;gap:12px;width:100%;padding:12px;border:0;background:transparent;color:inherit;font:inherit;cursor:pointer}.tool-head>svg:last-child{color:var(--muted);flex:none}.tool-ico{width:40px;height:40px;flex:none;border-radius:13px;display:grid;place-items:center;background:var(--accent-soft);color:var(--accent)}.tool-card.open .tool-ico{background:var(--accent);color:var(--accent-fg)}.tool-body{gap:10px;padding:0 12px 14px}.tool-body>.btn:not(.small){width:100%}.job-bar{display:flex;flex-direction:column;gap:8px;padding:12px;border-radius:14px;background:var(--surface-2)}.job-bar.status-failed{background:var(--warn-bg)}.job-track{height:6px;border-radius:3px;background:var(--line);overflow:hidden}.job-track i{display:block;height:100%;background:var(--accent);border-radius:3px;transition:width .4s}.job-bar .row-btns .btn{flex:none}.job-line{padding:6px 0;border-bottom:1px solid var(--line);gap:8px}.job-line .row-btns{align-items:center;gap:6px;flex:none}.ai-issues{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:6px}.ai-issues li{position:relative;padding-left:16px;font-size:14px;line-height:1.35}.ai-issues li:before{content:"";position:absolute;left:2px;top:7px;width:7px;height:7px;border-radius:50%;background:var(--warn-fg)}.ai-issues li.error:before{background:var(--promo)}.ai-check{border-style:dashed}.team-box{display:flex;flex-direction:column;gap:10px;padding:14px;border-radius:16px;border:1px dashed var(--accent);background:var(--surface)}.wrap-btns{flex-wrap:wrap}.wrap-btns .btn.small{flex:1 1 auto;justify-content:center}.audit-row{display:flex;flex-direction:column;gap:8px;padding:12px;border-radius:14px;border:1px solid var(--line);background:var(--surface)}.audit-row.fixed{opacity:.65}.audit-row .row-btns .btn{flex:0 1 auto}.fill-row{display:flex;align-items:center;gap:8px;padding:9px 0;border-bottom:1px solid var(--line);color:var(--fg);min-width:0}.fill-row>svg{color:var(--accent);flex:none}.stepper{display:inline-flex;align-items:center;gap:10px}.stepper b{min-width:22px;text-align:center;font-size:16px}.stepper .icon-btn{font-size:18px;font-weight:700}.src-photo{position:relative;border-radius:14px;overflow:hidden;background:var(--surface-2)}.src-photo img{display:block;width:100%;max-height:260px;object-fit:contain}.src-photo .chip{position:absolute;right:8px;top:8px;background:var(--surface)}.src-result{gap:10px;padding:12px;border-radius:14px;border:1px solid var(--line);background:var(--surface-2)}.src-result .m-meta{display:flex;gap:4px 10px;flex-wrap:wrap;align-items:center;color:var(--muted);font-size:12.5px}.src-result .row-btns{flex-wrap:wrap}.src-result .row-btns .btn{flex:1 1 auto;white-space:nowrap}.src-result .row-btns .btn.ghost{flex:0 0 auto}.photo-pick-row{display:flex;flex-direction:column;gap:8px;padding:10px 0 12px;border-bottom:1px solid var(--line)}.photo-pick-row.done .recipe-row-title:after{content:" ✓";color:var(--accent)}.ai-photo-found{flex:1 1 100%;display:flex;flex-direction:column;gap:8px}.ai-photos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.ai-photo{margin:0;display:flex;flex-direction:column;gap:4px;min-width:0}.ai-photo-img{position:relative;display:block;width:100%;aspect-ratio:4 / 3;padding:0;border:2px solid transparent;border-radius:12px;overflow:hidden;background:var(--surface-2);cursor:pointer}.ai-photo-img img{width:100%;height:100%;object-fit:cover;display:block}.ai-photo.on .ai-photo-img{border-color:var(--accent)}.ai-photo.weak .ai-photo-img{opacity:.85}.ai-photo-score{position:absolute;left:6px;top:6px;padding:1px 6px;border-radius:999px;font-size:11px;font-weight:700;background:#0000008c;color:#fff}.ai-photo-check{position:absolute;right:6px;top:6px;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:var(--accent);color:var(--accent-fg)}.ai-photo-busy{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;background:#00000059}.ai-photo figcaption{line-height:1.3;min-width:0}@media (min-width: 420px){.ai-photos{grid-template-columns:repeat(4,minmax(0,1fr))}}.ai-draft{border-style:dashed}.ai-draft .tap-row{display:flex}.scr-shots{display:flex;gap:8px;overflow-x:auto;padding-bottom:2px}.scr-shot{position:relative;flex:none;width:64px;height:96px;border-radius:10px;overflow:hidden;background:var(--surface-2);border:1px solid var(--line)}.scr-shot img{width:100%;height:100%;object-fit:cover;display:block}.scr-shot .icon-btn{position:absolute;right:2px;top:2px;width:22px;height:22px;background:var(--surface)}.scr-row{display:flex;flex-direction:column;gap:8px;padding:10px;border-radius:12px;border:1px solid var(--line);background:var(--surface)}.scr-row.on{border-color:var(--accent)}.scr-check{display:flex;gap:10px;align-items:flex-start;min-width:0}.scr-check input{margin-top:3px;flex:none;width:18px;height:18px;accent-color:var(--accent)}.scr-name{font-weight:600;overflow-wrap:anywhere}.scr-map{display:flex;flex-direction:column;gap:6px;padding-left:28px;min-width:0}.scr-map select{width:100%;min-width:0}.scr-price{display:flex;align-items:center;gap:8px;color:var(--muted)}.scr-price .field.num-input{width:96px;min-width:0;flex:none}.runner-card .row-btns .btn{white-space:nowrap}.row-btns.wrap{flex-wrap:wrap;gap:6px}.row-btns.wrap .btn{flex:0 1 auto}.ing-hint{display:flex;flex-direction:column;gap:6px;padding-top:8px;border-top:1px dashed var(--line)}.ai-line{align-items:flex-start}.ai-line svg{flex:none;margin-top:2px;color:var(--accent)}.ing-controls .field.need{border-color:var(--promo)}.missing-box{border-style:dashed}.save-check{gap:8px}.own-fix{display:flex;flex-direction:column;gap:6px;padding:10px 12px;border-radius:12px;background:var(--surface)}.missing-row{align-items:center;gap:10px}.pf-confirm{display:flex;gap:10px;align-items:flex-start;cursor:pointer}.pf-confirm input{width:20px;height:20px;flex:none;margin:1px 0 0;accent-color:var(--accent)}.pf-rule summary{cursor:pointer;list-style:none;display:flex;align-items:center;gap:6px}.pf-rule summary::-webkit-details-marker{display:none}.pf-rule summary:after{content:"›";margin-left:auto;transform:rotate(90deg);color:var(--muted)}.pf-rule[open] summary:after{transform:rotate(-90deg)}.cat-builtin,.settings-row .stat-tag{flex:none;white-space:nowrap}.settings-row .cat-builtin{font-weight:400}.cat-row-main{flex:1 1 auto;min-width:0;text-align:left;display:flex;flex-direction:column;gap:1px}.missing-main{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:2px}.missing-row .missing-add{flex:none}.missing-row.covered b{color:var(--muted)}.badge.unknown{background:var(--warn-bg);color:var(--warn-fg)}.bc-item{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 0;border-top:1px solid var(--line)}.bc-item:first-of-type{border-top:0}.bc-photo{width:100%;max-height:220px;object-fit:cover;border-radius:12px}.credit-opt{display:flex;align-items:flex-start;gap:10px;padding:8px 10px;border-radius:10px;background:var(--surface-2);cursor:pointer}.credit-opt input{margin-top:3px;accent-color:var(--accent);flex:none}.credit-opt.off{opacity:.6;cursor:default}.team-card .row-btns .btn.small,.team-card>.btn.small{text-align:left;justify-content:flex-start}canvas.confetti{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none;z-index:200}.spark{position:absolute;left:50%;top:50%;width:7px;height:7px;margin:-3.5px 0 0 -3.5px;border-radius:50%;background:var(--c);pointer-events:none;animation:spark .6s ease-out forwards}@keyframes spark{to{transform:translate(var(--x),var(--y)) scale(.2);opacity:0}}.shake{animation:shake .42s}@keyframes shake{20%,60%{transform:translate(-4px)}40%,80%{transform:translate(4px)}}.pop{animation:pop .32s cubic-bezier(.3,1.8,.5,1)}@keyframes pop{45%{transform:scale(1.22)}}.pricetag.stamp{animation:stamp .5s cubic-bezier(.3,1.6,.5,1) both}@keyframes stamp{0%{transform:scale(1.5) rotate(-6deg);opacity:0}}.meter>i{transition:width .6s cubic-bezier(.2,.8,.2,1),background .3s}.item .box svg path{stroke-dasharray:22;stroke-dashoffset:22;transition:stroke-dashoffset .25s .05s}.item.done .box svg path{stroke-dashoffset:0}.item .box{transition:background .2s,border-color .2s}.item .i-name{text-decoration:line-through;text-decoration-color:transparent;transition:text-decoration-color .25s,color .25s}.item.done .i-name{text-decoration-color:currentColor}.streak-chip{display:inline-flex;align-items:center;gap:5px;padding:4px 10px 4px 8px;border-radius:999px;background:var(--tag);color:var(--tag-fg);font-size:12.5px;font-weight:700;white-space:nowrap}.streak-chip svg{color:inherit}.qualify{color:var(--accent);font-weight:600}.meal.flip-in{animation:flipin .55s cubic-bezier(.3,1.2,.5,1)}@keyframes flipin{0%{transform:perspective(900px) rotateY(-75deg);opacity:.35}}.delta-chip{position:absolute;right:12px;top:-10px;z-index:2;padding:3px 9px;border-radius:999px;font-size:12.5px;font-weight:700;background:var(--accent);color:var(--accent-fg);pointer-events:none;animation:floatup 1.6s ease both}.delta-chip.up{background:var(--promo);color:#fff}@keyframes floatup{0%{opacity:0;transform:translateY(8px)}15%,75%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-12px)}}.recipe-hero.flip-in{animation:flipin .55s cubic-bezier(.3,1.2,.5,1)}.rings{position:relative;flex:none;display:grid;place-items:center}.rings svg{position:absolute;top:0;right:0;bottom:0;left:0;transform:rotate(-90deg)}.rings circle{fill:none;stroke-linecap:round}.rings .r-bg{stroke:var(--surface-2)}.rings .r-fg{transition:stroke-dashoffset .9s cubic-bezier(.2,.8,.2,1)}.rings .r-mid{position:relative;z-index:1}.rings .r-ok{position:absolute;right:-2px;bottom:-2px;z-index:2;width:18px;height:18px;border-radius:50%;background:var(--accent);color:var(--accent-fg);display:grid;place-items:center;box-shadow:0 0 0 2px var(--surface)}.fam-row .kcal-line{display:flex;justify-content:space-between;gap:8px;align-items:baseline}.mdot.fib{background:var(--m-fib)}.react-btn{position:relative}.react-ic{display:inline-block}.react-ic.popic{animation:popic .5s cubic-bezier(.3,1.8,.5,1)}@keyframes popic{40%{transform:scale(1.5) rotate(-12deg)}}.typing{display:inline-flex;gap:4px;align-items:center}.typing i{width:6px;height:6px;border-radius:50%;background:var(--muted);animation:blink 1s infinite}.typing i:nth-child(2){animation-delay:.15s}.typing i:nth-child(3){animation-delay:.3s}@keyframes blink{50%{opacity:.25;transform:translateY(-2px)}}.ask-card.cascade{animation:slidein .45s cubic-bezier(.2,.8,.2,1) both;animation-delay:var(--d, 0ms)}@keyframes slidein{0%{transform:translateY(14px);opacity:0}}.badge.shine{position:relative;overflow:hidden}.badge.shine:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(100deg,transparent 30%,rgb(255 255 255 / .55) 50%,transparent 70%);transform:translate(-100%);animation:shine 2.6s .6s 3}@keyframes shine{40%,to{transform:translate(100%)}}.skel{display:flex;flex-direction:column;gap:10px}.skel-card{display:grid;grid-template-columns:64px minmax(0,1fr);gap:12px;align-items:center;background:var(--surface);border-radius:var(--r-lg);padding:12px;box-shadow:var(--shadow)}.skel-card.no-pic{grid-template-columns:minmax(0,1fr)}.skel-box,.skel-line{background:linear-gradient(90deg,var(--surface-2) 25%,var(--line) 50%,var(--surface-2) 75%);background-size:200% 100%;animation:shim 1.2s linear infinite}.skel-box{height:64px;border-radius:14px}.skel-lines{display:grid;gap:8px}.skel-line{height:11px;border-radius:6px}@keyframes shim{to{background-position:-200% 0}}.fade-in{animation:fade .35s ease both}.gen-board{display:grid;gap:12px;background:var(--surface);border-radius:var(--r-lg);padding:14px;box-shadow:var(--shadow)}.gen-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.gen-day{display:flex;flex-direction:column;align-items:center;gap:6px;background:var(--surface-2);border-radius:12px;padding:8px 0;min-height:120px}.gen-day small{font-size:11px;color:var(--muted)}.gen-day.off{opacity:.4}.gen-plate{width:24px;height:24px;border-radius:50%;background:radial-gradient(circle at 35% 35%,rgb(255 255 255 / .5) 0 18%,transparent 19%),var(--c, #e2c48a);box-shadow:inset 0 0 0 3px #ffffff59;animation:drop .42s cubic-bezier(.3,1.5,.5,1) both;animation-delay:var(--d, 0ms)}@keyframes drop{0%{transform:translateY(-50px) scale(.6);opacity:0}}.gen-total{display:flex;justify-content:space-between;align-items:baseline;gap:8px;font-size:14px}.fam-row.rings-row{grid-template-columns:auto minmax(0,1fr) auto}.rings-hold{display:inline-flex}.over-text b{color:var(--promo)}.streak-row{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px}.badge.cooked{background:var(--accent-soft);color:var(--accent)}.cooked-mark{display:inline-grid;place-items:center;width:18px;height:18px;border-radius:50%;background:var(--accent);color:var(--accent-fg);align-self:center}.cook-btn{width:100%}.cook-btn.done{background:var(--accent-soft);color:var(--accent);box-shadow:none}.cook-ic{display:inline-flex}.cook-hint{text-align:center}.ww-back{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;display:grid;place-items:center;padding:16px;background:#0a100c7a;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);animation:ww-fade .25s ease-out both}.ww-card{width:min(100%,340px);display:grid;justify-items:center;gap:8px;text-align:center;padding:18px 18px 16px;border-radius:24px;background:var(--surface);color:var(--fg);box-shadow:0 18px 50px #00000047;animation:ww-in .45s cubic-bezier(.2,1.4,.4,1) both}.ww-card .h2{margin:2px 0 0}.ww-card .btn{width:100%;margin-top:6px}@keyframes ww-fade{0%{opacity:0}}@keyframes ww-in{0%{opacity:0;transform:translateY(18px) scale(.92)}}.addon-kbju{display:flex;flex-wrap:wrap;gap:2px 10px;margin-top:3px;color:var(--muted)}.addon-kbju>span{display:inline-flex;align-items:center;gap:3px;white-space:nowrap}.addon-kbju .on{color:var(--fg);font-weight:700}.extra-kcal{color:var(--muted)}.serv-step{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:4px 0 10px;border-bottom:1px solid var(--line, var(--surface-2));margin-bottom:4px}.serv-step .stepper{display:inline-flex;align-items:center;gap:10px}.serv-step .stepper .icon-btn{width:36px;height:36px;font-size:20px;font-weight:700;background:var(--surface-2)}.serv-step .stepper .icon-btn:disabled{opacity:.4}.serv-step .stepper b{min-width:24px;text-align:center;font-size:17px}:root{--pp-grey: #d6dcd4;--pp-grey-2: #bfc7bd}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){--pp-grey: #2f3a34;--pp-grey-2: #45524a}}:root[data-theme=dark]{--pp-grey: #2f3a34;--pp-grey-2: #45524a}.ww-streak{display:inline-grid;overflow:hidden;align-items:center;height:1.85em;padding:0 12px;border-radius:999px;background:var(--tag);color:var(--tag-fg);font-size:14px;font-weight:700}.ww-streak>span{grid-area:1 / 1}.ww-streak.flip .old{opacity:0;transform:translateY(-120%);animation:pp-chip-out .35s ease-in 1.85s both}.ww-streak.flip .new{animation:pp-chip-in .45s cubic-bezier(.2,1.5,.4,1) 1.95s both}.ww-need{margin:0;font-weight:600}.ww-cheer{color:var(--accent)}.pp-scene{width:100%;max-width:210px;height:auto;overflow:visible}.pp-grey{fill:var(--pp-grey)}.pp-stalk{fill:none;stroke:#3d8b3d;stroke-width:4.5;stroke-linecap:round}.pp-cap{fill:#4caf50}.pp-wave{animation:pp-wave 1.1s linear infinite}.pp-burst{fill:none;stroke:#f2462e;stroke-width:3;opacity:0;transform-box:fill-box;transform-origin:center;animation:pp-burst .7s ease-out 1.8s both}.pp-dot{opacity:0;animation:pp-fly .7s cubic-bezier(.2,.8,.3,1) 1.82s both}.pp-pepper,.pp-fire,.pp-flicker{transform-box:view-box;transform-origin:106px 156px}.ww-card:not(.lose) .pp-liquid{animation:pp-rise 1.4s cubic-bezier(.45,0,.25,1) .35s both}.ww-card:not(.lose) .pp-pepper{animation:pp-bounce .6s cubic-bezier(.3,1.6,.5,1) 1.8s both}.ww-card:not(.lose) .pp-fire{animation:pp-ignite .55s cubic-bezier(.3,1.5,.5,1) 1.85s both}.ww-card:not(.lose) .pp-flicker{animation:pp-flicker .42s ease-in-out 2.4s infinite alternate}.ww-card:not(.lose) .pp-glow{animation:pp-show .5s ease-out 1.85s both,pp-pulse 1.6s ease-in-out 2.4s infinite alternate}.ww-card:not(.lose) .pp-cap{animation:pp-cap-on .3s ease-out 1.8s both}.ww-card:not(.lose) .pp-stalk{animation:pp-stalk-on .3s ease-out 1.8s both}.ww-card.lose .pp-fire{transform:scale(0);opacity:0;animation:pp-out .6s ease-in .15s both}.ww-card.lose .pp-glow{opacity:0;animation:pp-hide .6s ease-in .15s both}.ww-card.lose .pp-flicker{animation:pp-flicker .3s ease-in-out infinite alternate}.ww-card.lose .pp-liquid{filter:saturate(.45) brightness(.92);animation:pp-drain 1.3s cubic-bezier(.45,0,.3,1) .7s both,pp-cool 1.2s ease-out .8s both}@keyframes pp-cool{0%{filter:none}}.ww-card.lose .pp-pepper{transform:rotate(9deg) translateY(2px);animation:pp-droop .6s ease-in-out 1.9s both}.ww-card.lose .pp-cap{fill:var(--pp-grey-2);animation:pp-cap-off .5s ease-out 1.6s both}.ww-card.lose .pp-stalk{stroke:var(--pp-grey-2);animation:pp-stalk-off .5s ease-out 1.6s both}.pp-smoke{fill:none;stroke:var(--muted);stroke-width:3;stroke-linecap:round;opacity:0;animation:pp-smoke 1.8s ease-out var(--d) 2 both}@keyframes pp-wave{to{transform:translate(-40px)}}@keyframes pp-rise{0%{transform:translateY(166px)}}@keyframes pp-drain{0%{transform:translateY(40px)}}@keyframes pp-bounce{0%{transform:none}40%{transform:scale(1.14,.9)}70%{transform:scale(.96,1.06)}to{transform:none}}@keyframes pp-burst{0%{opacity:0;transform:scale(.55)}8%{opacity:.7}to{opacity:0;transform:scale(1.35)}}@keyframes pp-fly{0%{opacity:0;transform:translate(0) scale(.6)}8%{opacity:1}to{opacity:0;transform:translate(var(--x),var(--y)) scale(1)}}@keyframes pp-ignite{0%{opacity:0;transform:scale(.1,0)}}@keyframes pp-flicker{to{transform:scale(.94,1.06) skew(2.5deg)}}@keyframes pp-show{0%{opacity:0}}@keyframes pp-hide{0%{opacity:1}}@keyframes pp-pulse{to{opacity:.6}}@keyframes pp-out{0%{opacity:1;transform:none}}@keyframes pp-droop{0%{transform:none}}@keyframes pp-cap-on{0%{fill:var(--pp-grey-2)}}@keyframes pp-stalk-on{0%{stroke:var(--pp-grey-2)}}@keyframes pp-cap-off{0%{fill:#4caf50}}@keyframes pp-stalk-off{0%{stroke:#3d8b3d}}@keyframes pp-smoke{0%{opacity:0;transform:translateY(6px)}30%{opacity:.5}to{opacity:0;transform:translateY(-24px)}}@keyframes pp-chip-out{0%{opacity:1;transform:none}}@keyframes pp-chip-in{0%{opacity:0;transform:translateY(120%)}}.install-hero{display:flex;align-items:center;gap:14px}.install-tile{flex:none;display:grid;justify-items:center;gap:4px}.install-tile img{width:64px;height:64px;border-radius:16px;box-shadow:0 6px 18px #0000002e}.install-tile small{font-size:11px;color:var(--muted)}.down-bar{position:fixed;z-index:38;top:calc(env(safe-area-inset-top,0px) + 8px);left:12px;right:12px;display:flex;align-items:flex-start;gap:10px;padding:10px 12px;border-radius:14px;background:var(--tag);color:var(--tag-fg);font-size:13.5px;line-height:1.35;box-shadow:0 8px 24px #0000002e}.down-bar span{flex:1;min-width:0}.down-bar button{flex:none;border:0;background:transparent;color:inherit;font-size:20px;line-height:1;padding:0 2px;cursor:pointer}.support-down{display:grid;gap:10px}.support-down .acts{display:flex;gap:8px;flex-wrap:wrap}.i-sub .good{color:var(--accent);font-weight:600}
