@font-face{font-family:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(/assets/archivo-vietnamese-standard-normal-rJmnGBSt.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(/assets/archivo-latin-ext-standard-normal-7khWdh9v.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(/assets/archivo-latin-standard-normal-DY7AcnAa.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Atkinson Hyperlegible Next Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/atkinson-hyperlegible-next-latin-ext-wght-normal-C6vrW8VD.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Atkinson Hyperlegible Next Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/atkinson-hyperlegible-next-latin-wght-normal-BcXVPD7q.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Atkinson Hyperlegible Next Variable;font-style:italic;font-display:swap;font-weight:200 800;src:url(/assets/atkinson-hyperlegible-next-latin-ext-wght-italic-Cigfgs4r.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Atkinson Hyperlegible Next Variable;font-style:italic;font-display:swap;font-weight:200 800;src:url(/assets/atkinson-hyperlegible-next-latin-wght-italic-DC5MiAaX.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--porcelain:#fbede5;--app:#fff7f2;--enamel:#fff;--ink:#3b2620;--ink-2:#6b4e45;--ink-3:#7e645b;--line:#f1ddd2;--rim:#b4532f;--rim-soft:#ffe9dd;--fill:#ffb896;--on-fill:#3b2620;--plate-rim:#f39a72;--paprika:#b63d2a;--paprika-soft:#ffe1d9;--check:#fff3c6;--check-ink:#765200;--check-line:#efd07a;--ok:#3e7a57;--ok-soft:#e2f2e7;--grid:#f39a7224;--bezel:#4a3029;--tint-gold:#ffe6b5;--tint-red:#ffd2c4;--tint-green:#dceedb;--tint-cream:#f9eadd;--tint-lilac:#ebe2f4;--scrim:#3b262061;--shadow:0 1px 0 #5b34260d, 0 10px 30px #5b34261a;--glow:#f39a7273;--f-display:"Archivo Variable", "Arial Narrow", "Helvetica Neue", Arial, sans-serif;--f-body:"Atkinson Hyperlegible Next Variable", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--porcelain:#1c1411;--app:#241915;--enamel:#31231e;--ink:#fbede6;--ink-2:#dcc2b7;--ink-3:#ad8f84;--line:#47332c;--rim:#ffb896;--rim-soft:#47302a;--fill:#f6a988;--on-fill:#2a1a15;--plate-rim:#e98e68;--paprika:#ff8a73;--paprika-soft:#4a2520;--check:#45391a;--check-ink:#f7da92;--check-line:#8e7330;--ok:#8fd4a8;--ok-soft:#20362a;--grid:#ffb89612;--bezel:#0e0907;--tint-gold:#5a4520;--tint-red:#5c2f27;--tint-green:#28402c;--tint-cream:#463428;--tint-lilac:#3d3249;--scrim:#0009;--shadow:0 1px 0 #0000004d, 0 10px 30px #00000073;--glow:#f6a9884d;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--porcelain:#1c1411;--app:#241915;--enamel:#31231e;--ink:#fbede6;--ink-2:#dcc2b7;--ink-3:#ad8f84;--line:#47332c;--rim:#ffb896;--rim-soft:#47302a;--fill:#f6a988;--on-fill:#2a1a15;--plate-rim:#e98e68;--paprika:#ff8a73;--paprika-soft:#4a2520;--check:#45391a;--check-ink:#f7da92;--check-line:#8e7330;--ok:#8fd4a8;--ok-soft:#20362a;--grid:#ffb89612;--bezel:#0e0907;--tint-gold:#5a4520;--tint-red:#5c2f27;--tint-green:#28402c;--tint-cream:#463428;--tint-lilac:#3d3249;--scrim:#0009;--shadow:0 1px 0 #0000004d, 0 10px 30px #00000073;--glow:#f6a9884d;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{height:100%}body{background:var(--porcelain);color:var(--ink);font-family:var(--f-body);-webkit-font-smoothing:antialiased;font-size:15px;line-height:1.45}button,input,textarea{font:inherit;color:inherit}button{cursor:pointer}:focus-visible{outline:3px solid var(--rim);outline-offset:2px;border-radius:6px}.num{font-variant-numeric:tabular-nums}#root{height:100%}.app{background:var(--app);flex-direction:column;max-width:560px;height:100%;margin:0 auto;display:flex;position:relative;overflow:hidden}@media (width>=600px){body{padding-block:16px}.app{height:100%;box-shadow:var(--shadow);border-radius:28px}}.info-btn{display:none}.topbar{flex:none;align-items:center;gap:10px;min-height:64px;padding:18px 18px 10px;display:flex}.topbar h1{font-family:var(--f-display);letter-spacing:-.01em;text-wrap:balance;margin:0;font-size:25px;font-weight:850;font-stretch:118%;line-height:1.1}.topbar .sub{color:var(--ink-3);font-size:13px}.topbar .spacer{flex:1}.icon-btn{background:var(--enamel);width:40px;height:40px;color:var(--ink);box-shadow:0 1px 0 var(--line);border:0;border-radius:999px;flex:none;place-items:center;display:inline-grid}.icon-btn svg{width:20px;height:20px}.screen{scroll-behavior:smooth;flex:1;padding:0 18px 24px;overflow:hidden auto}.screen.has-footer{padding-bottom:96px}.tabbar{background:var(--enamel);border-top:1px solid var(--line);flex:none;grid-template-columns:repeat(5,1fr);align-items:end;padding:6px 6px 10px;display:grid}.tab{color:var(--ink-3);background:0 0;border:0;justify-items:center;gap:3px;min-height:48px;padding:6px 0 2px;font-size:11.5px;font-weight:600;display:grid}.tab svg{width:24px;height:24px}.tab[aria-current=page]{color:var(--rim)}.tab-add{justify-items:center;display:grid}.tab-add button{border:4px solid var(--enamel);background:var(--fill);width:58px;height:58px;color:var(--on-fill);box-shadow:0 8px 18px var(--glow);border-radius:999px;place-items:center;margin-top:-26px;display:grid}.tab-add button svg{width:26px;height:26px}.search{background:var(--enamel);height:48px;box-shadow:0 1px 0 var(--line);z-index:2;border-radius:14px;align-items:center;gap:10px;padding:0 14px;display:flex;position:sticky;top:0}.search svg{width:20px;height:20px;color:var(--ink-3);flex:none}.search input{background:0 0;border:0;outline:none;flex:1;min-width:0;height:100%;font-size:16px}.chips{scrollbar-width:none;gap:8px;padding:12px 0 4px;display:flex;overflow-x:auto}.chips::-webkit-scrollbar{display:none}.chip{border:1px solid var(--line);background:var(--enamel);color:var(--ink-2);border-radius:999px;flex:none;min-height:36px;padding:7px 13px;font-size:13.5px;font-weight:600}.chip[aria-pressed=true]{background:var(--fill);color:var(--on-fill);border-color:var(--plate-rim)}.hint{color:var(--ink-3);padding:6px 2px 0;font-size:12.5px}.section-label{color:var(--ink);margin:26px 2px 8px;font-size:15px;font-weight:800}.plate{--size:54px;width:var(--size);height:var(--size);border:calc(var(--size) * .075) solid var(--plate-rim);background:var(--tint,var(--tint-cream));box-shadow:inset 0 0 0 calc(var(--size) * .06) var(--enamel);font-family:var(--f-display);color:var(--ink);font-weight:900;font-stretch:125%;font-size:calc(var(--size) * .36);border-radius:999px;flex:none;place-items:center;line-height:1;display:grid}.recipe-list{margin-top:6px;display:grid}.recipe-row{text-align:left;border:0;border-bottom:1px solid var(--line);background:0 0;align-items:center;gap:14px;width:100%;padding:14px 4px;display:flex}.recipe-row:hover{background:var(--enamel)}.recipe-row .title{font-size:16px;font-weight:700;line-height:1.25}.recipe-row .meta{color:var(--ink-3);flex-wrap:wrap;gap:10px;margin-top:2px;font-size:13px;display:flex}.recipe-row .meta span+span:before{content:"·";margin-right:10px}.recipe-row .fav{color:var(--paprika);vertical-align:-1px;margin-left:6px;display:inline-block}.recipe-row .fav svg{width:15px;height:15px}.mark{background:var(--rim-soft);color:var(--rim);border-radius:3px;padding:0 2px}.empty{text-align:center;color:var(--ink-2);justify-items:center;gap:10px;padding:36px 16px;display:grid}.empty h3{font-family:var(--f-display);color:var(--ink);margin:0;font-stretch:112%}.btn{border:0;border-radius:14px;justify-content:center;align-items:center;gap:8px;min-height:50px;padding:0 18px;font-size:16px;font-weight:700;display:inline-flex}.btn-primary{background:var(--fill);color:var(--on-fill)}.btn-ghost{background:var(--enamel);color:var(--ink);box-shadow:inset 0 0 0 1px var(--line)}.btn-danger-ghost{color:var(--paprika);background:0 0}.btn-block{width:100%}.btn svg{width:20px;height:20px}.footer-bar{background:linear-gradient(to top, var(--app) 70%, transparent);z-index:3;gap:10px;padding:12px 18px;display:flex;position:absolute;bottom:72px;left:0;right:0}.no-tabbar .footer-bar{padding-bottom:18px;bottom:0}.recipe-hero{gap:6px;padding:6px 2px 20px;display:grid}.recipe-hero h2{font-family:var(--f-display);text-wrap:balance;margin:0 0 4px;font-size:30px;font-weight:850;font-stretch:116%;line-height:1.06}.recipe-meta{color:var(--ink-2);margin:0;font-size:15px;font-weight:700}.recipe-source{color:var(--ink-3);margin:0;font-size:13.5px}.recipe-source a{color:inherit;text-underline-offset:2px}.meta-pill{background:var(--enamel);box-shadow:0 1px 0 var(--line);border-radius:999px;padding:6px 12px;font-size:13.5px;font-weight:600}.notebook{background-color:var(--enamel);background-image:linear-gradient(var(--grid) 1px, transparent 1px), linear-gradient(90deg, var(--grid) 1px, transparent 1px);box-shadow:var(--shadow);background-position:-1px -1px;background-size:18px 18px;border-radius:18px;padding:16px}.servings{justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;display:flex}.servings .label{font-weight:700}.stepper{background:var(--app);box-shadow:inset 0 0 0 1px var(--line);border-radius:999px;align-items:center;display:inline-flex}.stepper button{width:44px;height:44px;color:var(--rim);background:0 0;border:0;border-radius:999px;font-size:22px;font-weight:700}.stepper output{text-align:center;min-width:64px;font-size:16px;font-weight:800}.scale-note{color:var(--ink-3);margin:0 0 6px;font-size:12.5px}.ing-list{margin:0;padding:0;list-style:none;display:grid}.ing{border-bottom:1px dashed var(--line);align-items:flex-start;gap:12px;padding:9px 2px;display:flex}.ing:last-child{border-bottom:0}.ing-group{font-family:var(--f-display);color:var(--rim);padding:12px 2px 2px;font-size:15px;font-weight:800;font-stretch:110%}.check{border:2px solid var(--ink-3);background:var(--enamel);border-radius:7px;flex:none;place-items:center;width:24px;height:24px;margin-top:1px;display:grid}.check svg{opacity:0;width:16px;height:16px;color:var(--on-fill)}[aria-checked=true]>.check,.is-done>.check{background:var(--fill);border-color:var(--plate-rim)}[aria-checked=true]>.check svg,.is-done>.check svg{opacity:1}.ing-btn{text-align:left;background:0 0;border:0;align-items:flex-start;gap:12px;width:100%;padding:0;display:flex}.ing-btn[aria-checked=true] .ing-text{color:var(--ink-3);text-decoration:line-through}.ing-text{flex:1;min-width:0}.scaled{color:var(--rim);font-weight:800}.unscaled{color:var(--ink-3);border:1px solid var(--line);vertical-align:1px;border-radius:999px;margin-left:4px;padding:0 7px;font-size:11.5px;font-weight:700;display:inline-block}.optional{color:var(--ink-3);margin-left:4px;font-size:11.5px}.steps{counter-reset:step;gap:14px;margin:0;padding:0;list-style:none;display:grid}.steps li{counter-increment:step;grid-template-columns:30px 1fr;gap:10px;display:grid}.steps li:before{content:counter(step);font-family:var(--f-display);border:2px solid var(--rim);width:28px;height:28px;color:var(--rim);border-radius:999px;place-items:center;font-size:15px;font-weight:900;font-stretch:125%;display:grid}.timer-chip{background:var(--paprika-soft);color:var(--paprika);border:0;border-radius:999px;align-items:center;gap:6px;min-height:34px;margin-top:6px;padding:6px 12px;font-size:13.5px;font-weight:700;display:inline-flex}.timer-chip svg{width:16px;height:16px}.timer-chip.is-running{background:var(--paprika);color:var(--app)}.own-note{border-left:3px solid var(--rim);color:var(--ink-2);background:var(--enamel);border-radius:0 10px 10px 0;margin-top:16px;padding:6px 12px;font-size:14px}.cook{z-index:20;background:var(--app);flex-direction:column;display:flex;position:absolute;inset:0}.cook-top{align-items:center;gap:12px;padding:18px 18px 8px;display:flex}.cook-progress{flex:1;gap:4px;display:flex}.cook-progress span{background:var(--line);border-radius:99px;flex:1;height:5px}.cook-progress span.on{background:var(--plate-rim)}.cook-body{flex-direction:column;flex:1;min-height:0;padding:8px 22px 0;display:flex;position:relative}.cook-step-no{font-family:var(--f-display);color:var(--rim);font-size:16px;font-weight:900;font-stretch:125%}.cook-ings{flex-wrap:wrap;gap:6px;margin:10px 0 4px;display:flex}.cook-ings span{background:var(--enamel);box-shadow:0 1px 0 var(--line);border-radius:999px;padding:5px 11px;font-size:14px;font-weight:600}.cook-text{text-wrap:pretty;z-index:2;pointer-events:none;margin:14px 0 0;font-size:26px;font-weight:600;line-height:1.35;position:relative}.cook-text .timer-chip{pointer-events:auto;margin-top:18px;padding:10px 16px;font-size:17px}.cook-zones{z-index:1;grid-template-columns:1fr 1fr;display:grid;position:absolute;inset:0}.cook-zones button{color:var(--ink-3);background:0 0;border:0;align-items:flex-end;gap:6px;padding:0 22px 26px;font-size:14px;font-weight:700;display:flex}.cook-zones button:last-child{justify-content:flex-end}.cook-zones button:active{background:var(--rim-soft)}.cook-zones button:disabled{visibility:hidden}.cook-zones svg{width:18px;height:18px}.wake{color:var(--ink-3);align-items:center;gap:6px;padding:0 22px 8px;font-size:12px;display:flex}.wake i{background:var(--ink-3);border-radius:99px;width:8px;height:8px;display:inline-block}.wake.on i{background:var(--ok)}.done-card{text-align:center;z-index:2;justify-items:center;gap:14px;min-height:0;padding-top:30px;padding-bottom:120px;display:grid;position:relative;overflow-y:auto}.done-card h2{font-family:var(--f-display);margin:0;font-size:30px;font-weight:850;font-stretch:118%}.stars{gap:4px;display:flex}.stars button{width:48px;height:48px;color:var(--line);background:0 0;border:0}.stars button[aria-pressed=true]{color:var(--paprika)}.stars svg{width:34px;height:34px}.tray{z-index:30;pointer-events:none;gap:6px;display:grid;position:absolute;bottom:82px;left:12px;right:12px}.cook~.tray,.no-tabbar .tray{bottom:14px}.tray-item{pointer-events:auto;background:var(--ink);color:var(--app);box-shadow:var(--shadow);border-radius:14px;gap:8px;padding:10px 12px 10px 14px;display:grid}.tray-main{align-items:center;gap:10px;display:flex}.tray-item .t{font-family:var(--f-display);min-width:64px;font-size:20px;font-weight:850;font-stretch:112%}.tray-item .l{opacity:.85;white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:13px;overflow:hidden}.tray-item button{color:inherit;background:#ffffff24;border:0;border-radius:10px;min-height:34px;padding:6px 10px;font-weight:700}.tray-adjust{flex-wrap:wrap;gap:6px;display:flex}.tray-adjust .tray-btn{flex:1;font-size:13.5px}.tray-save{background:#ffffff42!important;flex:1 0 100%!important}.tray-item button:disabled{opacity:.45}.tray-err{opacity:.85;flex:1 0 100%;font-size:12.5px}.tray-item.ring{background:var(--paprika);animation:.9s ease-in-out infinite alternate ring}@keyframes ring{0%{transform:translateY(0)}to{transform:translateY(-3px)}}.scrim{background:var(--scrim);z-index:40;position:absolute;inset:0}.sheet{z-index:41;background:var(--app);border-radius:24px 24px 0 0;flex-direction:column;max-height:88%;animation:.22s ease-out up;display:flex;position:absolute;bottom:0;left:0;right:0;box-shadow:0 -10px 40px #0000002e}@keyframes up{0%{opacity:.6;transform:translateY(24px)}to{opacity:1;transform:none}}.sheet-grip{background:var(--line);border-radius:99px;flex:none;width:40px;height:5px;margin:10px auto 4px}.sheet-head{align-items:center;gap:10px;padding:6px 18px 10px;display:flex}.sheet-head h3{font-family:var(--f-display);flex:1;margin:0;font-size:21px;font-weight:850;font-stretch:114%}.sheet-body{gap:14px;padding:0 18px 22px;display:grid;overflow-y:auto}.toast{z-index:50;background:var(--ink);color:var(--app);max-width:calc(100% - 32px);box-shadow:var(--shadow);border-radius:12px;padding:10px 16px;font-weight:600;animation:.2s ease-out up;position:absolute;bottom:92px;left:50%;transform:translate(-50%)}.no-tabbar .toast{bottom:26px}.seg{grid-template-columns:repeat(4,1fr);gap:6px;display:grid}.seg button{border:1px solid var(--line);background:var(--enamel);color:var(--ink-2);border-radius:14px;justify-items:center;gap:4px;min-height:72px;padding:12px 4px 10px;font-size:13px;font-weight:700;display:grid}.seg button svg{width:24px;height:24px}.seg button[aria-pressed=true]{border-color:var(--rim);color:var(--rim);background:var(--rim-soft)}.field{gap:6px;display:grid}.field label{color:var(--ink-2);font-size:13px;font-weight:700}.input,.textarea{border:1px solid var(--line);background:var(--enamel);border-radius:12px;outline:none;width:100%;min-width:0;padding:12px 14px;font-size:16px}.input:focus,.textarea:focus{border-color:var(--rim)}.textarea{resize:vertical;min-height:130px;line-height:1.45}.dropzone{border:2px dashed var(--line);text-align:center;color:var(--ink-2);background:var(--enamel);border-radius:16px;justify-items:center;gap:8px;padding:22px;display:grid}.dropzone svg{width:34px;height:34px;color:var(--rim)}.photo-preview{object-fit:cover;border-radius:12px;width:100%;max-height:180px}.loading{text-align:center;color:var(--ink-2);justify-items:center;gap:14px;padding:34px 0 20px;display:grid}.spinner{border:5px solid var(--rim-soft);border-top-color:var(--rim);border-radius:99px;width:44px;height:44px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.steps-log{gap:4px;margin:0;padding:0;font-size:13.5px;list-style:none;display:grid}.steps-log li:before{content:"✓ ";color:var(--ok);font-weight:800}.offer{background:var(--enamel);box-shadow:var(--shadow);border-radius:18px;gap:12px;padding:18px;display:grid}.offer h4{margin:0;font-size:17px}.offer p{color:var(--ink-2);margin:0}.price{flex-wrap:wrap;align-items:baseline;gap:12px;display:flex}.price b{font-family:var(--f-display);font-size:26px;font-weight:850;font-stretch:115%}.budget-bar{background:var(--rim-soft);border-radius:99px;height:8px;overflow:hidden}.budget-bar span{background:var(--plate-rim);border-radius:99px;height:100%;display:block}.budget-text{color:var(--ink-3);font-size:13px}.badge-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.badge{border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-size:12.5px;font-weight:700;display:inline-flex}.badge-free{background:var(--ok-soft);color:var(--ok)}.badge-ai{background:var(--rim-soft);color:var(--rim)}.warn{background:var(--check);color:var(--check-ink);border:1px solid var(--check-line);border-radius:14px;gap:4px;padding:12px 14px;font-size:14px;display:grid}.warn b{font-weight:800}.review-ing{border-radius:12px;gap:4px;padding:8px 10px;display:grid}.review-ing.unsure{background:var(--check);box-shadow:inset 0 0 0 1px var(--check-line)}.review-ing .row{align-items:center;gap:8px;display:flex}.review-ing input{border:0;border-bottom:1px solid var(--line);background:0 0;outline:none;flex:1;min-width:0;padding:6px 2px;font-size:15.5px}.review-ing input:focus{border-color:var(--rim)}.parse{flex-wrap:wrap;gap:4px;font-size:12px;display:flex}.parse span{background:var(--enamel);color:var(--ink-2);box-shadow:0 0 0 1px var(--line);border-radius:6px;padding:1px 7px}.parse span.k{color:var(--ink-3);box-shadow:none;background:0 0;padding-left:0}.unsure-tag{color:var(--check-ink);white-space:nowrap;font-size:11.5px;font-weight:800}.ok-btn{background:var(--enamel);color:var(--ink);box-shadow:0 0 0 1px var(--check-line);border:0;border-radius:8px;min-height:30px;padding:4px 9px;font-size:12.5px;font-weight:700}.review-steps{gap:8px;display:grid}.review-steps textarea{min-height:64px}.grid-2{grid-template-columns:1fr 1fr 1fr;gap:8px;display:grid}.week-head{justify-content:space-between;align-items:center;gap:8px;margin:2px 0 10px;display:flex}.week-head b{font-family:var(--f-display);font-size:16px;font-weight:800;font-stretch:112%}.day{border-bottom:1px solid var(--line);grid-template-columns:50px 1fr;gap:10px;padding:10px 0;display:grid}.day-label{align-content:start;justify-items:center;gap:0;padding-top:4px;display:grid}.day-label .d{font-family:var(--f-display);font-size:20px;font-weight:900;font-stretch:125%}.day-label .w{color:var(--ink-3);font-size:12px;font-weight:700}.day.today .day-label .d{color:var(--rim)}.slots{gap:6px;min-width:0;display:grid}.slot{text-align:left;background:var(--enamel);width:100%;box-shadow:0 1px 0 var(--line);border:0;border-radius:12px;align-items:center;gap:10px;min-height:48px;padding:8px 10px;display:flex}.slot .plate{--size:32px}.slot .s-meal{color:var(--ink-3);font-size:12.5px;font-weight:700}.slot .s-title{font-weight:700;line-height:1.2}.slot .s-serv{color:var(--ink-2);white-space:nowrap;margin-left:auto;font-size:12.5px;font-weight:700}.slot .s-serv.double{color:var(--paprika)}.slot-empty{box-shadow:inset 0 0 0 1.5px var(--line);color:var(--ink-3);background:0 0;border-radius:12px;font-weight:600}.slot-empty svg{width:18px;height:18px}.slot-custom .plate{--tint:var(--tint-lilac)}.picker-row{text-align:left;background:0 0;border:0;border-radius:12px;align-items:center;gap:12px;width:100%;padding:8px 2px;display:flex}.picker-row .plate{--size:40px}.picker-row:hover{background:var(--enamel)}.list-head{gap:8px;margin-bottom:4px;display:grid}.progress{background:var(--rim-soft);border-radius:99px;height:8px;overflow:hidden}.progress span{background:var(--ok);border-radius:99px;height:100%;transition:width .25s;display:block}.stale{background:var(--rim-soft);color:var(--ink);border-radius:14px;align-items:center;gap:10px;padding:12px 14px;font-size:14px;display:flex}.stale button{flex:none;margin-left:auto}.offline{background:var(--ink);color:var(--app);border-radius:12px;align-items:center;gap:8px;padding:9px 12px;font-size:13.5px;display:flex}.offline svg{flex:none;width:18px;height:18px}.aisle{margin-top:18px}.aisle h4{color:var(--rim);gap:8px;margin:0 2px 6px;font-size:15px;font-weight:800;display:flex}.aisle h4 span{color:var(--ink-3);font-weight:700}.items{background:var(--enamel);box-shadow:0 1px 0 var(--line);border-radius:16px;overflow:hidden}.item{border-bottom:1px solid var(--line)}.item:last-child{border-bottom:0}.item-main{text-align:left;background:0 0;border:0;align-items:flex-start;gap:12px;width:100%;min-height:52px;padding:13px 14px;display:flex}.item-text{flex:1;min-width:0}.item-text .q{font-weight:800}.item-text .raw{color:var(--ink-2);font-style:italic}.item.is-done .item-text{color:var(--ink-3);text-decoration:line-through}.item-sub{flex-wrap:wrap;gap:8px;margin-top:-6px;padding:0 14px 12px 50px;display:flex}.src-btn{color:var(--rim);background:0 0;border:0;padding:2px 0;font-size:13px;font-weight:700}.scale-warn{background:var(--paprika-soft);color:var(--paprika);border-radius:999px;padding:2px 9px;font-size:12.5px;font-weight:800}.sources{color:var(--ink-2);gap:3px;margin:0;padding:0 14px 12px 50px;font-size:13px;list-style:none;display:grid}.collapser{width:100%;color:var(--ink-2);text-align:left;background:0 0;border:0;align-items:center;gap:10px;padding:16px 2px 8px;font-weight:800;display:flex}.collapser small{color:var(--ink-3);font-weight:600}.collapser-text{gap:2px;min-width:0;display:grid}.collapser-text small{font-size:13px}.collapser svg{width:18px;height:18px;margin-left:auto;transition:transform .2s}.collapser[aria-expanded=true] svg{transform:rotate(180deg)}.card{background:var(--enamel);box-shadow:0 1px 0 var(--line);border-radius:18px;gap:10px;padding:16px;display:grid}.card h4{margin:0;font-size:15px}.kv{justify-content:space-between;gap:10px;font-size:14px;display:flex}.kv span:first-child{color:var(--ink-2)}.toggle-row{text-align:left;background:0 0;border:0;align-items:center;gap:12px;width:100%;padding:4px 0;display:flex}.switch{background:var(--line);border-radius:99px;flex:none;width:46px;height:28px;transition:background .2s;position:relative}.switch:after{content:"";background:var(--enamel);border-radius:99px;width:22px;height:22px;transition:transform .2s;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #00000040}.toggle-row[aria-checked=true] .switch{background:var(--plate-rim)}.toggle-row[aria-checked=true] .switch:after{transform:translate(18px)}.status-ok{color:var(--ok);font-weight:800}@media (width<=599px){.topbar{padding-left:max(18px, env(safe-area-inset-left,0px));padding-right:max(18px, env(safe-area-inset-right,0px))}.screen{padding-left:max(16px, env(safe-area-inset-left,0px));padding-right:max(16px, env(safe-area-inset-right,0px))}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}a{color:inherit}.tab{text-decoration:none}.link-btn{color:var(--rim);background:0 0;border:0;padding:6px 0;font-weight:700}.error-box{background:var(--paprika-soft);color:var(--paprika);border-radius:12px;padding:10px 14px;font-size:14px;font-weight:600}.login{align-content:center;gap:18px;min-height:100%;padding:32px 24px;display:grid}.login .brand{text-align:center;justify-items:center;gap:10px;display:grid}.login .brand h1{font-family:var(--f-display);margin:0;font-size:34px;font-weight:850;font-stretch:122%}.login .brand p{color:var(--ink-2);margin:0}.login form{gap:12px;display:grid}.login .or{color:var(--ink-3);grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;margin:-4px 0;font-size:13px;display:grid}.login .or:before,.login .or:after{content:"";background:var(--line);height:1px}.skeleton{background:linear-gradient(90deg, var(--enamel), var(--line), var(--enamel));background-size:200% 100%;border-radius:14px;height:64px;animation:1.2s linear infinite shimmer}@keyframes shimmer{to{background-position:-200% 0}}.editor-preview{gap:4px;margin-top:8px;display:grid}.editor-line{background:var(--enamel);box-shadow:0 0 0 1px var(--line);border-radius:10px;gap:3px;padding:7px 10px;display:grid}.editor-line.unsure{background:var(--check);box-shadow:inset 0 0 0 1px var(--check-line)}.editor-line .raw{font-weight:600}.editor-group{font-family:var(--f-display);color:var(--rim);padding:8px 2px 0;font-size:14px;font-weight:800;font-stretch:110%}.help{color:var(--ink-3);margin:0;font-size:13px}.row-actions{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:18px;display:flex}.confirm{background:var(--paprika-soft);border-radius:14px;gap:10px;padding:12px 14px;display:grid}.confirm p{color:var(--paprika);margin:0;font-weight:700}.tag-row{flex-wrap:wrap;justify-content:center;gap:6px;display:flex}a.btn,a.icon-btn,a.recipe-row{color:inherit;text-decoration:none}a.btn-primary{color:var(--on-fill)}.tray{width:min(536px,100% - 24px);left:50%;right:auto;bottom:calc(82px + env(safe-area-inset-bottom,0px));position:fixed;transform:translate(-50%)}.offline-banner{margin:2px 0 12px;line-height:1.4}.offline-banner b{font-weight:800}.pending-note{color:var(--ink-2);font-size:13px}.update-toast{bottom:calc(92px + env(safe-area-inset-bottom,0px));flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;display:flex;position:fixed}.update-toast .link-btn{color:var(--fill);padding:4px 2px}.btn:disabled,.icon-btn:disabled,.slot:disabled,.stepper button:disabled,.link-btn:disabled{opacity:.45;cursor:not-allowed}.ing-more{width:40px;height:40px;color:var(--ink-3);background:0 0;border:0;border-radius:999px;flex:none;place-items:center;margin:-8px -6px -8px 0;display:grid}.ing-more:active{background:var(--rim-soft)}.ing-more svg{width:20px;height:20px}.ing-sheet-amount{font-family:var(--f-display);color:var(--rim);font-size:28px;font-weight:850;font-stretch:112%;line-height:1.1}.field-label{color:var(--ink-2);font-size:13px;font-weight:700}.ing-sheet-eq{justify-content:flex-start}.have-row{grid-template-columns:1fr 104px;gap:8px;display:grid}.scale-note .link-btn{font-size:inherit;padding:0}.unit-prefs{gap:10px;display:grid}.unit-prefs .chips{padding:0}.unit-prefs .kv{align-items:center}.recipe-photo-btn{background:0 0;border:0;border-radius:18px;width:100%;margin-bottom:12px;padding:0;display:block;overflow:hidden}.recipe-photo{aspect-ratio:4/3;object-fit:cover;background:var(--rim-soft);width:100%;display:block}.photo-add{justify-self:start;align-items:center;gap:6px;margin-top:2px;display:inline-flex}.photo-add svg{width:18px;height:18px}.row-thumb{object-fit:cover;background:var(--rim-soft);border-radius:12px;flex:none;width:56px;height:56px;margin-left:auto}.own-note{white-space:pre-line}.own-note .link-btn{padding:6px 0 0}.notes-edit{gap:10px;display:grid}.notes-actions{justify-content:flex-end;gap:8px;display:flex}.done-note{width:min(100%,340px);min-height:64px}.cook-photo{justify-items:center;gap:10px;display:grid}.cook-photo-thumb{aspect-ratio:4/3;object-fit:cover;background:var(--rim-soft);border-radius:14px;width:150px}.cook-photo .btn svg{width:18px;height:18px}
