.dinner-board{display:flex;flex-direction:column;gap:1.15rem;font-size:.95rem}.dinner-board-header{display:flex;flex-direction:column;gap:.28rem}.dinner-board-header h2{margin:0;font-size:1.35rem;font-weight:750;letter-spacing:-.03em;line-height:1.15;text-wrap:balance}.dinner-board-header p{margin:0;max-width:42ch;color:var(--muted);line-height:1.4}.dinner-board button{min-height:44px}.dinner-night-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.9rem}.dinner-night{display:flex;flex-direction:column;gap:.7rem;min-width:0;padding:.9rem;border:1px dashed var(--line);border-radius:12px;background:var(--raised)}.dinner-night.is-filled{border-style:solid;background:var(--bg)}.dinner-night-day{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.35rem .7rem}.dinner-night-day strong{font-size:.95rem;font-weight:750}.dinner-night-day span{color:var(--muted);font-size:.78rem;line-height:1.3}.dinner-night-day .is-shared{color:var(--success);font-weight:700}.dinner-night-day .is-split{color:var(--accent);font-weight:650}.dinner-night-empty{display:flex;flex:1;flex-direction:column;justify-content:flex-end;gap:.85rem;min-height:11.5rem;padding:.85rem;border-radius:10px;background:var(--surface)}.dinner-night-empty p{margin:0;color:var(--muted);font-size:.95rem;line-height:1.4}.dinner-pick{width:100%;min-height:44px;padding:.7rem .9rem;border:1px solid var(--primary);border-radius:9px;color:#fff;background:var(--primary);font-weight:750;cursor:pointer;transition:background .18s cubic-bezier(.22,1,.36,1),border-color .18s cubic-bezier(.22,1,.36,1)}.dinner-pick:hover:not(:disabled){border-color:var(--primary-hover);background:var(--primary-hover)}.dinner-pick:disabled,.dinner-night-change:disabled,.dinner-night-clear:disabled,.dinner-picker-choice:disabled,.dinner-picker-footer .primary-button:disabled{cursor:default;opacity:.55}.dinner-night-recipe{display:flex;flex-direction:column;gap:.55rem;width:100%;min-width:0;padding:0;border:0;background:transparent;text-align:left;cursor:pointer}.dinner-night-art{display:block;width:100%;aspect-ratio:4 / 3;border-radius:8px;background:var(--surface)}.dinner-night-art .recipe-artwork,.dinner-night-art .artwork-fallback{width:100%;height:100%;min-height:0;border-radius:8px}.dinner-night-art .artwork-fallback{padding:.7rem}.dinner-night-recipe strong{font-size:.98rem;font-weight:750;line-height:1.25;text-wrap:balance;transition:color .18s cubic-bezier(.22,1,.36,1)}.dinner-night-recipe:hover strong{color:var(--primary)}.dinner-night-meta{margin:0;color:var(--muted);font-size:.95rem;font-variant-numeric:tabular-nums;line-height:1.35}.dinner-night-actions{display:flex;gap:.5rem;margin-top:auto}.dinner-night-change,.dinner-night-clear{flex:1;min-height:44px;padding:0 .7rem;border-radius:9px;font-size:.88rem;font-weight:750;cursor:pointer;transition:background .18s cubic-bezier(.22,1,.36,1),color .18s cubic-bezier(.22,1,.36,1),border-color .18s cubic-bezier(.22,1,.36,1)}.dinner-night-change{border:1px solid var(--line);color:var(--ink);background:var(--bg)}.dinner-night-change:hover:not(:disabled){border-color:color-mix(in oklch,var(--primary) 35%,var(--line));color:var(--primary)}.dinner-night-clear{border:0;color:var(--muted);background:var(--surface)}.dinner-night-clear:hover:not(:disabled){color:var(--accent)}.dinner-picker{padding:0;border:0;color:var(--ink);background:transparent}.dinner-picker[open]{inset:0;display:flex;align-items:center;justify-content:center;width:100%;max-width:none;height:100%;max-height:none;margin:0}.dinner-picker::backdrop{background:#0f131f73}.dinner-picker-sheet{display:flex;flex-direction:column;width:min(880px,calc(100vw - 1.5rem));max-height:min(820px,calc(100vh - 1.5rem));min-height:0;overflow:hidden;border:1px solid var(--line);border-radius:14px;background:var(--bg);box-shadow:0 24px 60px #0f131f40}.dinner-picker-header{padding:1.15rem 1.25rem .7rem}.dinner-picker-header h2{margin:0;font-size:1.28rem;font-weight:750;letter-spacing:-.03em;line-height:1.15;text-wrap:balance}.dinner-picker-header p{margin:.28rem 0 0;color:var(--muted);font-size:.95rem;line-height:1.4}.dinner-picker-empty{margin:0;padding:1.5rem 1.25rem;color:var(--muted)}.dinner-picker-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(168px,1fr));gap:.7rem;min-height:0;padding:.35rem 1.25rem 1rem;overflow-y:auto}.dinner-picker-recipe{display:flex;flex-direction:column;gap:.45rem;min-width:0;padding:.4rem .4rem .55rem;border:1px solid var(--line);border-radius:10px;background:var(--bg)}.dinner-picker-recipe.is-selected{border-color:var(--primary);background:color-mix(in oklch,var(--primary) 6%,var(--bg))}.dinner-picker-choice{display:flex;flex-direction:column;gap:.45rem;width:100%;min-width:0;padding:0;border:0;background:transparent;text-align:left;cursor:pointer}.dinner-picker-art{display:block;width:100%;aspect-ratio:4 / 3;border-radius:8px;background:var(--surface)}.dinner-picker-art .recipe-artwork,.dinner-picker-art .artwork-fallback{width:100%;height:100%;min-height:0;border-radius:8px}.dinner-picker-art .artwork-fallback{padding:.65rem}.dinner-picker-copy{display:flex;flex-direction:column;gap:.2rem;min-width:0}.dinner-picker-copy strong{font-size:.95rem;font-weight:750;line-height:1.25;transition:color .18s cubic-bezier(.22,1,.36,1)}.dinner-picker-copy span{color:var(--muted);font-size:.95rem;font-variant-numeric:tabular-nums}.dinner-picker-recipe .macro-strip{margin:0 .15rem}.dinner-picker-choice:hover:not(:disabled) strong{color:var(--primary)}.dinner-picker-footer{display:flex;flex-shrink:0;gap:.55rem;padding:.85rem 1.25rem 1.1rem;border-top:1px solid var(--line);background:var(--bg)}.dinner-picker-footer .primary-button{flex:1;min-height:44px}.dinner-picker-close{min-width:5.75rem;min-height:44px;padding:0 .9rem;border:1px solid var(--line);border-radius:9px;color:var(--ink);background:var(--surface);font-weight:750;cursor:pointer;transition:color .18s cubic-bezier(.22,1,.36,1),border-color .18s cubic-bezier(.22,1,.36,1)}.dinner-picker-close:hover{border-color:color-mix(in oklch,var(--primary) 35%,var(--line));color:var(--primary)}@media(max-width:640px){.dinner-night-grid{grid-template-columns:minmax(0,1fr)}.dinner-picker-sheet{width:calc(100vw - 1rem);max-height:calc(100vh - 1rem)}.dinner-picker-grid{grid-template-columns:minmax(0,1fr)}}@media(prefers-reduced-motion:reduce){.dinner-pick,.dinner-night-recipe strong,.dinner-night-change,.dinner-night-clear,.dinner-picker-choice strong,.dinner-picker-close{transition:none}}.lunch-builder{display:flex;flex-direction:column;gap:.9rem;width:min(720px,calc(100vw - 2rem));max-height:min(88vh,860px);margin:auto;overflow-y:auto;padding:1.4rem;border:1px solid var(--line);border-radius:14px;color:var(--ink);background:var(--bg);box-shadow:0 24px 60px #0f131f40}.lunch-builder::backdrop{background:#0f131f73}.lunch-builder .builder-header{display:flex;align-items:flex-start;justify-content:space-between;gap:.8rem}.lunch-builder .builder-header h2{margin:.15rem 0;font-size:1.3rem}.lunch-builder .builder-header p:last-child{margin:0;color:var(--muted);font-size:.74rem}.lunch-builder .close-button{width:44px;min-width:44px;height:44px;min-height:44px}.lunch-builder .builder-days{display:flex;flex-wrap:wrap;gap:.35rem}.lunch-builder .builder-days button{flex:1;min-height:44px;padding:.45rem .3rem;border:1px solid var(--line);border-radius:8px;background:var(--raised);color:var(--muted);font-size:.68rem;font-weight:700;cursor:pointer}.lunch-builder .builder-days .builder-day-active{border-color:var(--primary);background:var(--primary);color:var(--bg)}.lunch-builder .builder-progress{display:grid;grid-template-columns:1fr 1fr;gap:.6rem;padding:.8rem;border:1px solid var(--line);border-radius:10px;background:var(--surface)}.lunch-builder .builder-progress.progress-met{border-color:var(--success)}.lunch-builder .builder-progress>div{display:flex;flex-direction:column;gap:.15rem}.lunch-builder .builder-progress strong{font-size:.9rem}.lunch-builder .builder-progress span{color:var(--muted);font-size:.64rem}.lunch-builder .builder-progress .calories-over{color:var(--accent)}.lunch-builder .builder-progress progress{grid-column:1 / -1;width:100%;height:8px}.lunch-builder .builder-selected{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem}.lunch-builder .builder-selected>strong{width:100%;font-size:.7rem}.lunch-builder .selected-chip{display:inline-flex;align-items:center;gap:.35rem;min-height:44px;padding:.25rem .3rem .25rem .55rem;border:1px solid var(--line);border-radius:999px;background:var(--raised);font-size:.64rem;font-weight:600}.lunch-builder .selected-chip button{min-width:44px;min-height:44px;padding:0 .3rem;border:0;border-radius:999px;background:transparent;color:var(--muted);font-size:.8rem;cursor:pointer}.lunch-builder .selected-chip button:hover{color:var(--accent)}.lunch-builder .builder-group h3{margin:0 0 .45rem;font-size:.78rem}.lunch-builder .builder-candidates{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.45rem}.lunch-builder .builder-candidate{display:flex;flex-direction:column;gap:.2rem;min-height:44px;padding:.6rem;border:1px solid var(--line);border-radius:9px;background:var(--bg);text-align:left;cursor:pointer}.lunch-builder .builder-candidate:hover{border-color:var(--primary)}.lunch-builder .builder-candidate.candidate-selected{border-color:var(--success);background:var(--surface)}.lunch-builder .candidate-name{font-size:.7rem;font-weight:700}.lunch-builder .candidate-macros{color:var(--muted);font-size:.62rem}.lunch-builder .builder-candidate b{color:var(--primary);font-size:.62rem}.lunch-builder .builder-candidate.candidate-selected b{color:var(--success)}.lunch-builder .builder-footer{display:flex;justify-content:space-between;gap:.6rem;margin-top:.2rem}.lunch-builder .builder-footer button{min-height:44px;padding:.55rem .9rem;border:1px solid var(--line);border-radius:8px;background:var(--raised);font-size:.7rem;font-weight:700;cursor:pointer}.lunch-builder .builder-footer button:disabled{opacity:.4;cursor:default}.lunch-builder .builder-footer .primary-button{border:0}@layer theme{@theme default{ --font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; --font-serif: ui-serif, Georgia, Cambria, "Times New Roman", Times, serif; --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; --color-red-50: oklch(97.1% .013 17.38); --color-red-100: oklch(93.6% .032 17.717); --color-red-200: oklch(88.5% .062 18.334); --color-red-300: oklch(80.8% .114 19.571); --color-red-400: oklch(70.4% .191 22.216); --color-red-500: oklch(63.7% .237 25.331); --color-red-600: oklch(57.7% .245 27.325); --color-red-700: oklch(50.5% .213 27.518); --color-red-800: oklch(44.4% .177 26.899); --color-red-900: oklch(39.6% .141 25.723); --color-red-950: oklch(25.8% .092 26.042); --color-orange-50: oklch(98% .016 73.684); --color-orange-100: oklch(95.4% .038 75.164); --color-orange-200: oklch(90.1% .076 70.697); --color-orange-300: oklch(83.7% .128 66.29); --color-orange-400: oklch(75% .183 55.934); --color-orange-500: oklch(70.5% .213 47.604); --color-orange-600: oklch(64.6% .222 41.116); --color-orange-700: oklch(55.3% .195 38.402); --color-orange-800: oklch(47% .157 37.304); --color-orange-900: oklch(40.8% .123 38.172); --color-orange-950: oklch(26.6% .079 36.259); --color-amber-50: oklch(98.7% .022 95.277); --color-amber-100: oklch(96.2% .059 95.617); --color-amber-200: oklch(92.4% .12 95.746); --color-amber-300: oklch(87.9% .169 91.605); --color-amber-400: oklch(82.8% .189 84.429); --color-amber-500: oklch(76.9% .188 70.08); --color-amber-600: oklch(66.6% .179 58.318); --color-amber-700: oklch(55.5% .163 48.998); --color-amber-800: oklch(47.3% .137 46.201); --color-amber-900: oklch(41.4% .112 45.904); --color-amber-950: oklch(27.9% .077 45.635); --color-yellow-50: oklch(98.7% .026 102.212); --color-yellow-100: oklch(97.3% .071 103.193); --color-yellow-200: oklch(94.5% .129 101.54); --color-yellow-300: oklch(90.5% .182 98.111); --color-yellow-400: oklch(85.2% .199 91.936); --color-yellow-500: oklch(79.5% .184 86.047); --color-yellow-600: oklch(68.1% .162 75.834); --color-yellow-700: oklch(55.4% .135 66.442); --color-yellow-800: oklch(47.6% .114 61.907); --color-yellow-900: oklch(42.1% .095 57.708); --color-yellow-950: oklch(28.6% .066 53.813); --color-lime-50: oklch(98.6% .031 120.757); --color-lime-100: oklch(96.7% .067 122.328); --color-lime-200: oklch(93.8% .127 124.321); --color-lime-300: oklch(89.7% .196 126.665); --color-lime-400: oklch(84.1% .238 128.85); --color-lime-500: oklch(76.8% .233 130.85); --color-lime-600: oklch(64.8% .2 131.684); --color-lime-700: oklch(53.2% .157 131.589); --color-lime-800: oklch(45.3% .124 130.933); --color-lime-900: oklch(40.5% .101 131.063); --color-lime-950: oklch(27.4% .072 132.109); --color-green-50: oklch(98.2% .018 155.826); --color-green-100: oklch(96.2% .044 156.743); --color-green-200: oklch(92.5% .084 155.995); --color-green-300: oklch(87.1% .15 154.449); --color-green-400: oklch(79.2% .209 151.711); --color-green-500: oklch(72.3% .219 149.579); --color-green-600: oklch(62.7% .194 149.214); --color-green-700: oklch(52.7% .154 150.069); --color-green-800: oklch(44.8% .119 151.328); --color-green-900: oklch(39.3% .095 152.535); --color-green-950: oklch(26.6% .065 152.934); --color-emerald-50: oklch(97.9% .021 166.113); --color-emerald-100: oklch(95% .052 163.051); --color-emerald-200: oklch(90.5% .093 164.15); --color-emerald-300: oklch(84.5% .143 164.978); --color-emerald-400: oklch(76.5% .177 163.223); --color-emerald-500: oklch(69.6% .17 162.48); --color-emerald-600: oklch(59.6% .145 163.225); --color-emerald-700: oklch(50.8% .118 165.612); --color-emerald-800: oklch(43.2% .095 166.913); --color-emerald-900: oklch(37.8% .077 168.94); --color-emerald-950: oklch(26.2% .051 172.552); --color-teal-50: oklch(98.4% .014 180.72); --color-teal-100: oklch(95.3% .051 180.801); --color-teal-200: oklch(91% .096 180.426); --color-teal-300: oklch(85.5% .138 181.071); --color-teal-400: oklch(77.7% .152 181.912); --color-teal-500: oklch(70.4% .14 182.503); --color-teal-600: oklch(60% .118 184.704); --color-teal-700: oklch(51.1% .096 186.391); --color-teal-800: oklch(43.7% .078 188.216); --color-teal-900: oklch(38.6% .063 188.416); --color-teal-950: oklch(27.7% .046 192.524); --color-cyan-50: oklch(98.4% .019 200.873); --color-cyan-100: oklch(95.6% .045 203.388); --color-cyan-200: oklch(91.7% .08 205.041); --color-cyan-300: oklch(86.5% .127 207.078); --color-cyan-400: oklch(78.9% .154 211.53); --color-cyan-500: oklch(71.5% .143 215.221); --color-cyan-600: oklch(60.9% .126 221.723); --color-cyan-700: oklch(52% .105 223.128); --color-cyan-800: oklch(45% .085 224.283); --color-cyan-900: oklch(39.8% .07 227.392); --color-cyan-950: oklch(30.2% .056 229.695); --color-sky-50: oklch(97.7% .013 236.62); --color-sky-100: oklch(95.1% .026 236.824); --color-sky-200: oklch(90.1% .058 230.902); --color-sky-300: oklch(82.8% .111 230.318); --color-sky-400: oklch(74.6% .16 232.661); --color-sky-500: oklch(68.5% .169 237.323); --color-sky-600: oklch(58.8% .158 241.966); --color-sky-700: oklch(50% .134 242.749); --color-sky-800: oklch(44.3% .11 240.79); --color-sky-900: oklch(39.1% .09 240.876); --color-sky-950: oklch(29.3% .066 243.157); --color-blue-50: oklch(97% .014 254.604); --color-blue-100: oklch(93.2% .032 255.585); --color-blue-200: oklch(88.2% .059 254.128); --color-blue-300: oklch(80.9% .105 251.813); --color-blue-400: oklch(70.7% .165 254.624); --color-blue-500: oklch(62.3% .214 259.815); --color-blue-600: oklch(54.6% .245 262.881); --color-blue-700: oklch(48.8% .243 264.376); --color-blue-800: oklch(42.4% .199 265.638); --color-blue-900: oklch(37.9% .146 265.522); --color-blue-950: oklch(28.2% .091 267.935); --color-indigo-50: oklch(96.2% .018 272.314); --color-indigo-100: oklch(93% .034 272.788); --color-indigo-200: oklch(87% .065 274.039); --color-indigo-300: oklch(78.5% .115 274.713); --color-indigo-400: oklch(67.3% .182 276.935); --color-indigo-500: oklch(58.5% .233 277.117); --color-indigo-600: oklch(51.1% .262 276.966); --color-indigo-700: oklch(45.7% .24 277.023); --color-indigo-800: oklch(39.8% .195 277.366); --color-indigo-900: oklch(35.9% .144 278.697); --color-indigo-950: oklch(25.7% .09 281.288); --color-violet-50: oklch(96.9% .016 293.756); --color-violet-100: oklch(94.3% .029 294.588); --color-violet-200: oklch(89.4% .057 293.283); --color-violet-300: oklch(81.1% .111 293.571); --color-violet-400: oklch(70.2% .183 293.541); --color-violet-500: oklch(60.6% .25 292.717); --color-violet-600: oklch(54.1% .281 293.009); --color-violet-700: oklch(49.1% .27 292.581); --color-violet-800: oklch(43.2% .232 292.759); --color-violet-900: oklch(38% .189 293.745); --color-violet-950: oklch(28.3% .141 291.089); --color-purple-50: oklch(97.7% .014 308.299); --color-purple-100: oklch(94.6% .033 307.174); --color-purple-200: oklch(90.2% .063 306.703); --color-purple-300: oklch(82.7% .119 306.383); --color-purple-400: oklch(71.4% .203 305.504); --color-purple-500: oklch(62.7% .265 303.9); --color-purple-600: oklch(55.8% .288 302.321); --color-purple-700: oklch(49.6% .265 301.924); --color-purple-800: oklch(43.8% .218 303.724); --color-purple-900: oklch(38.1% .176 304.987); --color-purple-950: oklch(29.1% .149 302.717); --color-fuchsia-50: oklch(97.7% .017 320.058); --color-fuchsia-100: oklch(95.2% .037 318.852); --color-fuchsia-200: oklch(90.3% .076 319.62); --color-fuchsia-300: oklch(83.3% .145 321.434); --color-fuchsia-400: oklch(74% .238 322.16); --color-fuchsia-500: oklch(66.7% .295 322.15); --color-fuchsia-600: oklch(59.1% .293 322.896); --color-fuchsia-700: oklch(51.8% .253 323.949); --color-fuchsia-800: oklch(45.2% .211 324.591); --color-fuchsia-900: oklch(40.1% .17 325.612); --color-fuchsia-950: oklch(29.3% .136 325.661); --color-pink-50: oklch(97.1% .014 343.198); --color-pink-100: oklch(94.8% .028 342.258); --color-pink-200: oklch(89.9% .061 343.231); --color-pink-300: oklch(82.3% .12 346.018); --color-pink-400: oklch(71.8% .202 349.761); --color-pink-500: oklch(65.6% .241 354.308); --color-pink-600: oklch(59.2% .249 .584); --color-pink-700: oklch(52.5% .223 3.958); --color-pink-800: oklch(45.9% .187 3.815); --color-pink-900: oklch(40.8% .153 2.432); --color-pink-950: oklch(28.4% .109 3.907); --color-rose-50: oklch(96.9% .015 12.422); --color-rose-100: oklch(94.1% .03 12.58); --color-rose-200: oklch(89.2% .058 10.001); --color-rose-300: oklch(81% .117 11.638); --color-rose-400: oklch(71.2% .194 13.428); --color-rose-500: oklch(64.5% .246 16.439); --color-rose-600: oklch(58.6% .253 17.585); --color-rose-700: oklch(51.4% .222 16.935); --color-rose-800: oklch(45.5% .188 13.697); --color-rose-900: oklch(41% .159 10.272); --color-rose-950: oklch(27.1% .105 12.094); --color-slate-50: oklch(98.4% .003 247.858); --color-slate-100: oklch(96.8% .007 247.896); --color-slate-200: oklch(92.9% .013 255.508); --color-slate-300: oklch(86.9% .022 252.894); --color-slate-400: oklch(70.4% .04 256.788); --color-slate-500: oklch(55.4% .046 257.417); --color-slate-600: oklch(44.6% .043 257.281); --color-slate-700: oklch(37.2% .044 257.287); --color-slate-800: oklch(27.9% .041 260.031); --color-slate-900: oklch(20.8% .042 265.755); --color-slate-950: oklch(12.9% .042 264.695); --color-gray-50: oklch(98.5% .002 247.839); --color-gray-100: oklch(96.7% .003 264.542); --color-gray-200: oklch(92.8% .006 264.531); --color-gray-300: oklch(87.2% .01 258.338); --color-gray-400: oklch(70.7% .022 261.325); --color-gray-500: oklch(55.1% .027 264.364); --color-gray-600: oklch(44.6% .03 256.802); --color-gray-700: oklch(37.3% .034 259.733); --color-gray-800: oklch(27.8% .033 256.848); --color-gray-900: oklch(21% .034 264.665); --color-gray-950: oklch(13% .028 261.692); --color-zinc-50: oklch(98.5% 0 none); --color-zinc-100: oklch(96.7% .001 286.375); --color-zinc-200: oklch(92% .004 286.32); --color-zinc-300: oklch(87.1% .006 286.286); --color-zinc-400: oklch(70.5% .015 286.067); --color-zinc-500: oklch(55.2% .016 285.938); --color-zinc-600: oklch(44.2% .017 285.786); --color-zinc-700: oklch(37% .013 285.805); --color-zinc-800: oklch(27.4% .006 286.033); --color-zinc-900: oklch(21% .006 285.885); --color-zinc-950: oklch(14.1% .005 285.823); --color-neutral-50: oklch(98.5% 0 none); --color-neutral-100: oklch(97% 0 none); --color-neutral-200: oklch(92.2% 0 none); --color-neutral-300: oklch(87% 0 none); --color-neutral-400: oklch(70.8% 0 none); --color-neutral-500: oklch(55.6% 0 none); --color-neutral-600: oklch(43.9% 0 none); --color-neutral-700: oklch(37.1% 0 none); --color-neutral-800: oklch(26.9% 0 none); --color-neutral-900: oklch(20.5% 0 none); --color-neutral-950: oklch(14.5% 0 none); --color-stone-50: oklch(98.5% .001 106.423); --color-stone-100: oklch(97% .001 106.424); --color-stone-200: oklch(92.3% .003 48.717); --color-stone-300: oklch(86.9% .005 56.366); --color-stone-400: oklch(70.9% .01 56.259); --color-stone-500: oklch(55.3% .013 58.071); --color-stone-600: oklch(44.4% .011 73.639); --color-stone-700: oklch(37.4% .01 67.558); --color-stone-800: oklch(26.8% .007 34.298); --color-stone-900: oklch(21.6% .006 56.043); --color-stone-950: oklch(14.7% .004 49.25); --color-mauve-50: oklch(98.5% 0 none); --color-mauve-100: oklch(96% .003 325.6); --color-mauve-200: oklch(92.2% .005 325.62); --color-mauve-300: oklch(86.5% .012 325.68); --color-mauve-400: oklch(71.1% .019 323.02); --color-mauve-500: oklch(54.2% .034 322.5); --color-mauve-600: oklch(43.5% .029 321.78); --color-mauve-700: oklch(36.4% .029 323.89); --color-mauve-800: oklch(26.3% .024 320.12); --color-mauve-900: oklch(21.2% .019 322.12); --color-mauve-950: oklch(14.5% .008 326); --color-olive-50: oklch(98.8% .003 106.5); --color-olive-100: oklch(96.6% .005 106.5); --color-olive-200: oklch(93% .007 106.5); --color-olive-300: oklch(88% .011 106.6); --color-olive-400: oklch(73.7% .021 106.9); --color-olive-500: oklch(58% .031 107.3); --color-olive-600: oklch(46.6% .025 107.3); --color-olive-700: oklch(39.4% .023 107.4); --color-olive-800: oklch(28.6% .016 107.4); --color-olive-900: oklch(22.8% .013 107.4); --color-olive-950: oklch(15.3% .006 107.1); --color-mist-50: oklch(98.7% .002 197.1); --color-mist-100: oklch(96.3% .002 197.1); --color-mist-200: oklch(92.5% .005 214.3); --color-mist-300: oklch(87.2% .007 219.6); --color-mist-400: oklch(72.3% .014 214.4); --color-mist-500: oklch(56% .021 213.5); --color-mist-600: oklch(45% .017 213.2); --color-mist-700: oklch(37.8% .015 216); --color-mist-800: oklch(27.5% .011 216.9); --color-mist-900: oklch(21.8% .008 223.9); --color-mist-950: oklch(14.8% .004 228.8); --color-taupe-50: oklch(98.6% .002 67.8); --color-taupe-100: oklch(96% .002 17.2); --color-taupe-200: oklch(92.2% .005 34.3); --color-taupe-300: oklch(86.8% .007 39.5); --color-taupe-400: oklch(71.4% .014 41.2); --color-taupe-500: oklch(54.7% .021 43.1); --color-taupe-600: oklch(43.8% .017 39.3); --color-taupe-700: oklch(36.7% .016 35.7); --color-taupe-800: oklch(26.8% .011 36.5); --color-taupe-900: oklch(21.4% .009 43.1); --color-taupe-950: oklch(14.7% .004 49.3); --color-black: #000; --color-white: #fff; --spacing: .25rem; --breakpoint-sm: 40rem; --breakpoint-md: 48rem; --breakpoint-lg: 64rem; --breakpoint-xl: 80rem; --breakpoint-2xl: 96rem; --container-3xs: 16rem; --container-2xs: 18rem; --container-xs: 20rem; --container-sm: 24rem; --container-md: 28rem; --container-lg: 32rem; --container-xl: 36rem; --container-2xl: 42rem; --container-3xl: 48rem; --container-4xl: 56rem; --container-5xl: 64rem; --container-6xl: 72rem; --container-7xl: 80rem; --text-xs: .75rem; --text-xs--line-height: calc(1 / .75); --text-sm: .875rem; --text-sm--line-height: calc(1.25 / .875); --text-base: 1rem; --text-base--line-height: 1.5 ; --text-lg: 1.125rem; --text-lg--line-height: calc(1.75 / 1.125); --text-xl: 1.25rem; --text-xl--line-height: calc(1.75 / 1.25); --text-2xl: 1.5rem; --text-2xl--line-height: calc(2 / 1.5); --text-3xl: 1.875rem; --text-3xl--line-height: 1.2 ; --text-4xl: 2.25rem; --text-4xl--line-height: calc(2.5 / 2.25); --text-5xl: 3rem; --text-5xl--line-height: 1; --text-6xl: 3.75rem; --text-6xl--line-height: 1; --text-7xl: 4.5rem; --text-7xl--line-height: 1; --text-8xl: 6rem; --text-8xl--line-height: 1; --text-9xl: 8rem; --text-9xl--line-height: 1; --font-weight-thin: 100; --font-weight-extralight: 200; --font-weight-light: 300; --font-weight-normal: 400; --font-weight-medium: 500; --font-weight-semibold: 600; --font-weight-bold: 700; --font-weight-extrabold: 800; --font-weight-black: 900; --tracking-tighter: -.05em; --tracking-tight: -.025em; --tracking-normal: 0em; --tracking-wide: .025em; --tracking-wider: .05em; --tracking-widest: .1em; --leading-tight: 1.25; --leading-snug: 1.375; --leading-normal: 1.5; --leading-relaxed: 1.625; --leading-loose: 2; --radius-xs: .125rem; --radius-sm: .25rem; --radius-md: .375rem; --radius-lg: .5rem; --radius-xl: .75rem; --radius-2xl: 1rem; --radius-3xl: 1.5rem; --radius-4xl: 2rem; --shadow-2xs: 0 1px rgb(0 0 0 / .05); --shadow-xs: 0 1px 2px 0 rgb(0 0 0 / .05); --shadow-sm: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1); --shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1); --shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1); --shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1); --shadow-2xl: 0 25px 50px -12px rgb(0 0 0 / .25); --inset-shadow-2xs: inset 0 1px rgb(0 0 0 / .05); --inset-shadow-xs: inset 0 1px 1px rgb(0 0 0 / .05); --inset-shadow-sm: inset 0 2px 4px rgb(0 0 0 / .05); --drop-shadow-xs: 0 1px 1px rgb(0 0 0 / .05); --drop-shadow-sm: 0 1px 2px rgb(0 0 0 / .15); --drop-shadow-md: 0 3px 3px rgb(0 0 0 / .12); --drop-shadow-lg: 0 4px 4px rgb(0 0 0 / .15); --drop-shadow-xl: 0 9px 7px rgb(0 0 0 / .1); --drop-shadow-2xl: 0 25px 25px rgb(0 0 0 / .15); --text-shadow-2xs: 0px 1px 0px rgb(0 0 0 / .15); --text-shadow-xs: 0px 1px 1px rgb(0 0 0 / .2); --text-shadow-sm: 0px 1px 0px rgb(0 0 0 / .075), 0px 1px 1px rgb(0 0 0 / .075), 0px 2px 2px rgb(0 0 0 / .075); --text-shadow-md: 0px 1px 1px rgb(0 0 0 / .1), 0px 1px 2px rgb(0 0 0 / .1), 0px 2px 4px rgb(0 0 0 / .1); --text-shadow-lg: 0px 1px 2px rgb(0 0 0 / .1), 0px 3px 2px rgb(0 0 0 / .1), 0px 4px 8px rgb(0 0 0 / .1); --ease-in: cubic-bezier(.4, 0, 1, 1); --ease-out: cubic-bezier(0, 0, .2, 1); --ease-in-out: cubic-bezier(.4, 0, .2, 1); --animate-spin: spin 1s linear infinite; --animate-ping: ping 1s cubic-bezier(0, 0, .2, 1) infinite; --animate-pulse: pulse 2s cubic-bezier(.4, 0, .6, 1) infinite; --animate-bounce: bounce 1s infinite; @keyframes spin { to { transform: rotate(360deg); } } @keyframes ping { 75%, 100% { transform: scale(2); opacity: 0; } } @keyframes pulse { 50% { opacity: .5; } } @keyframes bounce { 0%, 100% { transform: translateY(-25%); animation-timing-function: cubic-bezier(.8, 0, 1, 1); } 50% { transform: none; animation-timing-function: cubic-bezier(0, 0, .2, 1); } } --blur-xs: 4px; --blur-sm: 8px; --blur-md: 12px; --blur-lg: 16px; --blur-xl: 24px; --blur-2xl: 40px; --blur-3xl: 64px; --perspective-dramatic: 100px; --perspective-near: 300px; --perspective-normal: 500px; --perspective-midrange: 800px; --perspective-distant: 1200px; --aspect-video: 16 / 9; --default-transition-duration: .15s; --default-transition-timing-function: cubic-bezier(.4, 0, .2, 1); --default-font-family: --theme(--font-sans, initial); --default-font-feature-settings: --theme(--font-sans--font-feature-settings, initial); --default-font-variation-settings: --theme(--font-sans--font-variation-settings, initial); --default-mono-font-family: --theme(--font-mono, initial); --default-mono-font-feature-settings: --theme(--font-mono--font-feature-settings, initial); --default-mono-font-variation-settings: --theme(--font-mono--font-variation-settings, initial); }@theme default inline reference{ --blur: 8px; --shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1); --shadow-inner: inset 0 2px 4px 0 rgb(0 0 0 / .05); --drop-shadow: 0 1px 2px rgb(0 0 0 / .1), 0 1px 1px rgb(0 0 0 / .06); --radius: .25rem; --max-width-prose: 65ch; }}@theme{ --font-sans: "Inter", ui-sans-serif, system-ui, sans-serif; --font-display: "Anton", sans-serif; --font-mono: "JetBrains Mono", ui-monospace, monospace; --color-bg: #0e0f0c; --color-surface: #1a1c17; --color-raised: #23261f; --color-ink: #f4f2e9; --color-muted: #a7aa98; --color-line: #33362c; --color-primary: #c6ff3a; --color-primary-hover: #a8e01f; --color-accent: #c6ff3a; --color-success: #c6ff3a; --color-focus: #c6ff3a; --color-danger: #ff4646; --color-danger-surface: #3a1812; --color-glow: #c6ff3a; --color-woolies: #178841; }html,body,#root{height:100dvh;max-height:100dvh;overflow:hidden}html{color-scheme:dark;-webkit-text-size-adjust:100%;text-size-adjust:100%;touch-action:manipulation}body{margin:0;background-color:#0e0f0c;color:#f4f2e9;font-family:Inter,ui-sans-serif,system-ui,sans-serif;-webkit-font-smoothing:antialiased}.display{font-family:Anton,sans-serif;font-weight:400;letter-spacing:.01em;line-height:.92}.input,select.input,textarea.input{appearance:none;-webkit-appearance:none;width:100%;min-height:2.75rem;border-radius:.75rem;border:1px solid #33362c;background:#23261f;padding:.7rem .85rem;font:inherit;font-size:16px;color:#f4f2e9;outline:none;box-shadow:none;transition:border-color .15s cubic-bezier(.25,1,.5,1)}textarea.input{min-height:7rem;resize:vertical}.input::placeholder{color:#a7aa98}.input:focus,select.input:focus,textarea.input:focus{border-color:#c6ff3a}input[type=number].input{-moz-appearance:textfield}input[type=number].input::-webkit-outer-spin-button,input[type=number].input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}select.input{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'><path fill='%23c6ff3a' d='M1.2 1.2 6 6l4.8-4.8'/></svg>");background-repeat:no-repeat;background-position:right .9rem center;padding-right:2.4rem}.prept-select{position:relative}.prept-select-btn{text-align:left;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'><path fill='%23c6ff3a' d='M1.2 1.2 6 6l4.8-4.8'/></svg>");background-repeat:no-repeat;background-position:right .9rem center;padding-right:2.4rem}.prept-select.is-open .prept-select-btn{border-color:#c6ff3a}.prept-select-list{position:absolute;z-index:30;left:0;right:0;max-height:16rem;overflow:auto;margin:.35rem 0 0;padding:.35rem 0;list-style:none;border-radius:.9rem;border:1px solid #33362c;background:#1a1c17;box-shadow:0 18px 40px #00000059}.prept-select-group{margin:.35rem .85rem .2rem;font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:#a7aa98}.prept-select-list button{display:block;width:100%;border:0;background:transparent;color:#f4f2e9;text-align:left;padding:.65rem .85rem;font:inherit}.prept-select-list button.is-on,.prept-select-list button:hover{background:#23261f;color:#c6ff3a}.prept-badge{display:inline-flex;align-items:center;padding:.18rem .5rem;border-radius:999px;background:#c6ff3a;color:#12140f;font-size:.62rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.prept-badge.is-est{background:#23261f;color:#c6ff3a;border:1px solid #c6ff3a}.prept-filter-block{display:flex;flex-direction:column;gap:.3rem}.prept-filter-stack{display:flex;flex-direction:column;gap:.4rem;padding:.45rem 1rem .55rem}.prept-filter-row{display:flex;gap:.4rem;overflow-x:auto;padding-bottom:.1rem}:root{font-family:Inter,ui-sans-serif,system-ui,sans-serif;color:#f4f2e9;background:#0e0f0c;font-synthesis:none;text-rendering:optimizeLegibility;--bg: #0e0f0c;--surface: #1a1c17;--raised: #23261f;--ink: #f4f2e9;--muted: #a7aa98;--line: #33362c;--primary: #c6ff3a;--primary-hover: #a8e01f;--accent: #c6ff3a;--success: #c6ff3a;--warning: #3a3414;--focus: #c6ff3a;--z-sticky: 20;--z-dialog: 50;--font-display: "Anton", sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;min-height:100svh;background:var(--bg)}button,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent;color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.household-topbar{grid-template-columns:minmax(250px,1fr) auto minmax(110px,1fr)}.brand-button{padding:0;border:0;background:transparent;text-align:left;cursor:pointer}.app-nav{display:flex;gap:.25rem;padding:.25rem;background:var(--surface);border-radius:11px}.app-nav button{min-height:44px;padding:0 .9rem;border:0;border-radius:8px;color:var(--muted);background:transparent;font-size:.77rem;font-weight:750;cursor:pointer}.app-nav button:hover,.app-nav .nav-active{color:var(--ink);background:var(--bg);box-shadow:0 1px 3px #0f131f1a}.member-stack{display:flex;justify-content:flex-end;padding-left:8px}.member-stack span{display:grid;place-items:center;width:32px;height:32px;margin-left:-8px;border:2px solid var(--bg);border-radius:50%;color:#fff;font-size:.72rem;font-weight:850}.error-banner{position:sticky;top:76px;z-index:19;display:flex;justify-content:space-between;gap:1rem;padding:.75rem 3.5vw;color:#760909;background:#ffe2dd;background:oklch(.94 .06 28);font-size:.82rem;font-weight:700}.error-banner button{border:0;background:transparent;text-decoration:underline;cursor:pointer}.startup-error,.loading-state{display:flex;flex-direction:column;align-items:flex-start;gap:.7rem;width:min(560px,calc(100% - 2rem));margin:15vh auto;padding:2rem;border:1px solid var(--line);border-radius:14px;background:var(--raised)}.startup-error strong{font-size:1.25rem}.startup-error p{margin:0;color:var(--muted)}.startup-error code{padding:.75rem;border-radius:7px;background:var(--surface)}.app-shell{min-height:100vh}.topbar{position:sticky;top:0;z-index:var(--z-sticky);display:grid;grid-template-columns:minmax(230px,.7fr) minmax(320px,1.4fr) auto;align-items:center;gap:2rem;min-height:76px;padding:0 3.5vw;background:color-mix(in oklch,var(--bg) 94%,transparent);border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.brand{display:flex;align-items:center;gap:.75rem;text-decoration:none;min-width:0}.brand-block{display:grid;place-items:center;width:34px;height:34px;flex:0 0 auto;border-radius:9px;color:#fff;background:var(--primary);font-size:1.05rem;font-weight:850}.brand>span:last-child{display:flex;flex-direction:column;min-width:0}.brand strong{font-size:.96rem;letter-spacing:-.015em;white-space:nowrap}.brand small{margin-top:.1rem;color:var(--muted);font-size:.72rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.search-box{display:flex;align-items:center;gap:.65rem;width:min(100%,660px);min-height:42px;padding:0 .85rem;background:var(--surface);border-radius:10px}.search-box>span{color:var(--muted);font-size:1.25rem;line-height:1}.search-box input{width:100%;min-width:0;border:0;outline:0;color:var(--ink);background:transparent}.search-box input::placeholder{color:#565b66;opacity:1}.search-box button{padding:.25rem;border:0;color:var(--primary);background:transparent;font-size:.75rem;font-weight:700;cursor:pointer}.saved-status{display:flex;align-items:baseline;gap:.35rem;color:var(--muted);font-size:.78rem;white-space:nowrap}.saved-status>span:first-child{color:var(--accent)}.saved-status strong{color:var(--ink);font-size:1rem;font-variant-numeric:tabular-nums}main{width:100%;margin:0;padding:0}.intro{display:grid;grid-template-columns:minmax(420px,1.1fr) minmax(300px,.65fr);align-items:end;gap:5vw;padding-bottom:2.5rem}.intro-label{margin:0 0 .85rem;color:var(--primary);font-size:.8rem;font-weight:750}.intro h1{margin:0;max-width:16ch;font-size:clamp(2.4rem,5vw,4.8rem);line-height:.98;letter-spacing:-.04em;text-wrap:balance}.intro-copy{max-width:52ch;margin:0;padding-bottom:.35rem;color:var(--muted);font-size:.98rem;line-height:1.65;text-wrap:pretty}.primary-button,.save-button,.small-button{min-height:42px;padding:.65rem .95rem;border-radius:9px;font-size:.8rem;font-weight:780;cursor:pointer;transition:background .16s ease,color .16s ease,border-color .16s ease,transform .16s ease}.primary-button{border:1px solid var(--primary);color:#070807;background:var(--primary)}.primary-button:hover{border-color:var(--primary-hover);background:var(--primary-hover)}.primary-button:active,.save-button:active,.small-button:active{transform:translateY(1px)}.save-button,.small-button{border:1px solid var(--line);color:var(--ink);background:var(--bg)}.save-button:hover,.small-button:hover{border-color:color-mix(in oklch,var(--primary) 35%,var(--line));color:var(--primary)}.save-button.is-saved{border-color:color-mix(in oklch,var(--accent) 40%,var(--line));color:#970f00;color:oklch(.43 .17 31);background:color-mix(in oklch,var(--accent) 8%,var(--bg))}.week-add-button{min-height:44px;padding:0 .8rem;border:1px solid var(--primary);border-radius:8px;color:#070807;background:var(--primary);font-size:.72rem;font-weight:800;cursor:pointer}.week-add-button:disabled,.primary-button:disabled,.shop-forward:disabled{opacity:.5;cursor:not-allowed}.workspace-view{max-width:1240px;margin:0 auto}.workspace-header{display:flex;align-items:flex-end;justify-content:space-between;gap:2rem;margin-bottom:2.2rem;padding-bottom:1.8rem;border-bottom:1px solid var(--line)}.workspace-header h1{margin:0;font-size:clamp(2.2rem,4.5vw,4rem);line-height:1;letter-spacing:-.04em}.workspace-header p:last-child{max-width:66ch;margin:.8rem 0 0;color:var(--muted);line-height:1.55}.workspace-actions{display:flex;gap:.55rem;flex:0 0 auto}.week-switcher{display:flex;align-items:center;justify-content:flex-end;gap:.45rem;margin-bottom:1rem}.week-switcher button,.week-switcher label{min-height:40px;padding:0 .75rem;border:1px solid var(--line);border-radius:8px;color:var(--muted);background:var(--bg);font-size:.7rem;font-weight:750}.week-switcher button{cursor:pointer}.week-switcher button:hover{color:var(--primary);border-color:color-mix(in oklch,var(--primary) 35%,var(--line))}.week-switcher label{display:flex;align-items:center;gap:.55rem}.week-switcher input{border:0;color:var(--ink);background:transparent;font-weight:750}.together-bar{display:grid;grid-template-columns:minmax(240px,1fr) minmax(220px,360px) auto;align-items:center;gap:1rem;margin-bottom:1rem;padding:1rem;border-radius:12px;color:#fff;background:var(--primary)}.together-bar>div{display:flex;flex-direction:column;gap:.2rem}.together-bar strong{font-size:.86rem}.together-bar span{max-width:62ch;font-size:.67rem;line-height:1.4;color:#ecf2ff;color:oklch(.96 .02 268.5)}.together-bar select{min-height:42px;padding:0 .75rem;border:0;border-radius:8px;color:var(--ink);background:#fff;font-size:.73rem}.together-bar .primary-button{border-color:#fff;color:var(--primary);background:#fff}.profiles-layout{display:grid;grid-template-columns:minmax(0,1fr) 260px;align-items:start;gap:1.2rem}.profile-plans{display:flex;flex-direction:column;gap:1rem}.profile-plan{overflow:visible;border:1px solid var(--line);border-radius:12px}.profile-plan>header{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.75rem;padding:.9rem 1rem;background:var(--raised);border-bottom:1px solid var(--line)}.profile-plan>header>span{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;color:#fff;font-size:.78rem;font-weight:850}.profile-plan>header>div{display:flex;flex-direction:column;min-width:0}.profile-plan>header input{width:min(220px,100%);padding:0;border:0;color:var(--ink);background:transparent;font-size:.9rem;font-weight:850}.profile-plan>header small{margin-top:.15rem;color:var(--muted);font-size:.63rem}.profile-plan>header b{color:var(--primary);font-size:.74rem;font-variant-numeric:tabular-nums}.lunch-recommendations{padding:.85rem 1rem;color:#f4faf5;background:#005124;background:oklch(.38 .13 151)}.lunch-recommendation-heading,.lunch-recommendation{display:grid;grid-template-columns:105px minmax(240px,1fr) 82px auto;align-items:center;gap:.8rem}.lunch-recommendation-heading{grid-template-columns:minmax(0,1fr) auto auto;margin-bottom:.55rem}.lunch-recommendation-heading>div,.recommendation-day,.recommendation-meal,.recommendation-price{display:flex;flex-direction:column;gap:.12rem;min-width:0}.lunch-recommendation-heading strong{font-size:1.08rem}.lunch-recommendation-heading span,.lunch-recommendation-heading small,.lunch-recommendation small,.recommendation-footnote,.recommendation-status{font-size:.95rem;opacity:.82}.lunch-recommendation{min-height:72px;padding:.55rem 0;border-top:1px solid oklch(1 0 0 / .18)}.recommendation-day strong{font-size:1.08rem}.recommendation-day small{font-weight:700}.recommendation-day span{font-size:.95rem;opacity:.7}.recommendation-meal>strong{overflow:hidden;font-size:1.08rem;text-overflow:ellipsis;white-space:nowrap}.recommendation-meal>span{font-size:.95rem;font-weight:700;opacity:.88}.recommendation-meal>small{line-height:1.35}.recommendation-price{align-items:flex-end}.recommendation-price em{padding:.12rem .3rem;border-radius:999px;color:#003314;color:oklch(.28 .11 151);background:#f5ea5c;font-size:.75rem;font-style:normal;font-weight:850}.recommendation-price strong{font-size:1.08rem}.recommendation-price del{font-size:.95rem;opacity:.7}.recommendation-price a{font-size:.95rem;font-weight:750;text-decoration:none}.lunch-recommendation>button{min-height:44px;padding:0 .65rem;border:0;border-radius:7px;color:#003e1a;color:oklch(.32 .11 151);background:#fff;font-size:.63rem;font-weight:800;cursor:pointer}.lunch-recommendation>button:disabled{cursor:default;opacity:.68}.lunch-recommendation-heading>button{min-height:32px;padding:0 .75rem;border:1px solid oklch(1 0 0 / .35);border-radius:7px;color:#fff;background:#ffffff1a;font-size:.63rem;font-weight:800;cursor:pointer}.lunch-recommendation-heading>button:disabled{cursor:default;opacity:.65}.recommendation-footnote{margin:.55rem 0 0;line-height:1.4}.recommendation-status{margin:0;padding:.75rem 0;border-top:1px solid oklch(1 0 0 / .18)}.profile-slots{display:flex;overflow-x:auto}.profile-slot{flex:1 0 125px;display:flex;flex-direction:column;gap:.55rem;min-height:150px;padding:.85rem;border-inline-end:1px solid var(--line);background:var(--surface)}.profile-slot:last-child{border-inline-end:0}.profile-slot.slot-filled{background:var(--bg)}.profile-slot>div{display:flex;align-items:baseline;justify-content:space-between;gap:.4rem}.profile-slot>div strong{font-size:.76rem}.profile-slot>div small{color:var(--muted);font-size:.58rem;text-transform:capitalize}.profile-slot select{width:100%;min-height:54px;padding:.45rem;border:1px solid var(--line);border-radius:7px;color:var(--ink);background:var(--bg);font-size:.66rem;line-height:1.3}.profile-slot>button,.profile-slot>span{margin-top:auto;padding:0;border:0;color:var(--primary);background:transparent;font-size:.6rem;font-weight:750;text-align:left;cursor:pointer}.profile-slot>span{color:var(--muted);font-weight:500;cursor:default}.planner-layout,.shopping-layout{display:grid;grid-template-columns:minmax(0,1fr) 290px;align-items:start;gap:2rem}.night-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.night-card{min-height:255px;padding:1rem;border:1px dashed var(--line);border-radius:13px;background:var(--raised)}.night-filled{border-style:solid;background:var(--bg)}.night-day{display:flex;align-items:center;gap:.75rem;margin-bottom:.9rem}.night-day>span{display:grid;place-items:center;width:42px;height:42px;border-radius:9px;color:var(--primary);background:color-mix(in oklch,var(--primary) 8%,var(--bg));font-size:.7rem;font-weight:850;text-transform:uppercase}.night-day div{display:flex;flex-direction:column;gap:.12rem}.night-day strong{font-size:.9rem}.night-day small{color:var(--muted);font-size:.69rem}.night-recipe{display:grid;grid-template-columns:92px minmax(0,1fr);align-items:center;gap:.8rem;width:100%;padding:0;border:0;background:transparent;text-align:left;cursor:pointer}.night-recipe>.recipe-artwork,.night-recipe>.artwork-fallback{width:92px;height:78px;min-height:78px;border-radius:8px}.night-recipe>span{display:flex;flex-direction:column;gap:.35rem}.night-recipe strong{font-size:.87rem;line-height:1.25}.night-recipe small{color:var(--muted);font-size:.68rem}.night-controls{display:flex;align-items:end;gap:.6rem;margin-top:1rem}.night-controls label{display:flex;flex:1;flex-direction:column;gap:.3rem;color:var(--muted);font-size:.66rem;font-weight:750}.night-controls select,.empty-night select{width:100%;min-height:38px;padding:0 2rem 0 .65rem;border:1px solid var(--line);border-radius:8px;color:var(--ink);background:var(--bg);font-size:.72rem}.night-controls button{min-height:38px;padding:0 .6rem;border:0;color:var(--muted);background:transparent;font-size:.68rem;cursor:pointer}.empty-night{display:flex;flex-direction:column;justify-content:center;gap:.65rem;min-height:145px;padding:1rem;color:var(--muted);background:var(--surface);border-radius:9px;text-align:center}.empty-night span{font-size:.75rem;font-weight:750}.plan-sidebar,.shopping-sidebar{display:flex;flex-direction:column;gap:1rem}.week-steps{display:flex;gap:.25rem;width:fit-content;margin:0 0 1.25rem;padding:.25rem;background:var(--surface);border-radius:11px}.week-steps button{min-height:44px;padding:0 1rem;border:0;border-radius:8px;color:var(--muted);background:transparent;font-size:.85rem;font-weight:750;cursor:pointer}.week-steps .nav-active{color:var(--ink);background:var(--bg);box-shadow:0 1px 3px #0f131f1a}.lunch-step{display:grid;gap:1.25rem}.lunch-step-actions{display:flex;flex-wrap:wrap;gap:.5rem}.lunch-slot-list{display:grid;gap:1rem}@media(min-width:900px){.lunch-slot-list{grid-template-columns:1fr 1fr}}.household-card,.rule-card,.add-item-card,.woolies-card{padding:1.2rem;border:1px solid var(--line);border-radius:12px;background:var(--raised)}.household-card>span,.woolies-card>span{display:block;margin-bottom:.75rem;color:var(--muted);font-size:.69rem;font-weight:750;text-transform:uppercase;letter-spacing:.06em}.household-card label{display:flex;align-items:center;gap:.65rem;margin-top:.55rem}.household-card i{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;color:#fff;font-size:.7rem;font-style:normal;font-weight:850}.household-card input{width:100%;min-width:0;padding:.4rem 0;border:0;border-bottom:1px solid var(--line);background:transparent;font-weight:750}.household-card small{display:block;margin-top:.9rem;color:var(--muted);font-size:.65rem}.rule-card strong{font-size:.83rem}.rule-card p{color:var(--muted);font-size:.74rem;line-height:1.5}.rule-card span{color:var(--success);font-size:.72rem;font-weight:800}.shop-forward{display:flex;align-items:center;justify-content:space-between;min-height:52px;padding:0 1rem;border:0;border-radius:10px;color:#fff;background:var(--primary);font-size:.78rem;font-weight:800;cursor:pointer}.shopping-board{overflow:hidden;border:1px solid var(--line);border-radius:13px}.shopping-progress{display:grid;grid-template-columns:auto minmax(120px,1fr);align-items:center;gap:1.5rem;padding:1.2rem;color:#fff;background:var(--primary)}.shopping-progress div{display:flex;flex-direction:column}.shopping-progress strong{font-size:1.15rem}.shopping-progress span{opacity:.8;font-size:.68rem}.shopping-progress progress{width:100%;accent-color:var(--accent)}.shop-group h2{margin:0;padding:.75rem 1.1rem;color:var(--muted);background:var(--surface);border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:.7rem;letter-spacing:.06em;text-transform:uppercase}.shopping-row{display:grid;grid-template-columns:44px minmax(0,1fr) 90px 120px auto;align-items:center;gap:.7rem;min-height:68px;padding:.7rem 1rem;border-bottom:1px solid var(--line)}.shopping-row>label{display:grid;place-items:center;min-width:44px;min-height:44px}.shopping-row input{width:18px;height:18px;accent-color:var(--primary)}.shopping-row>div{display:flex;flex-direction:column;gap:.18rem;min-width:0}.shopping-row>div strong{font-size:.8rem}.shopping-row>div small{color:var(--muted);font-size:.62rem}.shopping-row>b{font-size:.76rem;font-variant-numeric:tabular-nums}.shopping-row>a{color:var(--primary);font-size:.67rem;font-weight:750;text-decoration:none}.shopping-row>button{min-width:44px;min-height:44px;border:0;color:var(--muted);background:transparent;cursor:pointer}.shopping-row.item-checked{color:var(--muted);background:var(--surface)}.shopping-row.item-checked>div strong{text-decoration:line-through}.shopping-item-shell{border-bottom:1px solid var(--line)}.shopping-item-shell .shopping-row{border-bottom:0}.match-product{padding:0;border:0;color:var(--primary);background:transparent;font-size:.67rem;font-weight:750;text-align:left;cursor:pointer}.matched-product{display:flex;justify-content:space-between;gap:1rem;padding:.55rem 1rem .65rem 3.75rem;color:var(--muted);background:var(--surface);font-size:.64rem}.matched-product a{color:var(--primary);font-weight:750;text-decoration:none}.product-matches{padding:.9rem 1rem 1rem 3.75rem;background:var(--raised);border-top:1px solid var(--line)}.product-matches>header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:.7rem}.product-matches>header div{display:flex;flex-direction:column;gap:.18rem}.product-matches>header strong{font-size:.76rem}.product-matches>header span{max-width:70ch;color:var(--muted);font-size:.61rem;line-height:1.4}.product-matches>header button{border:0;color:var(--muted);background:transparent;font-size:.65rem;cursor:pointer}.product-matches>p{margin:.5rem 0;color:var(--muted);font-size:.7rem}.product-matches .match-error{color:#9e231e}.product-matches>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.4rem}.product-matches>div>button{display:flex;align-items:center;justify-content:space-between;gap:.7rem;min-height:54px;padding:.55rem .65rem;border:1px solid var(--line);border-radius:8px;background:var(--bg);text-align:left;cursor:pointer}.product-matches>div>button:hover{border-color:var(--primary)}.product-matches>div>button span{display:flex;flex-direction:column;gap:.15rem;min-width:0}.product-matches>div>button strong{overflow:hidden;font-size:.66rem;text-overflow:ellipsis;white-space:nowrap}.product-matches>div>button small{color:var(--muted);font-size:.58rem}.product-matches>div>button b{flex:0 0 auto;color:var(--primary);font-size:.68rem}.add-item-card{display:flex;flex-direction:column;gap:.7rem}.add-item-card strong{font-size:.88rem}.add-item-card p{margin:0;color:var(--muted);font-size:.7rem;line-height:1.5}.woolies-card p{margin:0;font-size:.7rem;line-height:1.5}.add-item-card input{min-height:42px;padding:0 .7rem;border:1px solid var(--line);border-radius:8px;background:var(--bg)}.woolies-card{color:#fff;background:#005124;background:oklch(.38 .13 151);border-color:transparent}.woolies-card>span{color:#fff;opacity:.8}.woolies-card p{color:#e9f6eb}.woolies-card strong{font-size:1.05rem}.woolies-card p{margin:.6rem 0 .9rem}.woolies-card a{font-size:.74rem;font-weight:800}.source-batch-note{margin:1rem 0 0;padding:.8rem;color:var(--muted);background:var(--surface);border-radius:8px;font-size:.7rem;line-height:1.45}.macro-layout{display:grid;grid-template-columns:minmax(0,1fr) 260px;align-items:start;gap:1.2rem}.macro-tables{display:flex;flex-direction:column;gap:1rem}.member-macros{overflow:hidden;border:1px solid var(--line);border-radius:12px}.member-macros>header{display:flex;align-items:center;gap:.7rem;padding:.85rem 1rem;background:var(--raised);border-bottom:1px solid var(--line)}.member-macros>header>span{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;color:#fff;font-size:.7rem;font-weight:850}.member-macros>header>div{display:flex;flex-direction:column;gap:.12rem}.member-macros>header strong{font-size:.86rem}.member-macros>header small{color:var(--muted);font-size:.62rem}.macro-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-bottom:1px solid var(--line)}.macro-summary>div{display:flex;flex-direction:column;gap:.25rem;padding:.8rem 1rem;border-inline-end:1px solid var(--line)}.macro-summary>div:last-child{border-inline-end:0}.macro-summary span{color:var(--muted);font-size:.6rem}.macro-summary strong{font-size:.84rem;font-variant-numeric:tabular-nums}.macro-table-wrap{overflow-x:auto}.member-macros table{width:100%;border-collapse:collapse;font-size:.7rem;font-variant-numeric:tabular-nums}.member-macros th,.member-macros td{padding:.68rem 1rem;border-bottom:1px solid var(--line);text-align:right}.member-macros th:first-child{text-align:left}.member-macros thead th{color:var(--muted);background:var(--surface);font-size:.59rem;font-weight:750}.member-macros tbody th{font-weight:750}.member-macros tbody td{color:var(--muted)}.member-macros .macro-total th,.member-macros .macro-total td{color:var(--ink);background:color-mix(in oklch,var(--primary) 5%,var(--bg));font-weight:800}.macro-notes{display:flex;flex-direction:column;gap:1rem}.compact-intro{padding-bottom:1.5rem}.page-search{width:100%;max-width:none;margin-bottom:2rem}.fit-strong{color:#005124!important;color:oklch(.38 .12 151)!important;background:#d9f3de!important}.fit-poor{color:#8c352d!important;background:#ffe7e3!important;background:oklch(.95 .04 28)!important}.week-pick{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:68px;margin-bottom:2rem;padding:.9rem 1.1rem;background:var(--surface);border:1px solid var(--line);border-radius:12px}.week-pick.has-pick{background:color-mix(in oklch,var(--primary) 7%,var(--bg));border-color:color-mix(in oklch,var(--primary) 26%,var(--line))}.week-pick>div:first-child{display:flex;align-items:center;gap:.8rem;min-width:0}.week-pick>div:first-child>div{display:flex;flex-direction:column;gap:.14rem;min-width:0}.week-pick strong{font-size:.88rem}.week-pick span:not(.week-dot){color:var(--muted);font-size:.82rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.week-dot{width:10px;height:10px;flex:0 0 auto;border-radius:50%;background:var(--line)}.has-pick .week-dot{background:var(--success);box-shadow:0 0 0 5px color-mix(in oklch,var(--success) 16%,transparent)}.week-actions{display:flex;gap:.25rem}.text-button{padding:.55rem .75rem;border:0;color:var(--primary);background:transparent;font-size:.78rem;font-weight:750;cursor:pointer}.muted-button{color:var(--muted)}.content-layout{display:grid;grid-template-columns:15rem minmax(0,1fr);align-items:start;gap:clamp(1.5rem,3vw,3.5rem)}.filter-rail{position:sticky;top:102px}.filter-heading{display:flex;align-items:center;justify-content:space-between;padding-bottom:.7rem;border-bottom:1px solid var(--line)}.filter-heading strong{font-size:.88rem}.filter-heading span{color:var(--muted);font-size:.72rem}.filter-list{display:flex;flex-direction:column;padding:.55rem 0 1.3rem}.filter-list button{display:flex;align-items:center;justify-content:space-between;width:100%;padding:.72rem .15rem;border:0;color:var(--muted);background:transparent;text-align:left;font-size:.86rem;cursor:pointer}.filter-list button:hover,.filter-list .filter-active{color:var(--ink)}.filter-list .filter-active{font-weight:750}.filter-list button span:last-child{color:var(--primary);font-size:.65rem}.evidence-note{padding:1rem;background:var(--warning);border-radius:10px}.evidence-note strong{font-size:.78rem}.evidence-note p{margin:.45rem 0 0;color:#46381e;font-size:.74rem;line-height:1.52}.store-link{display:flex;flex-direction:column;gap:.2rem;margin-top:1rem;padding:1rem;color:#fff;background:#005124;background:oklch(.38 .13 151);border-radius:10px;text-decoration:none}.store-link span{font-size:.7rem;opacity:.82}.store-link strong{font-size:.92rem}.store-link small{margin-top:.35rem;font-size:.68rem;line-height:1.4;opacity:.86}.recipe-feed{min-width:0}.featured-recipe{display:grid;grid-template-columns:minmax(300px,1.15fr) minmax(330px,.85fr);min-height:450px;overflow:hidden;border:1px solid var(--line);border-radius:14px}.featured-media,.row-media{position:relative;display:block;padding:0;overflow:hidden;border:0;background:var(--surface);cursor:pointer}.recipe-artwork{width:100%;height:100%;display:block;object-fit:cover;transition:transform .22s cubic-bezier(.22,1,.36,1)}.featured-media:hover .recipe-artwork,.row-media:hover .recipe-artwork{transform:scale(1.025)}.artwork-fallback{display:flex;flex-direction:column;justify-content:flex-end;width:100%;height:100%;min-height:150px;padding:1.1rem;color:#fff;background:radial-gradient(circle at 82% 22%,oklch(.67 .19 31) 0 9%,transparent 10%),linear-gradient(145deg,#0d173b,#253b9c);text-align:left}.artwork-featured{min-height:450px;padding:2rem}.artwork-fallback span{margin-bottom:auto;font-size:.72rem;font-weight:700;opacity:.78}.artwork-fallback strong{max-width:16ch;font-size:1.35rem;line-height:1.05}.artwork-featured strong{font-size:clamp(1.8rem,3vw,3.3rem)}.artwork-fallback small{margin-top:.45rem;opacity:.75}.play-chip{position:absolute;left:1rem;bottom:1rem;padding:.55rem .75rem;border-radius:999px;color:var(--ink);background:#fffffff0;font-size:.72rem;font-weight:800}.featured-content{display:flex;flex-direction:column;justify-content:center;padding:clamp(1.5rem,3vw,3.1rem)}.source-line{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem;color:var(--muted);font-size:.73rem;font-weight:600}.source-mark{display:inline-flex;align-items:center;min-height:23px;padding:0 .55rem;border-radius:999px;color:#fff;font-size:.65rem;font-weight:800}.source-youtube{background:#d0020f}.source-tiktok{background:#13161b}.source-reddit{background:#dd5300;background:oklch(.62 .2 42)}.source-woolworths{background:#005124;background:oklch(.38 .13 151)}.featured-content h2{margin:1rem 0 .75rem;font-size:clamp(1.7rem,3vw,2.8rem);line-height:1.02;letter-spacing:-.035em;text-wrap:balance}.featured-content>p{max-width:48ch;margin:0 0 1.5rem;color:var(--muted);font-size:.93rem;line-height:1.56}.macro-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:0;padding:1rem 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.macro-strip>div{padding:0 .75rem;border-inline-end:1px solid var(--line)}.macro-strip>div:first-child{padding-inline-start:0}.macro-strip>div:last-child{border-inline-end:0}.macro-strip dt{color:var(--muted);font-size:.66rem;font-weight:650}.macro-strip dd{margin:.25rem 0 0;font-size:1.1rem;font-weight:800;font-variant-numeric:tabular-nums}.macro-strip>div:first-child dd{color:var(--primary)}.macro-compact{grid-template-columns:repeat(2,minmax(70px,1fr));width:100%}.recipe-facts{display:flex;flex-wrap:wrap;gap:.5rem;margin:1rem 0 1.25rem}.recipe-facts span,.tag-row span{display:inline-flex;align-items:center;min-height:26px;padding:0 .6rem;border-radius:999px;color:var(--muted);background:var(--surface);font-size:.68rem;font-weight:650}.featured-actions,.dialog-footer{display:flex;gap:.65rem}.collection-heading{display:flex;align-items:end;justify-content:space-between;gap:1rem;margin:3.2rem 0 1rem}.collection-heading h2{margin:0;font-size:1.5rem;letter-spacing:-.025em}.collection-heading p{margin:.25rem 0 0;color:var(--muted);font-size:.8rem}.collection-heading>span{color:var(--muted);font-size:.7rem;white-space:nowrap}.recipe-list{border-top:1px solid var(--line)}.recipe-row{display:grid;grid-template-columns:minmax(180px,240px) minmax(260px,1fr) minmax(180px,220px);gap:1.3rem;min-height:190px;padding:1.2rem 0;border-bottom:1px solid var(--line)}.row-media{min-height:165px;border-radius:10px}.rank-badge{position:absolute;top:.65rem;left:.65rem;display:grid;place-items:center;min-width:34px;height:27px;padding:0 .4rem;border-radius:999px;color:var(--ink);background:#fffffff0;font-size:.7rem;font-weight:850}.row-main{align-self:center;min-width:0}.engagement:before{content:"·";margin-right:.5rem}.title-button{display:block;width:100%;margin-top:.65rem;padding:0;border:0;background:transparent;text-align:left;cursor:pointer}.title-button h3{margin:0;font-size:1.2rem;line-height:1.2;letter-spacing:-.024em;text-wrap:balance}.title-button:hover h3{color:var(--primary)}.row-main>p{display:-webkit-box;max-width:62ch;margin:.55rem 0 .8rem;overflow:hidden;color:var(--muted);font-size:.82rem;line-height:1.5;-webkit-line-clamp:2;-webkit-box-orient:vertical}.tag-row{display:flex;flex-wrap:wrap;gap:.35rem}.tag-row span{min-height:22px;padding:0 .5rem;font-size:.62rem}.row-decision{display:flex;flex-direction:column;justify-content:center;align-items:stretch}.compact-facts{margin:.65rem 0}.compact-facts span{min-height:22px;background:transparent;padding:0}.row-actions{display:flex;align-items:center;gap:.45rem}.small-button{min-height:44px;flex:1;padding:.45rem .65rem;font-size:.7rem}.heart-button{display:grid;place-items:center;width:36px;height:36px;flex:0 0 auto;border:1px solid var(--line);border-radius:9px;color:var(--muted);background:var(--bg);font-size:1.05rem;cursor:pointer}.heart-button.is-saved{color:var(--accent);border-color:color-mix(in oklch,var(--accent) 35%,var(--line))}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:500px;padding:2rem;text-align:center;background:var(--surface);border-radius:14px}.empty-state>span{font-size:2.5rem}.empty-state h2{margin:1rem 0 .3rem}.empty-state p{margin:0 0 1.2rem;color:var(--muted)}dialog.recipe-dialog{width:min(1180px,calc(100vw - 3rem));max-width:min(1180px,calc(100vw - 3rem));max-height:92vh;margin:auto;padding:0;overflow:hidden;border:1px solid #33362c;border-radius:1.5rem;color:#f4f2e9;background:#1a1c17;box-shadow:0 25px 50px #0006;animation:sheet-up .25s cubic-bezier(.25,1,.5,1)}dialog.recipe-dialog::backdrop{background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}@media(max-width:639px){dialog.recipe-dialog{width:100%;max-width:100%;max-height:92vh;margin:auto 0 0;overflow-y:auto;border-bottom:0;border-radius:1.5rem 1.5rem 0 0}}.dialog-shell{display:grid;grid-template-columns:minmax(320px,.82fr) minmax(440px,1.18fr);min-height:min(760px,92vh)}.dialog-media{display:flex;flex-direction:column;justify-content:center;min-height:0;padding:1.5rem;color:#f4f2e9;background:#0e0f0c}.media-frame{display:block;width:100%;border:0;background:#0e0f0c}.media-landscape{aspect-ratio:16 / 9}.media-portrait{width:min(100%,360px);height:min(610px,64vh);margin-inline:auto}.dialog-media>.recipe-artwork,.dialog-media>.artwork-fallback{max-height:560px;border-radius:.75rem}.dialog-source{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-top:1rem}.dialog-source>div{display:flex;align-items:center;gap:.5rem;font-size:.76rem}.dialog-source>a{color:#c6ff3a;font-size:.72rem;font-weight:750}.dialog-media>p{margin:.75rem 0 0;color:#a7aa98;font-size:.7rem;line-height:1.48}.dialog-content{display:flex;flex-direction:column;min-width:0;min-height:0;padding:1.8rem 2rem 1.5rem;background:#1a1c17}.dialog-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.dialog-rank{color:#c6ff3a;font-size:.7rem;font-weight:800}.dialog-header h2{margin:.45rem 0 1.25rem;font-size:clamp(1.6rem,3vw,2.5rem);line-height:1.04;letter-spacing:-.035em;text-wrap:balance}.close-button{display:grid;place-items:center;width:38px;height:38px;flex:0 0 auto;border:0;border-radius:999px;color:#a7aa98;background:#23261f;font-size:1.35rem;line-height:1;cursor:pointer}.macro-note{margin:.5rem 0 1rem;color:#a7aa98;font-size:.68rem}.detail-tabs{display:flex;gap:.15rem;padding:.25rem;background:#23261f;border-radius:.75rem}.detail-tabs button{flex:1;min-height:36px;padding:.4rem .5rem;border:0;border-radius:.5rem;color:#a7aa98;background:transparent;font-size:.72rem;font-weight:750;cursor:pointer}.detail-tabs button:hover{color:#f4f2e9}.detail-tabs .tab-active{color:#0e0f0c;background:#c6ff3a}.tab-panel{flex:1;min-height:0;overflow-y:auto;padding:1.25rem .25rem 1rem 0;scrollbar-color:#33362c transparent}.recipe-summary{max-width:65ch;margin:0;color:#a7aa98;font-size:.9rem;line-height:1.6}.verdict-box{display:flex;flex-direction:column;gap:.35rem;margin:1rem 0;padding:1rem;background:#23261f;border:1px solid #33362c;border-radius:.75rem}.verdict-box span{color:#c6ff3a;font-size:.66rem;font-weight:800}.verdict-box strong{font-size:.84rem;line-height:1.45}.detail-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.5rem;margin:0}.detail-facts>div{padding:.75rem;background:#23261f;border-radius:.75rem}.detail-facts dt{color:#a7aa98;font-size:.62rem}.detail-facts dd{margin:.25rem 0 0;font-size:.78rem;font-weight:800}.large-tags{margin-top:.9rem}.panel-heading{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin-bottom:.8rem}.panel-heading h3{margin:0;font-size:1rem}.panel-heading span{color:#a7aa98;font-size:.68rem}.ingredient-list,.method-list{margin:0;padding:0;list-style:none}.ingredient-list li{display:grid;grid-template-columns:90px minmax(0,1fr) auto;align-items:baseline;gap:.75rem;min-height:43px;padding:.62rem 0;border-bottom:1px solid #33362c;font-size:.78rem}.ingredient-list strong{font-variant-numeric:tabular-nums}.ingredient-list span{color:#a7aa98}.ingredient-list a{color:#c6ff3a;font-size:.68rem;font-weight:800}.method-list{display:flex;flex-direction:column;gap:.5rem}.method-list li{display:grid;grid-template-columns:30px minmax(0,1fr);gap:.8rem;padding:.7rem .8rem;background:#23261f;border-radius:.75rem}.method-list li>span{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;color:#0e0f0c;background:#c6ff3a;font-size:.68rem;font-weight:850}.method-list p{margin:.15rem 0 0;color:#a7aa98;font-size:.78rem;line-height:1.45}.woolies-heading{align-items:center}.woolies-heading>div{display:flex;flex-direction:column;gap:.2rem}.woolies-logo{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;color:#f4f2e9!important;background:#178841;font-size:1rem!important;font-weight:900}.shop-disclaimer{margin:0 0 .8rem;padding:.75rem;color:#a7aa98;background:#23261f;border-radius:.75rem;font-size:.7rem;line-height:1.45}.product-links{display:flex;flex-direction:column;gap:.5rem}.product-links a{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.8rem;border:1px solid #33362c;border-radius:.75rem;text-decoration:none}.product-links a:hover{border-color:#c6ff3a}.product-links a>span{display:flex;flex-direction:column;gap:.2rem}.product-links strong{font-size:.78rem}.product-links small{color:#a7aa98;font-size:.66rem;line-height:1.35}.product-links b{color:#c6ff3a}.recipe-dialog .dialog-footer{display:flex;gap:.5rem;padding-top:1rem;border-top:1px solid #33362c;background:#1a1c17}.dialog-footer>button{flex:1}.recipe-dialog .primary-button,.recipe-dialog .save-button{border-radius:.75rem}.recipe-dialog .primary-button{border-color:#c6ff3a;color:#0e0f0c;background:#c6ff3a}.recipe-dialog .primary-button:hover{border-color:#a8e01f;background:#a8e01f}.recipe-dialog .primary-button.pick-active{border-color:#c6ff3a;background:#c6ff3a;color:#0e0f0c}.builder-overlay{position:fixed;inset:0;z-index:var(--z-dialog);display:grid;place-items:center;padding:1rem;background:#0f131f73}.lunch-builder{display:flex;flex-direction:column;gap:.9rem;width:min(720px,100%);max-height:min(88vh,860px);overflow-y:auto;padding:1.4rem;border:1px solid var(--line);border-radius:14px;background:var(--bg);box-shadow:0 24px 60px #0f131f40}.builder-header{display:flex;align-items:flex-start;justify-content:space-between;gap:.8rem}.builder-header h2{margin:.15rem 0;font-size:1.3rem}.builder-header p:last-child{margin:0;color:var(--muted);font-size:.74rem}.builder-days{display:flex;gap:.35rem}.builder-days button{flex:1;padding:.45rem .3rem;border:1px solid var(--line);border-radius:8px;background:var(--raised);color:var(--muted);font-size:.68rem;font-weight:700;cursor:pointer}.builder-days .builder-day-active{border-color:var(--primary);background:var(--primary);color:var(--bg)}.builder-progress{display:grid;grid-template-columns:1fr 1fr;gap:.6rem;padding:.8rem;border:1px solid var(--line);border-radius:10px;background:var(--surface)}.builder-progress.progress-met{border-color:var(--success)}.builder-progress>div{display:flex;flex-direction:column;gap:.15rem}.builder-progress strong{font-size:.9rem}.builder-progress span{color:var(--muted);font-size:.64rem}.builder-progress .calories-over{color:var(--accent)}.builder-progress progress{grid-column:1 / -1;width:100%;height:8px}.builder-selected{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem}.builder-selected>strong{width:100%;font-size:.7rem}.selected-chip,.lunch-chip{display:inline-flex;align-items:center;gap:.35rem;padding:.25rem .3rem .25rem .55rem;border:1px solid var(--line);border-radius:999px;background:var(--raised);font-size:.64rem;font-weight:600}.selected-chip button,.lunch-chip button{padding:0 .3rem;border:0;border-radius:999px;background:transparent;color:var(--muted);font-size:.8rem;cursor:pointer}.selected-chip button:hover,.lunch-chip button:hover{color:var(--accent)}.builder-group h3{margin:0 0 .45rem;font-size:.78rem}.builder-candidates{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.45rem}.builder-candidate{display:flex;flex-direction:column;gap:.2rem;padding:.6rem;border:1px solid var(--line);border-radius:9px;background:var(--bg);text-align:left;cursor:pointer}.builder-candidate:hover{border-color:var(--primary)}.builder-candidate.candidate-selected{border-color:var(--success);background:var(--surface)}.builder-candidate .candidate-name{font-size:.7rem;font-weight:700}.builder-candidate .candidate-macros{color:var(--muted);font-size:.62rem}.builder-candidate b{color:var(--primary);font-size:.62rem}.builder-candidate.candidate-selected b{color:var(--success)}.builder-footer{display:flex;justify-content:space-between;gap:.6rem;margin-top:.2rem}.builder-footer button{padding:.55rem .9rem;border:1px solid var(--line);border-radius:8px;background:var(--raised);font-size:.7rem;font-weight:700;cursor:pointer}.builder-footer button:disabled{opacity:.4;cursor:default}.builder-footer .primary-button{border:0}.builder-launch{margin-inline-start:.5rem;min-height:44px;padding:.35rem .6rem;border:1px solid var(--primary);border-radius:8px;background:transparent;color:var(--primary);font-size:.62rem;font-weight:750;cursor:pointer}.builder-launch:hover{background:var(--primary);color:var(--bg)}.profile-slot.lunch-slot{gap:.35rem}.lunch-items{display:flex;flex-direction:column;gap:.3rem}.lunch-items select{min-height:34px;font-size:.62rem}.lunch-met{color:var(--success);font-size:.6rem;font-weight:750}.lunch-short{color:var(--muted);font-size:.6rem;font-weight:600}.need-note{display:block;color:var(--muted);font-size:.58rem;font-weight:500}@media(max-width:900px){.household-topbar{grid-template-columns:1fr auto;gap:.8rem;padding-block:.65rem}.app-nav{grid-column:1 / -1;grid-row:2;justify-content:stretch}.app-nav button{flex:1}.member-stack{grid-column:2;grid-row:1}.planner-layout,.shopping-layout{grid-template-columns:1fr}.plan-sidebar,.shopping-sidebar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.shop-forward{grid-column:1 / -1}.shopping-row{grid-template-columns:44px minmax(0,1fr) 75px auto}.shopping-row>a{grid-column:2 / 4}.profiles-layout,.macro-layout{grid-template-columns:1fr}.together-bar{grid-template-columns:1fr auto}.together-bar>div{grid-column:1 / -1}}@media(max-width:640px){main{padding-top:2rem}.brand small{display:none}.workspace-header{align-items:stretch;flex-direction:column}.workspace-actions{flex-direction:column}.night-grid,.plan-sidebar,.shopping-sidebar{grid-template-columns:1fr}.shopping-row{grid-template-columns:44px minmax(0,1fr) auto}.shopping-row>b{grid-column:3}.shopping-row>a{grid-column:2 / 4}.shopping-row>button{grid-column:3;grid-row:1}.shopping-progress{grid-template-columns:1fr;gap:.7rem}.week-switcher{display:grid;grid-template-columns:1fr 1fr}.week-switcher label{grid-column:1 / -1;grid-row:1;justify-content:space-between}.together-bar{grid-template-columns:1fr}.together-bar>div{grid-column:auto}.profile-slot{flex-basis:155px}.lunch-recommendation-heading{grid-template-columns:1fr}.lunch-recommendation-heading>small{display:none}.lunch-recommendation-heading>button{justify-self:start}.lunch-recommendation{grid-template-columns:75px minmax(0,1fr) auto;padding:.65rem 0}.recommendation-price{grid-column:2;align-items:flex-start;flex-flow:row wrap;gap:.35rem}.lunch-recommendation>button{grid-column:3;grid-row:1 / span 2}.macro-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.macro-summary>div:nth-child(2){border-inline-end:0}.macro-summary>div:nth-child(-n+2){border-bottom:1px solid var(--line)}.product-matches{padding-left:1rem}.product-matches>div{grid-template-columns:1fr}.matched-product{flex-direction:column;padding-left:1rem}}@media(max-width:1120px){.topbar{grid-template-columns:auto 1fr auto;gap:1rem}.brand small{display:none}.content-layout{grid-template-columns:12rem minmax(0,1fr)}.featured-recipe{grid-template-columns:1fr}.featured-media,.artwork-featured{min-height:360px}.featured-content{padding:1.6rem}.recipe-row{grid-template-columns:180px minmax(220px,1fr)}.row-decision{grid-column:2;display:grid;grid-template-columns:180px 1fr auto;align-items:center;gap:.75rem}.compact-facts{margin:0}.dialog-shell{grid-template-columns:minmax(280px,.72fr) minmax(420px,1.28fr)}}@media(max-width:820px){.topbar{grid-template-columns:1fr auto;padding:.8rem 1rem}.search-box{grid-column:1 / -1;grid-row:2}main{padding:2.2rem 1rem 4rem}.intro{grid-template-columns:1fr;gap:1.2rem}.intro h1{font-size:clamp(2.4rem,12vw,4rem)}.week-pick{align-items:flex-start}.content-layout{grid-template-columns:1fr}.filter-rail{position:static}.filter-heading,.evidence-note{display:none}.filter-list{flex-direction:row;gap:.45rem;overflow-x:auto;padding:0 0 .6rem;scrollbar-width:none}.filter-list::-webkit-scrollbar{display:none}.filter-list button{justify-content:center;width:auto;min-width:max-content;min-height:36px;padding:0 .75rem;border:1px solid var(--line);border-radius:999px;background:var(--bg)}.filter-list button span:last-child{display:none}.filter-list .filter-active{color:#fff;background:var(--primary);border-color:var(--primary)}.dialog-shell{display:block;min-height:0}.dialog-media{min-height:330px}.media-portrait{height:min(540px,62vh)}.dialog-content{min-height:620px}}@media(max-width:620px){.brand strong{font-size:.82rem}.saved-status span:last-child{display:none}.intro-label{font-size:.72rem}.intro h1{letter-spacing:-.035em}.week-pick{flex-direction:column}.week-actions{width:100%;padding-left:1.55rem}.featured-recipe{min-height:0}.featured-media,.artwork-featured{min-height:260px}.featured-content h2{font-size:1.8rem}.macro-strip{grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem 0}.macro-strip>div:nth-child(2){border-inline-end:0}.macro-strip>div:nth-child(3){padding-inline-start:0}.macro-compact{grid-template-columns:repeat(2,minmax(0,1fr))}.collection-heading{align-items:flex-start;flex-direction:column}.recipe-row{grid-template-columns:116px minmax(0,1fr);gap:.85rem;min-height:0}.row-media{min-height:145px}.row-main .source-line .engagement{display:none}.row-main>p{margin:.35rem 0 .4rem;font-size:.75rem;-webkit-line-clamp:1}.row-main .tag-row{gap:.25rem}.row-main .tag-row span{min-height:20px;padding:0 .4rem;font-size:.58rem}.title-button h3{font-size:1rem}.row-decision{grid-column:1 / -1;grid-template-columns:minmax(150px,.8fr) minmax(120px,.6fr) auto}.compact-facts{margin:.3rem 0}.compact-facts span{min-height:20px;font-size:.7rem}.row-actions{grid-column:3}.small-button{padding:.4rem .55rem;font-size:.65rem}.recipe-dialog{width:100vw;max-height:100vh;margin:0;overflow-y:auto;border-radius:0}.dialog-media{min-height:260px;padding:1rem}.media-portrait{height:500px}.dialog-source{flex-direction:column;align-items:flex-start}.dialog-content{min-height:680px;padding:1.25rem 1rem 1rem}.dialog-header h2{font-size:1.65rem}.detail-tabs{overflow-x:auto}.detail-tabs button{min-width:82px}.detail-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.ingredient-list li{grid-template-columns:72px minmax(0,1fr)}.ingredient-list a{grid-column:2}.dialog-footer{position:sticky;bottom:0;padding:.8rem 0 0;background:var(--bg)}.dialog-footer .save-button{display:none}}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;touch-action:manipulation}input:not([type=checkbox]):not([type=radio]):not([type=range]),select,textarea{font-size:16px}.prept-splash{position:relative;display:flex;min-height:100svh;width:100%;flex-direction:column;align-items:center;justify-content:center;overflow:hidden;background:#0e0f0c;color:#f4f2e9;border:0}.prept-splash-glow{position:absolute;top:50%;left:50%;width:70vmin;height:70vmin;pointer-events:none;border-radius:999px;background:#c6ff3a33;filter:blur(100px);transform:translate(-50%,-50%)}.prept-mark{display:grid;place-items:center;border-radius:1.5rem;background:#c6ff3a;color:#0e0f0c;font-family:Anton,sans-serif;font-weight:400;box-shadow:0 25px 50px #c6ff3a4d}.prept-mark-xl{width:5rem;height:5rem;font-size:3rem;animation:pop .6s ease-out}.prept-mark-sm{width:2.25rem;height:2.25rem;border-radius:.75rem;font-size:1.25rem}.prept-splash-title{margin-top:1.5rem;font-family:Anton,sans-serif;font-size:3.75rem;letter-spacing:.01em;line-height:.92;animation:rise .7s .1s both}.prept-kicker{margin-top:.5rem;font-family:JetBrains Mono,ui-monospace,monospace;font-size:11px;letter-spacing:.35em;text-transform:uppercase;color:#a7aa98;animation:rise .7s .25s both}.prept-load{position:absolute;bottom:4rem;height:4px;width:10rem;overflow:hidden;border-radius:999px;background:#23261f}.prept-load>span{display:block;height:100%;width:100%;transform-origin:left;background:#c6ff3a;animation:load 2.1s ease-in-out forwards}.prept-splash-note{position:absolute;bottom:2rem;font-family:JetBrains Mono,ui-monospace,monospace;font-size:10px;letter-spacing:.25em;text-transform:uppercase;color:#a7aa98}.prept-auth{display:grid;height:100%;width:100%;min-height:0;overflow:hidden;background:#0e0f0c;color:#f4f2e9}.prept-auth>*{min-height:0}.prept-brand{display:none;position:relative;overflow:hidden}.prept-brand img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.prept-brand-shade{position:absolute;inset:0;background:linear-gradient(to top,#0e0f0c,#0e0f0cb3,#0e0f0c33)}.prept-brand-copy{position:relative;display:flex;height:100%;flex-direction:column;justify-content:space-between;padding:2.5rem}.prept-logo-row{display:flex;align-items:center;gap:.625rem}.prept-hero{font-family:Anton,sans-serif;font-size:clamp(2.5rem,6vw,3.75rem);line-height:.9}.prept-auth-title{margin:0;font-family:Anton,sans-serif;font-size:2.25rem;line-height:.92}.prept-blurb{margin-top:.5rem;font-size:.875rem;color:#a7aa98}.prept-hero em{font-style:normal;color:#c6ff3a}.prept-brand p{margin-top:1rem;max-width:24rem;font-size:.875rem;color:#a7aa98}.prept-auth-form{display:flex;min-height:0;align-items:flex-start;justify-content:center;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;padding:2.5rem 1.5rem max(2.5rem,env(safe-area-inset-bottom,0px))}.prept-auth-form>div{width:100%;max-width:24rem;margin-block:auto;padding-bottom:2rem}.prept-eyebrow{margin-bottom:.25rem;font-family:JetBrains Mono,ui-monospace,monospace;font-size:.75rem;letter-spacing:.25em;text-transform:uppercase;color:#c6ff3a}.prept-label{display:block;margin-bottom:.375rem;font-family:JetBrains Mono,ui-monospace,monospace;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:#a7aa98}.prept-form{display:flex;flex-direction:column;gap:1rem;margin-top:1.75rem}.prept-state-row{display:grid;grid-template-columns:minmax(0,1fr) 110px;gap:.75rem}.prept-chips{display:flex;flex-wrap:wrap;gap:.375rem}.prept-choice,.prept-goal{flex-shrink:0;border:1px solid #33362c;background:transparent;color:#a7aa98;font-weight:700;transition:background-color .15s cubic-bezier(.25,1,.5,1),color .15s cubic-bezier(.25,1,.5,1),border-color .15s cubic-bezier(.25,1,.5,1)}.prept-choice{border-radius:.5rem;padding:.5rem .75rem;font-family:JetBrains Mono,ui-monospace,monospace;font-size:12px}.prept-goal{border-radius:999px;padding:.5rem .875rem;font-size:.875rem}.prept-choice.is-on,.prept-goal.is-on{border-color:transparent;background:#c6ff3a;color:#0e0f0c}.prept-goals{display:flex;flex-wrap:wrap;gap:.5rem}.prept-form button[type=submit],.prept-cta{width:100%;margin-top:.75rem;border:0;border-radius:.75rem;background:#c6ff3a;color:#0e0f0c;padding:.875rem 1rem;font-size:.875rem;font-weight:700;transition:background-color .15s cubic-bezier(.25,1,.5,1),transform .15s cubic-bezier(.25,1,.5,1)}.prept-form button[type=submit]:hover,.prept-cta:hover{background:#a8e01f}.prept-form button[type=submit]:active,.prept-cta:active{transform:scale(.98)}.prept-form button[type=submit]:disabled,.prept-cta:disabled{opacity:.4}.prept-switch,.prept-google{display:flex;width:100%;min-height:48px;margin-top:.85rem;align-items:center;justify-content:center;gap:.65rem;border-radius:.75rem;font-size:16px;font-weight:700;text-decoration:none;box-sizing:border-box}.prept-switch{border:1px solid #33362c;background:#23261f;color:#f4f2e9}.prept-google{border:1px solid #33362c;background:#f4f2e9;color:#0e0f0c}.prept-or{margin:1rem 0 .25rem;text-align:center;font-size:16px;color:#a7aa98}.prept-link{margin-top:1rem;width:100%;min-height:44px;border:0;background:transparent;color:#f4f2e9;font-size:16px;text-align:center}.prept-forgot{border:0;background:transparent;color:#f4f2e9;font-size:16px;text-align:left;min-height:44px}.prept-terms{margin-top:.75rem;text-align:center;font-family:JetBrains Mono,ui-monospace,monospace;font-size:10px;color:#a7aa98}@keyframes pop{0%{transform:scale(.4);opacity:0}70%{transform:scale(1.08)}to{transform:scale(1);opacity:1}}@keyframes rise{0%{transform:translateY(12px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes load{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.prept-app{display:flex;height:100svh;max-height:100svh;flex-direction:column;background:#0e0f0c;color:#f4f2e9}.prept-header{z-index:30;flex-shrink:0;border-bottom:1px solid #33362c;background:#0e0f0ce5;-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px)}.prept-header-inner{display:flex;max-width:1400px;margin:0 auto;align-items:center;gap:.75rem;padding:max(.75rem,env(safe-area-inset-top,0px)) 1rem .75rem}.prept-header-brand{display:flex;align-items:center;gap:.625rem;border:0;background:transparent;color:inherit}.prept-wordmark{font-family:Anton,sans-serif;font-size:1.125rem;letter-spacing:.02em;line-height:1}.prept-wordmark small{display:none;font-family:JetBrains Mono,ui-monospace,monospace;font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:#a7aa98}.prept-topnav{display:none;flex:1;justify-content:center;gap:.25rem}.prept-topnav button{min-height:44px;border:0;border-radius:999px;background:transparent;color:#a7aa98;padding:0 .75rem;font-size:.875rem;font-weight:700;transition:color .15s cubic-bezier(.25,1,.5,1),background-color .15s cubic-bezier(.25,1,.5,1)}.prept-topnav button.is-on{background:#c6ff3a;color:#0e0f0c}.prept-header-end{display:flex;margin-left:auto;align-items:center;gap:.5rem}.prept-members{display:flex}.prept-members span{display:grid;width:2rem;height:2rem;margin-left:-.5rem;place-items:center;border:2px solid #0e0f0c;border-radius:999px;font-size:.75rem;font-weight:700;color:#fff}.prept-members span:first-child{margin-left:0}.prept-cart-chip{display:none;align-items:center;gap:.5rem;border:1px solid rgb(23 136 65 / 50%);border-radius:999px;background:#1788411a;padding:.5rem .875rem;color:inherit;font-size:.875rem;font-weight:600}.prept-cart-chip b{display:grid;width:1.25rem;height:1.25rem;place-items:center;border-radius:999px;background:#178841;color:#fff;font-size:11px}.prept-cart-chip span{font-family:JetBrains Mono,ui-monospace,monospace;color:#c6ff3a}.prept-avatar{display:grid;width:2.25rem;height:2.25rem;place-items:center;border:1px solid #33362c;border-radius:999px;background:transparent;color:#f4f2e9;font-family:Anton,sans-serif;font-size:.875rem}.prept-stage{min-height:0;flex:1;overflow:hidden}.prept-bottom{z-index:40;flex-shrink:0;display:grid;grid-template-columns:repeat(5,1fr);gap:.3rem;border-top:1px solid #33362c;background:#0e0f0c;padding:.45rem .6rem max(.5rem,env(safe-area-inset-bottom,0px))}.prept-bottom button{min-height:48px;border:0;border-radius:.9rem;background:#1a1c17;color:#a7aa98;font-family:Anton,sans-serif;font-size:.92rem;letter-spacing:.02em}.prept-bottom button.is-on{background:#c6ff3a;color:#0e0f0c}.prept-feed-mobile{display:flex;height:100%;flex-direction:column}.prept-feed-desktop{display:none;height:100%}.prept-live{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem 0;font-family:JetBrains Mono,ui-monospace,monospace;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:#a7aa98}.prept-live i{width:.5rem;height:.5rem;border-radius:999px;background:#c6ff3a}.prept-filters{display:flex;gap:.5rem;overflow-x:auto;padding:.75rem 1rem}.prept-chip{flex-shrink:0;min-height:44px;border:1px solid #33362c;border-radius:999px;background:transparent;color:#a7aa98;padding:0 1rem;font-size:.875rem;font-weight:700;transition:background-color .15s cubic-bezier(.25,1,.5,1),color .15s cubic-bezier(.25,1,.5,1),border-color .15s cubic-bezier(.25,1,.5,1)}.prept-chip.is-on{border-color:transparent;background:#c6ff3a;color:#0e0f0c}.prept-snap{min-height:0;flex:1;overflow-y:auto;scroll-snap-type:y mandatory}.prept-full{position:relative;display:flex;height:100%;flex-direction:column;justify-content:flex-end;scroll-snap-align:start;scroll-snap-stop:always}.prept-full-media{position:absolute;inset:0;border:0;padding:0;background:#23261f}.prept-full-media img,.prept-full-media .recipe-artwork,.prept-full-media .artwork-fallback,.prept-card-media img,.prept-card-media .recipe-artwork,.prept-card-media .artwork-fallback{width:100%;height:100%;object-fit:cover}.prept-card-media img,.prept-card-media .recipe-artwork{transition:transform .5s cubic-bezier(.25,1,.5,1)}.prept-card-media:hover img,.prept-card-media:hover .recipe-artwork{transform:scale(1.05)}.prept-full-shade{pointer-events:none;position:absolute;inset:0;background:linear-gradient(to top,#0e0f0c,#0e0f0c66,#0e0f0c1a)}.prept-full-top{position:absolute;inset:0 0 auto;display:flex;justify-content:space-between;padding:1rem}.prept-play{position:absolute;top:50%;left:50%;display:grid;width:4rem;height:4rem;place-items:center;border:1px solid rgb(244 242 233 / 40%);border-radius:999px;background:#0e0f0c66;color:#f4f2e9;font-size:1.5rem;transform:translate(-50%,-50%);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:transform .15s cubic-bezier(.25,1,.5,1)}.prept-play:active{transform:translate(-50%,-50%) scale(.95)}.prept-full-body{position:relative;padding:1.25rem 1.25rem 1.5rem}.prept-full-body h2{margin:.375rem 0 0;font-family:Anton,sans-serif;font-size:2.25rem;line-height:.92}.prept-full-meta{margin-top:.25rem;font-family:JetBrains Mono,ui-monospace,monospace;font-size:.75rem;color:#a7aa98}.prept-macros{display:flex;gap:.5rem;margin-top:1rem}.prept-pill{flex:1;border-radius:.75rem;background:#0e0f0c7f;padding:.5rem .75rem;text-align:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.prept-pill b{display:block;color:#f4f2e9}.prept-pill.is-hot{box-shadow:inset 0 0 0 1px #c6ff3a99}.prept-pill.is-hot b{color:#c6ff3a}.prept-pill small{font-family:JetBrains Mono,ui-monospace,monospace;font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:#a7aa98}.prept-days{display:flex;width:100%;gap:.375rem;margin-top:1rem}.prept-days button{flex:1;border:1px solid rgb(244 242 233 / 25%);border-radius:.75rem;background:#0e0f0c66;color:#f4f2e9;padding:.75rem 0;font-family:JetBrains Mono,ui-monospace,monospace;font-size:11px;font-weight:700;transition:background-color .15s cubic-bezier(.25,1,.5,1),color .15s cubic-bezier(.25,1,.5,1),border-color .15s cubic-bezier(.25,1,.5,1)}.prept-days button.is-on{border-color:transparent;background:#c6ff3a;color:#0e0f0c}.prept-badge{display:inline-flex;align-items:center;gap:.375rem;border-radius:999px;background:#0e0f0cb3;padding:.25rem .625rem;font-family:JetBrains Mono,ui-monospace,monospace;font-size:10px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.prept-heart{border-radius:999px;background:#0e0f0cb3;padding:.25rem .625rem;font-family:JetBrains Mono,ui-monospace,monospace;font-size:11px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.prept-card{display:flex;flex-direction:column;overflow:hidden;border:1px solid #33362c;border-radius:1rem;background:#1a1c17}.prept-card-media{position:relative;aspect-ratio:4 / 3;overflow:hidden;border:0;padding:0;background:#23261f}.prept-card-body{display:flex;flex:1;flex-direction:column;padding:1rem}.prept-card-body h3{margin:0;font-size:17px;font-weight:700;line-height:1.25}.prept-cart{display:flex;height:100%;min-height:0;flex-direction:column;background:#1a1c17}.prept-cart-head{padding:1rem 1rem 0}.prept-cart-head h2{margin:0;font-family:Anton,sans-serif;font-size:1.875rem}.prept-cart-list{min-height:0;flex:1;overflow-y:auto;padding:1rem}.prept-cart-foot{border-top:1px solid #33362c;padding:1rem}.prept-total{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.prept-total span{font-family:JetBrains Mono,ui-monospace,monospace;font-size:.75rem;letter-spacing:.2em;text-transform:uppercase;color:#a7aa98}.prept-total b{font-family:Anton,sans-serif;font-size:1.875rem;color:#c6ff3a}@media(min-width:1024px){.prept-auth{grid-template-columns:1fr 1fr}.prept-brand{display:block}.prept-wordmark small,.prept-topnav,.prept-cart-chip{display:flex}.prept-bottom,.prept-feed-mobile{display:none}.prept-feed-desktop{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:2rem;padding:1.5rem 2rem}.prept-feed-main{min-height:0;overflow-y:auto}.prept-feed-main h1{margin:0;font-family:Anton,sans-serif;font-size:3.75rem;line-height:.9}.prept-feed-main h1 span{color:#c6ff3a}.prept-grid{display:grid;gap:1.25rem;margin-top:1.25rem;grid-template-columns:repeat(2,minmax(0,1fr))}.prept-cart{border:1px solid #33362c;border-radius:1.5rem}}@media(min-width:1280px){.prept-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(prefers-reduced-motion:reduce){.prept-mark-xl,.prept-splash-title,.prept-kicker,.prept-load>span{animation:none}}@keyframes sheet-up{0%{transform:translateY(6%);opacity:0}to{transform:translateY(0);opacity:1}}.prept-lock{height:100%;overflow:hidden}.prept-scroll{height:100%;overflow-y:auto;-webkit-overflow-scrolling:touch}.prept-onboard{display:flex;height:100%;flex-direction:column;overflow:hidden}.prept-onboard-body{min-height:0;flex:1;overflow-y:auto;padding:1.25rem 1.25rem .5rem}.prept-progress{height:4px;margin:1rem 0 1.25rem;overflow:hidden;border-radius:999px;background:#23261f}.prept-progress span{display:block;height:100%;background:#c6ff3a}.prept-onboard-nav{display:flex;flex-shrink:0;flex-direction:column;gap:.5rem;padding:.75rem 1.25rem max(.75rem,env(safe-area-inset-bottom,0px));background:#0e0f0c}.prept-goal-order{margin:.75rem 0 0;padding:0;list-style:none}.prept-goal-order li{display:flex;justify-content:space-between;gap:.75rem;padding:.65rem 0;border-bottom:1px solid #33362c}.prept-train{padding:1rem 1rem 2rem}.prept-train-head h1{margin:.2rem 0 0}.prept-plan-snap{display:flex;gap:.75rem;overflow-x:auto;margin:1rem -1rem 0;padding:0 1rem .5rem;scroll-snap-type:x mandatory}.prept-plan-card{flex:0 0 78%;scroll-snap-align:start;border:1px solid #33362c;border-radius:1.25rem;background:#1a1c17;color:inherit;padding:1rem;text-align:left}.prept-plan-card strong{display:block;margin-top:.35rem;font-size:1.1rem}.prept-plan-card b{display:block;margin-top:.5rem;color:#c6ff3a;font-family:Anton,sans-serif;font-size:1.75rem;font-weight:400}.prept-plan-card small{display:block;margin-top:.5rem;color:#a7aa98;font-size:.8rem;line-height:1.4}.prept-log{margin-top:1.25rem;display:flex;flex-direction:column;gap:.65rem}.prept-log-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(5.5rem,1fr));gap:.5rem}.prept-train-sub{margin:1.5rem 0 .5rem;font-family:Anton,sans-serif;font-size:1.5rem}.prept-set-list{margin:0;padding:0;list-style:none}.prept-set-list li{display:flex;justify-content:space-between;gap:1rem;padding:.85rem 0;border-bottom:1px solid #33362c}.prept-add{min-width:44px;min-height:44px;border:0;border-radius:999px;background:#c6ff3a;color:#0e0f0c;font-size:1.4rem;font-weight:700}.prept-fresh{min-height:44px;padding:0 .9rem;border:0;border-radius:999px;background:#23261f;color:#c6ff3a;font-family:JetBrains Mono,ui-monospace,monospace;font-size:11px;letter-spacing:.12em;text-transform:uppercase}.prept-fresh:disabled{opacity:.5}.prept-live-actions{display:flex;align-items:center;gap:.4rem}.prept-live-copy{display:flex;align-items:center;gap:.5rem}.prept-sheet{position:fixed;inset:0;z-index:40;display:flex;align-items:flex-end;justify-content:center;background:#000000b3}.prept-sheet-panel{width:100%;max-height:92vh;overflow-y:auto;border:1px solid #33362c;border-bottom:0;border-radius:1.5rem 1.5rem 0 0;background:#1a1c17;padding:1.25rem 1.25rem 2rem}.prept-sheet-panel h2{margin:.2rem 0 1rem;font-family:Anton,sans-serif;font-size:2rem}.prept-area{min-height:6rem;resize:vertical}@media(min-width:640px){.prept-sheet{align-items:center;padding:1.5rem}.prept-sheet-panel{max-width:32rem;border-bottom:1px solid #33362c;border-radius:1.5rem}.prept-plan-card{flex-basis:20rem}}
