@font-face{font-family:Caprasimo;src:url(/fonts/caprasimo.woff2)format("woff2");font-weight:400;font-display:swap;font-style:normal}@font-face{font-family:Figtree;src:url(/fonts/figtree.woff2)format("woff2-variations");font-weight:300 900;font-display:swap;font-style:normal}:root{--color-bg:#eef1e6;--color-surface:#f9faf2;--color-text:#242a1f;--color-accent:#5f8c54;--color-accent-2:#cf9a4a;--color-accent-3:#a8688d;--color-danger:#bd6150;--color-divider:#e1e6d5;--color-on-accent:#f8faf1;--color-on-photo:#f8faf1;--color-accent-fill:#4a7340;--color-on-accent-2:#242a1f;--color-on-danger:#f8faf1;--color-scrim:#292d23;--color-neutral-100:#f8faf1;--color-neutral-200:#e5e9da;--color-neutral-300:#dce1ce;--color-neutral-400:#b9c1a8;--color-neutral-500:#97a288;--color-neutral-600:#616b55;--color-neutral-700:#5b644f;--color-neutral-800:#414737;--color-neutral-900:#292d23;--color-accent-100:#e8f0e0;--color-accent-200:#d3e2c4;--color-accent-300:#b4cfa1;--color-accent-400:#90b67c;--color-accent-500:#5f8c54;--color-accent-600:#4f7845;--color-accent-700:#3e6037;--color-accent-800:#315030;--color-accent-900:#264126;--color-accent-2-100:#f6ecd6;--color-accent-2-200:#eeddb4;--color-accent-2-300:#e5c78a;--color-accent-2-400:#dab167;--color-accent-2-500:#cf9a4a;--color-accent-2-600:#b9852f;--color-accent-2-700:#8c6220;--color-accent-2-800:#684919;--color-accent-2-900:#453110;--color-accent-3-100:#f2e5ed;--color-accent-3-300:#d9b6cd;--color-accent-3-500:#a8688d;--color-accent-3-700:#6f4059;--font-heading:"Caprasimo", Georgia, serif;--font-body:"Figtree", "Segoe UI", system-ui, -apple-system, sans-serif;--space-1:4.4px;--space-2:8.8px;--space-3:13.2px;--space-4:17.6px;--space-6:26.4px;--space-8:35.2px;--radius-sm:8px;--radius-md:16px;--radius-lg:28px;--shadow-sm:0 1px 2px #292d2324;--shadow-md:0 3px 10px #292d2329;--shadow-lg:0 12px 32px #292d2338;--qty-col:3.9rem;--tabbar-h:2.75rem;--fab-bottom:calc(var(--tabbar-h) + env(safe-area-inset-bottom) + 1.5rem);--fab-bottom-bare:calc(env(safe-area-inset-bottom) + 1.875rem);--ease:cubic-bezier(.4, 0, .2, 1);--spring:cubic-bezier(.34, 1.56, .64, 1)}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-bg:#161a13;--color-surface:#1f251b;--color-text:#e9eedf;--color-accent:#8fbf7f;--color-accent-2:#dcae62;--color-accent-3:#c98fb0;--color-danger:#d9786a;--color-divider:#2e3628;--color-on-accent:#12160e;--color-accent-fill:#8fbf7f;--color-on-accent-2:#12160e;--color-neutral-100:#1c2118;--color-neutral-200:#262d21;--color-neutral-300:#2f3729;--color-neutral-400:#46503d;--color-neutral-500:#6c775f;--color-neutral-600:#9aa58c;--color-neutral-700:#b9c2ab;--color-neutral-800:#d3dac7;--color-neutral-900:#eaf0e0;--color-accent-100:#1f2a1b;--color-accent-200:#2a3a25;--color-accent-300:#3d5435;--color-accent-400:#5f8454;--color-accent-500:#8fbf7f;--color-accent-600:#a3cc94;--color-accent-700:#b9d9ad;--color-accent-800:#cfe6c6;--color-accent-900:#e3f1dd;--color-accent-2-100:#2b2416;--color-accent-2-200:#3a301b;--color-accent-2-300:#5a4826;--color-accent-2-400:#b48a45;--color-accent-2-500:#dcae62;--color-accent-2-600:#e4bd7b;--color-accent-2-700:#ebcb94;--color-accent-2-800:#f1d9ae;--color-accent-2-900:#f7e8cc;--color-accent-3-100:#2a1f26;--color-accent-3-300:#5c3f51;--color-accent-3-500:#c98fb0;--color-accent-3-700:#e2bcd2}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;background:var(--color-bg)}body{font-family:var(--font-body);color:var(--color-text);background:var(--color-bg);-webkit-font-smoothing:antialiased;margin:0;font-size:.9375rem;font-weight:400;line-height:1.55}main{max-width:30rem;padding:var(--space-4) var(--space-4) var(--space-8);margin:0 auto}main.has-tabs{padding-bottom:calc(var(--tabbar-h) + env(safe-area-inset-bottom) + 5.5rem)}main.has-action{padding-bottom:calc(env(safe-area-inset-bottom) + 7rem)}main.has-fabs{padding-bottom:calc(env(safe-area-inset-bottom) + 7.5rem)}main.cook{max-width:30rem;padding:0 0 calc(env(safe-area-inset-bottom) + 7.5rem)}main.cook-with-tabs{padding-bottom:calc(var(--tabbar-h) + env(safe-area-inset-bottom) + 6rem)}h1{font-family:var(--font-heading);letter-spacing:-.02em;text-wrap:balance;margin:0;font-size:clamp(1.75rem,8vw,2.125rem);font-weight:400;line-height:1.02}.screen-head h1,.home-head .head-stack h1{font-size:clamp(1.6rem,7.4vw,1.875rem)}h2{font-family:var(--font-heading);letter-spacing:-.015em;color:var(--color-text);margin:0;font-size:1.25rem;font-weight:400;line-height:1.12}a{color:var(--color-accent-700);text-underline-offset:.2em}.kicker{letter-spacing:.14em;text-transform:uppercase;color:var(--color-accent-700);font-size:.6875rem;font-weight:700;display:block}.muted{color:color-mix(in srgb, var(--color-text) 66%, transparent)}.error{margin:var(--space-3) 0;padding:var(--space-3) var(--space-4);border:1px solid var(--color-accent-300);border-radius:var(--radius-md);background:var(--color-accent-100);color:var(--color-accent-800);font-size:.85rem;line-height:1.5}.error strong{font-weight:700;display:block}.screen-head{justify-content:space-between;align-items:center;gap:var(--space-3);min-height:3rem;margin:var(--space-2) 0 var(--space-4);display:flex}.button{min-height:2.875rem;padding:0 var(--space-6);background:var(--color-accent-fill);color:var(--color-on-accent);font-family:var(--font-heading);white-space:nowrap;cursor:pointer;transition:background .15s var(--ease), transform .2s var(--spring);border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:7px;font-size:.9375rem;font-weight:400;text-decoration:none;display:inline-flex}.button svg{fill:none;stroke:currentColor;stroke-width:2.5px;stroke-linecap:round;stroke-linejoin:round;width:1rem;height:1rem}.button:hover:not(:disabled){background:var(--color-accent-700)}.button:active:not(:disabled){background:var(--color-accent-800);transform:scale(.93)}.button:disabled{opacity:.45;cursor:not-allowed}.button.secondary{color:var(--color-text);border-color:var(--color-divider);background:0 0}.button.secondary:hover:not(:disabled){background:color-mix(in srgb, var(--color-text) 7%, transparent)}.button.secondary:active:not(:disabled){background:color-mix(in srgb, var(--color-text) 14%, transparent)}.button.small{min-height:2.25rem;padding:0 var(--space-4);font-size:.8125rem}.button.danger{color:var(--color-accent-800);border-color:var(--color-accent-300);background:0 0}.button.danger:hover{background:var(--color-accent-100)}.block-button{width:100%;min-height:3.4rem;font-size:1rem}.icon-button{background:var(--color-surface);width:2.5rem;height:2.5rem;color:var(--color-text);cursor:pointer;transition:transform .2s var(--spring);border:none;border-radius:999px;flex:none;place-items:center;display:inline-grid}.icon-button:active{transform:scale(.93)}.icon-button svg{fill:none;stroke:currentColor;stroke-width:2.75px;stroke-linecap:round;stroke-linejoin:round;width:1.25rem;height:1.25rem}.fab{z-index:20;cursor:pointer;width:2.75rem;height:2.75rem;bottom:var(--fab-bottom);transition:transform .22s var(--spring), opacity .18s var(--ease), background .15s var(--ease), box-shadow .15s var(--ease);border:none;border-radius:999px;place-items:center;display:grid;position:fixed}.fab.fab-tucked:not(:focus-visible){opacity:0;pointer-events:none;transition:transform .22s var(--ease), opacity .18s var(--ease);transform:translateY(9rem)}.fab-add,.fab-edit,.fab-back{right:max(1.375rem,50vw - 13.625rem)}.fab-edit{bottom:calc(var(--fab-bottom) + 3.5rem)}.fab-bare{bottom:var(--fab-bottom-bare)}.fab-edit.fab-bare{bottom:calc(var(--fab-bottom-bare) + 3.5rem)}.fab svg{fill:none;stroke:currentColor;stroke-width:2.75px;stroke-linecap:round;stroke-linejoin:round;width:1.25rem;height:1.25rem}.fab-add{background:var(--color-accent);color:var(--color-on-accent);box-shadow:var(--shadow-lg)}.fab-add:hover:not(:disabled){background:var(--color-accent-600)}.fab-edit{background:var(--color-accent);color:var(--color-on-accent);box-shadow:var(--shadow-lg)}.fab-edit:hover{background:var(--color-accent-600)}.fab-back{background:var(--color-neutral-100);color:var(--color-neutral-800);border:1px solid var(--color-neutral-400);box-shadow:var(--shadow-lg)}.fab-back:hover{background:var(--color-neutral-200)}.fab:active{transform:scale(.93)}.fab:disabled,.fab.faded{opacity:.4;cursor:not-allowed;box-shadow:none}:where(a,button,input,textarea,select,label):focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}label{margin:var(--space-6) 0 var(--space-2);letter-spacing:.06em;text-transform:uppercase;color:color-mix(in srgb, var(--color-text) 66%, transparent);font-size:.75rem;font-weight:700;display:block}input,textarea,select{width:100%;min-height:3.25rem;padding:var(--space-2) var(--space-4);font:inherit;color:var(--color-text);caret-color:var(--color-accent);background:var(--color-surface);border:1px solid var(--color-divider);transition:border-color .15s var(--ease);border-radius:999px;font-size:1rem}input::placeholder,textarea::placeholder{color:color-mix(in srgb, var(--color-text) 45%, transparent)}input:focus,textarea:focus{border-color:var(--color-accent)}input:-webkit-autofill{-webkit-text-fill-color:var(--color-text);caret-color:var(--color-accent);box-shadow:inset 0 0 0 100vmax var(--color-surface)}input:-webkit-autofill:hover{-webkit-text-fill-color:var(--color-text);caret-color:var(--color-accent);box-shadow:inset 0 0 0 100vmax var(--color-surface)}input:-webkit-autofill:focus{-webkit-text-fill-color:var(--color-text);caret-color:var(--color-accent);box-shadow:inset 0 0 0 100vmax var(--color-surface)}textarea{min-height:9rem;padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);resize:vertical;line-height:1.7}.import-form{gap:var(--space-2);margin:var(--space-3) 0 var(--space-4);display:flex}.import-form input{flex:1;min-width:0}.import-form .button{padding:0 var(--space-4);flex:none}.or-divider{margin:var(--space-6) 0;color:color-mix(in srgb, var(--color-text) 40%, transparent);align-items:center;gap:14px;font-size:.8125rem;display:flex}.or-divider:before,.or-divider:after{content:"";background:var(--color-divider);flex:1;height:1px}.chips{gap:var(--space-2);padding:0 0 var(--space-2);flex-wrap:wrap;display:flex}.chip{min-height:2.25rem;padding:0 var(--space-4);border:1px solid var(--color-divider);color:color-mix(in srgb, var(--color-text) 66%, transparent);font:inherit;cursor:pointer;white-space:nowrap;transition:all .15s var(--ease);background:0 0;border-radius:999px;flex:none;font-size:.875rem}.chip:hover{border-color:var(--color-accent-400)}.chip.active{background:var(--color-accent-fill);border-color:var(--color-accent-fill);color:var(--color-on-accent)}.home{padding-left:0;padding-right:0}.home>:not(.strip):not(.tile-grid){padding-left:var(--space-4);padding-right:var(--space-4)}.home-head{justify-content:space-between;align-items:flex-start;gap:var(--space-3);margin:var(--space-2) 0 var(--space-2);display:flex}.head-stack{flex-direction:column;gap:.1rem;min-width:0;display:flex}.strip{margin-top:var(--space-4)}.strip-head{padding:0 var(--space-4) var(--space-2);justify-content:space-between;align-items:baseline;display:flex}.strip-head h2{font-family:var(--font-body);letter-spacing:.14em;text-transform:uppercase;color:var(--color-accent-700);font-size:.6875rem;font-weight:700}.strip-more{color:var(--color-accent-700);font-size:.8125rem;font-weight:700;text-decoration:none}.strip-count{color:color-mix(in srgb, var(--color-text) 66%, transparent);font-size:.8125rem;font-weight:700}.strip-scroll{gap:var(--space-3);padding:var(--space-1) var(--space-4) var(--space-2);scrollbar-width:none;scroll-snap-type:x proximity;scroll-padding-inline:var(--space-4);display:flex;overflow-x:auto}.strip-scroll::-webkit-scrollbar{display:none}.collection{width:8.25rem;color:inherit;scroll-snap-align:start;flex:none;text-decoration:none}.collection-image{border-radius:var(--radius-lg);background:linear-gradient(135deg, var(--color-accent-200), var(--color-accent-2-200));height:5.75rem;display:block;position:relative;overflow:hidden}.collection-image img{object-fit:cover;width:100%;height:100%;display:block}.collection-blank,.tile-blank,.pick-thumb-blank{width:100%;height:100%;font-family:var(--font-heading);color:color-mix(in srgb, var(--color-text) 30%, transparent);place-items:center;font-size:1.75rem;display:grid}.collection-count{z-index:1;background:color-mix(in srgb, var(--color-scrim) 60%, transparent);color:var(--color-on-photo);border-radius:999px;padding:2px 9px;font-size:.6875rem;font-weight:700;position:absolute;top:8px;right:8px}.collection-name{margin-top:var(--space-2);font-family:var(--font-heading);font-size:.9375rem;line-height:1.2;display:block}.tile-grid{padding:0 var(--space-4) var(--space-4);grid-template-columns:1fr 1fr;gap:16px 14px;display:grid}.tile{color:inherit;text-decoration:none}.tile-image{aspect-ratio:1;border-radius:var(--radius-lg);background:linear-gradient(135deg, var(--color-accent-200), var(--color-accent-2-200));display:block;position:relative;overflow:hidden}.tile-image img{object-fit:cover;width:100%;height:100%;display:block}.tile-time{z-index:1;background:color-mix(in srgb, var(--color-scrim) 58%, transparent);color:var(--color-on-photo);border-radius:999px;padding:2px 9px;font-size:.6875rem;font-weight:700;position:absolute;bottom:8px;left:8px}.tile-title{font-family:var(--font-heading);margin-top:9px;font-size:1rem;line-height:1.15;display:block}.tile-cooked{color:color-mix(in srgb, var(--color-text) 66%, transparent);margin:0;font-size:.8125rem}.tile.skeleton{aspect-ratio:1;border-radius:var(--radius-lg);background:var(--color-surface);animation:1.4s ease-in-out infinite pulse}@keyframes pulse{50%{opacity:.55}}.skeleton{background:var(--color-surface);animation:1.4s ease-in-out infinite pulse}.skeleton-line{height:1.25rem;margin-bottom:var(--space-2);background:var(--color-surface);border-radius:999px;animation:1.4s ease-in-out infinite pulse;display:block}.skeleton-line.short{width:45%}.collection-list{gap:var(--space-3);margin:var(--space-4) 0 0;padding:0;list-style:none;display:grid}.collection-list li{align-items:center;display:flex;position:relative}.collection-row{border-radius:var(--radius-lg);background:var(--color-surface);min-width:0;color:inherit;transition:background .15s var(--ease);flex:1;grid-template-columns:70px 1fr;align-items:center;gap:14px;padding:10px 3.25rem 10px 10px;text-decoration:none;display:grid}.collection-row:hover{background:var(--color-neutral-300)}.collection-row-image{border-radius:var(--radius-md);background:linear-gradient(135deg, var(--color-accent-2-200), var(--color-neutral-200));width:70px;height:58px;display:block;position:relative;overflow:hidden}.collection-row-image img{object-fit:cover;width:100%;height:100%;display:block}.collection-row-text{min-width:0}.collection-row-name{font-family:var(--font-heading);font-size:1.125rem;line-height:1.2;display:block}.collection-row-count{color:color-mix(in srgb, var(--color-text) 66%, transparent);font-size:.78rem;display:block}.row-chevron{fill:none;stroke:currentColor;stroke-width:2.5px;stroke-linecap:round;stroke-linejoin:round;width:1rem;height:1rem;color:var(--color-neutral-500);flex:none}.row-delete{right:var(--space-3);width:2.25rem;height:2.25rem;color:color-mix(in srgb, var(--color-text) 60%, transparent);cursor:pointer;background:0 0;border:none;border-radius:999px;place-items:center;display:grid;position:absolute}.row-delete:hover{background:var(--color-accent-100);color:var(--color-accent-800)}.row-delete svg{fill:none;stroke:currentColor;stroke-width:2.5px;stroke-linecap:round;stroke-linejoin:round;width:1.1rem;height:1.1rem}.add-screen{max-width:30rem}.add-note{margin:var(--space-3) 0 0;color:color-mix(in srgb, var(--color-text) 66%, transparent);font-size:.8125rem;line-height:1.6}.write-card{border-radius:var(--radius-lg);background:var(--color-surface);color:inherit;transition:background .15s var(--ease);align-items:center;gap:14px;padding:18px;text-decoration:none;display:flex}button.write-card{width:100%;margin-bottom:var(--space-3);font:inherit;text-align:left;cursor:pointer;border:none}.write-card:hover{background:var(--color-neutral-300)}.write-card-icon{background:var(--color-accent-2-200);width:44px;height:44px;color:var(--color-accent-2-800);border-radius:999px;flex:none;place-items:center;display:grid}.write-card-icon svg{fill:none;stroke:currentColor;stroke-width:2.75px;stroke-linecap:round;stroke-linejoin:round;width:1.25rem;height:1.25rem}.write-card-title{font-family:var(--font-heading);font-size:1.0625rem;line-height:1.2;display:block}.write-card-sub{color:color-mix(in srgb, var(--color-text) 66%, transparent);font-size:.78rem;display:block}.hero{height:18.125rem;position:relative;overflow:hidden}.hero img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.hero:after{content:"";background:linear-gradient(to top, color-mix(in srgb, var(--color-scrim) 80%, transparent), color-mix(in srgb, var(--color-scrim) 5%, transparent) 60%);position:absolute;inset:0}.hero-plain{background:linear-gradient(140deg, var(--color-accent-300), var(--color-accent-2-300));height:11rem}.hero-nav{top:calc(env(safe-area-inset-top) + var(--space-2));left:var(--space-4);right:var(--space-4);z-index:2;justify-content:space-between;display:flex;position:absolute}.hero-nav .icon-button{background:color-mix(in srgb, var(--color-bg) 85%, transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.hero h1{left:var(--space-4);right:var(--space-4);z-index:2;color:var(--color-on-photo);text-shadow:0 1px 14px #00000059;font-size:2rem;line-height:1.02;position:absolute;bottom:18px}.hero-plain h1{color:var(--color-text);text-shadow:none}.hero-plain:after{display:none}.hero-body{padding:18px var(--space-4) 0}.source-link{background:var(--color-accent-2-100);color:var(--color-accent-2-800);border-radius:999px;align-items:center;gap:7px;padding:8px 14px;font-size:.8125rem;font-weight:700;text-decoration:none;display:inline-flex}.source-link:hover{background:var(--color-accent-2-200)}.source-link svg{fill:none;stroke:currentColor;stroke-width:2.5px;stroke-linecap:round;stroke-linejoin:round;width:1rem;height:1rem}.servings{margin:var(--space-4) 0 var(--space-6);border-radius:var(--radius-lg);background:var(--color-surface);grid-template-columns:auto 1fr;align-items:center;gap:18px;padding:16px 20px;display:grid}.servings-read{min-width:3.25rem}.servings-value{font-family:var(--font-heading);color:var(--color-accent-700);font-size:1.875rem;line-height:1;display:block}.servings-label{letter-spacing:.08em;text-transform:uppercase;color:color-mix(in srgb, var(--color-text) 66%, transparent);margin-top:5px;font-size:.625rem;font-weight:700;display:block}.servings input[type=range]{appearance:none;cursor:pointer;background:0 0;border:none;border-radius:0;width:100%;height:22px;min-height:0;padding:0}.servings input[type=range]::-webkit-slider-runnable-track{background:linear-gradient(to right, var(--color-accent) 0 var(--fill,0%), var(--color-neutral-200) var(--fill,0%) 100%);border-radius:999px;height:8px}.servings input[type=range]::-moz-range-track{background:var(--color-neutral-200);border-radius:999px;height:8px}.servings input[type=range]::-moz-range-progress{background:var(--color-accent);border-radius:999px;height:8px}.servings input[type=range]::-webkit-slider-thumb{appearance:none;border:3px solid var(--color-accent);background:var(--color-bg);width:22px;height:22px;box-shadow:var(--shadow-sm);border-radius:999px;margin-top:-7px}.servings input[type=range]::-moz-range-thumb{border:3px solid var(--color-accent);background:var(--color-bg);width:16px;height:16px;box-shadow:var(--shadow-sm);border-radius:999px}.block{margin-bottom:var(--space-6)}.block-head{justify-content:space-between;align-items:baseline;margin:6px 0 8px;display:flex}.counter{color:color-mix(in srgb, var(--color-text) 66%, transparent);font-size:.8125rem;font-weight:700}.checklist{margin:0;padding:0;list-style:none}.checklist li+li{border-top:1px solid color-mix(in srgb, var(--color-text) 7%, transparent)}.checklist label{grid-template-columns:22px var(--qty-col) 1fr;font:inherit;letter-spacing:normal;text-transform:none;color:var(--color-text);cursor:pointer;align-items:baseline;gap:6px 12px;margin:0;padding:9px 4px;font-size:.9375rem;display:grid}.checklist input[type=checkbox],.shop-item>input[type=checkbox],.pick input[type=checkbox]{appearance:none;border:2px solid var(--color-divider);cursor:pointer;width:20px;height:20px;min-height:0;transition:background .12s var(--ease), border-color .12s var(--ease);background:0 0;border-radius:7px;flex:none;align-self:center;margin:0;padding:0;position:relative}.checklist input[type=checkbox]:checked,.shop-item>input[type=checkbox]:checked,.pick input[type=checkbox]:checked{background:var(--color-accent);border-color:var(--color-accent)}.checklist input[type=checkbox]:checked:after,.shop-item>input[type=checkbox]:checked:after,.pick input[type=checkbox]:checked:after{content:"";border:solid var(--color-bg);border-width:0 2.5px 2.5px 0;width:5px;height:10px;position:absolute;top:1px;left:5px;transform:rotate(42deg)}.qty{text-align:right;font-variant-numeric:tabular-nums;font-weight:700}.qty .unit{color:color-mix(in srgb, var(--color-text) 66%, transparent);font-weight:600}.ingredient-name{min-width:0;line-height:1.35}.ingredient-note{color:color-mix(in srgb, var(--color-text) 66%, transparent);font-size:.78rem;font-style:italic;display:block}.checklist label.checked .qty,.checklist label.checked .ingredient-name{color:color-mix(in srgb, var(--color-text) 42%, transparent);text-decoration:line-through}.all-done{margin:var(--space-3) 0 0;padding:var(--space-2) var(--space-4);background:var(--color-accent-2-100);color:var(--color-accent-2-800);text-align:center;border-radius:999px;font-size:.8125rem;font-weight:700}.steps{counter-reset:step;margin:8px 0 0;padding:0;list-style:none}.steps li{counter-increment:step;grid-template-columns:30px 1fr;gap:14px;padding:12px 0;font-size:.9rem;line-height:1.5;display:grid}.steps li+li{border-top:1px solid color-mix(in srgb, var(--color-text) 7%, transparent)}.steps li:before{content:counter(step);background:var(--color-accent-2-200);width:30px;height:30px;color:var(--color-accent-2-800);font-family:var(--font-heading);border-radius:999px;place-items:center;font-size:.875rem;display:grid}.notes{margin:var(--space-2) 0 0;white-space:pre-wrap;line-height:1.65}.destructive-row{margin:var(--space-8) 0 0}.pick-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.pick{border-radius:var(--radius-lg);background:var(--color-surface);font:inherit;letter-spacing:normal;text-transform:none;color:var(--color-text);cursor:pointer;transition:background .15s var(--ease), border-color .15s var(--ease);border:1px solid #0000;grid-template-columns:22px 54px 1fr;align-items:center;gap:14px;margin:0;padding:10px;display:grid}.pick.checked{border-color:var(--color-accent);background:var(--color-accent-100)}.pick-thumb{border-radius:var(--radius-md);object-fit:cover;background:linear-gradient(135deg, var(--color-accent-200), var(--color-accent-2-200));width:54px;height:54px;display:block}.pick-thumb-blank{filter:none;place-items:center;font-size:1.25rem;display:grid}.pick-title{font-family:var(--font-heading);min-width:0;font-size:1rem;line-height:1.2}.action-bar{z-index:15;padding:12px var(--space-4) calc(min(env(safe-area-inset-bottom), 34px) / 2 + 14px);background:color-mix(in srgb, var(--color-bg) 92%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-top:1px solid var(--color-divider);position:fixed;bottom:0;left:0;right:0}.action-bar>*{max-width:30rem;margin:0 auto}.action-bar-row{align-items:center;gap:var(--space-3);max-width:30rem;margin:0 auto;display:flex}.action-bar-row .icon-button{width:3.25rem;height:3.25rem;box-shadow:var(--shadow-sm)}.action-bar-row .block-button{flex:1}.progress{align-items:center;gap:12px;padding:10px 0 14px;display:flex}.progress-track{background:var(--color-neutral-200);border-radius:999px;flex:1;height:9px;overflow:hidden}.progress-fill{background:var(--color-accent-2-500);height:100%;transition:width .25s var(--ease);border-radius:999px}.progress-label{color:color-mix(in srgb, var(--color-text) 66%, transparent);font-size:.78rem;font-weight:700}.shop-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.shop-item{border-radius:var(--radius-lg);background:var(--color-surface);grid-template-columns:22px 1fr;align-items:center;gap:12px;padding:12px;display:grid}.shop-row{grid-template-columns:var(--qty-col) 1fr auto;font:inherit;color:inherit;text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;gap:12px;min-width:0;padding:0;display:grid}.shop-row .ingredient-name{text-align:left}.shop-row.done .qty,.shop-row.done>.ingredient-name{color:color-mix(in srgb, var(--color-text) 42%, transparent);text-decoration:line-through}.chosen{color:var(--color-accent-2-700);margin-top:2px;font-size:.75rem;font-weight:700;text-decoration:none;display:block}.shop-row.done .chosen{text-decoration:none}.row-check{color:var(--color-accent-2-600)}.picker-overlay{z-index:40;background:color-mix(in srgb, var(--color-scrim) 42%, transparent);animation:fade-in .18s var(--ease);justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}@keyframes fade-in{0%{opacity:0}}.picker{width:100%;max-width:30rem;min-height:0;max-height:82svh;padding:22px var(--space-4) calc(min(env(safe-area-inset-bottom), 34px) / 2 + 26px);background:var(--color-bg);border-radius:var(--radius-lg) var(--radius-lg) 0 0;box-shadow:var(--shadow-lg);animation:sheet-up .24s var(--ease);flex-direction:column;display:flex}@keyframes sheet-up{0%{transform:translateY(100%)}}@media (prefers-reduced-motion:reduce){.picker,.picker-overlay{animation:none}}.picker .row{justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:14px;display:flex}.picker .row h2{min-width:0;font-size:1.625rem}.picker .import-form{flex:none;margin:0 0 14px}.picker .import-form input{min-height:2.75rem}.product-list,.food-list{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;flex:1;min-height:0;overflow-y:auto}.product-list{-webkit-overflow-scrolling:touch;flex:1;min-height:0;margin:0;padding:0;list-style:none;overflow-y:auto}.product-row{border-radius:var(--radius-lg);background:var(--color-surface);width:100%;font:inherit;color:inherit;text-align:left;cursor:pointer;transition:background .15s var(--ease);border:none;grid-template-columns:52px 1fr auto;align-items:center;gap:14px;margin-bottom:8px;padding:10px;display:grid}.product-row:hover{background:var(--color-neutral-300)}.product-row img{border-radius:var(--radius-md);object-fit:cover;background:var(--color-neutral-200);width:52px;height:52px}.product-row.unavailable{opacity:.5}.product-info{min-width:0}.product-name{font-size:.875rem;line-height:1.3;display:block}.product-info .muted{font-size:.75rem;display:block}.product-known{color:var(--color-accent-2-700);font-size:.75rem;font-weight:700;display:block}.product-price{font-family:var(--font-heading);white-space:nowrap;text-align:right;font-size:1rem}.product-price .currency{font-size:.6875rem}.product-price s{font-family:var(--font-body);color:color-mix(in srgb, var(--color-text) 66%, transparent);font-size:.6875rem;display:block}.empty{text-align:center;padding:var(--space-8) var(--space-6);flex-direction:column;justify-content:center;align-items:center;gap:12px;min-height:45vh;display:flex}.empty-blob{background:var(--color-accent-100);width:96px;height:96px;color:var(--color-accent-600);border-radius:999px;place-items:center;margin-bottom:6px;display:grid}.empty-blob svg{fill:none;stroke:currentColor;stroke-width:2.75px;stroke-linecap:round;stroke-linejoin:round;width:38px;height:38px}.empty h2{font-size:1.5rem}.empty p{color:color-mix(in srgb, var(--color-text) 66%, transparent);margin:0;font-size:.875rem;line-height:1.6}.route-error{min-height:100svh;padding:var(--space-6) var(--space-4);align-content:center;display:grid}.route-error .empty{min-height:0}.route-error-actions{justify-content:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.picker .empty{min-height:0;padding:20px 10px 30px}.picker .empty h2{font-size:1.25rem}.banner{margin:var(--space-2) 0 0;border-radius:var(--radius-md);background:var(--color-accent-2-100);color:var(--color-accent-2-800);align-items:center;gap:10px;padding:12px 16px;font-size:.8125rem;font-weight:600;display:flex}.banner svg{fill:none;stroke:currentColor;stroke-width:2.5px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:1rem;height:1rem}.tabbar{z-index:18;max-width:30rem;padding:4px var(--space-6) calc(min(env(safe-area-inset-bottom), 34px) / 2 + 6px);background:var(--color-neutral-100);border-top:1px solid var(--color-neutral-400);justify-content:space-around;margin:0 auto;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -2px 12px #292d2314}.tab{padding:6px var(--space-4);color:color-mix(in srgb, var(--color-text) 66%, transparent);border-radius:var(--radius-md);transition:color .15s var(--ease);align-items:center;gap:6px;font-size:.625rem;font-weight:700;text-decoration:none;display:flex}.tab svg{fill:none;stroke:currentColor;stroke-width:2.75px;stroke-linecap:round;stroke-linejoin:round;width:1.125rem;height:1.125rem}.tab.active{color:var(--color-accent)}.editor-form{padding-bottom:var(--space-4)}.editor-form label:first-of-type{margin-top:var(--space-4)}.meta-row{justify-content:space-between;align-items:center;gap:var(--space-2);margin-bottom:var(--space-2);flex-wrap:wrap;display:flex}.meta-row .add-to-list{margin-left:auto}.add-to-list{min-height:2.25rem;padding:0 var(--space-4);border:1px solid var(--color-accent);background:var(--color-accent-100);color:var(--color-accent-700);font:inherit;cursor:pointer;transition:background .15s var(--ease);border-radius:999px;align-items:center;gap:.4rem;font-size:.8125rem;font-weight:600;display:inline-flex}.add-to-list:hover:not(:disabled){background:var(--color-accent-200)}.add-to-list:disabled{opacity:.6;cursor:default}.add-to-list svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:1rem;height:1rem}.add-feedback{margin:0 0 var(--space-2);color:var(--color-accent-2-700);font-size:.8125rem;font-weight:600}.meta-times{gap:var(--space-2);margin:0 0 var(--space-2);color:var(--color-neutral-600);font-size:.875rem;display:flex}.meta-times span+span:before{content:"·";margin-right:var(--space-2);color:var(--color-neutral-400)}.segmented{z-index:10;margin:var(--space-3) 0 var(--space-3);padding:var(--space-2) 0;background:var(--color-bg);grid-template-columns:1fr 1fr;gap:.25rem;display:grid;position:sticky;top:0}.segmented:after{content:"";inset:var(--space-2) 0;z-index:-1;background:var(--color-surface);box-shadow:0 0 0 1px var(--color-divider);border-radius:999px;position:absolute}.segmented button{color:var(--color-neutral-600);font:inherit;cursor:pointer;transition:background .15s var(--ease), color .15s var(--ease);background:0 0;border:none;border-radius:999px;margin:.25rem;padding:.5rem 1rem;font-weight:600;position:relative}.segmented button.active{background:var(--color-neutral-100);color:var(--color-text);box-shadow:var(--shadow-md)}.field-row{gap:var(--space-2);grid-template-columns:repeat(3,1fr);display:grid}.field-row label{margin-top:var(--space-3)}.field-row input{width:100%}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.setting-group{margin-bottom:var(--space-8)}.setting-group h2{margin-bottom:var(--space-2)}.setting-note{margin:0 0 var(--space-3);color:var(--color-neutral-600);font-size:.875rem;line-height:1.5}.guide-tabs{margin-bottom:var(--space-4);gap:.35rem;display:flex}.guide-tab{border:1px solid var(--color-divider);color:var(--color-neutral-600);font:inherit;cursor:pointer;transition:background .15s var(--ease), border-color .15s var(--ease), transform .2s var(--spring);background:0 0;border-radius:999px;flex-direction:column;flex:1;align-items:center;gap:.1rem;padding:.55rem .4rem;font-size:.875rem;font-weight:600;display:flex}.guide-tab:active{transform:scale(.95)}.guide-tab.active{border-color:var(--color-accent);background:var(--color-accent-100);color:var(--color-accent-700)}.guide-tab-you{letter-spacing:.06em;text-transform:uppercase;color:var(--color-neutral-500);font-size:.625rem;font-weight:600}.guide-tab.active .guide-tab-you{color:var(--color-accent-600)}.guide h3{margin:var(--space-4) 0 var(--space-2);font-size:1.0625rem}.guide h3:first-child{margin-top:0}.guide-steps{margin:0 0 var(--space-3);color:var(--color-neutral-700);padding-left:1.35rem;font-size:.875rem;line-height:1.6}.guide-steps li{margin-bottom:var(--space-2)}.guide-steps strong{color:var(--color-text)}.guide-url{align-items:center;gap:var(--space-2);margin-bottom:var(--space-3);padding:var(--space-2) var(--space-3);border:1px solid var(--color-divider);border-radius:var(--radius-md);background:var(--color-surface);display:flex}.guide-url code{min-width:0;color:var(--color-accent-700);white-space:nowrap;flex:1;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:.75rem;overflow-x:auto}.guide-url .button{flex:none}.choice-row{gap:var(--space-2);grid-template-columns:1fr 1fr;display:grid}.choice-row.three{grid-template-columns:repeat(3,1fr)}.choice{padding:var(--space-3) var(--space-4);border:1px solid var(--color-divider);border-radius:var(--radius-md);background:var(--color-neutral-100);color:var(--color-text);font:inherit;text-align:left;cursor:pointer;transition:border-color .15s var(--ease), background .15s var(--ease);flex-direction:column;gap:.2rem;display:flex}.choice.active{border-color:var(--color-accent);background:var(--color-accent-100)}.choice-label{font-weight:700}.choice-example{color:var(--color-neutral-600);font-size:.75rem}.choice.active .choice-example{color:var(--color-accent-700)}.ingredient-group+.ingredient-group{margin-top:var(--space-4)}.group-head{width:100%;margin:0 0 var(--space-1);padding:var(--space-1) 0;font-family:var(--font-heading);letter-spacing:-.01em;color:var(--color-accent-700);text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;gap:.35rem;font-size:1rem;font-weight:400;display:flex}.group-chevron{fill:none;stroke:currentColor;stroke-width:2.5px;stroke-linecap:round;stroke-linejoin:round;width:.875rem;height:.875rem;transition:transform .15s var(--ease)}.group-chevron.folded{transform:rotate(-90deg)}.group-count{background:var(--color-surface);font-family:var(--font-body);color:var(--color-neutral-600);border-radius:999px;padding:.05rem .4rem;font-size:.6875rem;font-weight:700}.field-hint{margin:calc(var(--space-1) * -1) 0 var(--space-2);color:var(--color-neutral-600);font-size:.75rem}.field-hint code{background:var(--color-surface);border-radius:4px;padding:.1em .35em;font-size:.95em}.step-number{background:var(--color-accent-2-200);width:1.5rem;height:1.5rem;color:var(--color-accent-2-800);border-radius:999px;place-items:center;margin-top:.6rem;font-size:.75rem;font-weight:700;display:grid}.step-remove{width:1.75rem;height:1.75rem;color:var(--color-neutral-500);cursor:pointer;background:0 0;border:none;border-radius:999px;place-items:center;margin-top:.5rem;padding:0;display:grid}.step-remove:hover{background:var(--color-surface);color:var(--color-text)}.step-remove svg{fill:none;stroke:currentColor;stroke-width:2.2px;stroke-linecap:round;width:.875rem;height:.875rem}.add-step{margin-bottom:var(--space-4)}.card{margin-top:var(--space-4);padding:var(--space-4);border:1px solid var(--color-divider);border-radius:var(--radius-md);background:var(--color-neutral-100)}.card-head{justify-content:space-between;align-items:baseline;gap:var(--space-2);margin-bottom:var(--space-3);display:flex}.card-note{color:var(--color-neutral-500);font-size:.75rem}.card-empty{margin:0 0 var(--space-3);color:var(--color-neutral-600);font-size:.8125rem;line-height:1.5}.card-foot{margin:var(--space-3) 0 0;color:var(--color-neutral-600);font-size:.75rem}.card-error{margin:var(--space-2) 0 0;color:var(--color-accent-800);font-size:.8125rem}.link-button,.pill-button{border:1px solid var(--color-accent-200);background:var(--color-accent-100);min-height:2.25rem;color:var(--color-accent-800);font:inherit;vertical-align:middle;white-space:nowrap;cursor:pointer;transition:background .15s var(--ease), transform .2s var(--spring);border-radius:999px;justify-content:center;align-items:center;gap:6px;padding:0 .95rem;font-size:.8125rem;font-weight:600;line-height:1.2;text-decoration:none;display:inline-flex}.link-button:hover,.pill-button:hover{background:var(--color-accent-200)}.link-button:active,.pill-button:active{transform:scale(.96)}.link-button:disabled,.pill-button:disabled{border-color:var(--color-divider);color:var(--color-neutral-500);cursor:default;background:0 0}:is(.card-foot,.collection-actions,.share-note,.basket-secondary,.field-hint:has(.pill-button)){align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.macros{gap:var(--space-2);grid-template-columns:repeat(4,1fr);display:grid}.macro{padding:var(--space-2) 0;border-radius:var(--radius-sm);background:var(--color-surface);flex-direction:column;align-items:center;gap:.1rem;display:flex}.macro-lead{background:var(--color-accent-100)}.macro-value{font-family:var(--font-heading);color:var(--color-text);font-size:1.0625rem;line-height:1.1}.macro-lead .macro-value{color:var(--color-accent-700)}.macro-label{letter-spacing:.04em;text-transform:uppercase;color:var(--color-neutral-600);font-size:.6875rem}.cost-figures{gap:var(--space-2);grid-template-columns:repeat(auto-fit,minmax(5.5rem,1fr));display:grid}.cost-figure{padding:var(--space-3);border-radius:var(--radius-sm);background:var(--color-surface);flex-direction:column;gap:.1rem;display:flex}.cost-value{font-family:var(--font-heading);color:var(--color-accent-700);font-size:1.25rem;line-height:1.1}.cost-label{letter-spacing:.04em;text-transform:uppercase;color:var(--color-neutral-600);font-size:.6875rem}.shop-why,.shop-sources{grid-column:2}.shop-why{border:1px solid var(--color-divider);color:var(--color-neutral-600);font:inherit;letter-spacing:.02em;cursor:pointer;background:0 0;border-radius:999px;justify-self:start;margin-top:4px;padding:.15rem .6rem;font-size:.6875rem;font-weight:600}.shop-why:hover{color:var(--color-accent-700)}.shop-sources{margin:var(--space-1) 0 0;padding:0 0 0 var(--space-3);border-left:2px solid var(--color-neutral-300);color:var(--color-neutral-600);font-size:.75rem;line-height:1.5;list-style:none}.breakdown{margin:var(--space-3) 0 0;padding:var(--space-3) 0 0;border-top:1px solid var(--color-divider);list-style:none}.breakdown li{align-items:center;gap:var(--space-2);grid-template-columns:auto 1fr;display:grid}.have-at-home{place-items:center;min-height:0;margin:0;display:grid}.have-at-home input{width:18px;height:18px;min-height:0;accent-color:var(--color-accent);margin:0}.breakdown-row{gap:0 var(--space-2);width:100%;padding:var(--space-2) 0;font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;grid-template-columns:1fr auto;display:grid}.breakdown li+li .breakdown-row{border-top:1px solid var(--color-divider)}.breakdown-name{color:var(--color-text);font-size:.8125rem;font-weight:600}.breakdown-food{color:var(--color-neutral-600);grid-column:1;font-size:.6875rem}.breakdown-guess{background:var(--color-accent-200);color:var(--color-accent-800);border-radius:4px;margin-left:.25rem;padding:.05rem .3rem;font-weight:700}.breakdown-kcal{color:var(--color-accent-700);white-space:nowrap;grid-area:1/2/span 2;align-self:center;font-size:.8125rem;font-weight:700}.breakdown li.skipped .breakdown-name,.breakdown li.skipped .breakdown-kcal{color:var(--color-neutral-500)}.picker-note{margin:0 0 var(--space-3);color:var(--color-neutral-600);font-size:.8125rem}.food-list{margin:var(--space-3) 0 0;padding:0;list-style:none}.food-option{width:100%;padding:var(--space-3);margin-bottom:var(--space-2);border:1px solid var(--color-divider);border-radius:var(--radius-md);background:var(--color-neutral-100);font:inherit;text-align:left;cursor:pointer;flex-direction:column;gap:.15rem;display:flex}.food-option:hover:not(:disabled){border-color:var(--color-accent-400)}.food-option.current{border-color:var(--color-accent);background:var(--color-accent-100)}.food-name{font-size:.875rem;font-weight:600}.food-detail{color:var(--color-neutral-600);font-weight:400}.food-macros{color:var(--color-neutral-600);font-size:.75rem}.food-per{color:var(--color-neutral-500)}.food-current{background:var(--color-accent-fill);color:var(--color-on-accent);letter-spacing:.04em;text-transform:uppercase;border-radius:999px;align-self:flex-start;margin-top:.15rem;padding:.05rem .4rem;font-size:.625rem;font-weight:700}.used-query{margin:0 0 var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-neutral-700);font-size:.75rem}.used-query strong{color:var(--color-accent-700)}.substitutes{margin-top:var(--space-3)}.substitutes-head{margin:0 0 var(--space-2);color:var(--color-neutral-700);font-size:.8125rem;font-weight:600}.substitute-row{gap:var(--space-2);flex-wrap:wrap;display:flex}.substitute{padding:.4rem var(--space-4);border:1px solid var(--color-accent);background:var(--color-accent-100);color:var(--color-accent-700);font:inherit;cursor:pointer;border-radius:999px;font-size:.8125rem;font-weight:600}.substitute:hover{background:var(--color-accent-200)}.breakdown-via,.breakdown-sub{color:var(--color-neutral-500);font-style:italic}.breakdown-sub{color:var(--color-accent-700);font-style:normal;font-weight:600}.line-fields{margin:0 0 var(--space-2);padding:0;list-style:none}.line-fields li{align-items:start;gap:var(--space-1);margin-bottom:var(--space-1);border-radius:var(--radius-md);grid-template-columns:1.75rem 1fr 1.75rem;display:grid}.line-fields.numbered li{margin-bottom:var(--space-2)}.line-fields textarea{resize:none;min-height:0;margin:0;line-height:1.4;overflow:hidden}.line-handle{width:1.75rem;height:2.75rem;color:var(--color-neutral-500);cursor:grab;touch-action:none;background:0 0;border:none;place-items:center;padding:0;display:grid}.line-handle svg{fill:none;stroke:currentColor;stroke-width:3.2px;stroke-linecap:round;width:1.125rem;height:1.125rem}.line-handle .step-number{margin-top:0}.line-fields li.is-dragging{background:var(--color-accent-100);box-shadow:var(--shadow-lg)}.line-fields li.is-dragging .line-handle{cursor:grabbing}.line-fields li.is-heading textarea{font-family:var(--font-heading);color:var(--color-accent-700);background:var(--color-accent-100);border-color:var(--color-accent-300)}.add-row{gap:var(--space-2);margin-bottom:var(--space-4);display:flex}.field-row-4{grid-template-columns:repeat(4,1fr)}.sub-label{font-size:.6875rem}.chip-add{border-style:dashed;font-weight:700}.door{flex-direction:column;min-height:100svh;display:flex}.door-shelf{gap:var(--space-2);width:100%;max-width:30rem;height:clamp(8.5rem,24svh,12rem);padding:var(--space-4) var(--space-4) 0;grid-template-rows:1fr 1fr;grid-template-columns:2fr 1fr;margin:0 auto;display:grid}.door-shelf img{object-fit:cover;border-radius:var(--radius-md);background:var(--color-neutral-200);width:100%;height:100%;min-height:0;display:block}.door-shelf img:first-child{grid-row:span 2}.door-brand{margin-bottom:var(--space-4);font-family:var(--font-heading);letter-spacing:-.02em;color:var(--color-accent-700);font-size:1.375rem;line-height:1}.sign-in{width:100%;padding-top:var(--space-6);flex-direction:column;display:flex}.sign-in h1{margin-bottom:var(--space-2)}.door-bare .sign-in{padding-top:var(--space-8)}.sign-in-lead{margin:var(--space-2) 0 0;line-height:1.6}.sign-in-form{flex-direction:column;display:flex}.sign-in-form label:first-of-type{margin-top:var(--space-4)}.sign-in-form .button{margin-top:var(--space-6)}.sign-in-forgot{margin-top:var(--space-2);align-self:flex-end}.sign-in-hint{margin:var(--space-2) 0 0;color:var(--color-neutral-600);font-size:.8125rem}.sign-in-switch{align-items:center;gap:var(--space-2);margin:var(--space-6) 0 0;flex-wrap:wrap;font-size:.875rem;display:flex}.sign-in-note{margin:var(--space-4) 0 0;color:var(--color-neutral-600);font-size:.75rem;line-height:1.5}.confirm-note{justify-content:space-between;align-items:center;gap:var(--space-2) var(--space-3);margin:0 0 var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--color-accent-2-100);color:var(--color-accent-2-800);flex-wrap:wrap;font-size:.875rem;line-height:1.5;display:flex}.confirm-note>span{flex:14rem}.home>.confirm-note{margin:0 var(--space-4) var(--space-3)}.share-part{margin-top:var(--space-6)}.share-part h3{margin:0 0 var(--space-2);font-family:var(--font-heading);font-size:1.0625rem;font-weight:400}.share-link{margin:0 0 var(--space-2);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--color-surface);word-break:break-all;-webkit-user-select:all;user-select:all;font-size:.8125rem}.shared-by{margin:0 0 var(--space-3)}.shared-macros{margin:0 0 var(--space-3);font-size:.875rem;font-weight:600}.shared-save,.shared-save-note{margin-top:var(--space-2)}.shared-home{text-align:center;margin:0}.shared-group{margin:0 0 var(--space-1);font-family:var(--font-heading);color:var(--color-accent-700);font-size:1rem;font-weight:400}.shared-list li{grid-template-columns:var(--qty-col) 1fr;align-items:baseline;gap:6px 12px;padding:9px 4px;font-size:.9375rem;display:grid}.shared-recipe{padding-bottom:calc(env(safe-area-inset-bottom) + 3rem)}.account-form label:first-of-type{margin-top:var(--space-2)}.account-actions{gap:var(--space-2);margin:var(--space-3) 0 0;flex-wrap:wrap;display:flex}.account-leave{margin:var(--space-6) 0 0}.account-delete{margin-top:var(--space-6);padding-top:var(--space-4);border-top:1px solid var(--color-divider)}.about-links{gap:var(--space-2);flex-wrap:wrap;display:flex}.sign-in>.add-feedback{margin:var(--space-3) 0 0;font-size:.9375rem}.legal{font-size:1rem;line-height:1.65}.legal-changed{margin:0 0 var(--space-6);color:var(--color-neutral-600);font-size:.875rem}.legal h2{margin:var(--space-8) 0 var(--space-2)}.legal p{margin:0 0 var(--space-3)}.legal ul{margin:0 0 var(--space-3);padding-left:1.15rem}.legal li+li{margin-top:var(--space-2)}.legal code{background:var(--color-neutral-200);border-radius:6px;padding:.1em .35em;font-family:ui-monospace,Cascadia Mono,Consolas,monospace;font-size:.9em}.legal-links{gap:var(--space-2) var(--space-4);margin-top:var(--space-8);padding-top:var(--space-4);border-top:1px solid var(--color-divider);flex-wrap:wrap;font-weight:600;display:flex}.link-code-row{align-items:center;gap:var(--space-3);margin:0 0 var(--space-2);flex-wrap:wrap;display:flex}.link-code-label{letter-spacing:.06em;text-transform:uppercase;color:color-mix(in srgb, var(--color-text) 66%, transparent);font-size:.75rem;font-weight:700}.link-code{letter-spacing:.12em;font-variant-numeric:tabular-nums;font-size:1.25rem;font-weight:700}.people-list{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.people-list li{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-2) var(--space-2) var(--space-4);border-radius:var(--radius-md);background:var(--color-surface);font-weight:600;display:flex}.head-actions{gap:var(--space-2);display:flex}.breakdown-plain li{grid-template-columns:1fr}.photo-field{margin:0 0 var(--space-4);gap:var(--space-2);justify-items:start;display:grid}.photo-preview{border-radius:var(--radius-md);background:var(--color-surface);width:100%;position:relative;overflow:hidden}.photo-preview img{object-fit:cover;width:100%;max-height:14rem;display:block}.photo-remove{right:var(--space-2);bottom:var(--space-2);background:var(--color-bg);color:var(--color-text);position:absolute}.photo-error{color:var(--color-accent-800)}.visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.recipe-search{gap:var(--space-2);margin-bottom:var(--space-4);align-items:center;display:flex}.recipe-search-field{flex:1;font-size:16px}.recipe-search-mode{padding:var(--space-2) var(--space-3);border:1px solid var(--color-divider);font:inherit;color:color-mix(in srgb, var(--color-text) 66%, transparent);white-space:nowrap;cursor:pointer;background:0 0;border-radius:999px}.recipe-search-mode[aria-pressed=true]{background:var(--color-accent-fill);border-color:var(--color-accent-fill);color:var(--color-on-accent)}.collection-row-inline{justify-content:space-between;align-items:baseline;gap:var(--space-1) var(--space-3);margin:0 0 var(--space-3);flex-wrap:wrap;font-size:.8125rem;display:flex}.collection-names{flex-wrap:wrap;align-items:center;gap:6px;display:inline-flex}.sheet-chips{margin:var(--space-2) 0 var(--space-4)}.collection-new .collection-image{border:1.5px dashed var(--color-accent-300);background:var(--color-surface)}.collection-new .collection-blank{color:var(--color-accent)}.pantry-list{gap:var(--space-2);margin:0 0 var(--space-3);flex-wrap:wrap;padding:0;list-style:none;display:flex}.pantry-item{align-items:center;gap:var(--space-1);padding-right:var(--space-1);display:inline-flex}.pantry-remove{width:1.5rem;height:1.5rem;color:inherit;cursor:pointer;background:0 0;border:none;border-radius:999px;place-items:center;padding:0;display:grid}.pantry-remove svg{fill:none;stroke:currentColor;stroke-width:2.4px;stroke-linecap:round;width:.75rem;height:.75rem}.sort-row{gap:var(--space-2);margin:0 0 var(--space-3);padding:0 var(--space-4) var(--space-1);scrollbar-width:none;display:flex;overflow-x:auto}.sort-row::-webkit-scrollbar{display:none}.sort-row .chip{flex:none}.protein-sizes{align-items:center;gap:var(--space-2);margin-top:var(--space-2);flex-wrap:wrap;grid-column:1/-1;display:flex}.protein-sizes .chip{padding:.3rem .75rem;font-size:.875rem}.protein-sizes-note{color:color-mix(in srgb, var(--color-text) 66%, transparent);flex-basis:100%;margin:0;font-size:.8125rem}.protein-sizes-label{letter-spacing:.04em;text-transform:uppercase;color:color-mix(in srgb, var(--color-text) 66%, transparent);font-size:.75rem;font-weight:700}.want-toggle{align-items:center;gap:var(--space-1);border:1px solid var(--color-divider);color:inherit;font:inherit;cursor:pointer;background:0 0;border-radius:999px;margin-left:auto;padding:.45rem .8rem;font-size:.8125rem;font-weight:600;display:inline-flex}.want-toggle svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linejoin:round;width:1rem;height:1rem}.want-toggle.wanted{border-color:var(--color-accent-2);background:var(--color-accent-2);color:var(--color-on-accent-2)}.want-toggle.wanted svg{fill:currentColor}.want-toggle+.add-to-list{margin-left:0}.spin-card-button{width:calc(100% - var(--space-4) * 2);margin:0 var(--space-4) var(--space-4);border-radius:var(--radius-lg);background:linear-gradient(120deg, var(--color-accent-100), var(--color-accent-2-100));color:inherit;font:inherit;text-align:left;cursor:pointer;border:none;align-items:center;gap:14px;padding:14px 18px;display:flex}.spin-dice{background:var(--color-accent-fill);width:44px;height:44px;color:var(--color-on-accent);border-radius:14px;flex:none;place-items:center;display:grid}.spin-dice svg{fill:none;stroke:currentColor;stroke-width:2px;width:1.5rem;height:1.5rem}.spin-dice circle{fill:currentColor;stroke:none}.spin-card-title{font-family:var(--font-heading);font-size:1.05rem;display:block}.spin-card-sub{color:color-mix(in srgb, var(--color-text) 66%, transparent);font-size:.8125rem;display:block}.spin-card{justify-items:center;gap:var(--space-2);padding:var(--space-2) 0 var(--space-4);text-align:center;display:grid}.spin-photo{border-radius:var(--radius-lg);background:linear-gradient(135deg, var(--color-accent-200), var(--color-accent-2-200));width:11rem;height:11rem;display:block;overflow:hidden}.spin-photo img{object-fit:cover;width:100%;height:100%}.spin-title{margin:var(--space-2) 0 0;font-family:var(--font-heading);font-size:1.35rem;line-height:1.15}.spin-reasons{color:color-mix(in srgb, var(--color-text) 66%, transparent);margin:0;padding:0;font-size:.875rem;list-style:none}.spin-actions{gap:var(--space-2);display:flex}.spin-actions>*{flex:1}.cook-start{margin:var(--space-2) 0 var(--space-4);text-decoration:none}.cook-mode{min-height:100svh;padding:calc(env(safe-area-inset-top) + var(--space-4)) var(--space-4) 8rem;touch-action:pan-y}.cook-mode-head{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.cook-mode-title{min-width:0;font-family:var(--font-heading);text-overflow:ellipsis;white-space:nowrap;font-size:1rem;overflow:hidden}.cook-mode-mic{align-items:center;gap:var(--space-1);border:1px solid var(--color-divider);color:inherit;font:inherit;cursor:pointer;background:0 0;border-radius:999px;flex:none;padding:.4rem .8rem;font-size:.8125rem;font-weight:600;display:inline-flex}.cook-mode-mic svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;width:1rem;height:1rem}.cook-mode-mic.on{border-color:var(--color-accent-fill);background:var(--color-accent-fill);color:var(--color-on-accent)}.voice-help{align-items:baseline;gap:4px var(--space-2);margin:var(--space-2) 0 0;color:color-mix(in srgb, var(--color-text) 66%, transparent);flex-wrap:wrap;font-size:.8125rem;display:flex}.voice-help.on{padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);background:var(--color-accent-100);color:var(--color-accent-800);font-size:.9375rem}.voice-more{opacity:.8;font-size:.8125rem}.voice-heard{flex-basis:100%;font-size:.8125rem;font-weight:600}.cook-mode-others{align-items:center;gap:var(--space-2);margin-top:var(--space-3);flex-wrap:wrap;font-size:.8125rem;font-weight:600;display:flex}.cook-mode-others .chip{text-decoration:none}.cook-mode-dots{margin:var(--space-4) 0;flex-wrap:wrap;gap:6px;display:flex}.cook-mode-dot{background:var(--color-neutral-300);border-radius:999px;width:8px;height:8px}.cook-mode-dot.done{background:var(--color-accent-2)}.cook-mode-dot.current{background:var(--color-accent-fill);width:22px}.cook-mode-count{margin:0 0 var(--space-2);letter-spacing:.05em;text-transform:uppercase;color:color-mix(in srgb, var(--color-text) 66%, transparent);font-size:.8125rem;font-weight:700}.cook-mode-text{margin:0;font-size:1.55rem;line-height:1.4}.cook-mode-ingredients{gap:var(--space-2);margin:var(--space-6) 0 0;padding:var(--space-4);border-radius:var(--radius-md);background:var(--color-surface);font-size:1.05rem;list-style:none;display:grid}.cook-mode-timers .timer-chip{min-height:3.25rem;padding:0 1.25rem 0 var(--space-4);font-size:1.15rem}.cook-mode-timers .timer-icon{width:22px;height:22px}.cook-mode-timers{margin-top:var(--space-4)}.cook-mode-prev{flex:none}@media (prefers-reduced-motion:no-preference){.cook-mode-step{animation:cook-step-in .26s var(--ease)}}@keyframes cook-step-in{0%{opacity:0;transform:translate(14px)}to{opacity:1;transform:none}}.plan-summary{justify-content:space-between;align-items:center;gap:var(--space-3);margin:0 0 var(--space-3);font-weight:600;display:flex}.plan-day{margin:var(--space-4) 0 0}.plan-day h2{margin:0 0 var(--space-2);letter-spacing:.06em;text-transform:uppercase;color:var(--color-accent-700);font-size:.8125rem}.plan-meal{align-items:center;gap:var(--space-2);margin-bottom:var(--space-2);padding:var(--space-2);border-radius:var(--radius-md);background:var(--color-surface);display:flex}.plan-meal-link{align-items:center;gap:var(--space-3);min-width:0;color:inherit;flex:1;text-decoration:none;display:flex}.plan-meal-photo{background:linear-gradient(135deg, var(--color-accent-200), var(--color-accent-2-200));border-radius:12px;flex:none;width:44px;height:44px;display:block;overflow:hidden}.plan-meal-photo img{object-fit:cover;width:100%;height:100%}.plan-meal-photo .pick-thumb-blank{width:100%;height:100%}.plan-meal-title{min-width:0;font-family:var(--font-heading);font-size:.95rem;line-height:1.2}.plan-meal-listed{font-family:var(--font-body);color:var(--color-accent-2-700);font-size:.75rem;font-weight:600;display:block}.plan-servings{font-variant-numeric:tabular-nums;flex:none;align-items:center;gap:2px;display:inline-flex}.plan-servings button{border:1px solid var(--color-divider);width:1.9rem;height:1.9rem;color:inherit;font:inherit;cursor:pointer;background:0 0;border-radius:999px;font-size:1rem}.plan-servings span{text-align:center;min-width:1.4rem;font-weight:700}.plan .plan-remove{flex:none;position:static}.plan-add{width:100%;padding:var(--space-2);border:1.5px dashed var(--color-divider);border-radius:var(--radius-md);color:var(--color-accent-700);font:inherit;cursor:pointer;background:0 0;font-weight:600}.plan-day-choices{gap:var(--space-2);display:grid}.plan-pick-list .pick{width:100%;font:inherit;text-align:left;cursor:pointer;border:none}.collection-actions{gap:var(--space-3);display:inline-flex}.basket-start{margin:0 0 var(--space-3)}.basket-item{gap:var(--space-3);padding-top:var(--space-2);display:grid}.basket-ingredient{font-family:var(--font-heading);margin:0;font-size:1.4rem}.basket-product{align-items:center;gap:var(--space-3);padding:var(--space-3);border-radius:var(--radius-md);background:var(--color-surface);display:flex}.basket-product-photo{background:#fff;border-radius:12px;flex:none;width:64px;height:64px;display:block;overflow:hidden}.basket-product-photo img{object-fit:contain;width:100%;height:100%}.basket-product-name{font-weight:600;line-height:1.3;display:block}.basket-product-price{color:color-mix(in srgb, var(--color-text) 66%, transparent);font-size:.875rem;display:block}.basket-secondary{justify-content:space-between;display:flex}.basket-done{margin:var(--space-4) 0;font-family:var(--font-heading);text-align:center;font-size:1.2rem}.cost-offer{margin:var(--space-3) 0 0;padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);background:var(--color-accent-2-100);color:var(--color-accent-2-800);font-size:.875rem;font-weight:600}.breakdown-offer{color:var(--color-accent-2-700);font-weight:600}.share-note{gap:var(--space-3);margin:0 0 var(--space-3);color:color-mix(in srgb, var(--color-text) 66%, transparent);flex-wrap:wrap;font-size:.875rem;display:flex}.collection-actions{flex-wrap:wrap}.backup-actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.already-saved{margin:0 0 var(--space-4);padding:var(--space-4);border:1px solid var(--color-accent-2-300);border-radius:var(--radius-md);background:var(--color-surface)}.already-saved p{margin:0 0 var(--space-3);line-height:1.5}.already-saved strong{display:block}.already-saved-actions{gap:var(--space-2);display:flex}.already-saved-actions>*{flex:1}.photo-dead{padding:var(--space-3);border:1px dashed var(--color-divider);border-radius:var(--radius-md);margin:0}.running-timers{z-index:20;left:max(1rem,50vw - 14rem);bottom:var(--fab-bottom);gap:var(--space-2);max-width:calc(100vw - 6rem);display:grid;position:fixed}.running-timer{background:var(--color-accent-fill);color:var(--color-on-accent);box-shadow:var(--shadow-lg);border-radius:999px;align-items:center;font-size:.8125rem;font-weight:600;display:inline-flex}.running-timer.timer-rang{background:var(--color-accent-2);color:var(--color-on-accent-2)}.running-timer-link{align-items:center;gap:var(--space-2);min-height:2.5rem;padding:0 var(--space-1) 0 var(--space-4);color:inherit;min-width:0;text-decoration:none;display:inline-flex}.running-timer-title{text-overflow:ellipsis;white-space:nowrap;max-width:10rem;overflow:hidden}.running-timer-time{font-variant-numeric:tabular-nums}.running-timer-stop{width:2.5rem;height:2.5rem;color:inherit;cursor:pointer;background:0 0;border:none;place-items:center;padding:0;display:grid}.running-timer-stop svg{fill:none;stroke:currentColor;stroke-width:2.4px;stroke-linecap:round;width:.875rem;height:.875rem}.collage{gap:2px;width:100%;height:100%;display:grid}.collage-2{grid-template-columns:1fr 1fr}.collage-3{grid-template-rows:1fr 1fr;grid-template-columns:2fr 1fr}.collage-3 .collage-cell:first-child{grid-row:span 2}.collage-4{grid-template-rows:1fr 1fr;grid-template-columns:1fr 1fr}.collage-cell{min-width:0;min-height:0;overflow:hidden}.collage-cell img{object-fit:cover;width:100%;height:100%;display:block}.cook.tinted{--cook-ground:color-mix(in srgb, var(--dish) var(--dish-amount), var(--color-bg));background:var(--cook-ground);min-height:100vh}.cook.tinted .segmented{background:var(--cook-ground)}.cook.tinted .hero:after{background:linear-gradient(to top, color-mix(in srgb, var(--dish) 70%, #000), color-mix(in srgb, var(--dish) 10%, transparent) 65%)}::view-transition-group(*){animation-duration:.34s;animation-timing-function:var(--ease)}::view-transition-old(*){object-fit:cover;height:100%}::view-transition-new(*){object-fit:cover;height:100%}.tile,.collection,.pick,.choice,.shop-item,.collection-row,.tab{transition:transform .2s var(--spring)}.tile:active,.collection:active,.pick:active,.choice:active,.collection-row:active,.tab:active{transform:scale(.96)}@media (hover:hover){.button:hover:not(:disabled),.tile:hover,.collection:hover,.collection-row:hover{transform:translateY(-2px)}.fab:hover:not(:disabled){transform:translateY(-2px)scale(1.06)}}@keyframes rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.tile-grid>*,.strip-scroll>*,.shop-list>*,.pick-list>*,.collection-list>*{animation:rise .32s var(--ease) backwards}.tile-grid>:first-child,.strip-scroll>:first-child,.shop-list>:first-child,.pick-list>:first-child,.collection-list>:first-child{animation-delay:0s}.tile-grid>:nth-child(2),.strip-scroll>:nth-child(2),.shop-list>:nth-child(2),.pick-list>:nth-child(2),.collection-list>:nth-child(2){animation-delay:60ms}.tile-grid>:nth-child(3),.strip-scroll>:nth-child(3),.shop-list>:nth-child(3),.pick-list>:nth-child(3),.collection-list>:nth-child(3){animation-delay:.12s}.tile-grid>:nth-child(4),.strip-scroll>:nth-child(4),.shop-list>:nth-child(4),.pick-list>:nth-child(4),.collection-list>:nth-child(4){animation-delay:.18s}.tile-grid>:nth-child(5),.strip-scroll>:nth-child(5),.shop-list>:nth-child(5),.pick-list>:nth-child(5),.collection-list>:nth-child(5){animation-delay:.24s}.tile-grid>:nth-child(6),.strip-scroll>:nth-child(6),.shop-list>:nth-child(6),.pick-list>:nth-child(6),.collection-list>:nth-child(6){animation-delay:.3s}.tile-grid>:nth-child(7),.strip-scroll>:nth-child(7),.shop-list>:nth-child(7),.pick-list>:nth-child(7),.collection-list>:nth-child(7){animation-delay:.36s}.tile-grid>:nth-child(8),.strip-scroll>:nth-child(8),.shop-list>:nth-child(8),.pick-list>:nth-child(8),.collection-list>:nth-child(8){animation-delay:.42s}.tile-grid>:nth-child(9),.strip-scroll>:nth-child(9),.shop-list>:nth-child(9),.pick-list>:nth-child(9),.collection-list>:nth-child(9){animation-delay:.48s}.tile-grid>:nth-child(n+10),.strip-scroll>:nth-child(n+10),.shop-list>:nth-child(n+10),.pick-list>:nth-child(n+10),.collection-list>:nth-child(n+10){animation-delay:.54s}.tile.skeleton{animation:none}.door-shelf>*{animation:rise .42s var(--ease) backwards}.door-shelf>:nth-child(2){animation-delay:70ms}.door-shelf>:nth-child(3){animation-delay:.14s}.door-shelf>:nth-child(4){animation-delay:.21s}.door-shelf>:nth-child(5){animation-delay:.28s}.door-shelf>:nth-child(6){animation-delay:.35s}@keyframes pop{0%{transform:scale(.6)}to{transform:scale(1)}}.checklist input[type=checkbox]:checked,.shop-item>input[type=checkbox]:checked,.pick input[type=checkbox]:checked,.servings-value{animation:pop .26s var(--spring)}@keyframes grow{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.progress-fill{transform-origin:0;animation:grow .52s var(--ease)}.fab-menu-scrim{z-index:30;background:color-mix(in srgb, var(--color-scrim) 38%, transparent);cursor:pointer;animation:fade-in .16s var(--ease);border:none;padding:0;position:fixed;inset:0}.fab-menu{z-index:31;right:max(var(--space-4), calc((100% - 30rem) / 2 + var(--space-4)));bottom:calc(var(--fab-bottom) + 4.25rem);align-items:flex-end;gap:var(--space-3);flex-direction:column;display:flex;position:fixed}.fab-option{align-items:center;gap:var(--space-2);cursor:pointer;animation:pop-in .26s var(--spring) backwards;background:0 0;border:none;padding:0;text-decoration:none;display:flex}.fab-option:first-child{animation-delay:40ms}.fab-option:nth-child(2){animation-delay:0s}@keyframes pop-in{0%{opacity:0;transform:translateY(10px)scale(.8)}to{opacity:1;transform:none}}.fab-option-label{padding:.5rem var(--space-4);background:var(--color-neutral-100);color:var(--color-text);font-family:var(--font-heading);white-space:nowrap;box-shadow:var(--shadow-md);border-radius:999px;font-size:.9375rem}.fab-option-icon{width:3rem;height:3rem;box-shadow:var(--shadow-md);border-radius:999px;flex:none;place-items:center;display:grid}.fab-option-icon svg{fill:none;stroke:currentColor;stroke-width:2.75px;stroke-linecap:round;stroke-linejoin:round;width:1.35rem;height:1.35rem}.fab-option-icon.link{background:var(--color-accent);color:var(--color-on-accent)}.fab-option-icon.write{background:var(--color-accent-2-300);color:var(--color-accent-2-800)}.fab-option:active .fab-option-icon,.fab-option:active .fab-option-label{transform:scale(.93)}.fab-add.open{z-index:32}.fab-add svg{transition:transform .26s var(--spring)}.fab-add.open svg{transform:rotate(45deg)}.swipe{border-radius:var(--radius-lg);flex:1;min-width:0;position:relative;overflow:hidden}.swipe-pad{justify-content:flex-end;align-items:center;gap:var(--space-2);width:100%;padding-right:var(--space-6);background:var(--color-danger);color:var(--color-on-danger);font-family:var(--font-heading);pointer-events:none;font-size:.9375rem;display:flex;position:absolute;inset:0 0 0 auto}.swipe-pad svg{fill:none;stroke:currentColor;stroke-width:2.75px;stroke-linecap:round;stroke-linejoin:round;width:1.15rem;height:1.15rem}.swipe-face{background:var(--color-bg);border-radius:var(--radius-lg);touch-action:pan-y;align-items:center;display:flex;position:relative}.swipe-face.settling{transition:transform .26s var(--spring)}.swipe.going{transition:height .22s var(--ease), opacity .18s var(--ease), margin .22s var(--ease);opacity:0;min-height:0;margin-bottom:0;height:0!important}.celebrate{text-align:center;align-items:center;gap:var(--space-3);padding:var(--space-8) var(--space-4);flex-direction:column;display:flex;position:relative}.celebrate-blob{background:var(--color-accent-200);width:7rem;height:7rem;color:var(--color-accent-2-700);animation:bob 2.4s var(--ease) infinite;border-radius:999px;place-items:center;display:grid}.celebrate-blob svg{fill:none;stroke:currentColor;stroke-width:2.75px;stroke-linecap:round;stroke-linejoin:round;width:3rem;height:3rem;animation:pop .42s var(--spring) .12s backwards}@keyframes bob{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.celebrate h2{margin:0;font-size:1.75rem}.celebrate p{max-width:20rem;color:var(--color-neutral-600);margin:0}.confetti{z-index:0;pointer-events:none;position:absolute;inset:0;overflow:hidden}.celebrate>:not(.confetti){z-index:1;position:relative}.confetti i{opacity:0;width:.5rem;height:.8rem;animation:burst 1.4s var(--ease) forwards;border-radius:2px;position:absolute;top:4.5rem}@keyframes burst{0%{opacity:1;transform:translate(0)rotate(0)}to{opacity:0;transform:translate(var(--dx), var(--dy)) rotate(var(--spin))}}.pull{place-items:center;height:0;display:grid;overflow:hidden}.pull-blob{padding:var(--space-2) var(--space-4);background:var(--color-accent-100);color:var(--color-accent-700);white-space:nowrap;border-radius:999px;align-items:center;gap:.35rem;font-size:.8125rem;font-weight:600;display:flex}.pull-blob i{background:var(--color-accent);width:.45rem;height:.45rem;animation:bob-dot .9s var(--ease) infinite;border-radius:999px}.pull-blob i:nth-child(2){animation-delay:.12s}.pull-blob i:nth-child(3){animation-delay:.24s}@keyframes bob-dot{0%,to{opacity:.5;transform:translateY(0)}50%{opacity:1;transform:translateY(-4px)}}.pull.spinning .pull-blob i{animation-duration:.5s}.importing{align-items:center;gap:var(--space-3);padding:var(--space-6) 0 var(--space-4);flex-direction:column;display:flex}.importing-ring{width:5.5rem;height:5.5rem;color:var(--color-accent);place-items:center;display:grid;position:relative}.importing-ring:before{content:"";border:3px solid var(--color-accent-200);border-top-color:var(--color-accent);border-radius:999px;animation:.9s linear infinite spin;position:absolute;inset:0}.importing-ring svg{fill:none;stroke:currentColor;stroke-width:2.75px;stroke-linecap:round;stroke-linejoin:round;width:1.9rem;height:1.9rem}@keyframes spin{to{transform:rotate(360deg)}}.importing-label{font-family:var(--font-heading);font-size:1.125rem}.importing-lines{gap:var(--space-2);width:100%;margin-top:var(--space-2);flex-direction:column;display:flex}.importing-lines span{background:linear-gradient(90deg, var(--color-neutral-200) 25%, var(--color-neutral-300) 37%, var(--color-neutral-200) 63%);background-size:400% 100%;border-radius:999px;height:.9rem;animation:1.4s ease-in-out infinite shimmer;display:block}.importing-lines span:nth-child(2){width:82%;animation-delay:.14s}.importing-lines span:nth-child(3){width:64%;animation-delay:.28s}@keyframes shimmer{0%{background-position:100% 0}to{background-position:0 0}}.button-spinner{border:2px solid color-mix(in srgb, currentColor 35%, transparent);border-top-color:currentColor;border-radius:999px;flex:none;width:1rem;height:1rem;animation:.7s linear infinite spin}@media (prefers-reduced-motion:reduce){::view-transition-group(*){animation:none!important}::view-transition-old(*){animation:none!important}::view-transition-new(*){animation:none!important}.fab.fab-tucked:not(:focus-visible),.tile,.collection,.pick,.choice,.shop-item,.collection-row,.tab,.fab,.button,.icon-button,.fab-add svg,.swipe-face.settling{transition:none}.tile:active,.collection:active,.pick:active,.choice:active,.collection-row:active,.tab:active,.fab:active,.button:active:not(:disabled),.icon-button:active{transform:none}.tile-grid>*,.strip-scroll>*,.shop-list>*,.pick-list>*,.collection-list>*,.door-shelf>*,.fab-option,.fab-menu-scrim,.celebrate-blob,.celebrate-blob svg,.confetti,.pull-blob i,.checklist input[type=checkbox]:checked,.shop-item>input[type=checkbox]:checked,.pick input[type=checkbox]:checked,.servings-value,.progress-fill,.importing-lines span{animation:none}.confetti{display:none}.swipe.going{transition:opacity .12s linear}}.step-tick{width:100%;font:inherit;color:inherit;text-align:left;cursor:pointer;transition:opacity .18s var(--ease);background:0 0;border:0;padding:0;display:block}.steps .step-done .step-tick{opacity:.45;text-decoration:line-through;text-decoration-thickness:1px}@media (prefers-reduced-motion:reduce){.step-tick{transition:none}}.cooked-button{width:100%;margin-top:var(--space-4)}.cooked-done{margin-top:var(--space-4);text-align:center}.cooked-marker{color:var(--color-accent-2);margin:0 0 var(--space-2);font-weight:600}.rating-row{gap:var(--space-2);display:flex}.rating-choice{padding:var(--space-3);border:1px solid var(--color-divider);border-radius:var(--radius-md);background:var(--color-surface);font:inherit;color:inherit;cursor:pointer;transition:transform .16s var(--spring), background .16s var(--ease);flex:1}.rating-choice:active{transform:scale(.96)}.rating-choice[aria-pressed=true]{background:var(--color-accent-2);border-color:var(--color-accent-2);color:var(--color-on-accent-2)}@media (prefers-reduced-motion:reduce){.rating-choice{transition:none}.rating-choice:active{transform:none}}.timer-chips{justify-content:flex-end;gap:var(--space-2);margin-top:var(--space-2);flex-wrap:wrap;display:flex}.steps .timer-chips{margin-top:calc(var(--space-2) * -1);grid-column:2}.timer-chip{white-space:nowrap;border:1px solid var(--color-accent-200);background:var(--color-accent-100);min-height:2.5rem;color:var(--color-accent-800);font:inherit;font-variant-numeric:tabular-nums;box-shadow:0 1px 2px color-mix(in srgb, var(--color-scrim) 12%, transparent);cursor:pointer;transition:transform .16s var(--spring);border-radius:999px;align-items:center;gap:7px;padding:0 1rem 0 .8rem;font-weight:700;display:inline-flex;position:relative;overflow:hidden}.timer-icon{fill:none;stroke:currentColor;stroke-width:2.2px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:18px;height:18px}.timer-chip:active{transform:scale(.94)}.timer-chip.timer-rang{background:var(--color-accent-2);border-color:var(--color-accent-2);color:var(--color-on-accent-2);animation:timer-ring .6s var(--spring) 3}.timer-chip.timer-running{border-color:var(--color-accent-fill);background:var(--color-accent-fill);color:var(--color-on-accent)}.timer-chip.timer-running:after{content:"";height:3px;width:calc(var(--elapsed,0) * 100%);background:color-mix(in srgb, var(--color-on-accent) 75%, transparent);transition:width 1s linear;position:absolute;bottom:0;left:0}@keyframes timer-ring{0%,to{transform:scale(1)}50%{transform:scale(1.08)}}@media (prefers-reduced-motion:reduce){.timer-chip{transition:none}.timer-chip:active{transform:none}.timer-chip.timer-rang{animation:none}.timer-chip.timer-running:after{transition:none}}.strip-tools{align-items:center;gap:var(--space-3);display:inline-flex}.strip-arrows{gap:6px;display:none}.strip-arrow{border:1px solid var(--color-accent-300);background:var(--color-surface);width:1.75rem;height:1.75rem;color:var(--color-accent-700);cursor:pointer;border-radius:999px;place-items:center;padding:0;display:grid}.strip-arrow:hover:not(:disabled){background:var(--color-accent-100)}.strip-arrow:disabled{opacity:.35;cursor:default}.strip-arrow svg{fill:none;stroke:currentColor;stroke-width:2.75px;stroke-linecap:round;stroke-linejoin:round;width:.875rem;height:.875rem}@media (hover:hover) and (pointer:fine){.strip-arrows{display:inline-flex}.strip-head{align-items:center}.sort-row{flex-wrap:wrap;overflow-x:visible}}.home-tools>.spin-card-button{width:100%;margin-left:0;margin-right:0}.cook-lists{padding-top:0}@media (width<=63.999rem){.rail-only,.tabbar.tabbar-wide-only{display:none}}@media (width>=64rem){:root{--tabbar-h:0px;--fab-bottom:2rem;--fab-bottom-bare:2rem;--page:46rem;--gutter:2.75rem}:root:has(.tabbar){--rail:14.5rem}body{padding-left:var(--rail,0px)}.tabbar{width:var(--rail);border-top:none;border-right:1px solid var(--color-divider);max-width:none;box-shadow:none;flex-direction:column;justify-content:flex-start;gap:2px;margin:0;padding:1.75rem .875rem 1.25rem;top:0;right:auto;overflow-y:auto}.rail-brand{font-family:var(--font-heading);letter-spacing:-.02em;color:var(--color-accent-700);margin:0 0 1.5rem;padding:0 .75rem;font-size:1.75rem;line-height:1;text-decoration:none}.tab{transition:color .15s var(--ease), background .15s var(--ease);border-radius:999px;gap:.75rem;padding:.625rem .75rem;font-size:.9375rem;font-weight:600}.tab svg{stroke-width:2.25px;width:1.25rem;height:1.25rem}.tab:hover{background:color-mix(in srgb, var(--color-text) 6%, transparent);color:var(--color-text)}.tab.active{background:var(--color-accent-100);color:var(--color-accent-700)}.rail-add{background:var(--color-accent-fill);color:var(--color-on-accent);font-family:var(--font-heading);transition:background .15s var(--ease);border-radius:999px;align-items:center;gap:.75rem;margin:1.25rem 0 2px;padding:.75rem .875rem;font-size:.9375rem;text-decoration:none;display:flex}.rail-add:hover{background:var(--color-accent-700)}:root[data-theme=dark] .rail-add:hover{background:var(--color-accent-600)}.rail-add svg{fill:none;stroke:currentColor;stroke-width:2.75px;stroke-linecap:round;width:1.125rem;height:1.125rem}.rail-foot{margin-top:auto}main{max-width:var(--page);padding:2.5rem var(--gutter) 6rem;margin-left:0}.add-screen{max-width:36rem}.home>.confirm-note{margin:0 var(--gutter) var(--space-3);max-width:44rem}.door{grid-template-columns:minmax(0,min(52%,54rem)) minmax(0,1fr);display:grid}.door-bare{grid-template-columns:minmax(0,1fr)}.door-shelf{grid-template-rows:repeat(3,1fr);grid-template-columns:1fr 1fr;align-self:start;gap:.75rem;max-width:none;height:100svh;margin:0;padding:1.25rem 0 1.25rem 1.25rem;position:sticky;top:0}.door-shelf img{border-radius:var(--radius-lg)}.door-shelf img:first-child{grid-row:auto}.door-brand{padding-bottom:var(--space-6);margin-bottom:auto;font-size:1.75rem}.sign-in:after{content:"";margin-top:auto}.sign-in,.door-bare .sign-in{max-width:27rem;padding-top:1.75rem;padding-bottom:2.5rem}:root:not(:has(.tabbar)) main{margin-left:auto}:root:not(:has(.tabbar)) .action-bar>*{margin-left:auto}:root:not(:has(.tabbar)) .action-bar-row{margin-left:auto}main.has-tabs,main.has-fabs{padding-bottom:6rem}main.has-action{padding-bottom:8rem}h1{font-size:2.5rem}.screen-head h1,.home-head .head-stack h1{font-size:2.25rem}.fab-add,.fab-edit,.fab-back{right:2rem}.fab-add,.fab-menu,.fab-menu-scrim{display:none}.running-timers{left:calc(var(--rail,0px) + 2rem);max-width:20rem}.action-bar{left:var(--rail,0px);padding-left:var(--gutter);padding-right:var(--gutter)}.action-bar>*,.action-bar-row{max-width:calc(var(--page) - 2 * var(--gutter));margin-left:0}.picker-overlay{align-items:center;padding:2rem}.picker{border-radius:var(--radius-lg);max-width:34rem;max-height:min(82svh,46rem);animation:dialog-in .2s var(--ease);padding-bottom:26px}main.home{max-width:104rem;padding-left:0;padding-right:0}.home>:not(.strip):not(.tile-grid),.strip-head,.strip-scroll,.tile-grid,.sort-row{padding-left:var(--gutter);padding-right:var(--gutter)}.strip{margin-top:2rem}.strip-scroll{scroll-padding-inline:var(--gutter)}.home-head a[href=\/settings],.brand-kicker{display:none}.home-tools{align-items:stretch;gap:1.25rem;margin-bottom:.5rem;display:flex}.home-tools>.recipe-search{flex:26rem;max-width:44rem;margin-bottom:0}.home-tools>.spin-card-button{flex:0 23rem;width:auto;margin-bottom:0}.collection{width:11.5rem}.collection-image{height:8rem}.tile-grid{grid-template-columns:repeat(auto-fill,minmax(12.5rem,1fr));gap:2rem 1.5rem}.tile-title{font-size:1.0625rem}main.plan{max-width:104rem}.plan-days{grid-template-columns:repeat(auto-fill,minmax(19rem,1fr));align-items:start;gap:.5rem 2rem;display:grid}.plan-summary{justify-content:flex-start;gap:1.5rem}main.cook,main.cook-with-tabs{max-width:none;padding:2rem max(6rem, calc((100% - 96rem) / 2)) 6rem max(var(--gutter), calc((100% - 96rem) / 2));grid-template-columns:minmax(20rem,26rem) minmax(0,1fr);align-items:start;gap:0 3rem;display:grid}.cook .hero{aspect-ratio:4/3;border-radius:var(--radius-lg);height:auto}.cook .hero-plain{aspect-ratio:16/9}.cook .hero-nav{display:none}.cook-aside .hero-body{padding-left:0;padding-right:0}.cook-lists{min-width:0;padding:0}.cook .segmented{margin-top:0}}@media (width>=64rem) and (height>=56rem){.cook-aside{position:sticky;top:2rem}}@media (width>=100rem){.cook-lists{grid-template-rows:auto auto auto 1fr;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);align-items:start;gap:0 3rem;display:grid}.cook-lists>#panel-ingredients{grid-area:1/1/-1}.cook-lists>:not(#panel-ingredients){grid-column:2}}@keyframes dialog-in{0%{opacity:0;transform:translateY(12px)scale(.98)}}
