:root{color-scheme:light;--paper:#faf6f0;--card:#fffcf7;--line:#e4ddd4;--field-border:#8e8782;--scrim:rgb(42 51 64/0.45);--ink:#2c2a28;--muted:#5c5854;--link:#456683;--accent:#7c4e24;--accent-text:#7c4e24;--accent-hover:#5e3a18;--on-accent:#fff8ee;--accent-tint:color-mix(in srgb,var(--accent) 12%,transparent);--accent-ring:transparent;--ok:#3d5a3c;--err:#8a1f12;--err-solid:#8a1f12;--err-ring:transparent;--star:#8a6700;--focus:#7c4e24;--nav:#5b7c99;--nav-ink:#f5f0e8;--bean:#5b7c99;--bean-dark:var(--link);--card-shadow:0 1px 2px rgb(44 42 40/0.06),0 8px 22px rgb(44 42 40/0.07);--ring:0 0 0 1px color-mix(in srgb,var(--ink) 7%,transparent);--segment-on:var(--card);--segment-on-ink:var(--accent-text);--ok-on-tint:color-mix(in srgb,var(--ok) 72%,var(--ink));--err-on-tint:color-mix(in srgb,var(--err) 72%,var(--ink));--star-on-tint:color-mix(in srgb,var(--star) 72%,var(--ink));--bar-bg:color-mix(in srgb,var(--paper) 82%,transparent);--f-large-title:2rem;--f-title1:1.647rem;--f-title2:1.294rem;--f-title3:1.176rem;--f-headline:1rem;--f-body:1rem;--f-callout:0.941rem;--f-subhead:0.882rem;--f-footnote:0.824rem;--gutter:16px;--group-gap:24px;--r-card:12px;--r-field:12px;--r-button:12px;--r-sheet:14px;--tabbar-h:49px;--topbar-h:56px}html[data-theme=dark]{color-scheme:dark;--paper:#2a3340;--card:#334050;--line:#3f4a58;--field-border:#8795a5;--scrim:rgb(0 0 0/0.55);--ink:#f5f0e8;--muted:#c9c2b8;--link:#a3b8cd;--accent:#8a5a2d;--accent-text:#d6a860;--accent-hover:#996532;--on-accent:#fff8ee;--accent-ring:#b8894a;--ok:#8fbc8f;--err:#eca594;--err-solid:#b02e21;--err-ring:#eca594;--star:#e6c15a;--focus:#d6a860;--nav:#5b7c99;--nav-ink:#f5f0e8;--bean:#5b7c99;--card-shadow:0 1px 2px rgb(0 0 0/0.2),0 10px 24px rgb(0 0 0/0.28);--segment-on:#4a596b;--segment-on-ink:var(--ink)}@media (prefers-color-scheme:dark){html:not([data-theme]){color-scheme:dark;--paper:#2a3340;--card:#334050;--line:#3f4a58;--field-border:#8795a5;--scrim:rgb(0 0 0/0.55);--ink:#f5f0e8;--muted:#c9c2b8;--link:#a3b8cd;--accent:#8a5a2d;--accent-text:#d6a860;--accent-hover:#996532;--on-accent:#fff8ee;--accent-ring:#b8894a;--ok:#8fbc8f;--err:#eca594;--err-solid:#b02e21;--err-ring:#eca594;--star:#e6c15a;--focus:#d6a860;--card-shadow:0 1px 2px rgb(0 0 0/0.2),0 10px 24px rgb(0 0 0/0.28);--segment-on:#4a596b;--segment-on-ink:var(--ink)}}*{box-sizing:border-box}body,html{margin:0;padding:0}html{font-size:106.25%;-webkit-text-size-adjust:100%;scroll-padding-top:1.5rem;scroll-padding-bottom:calc(var(--tabbar-h) + 1.5rem)}@supports (font:-apple-system-body){html{font:-apple-system-body}}html{font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,system-ui,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:inherit;font-size:var(--f-body);line-height:1.4;background:var(--paper);color:var(--ink);overflow-x:hidden;-webkit-tap-highlight-color:transparent}body:has(.stovfam-splash){background:#0a0a0a}a{color:var(--link);text-underline-offset:.14em}h1,h2,h3,h4{overflow-wrap:anywhere}:focus{outline:none}:focus-visible{outline:3px solid var(--focus);outline-offset:3px;border-radius:6px}#main:focus,#main:focus-visible{outline:none}.beans-skip{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);-webkit-clip-path:inset(50%);clip-path:inset(50%);white-space:nowrap;border:0}.beans-skip:focus,.beans-skip:focus-visible{position:fixed;left:max(.75rem,env(safe-area-inset-left));top:max(.5rem,env(safe-area-inset-top));z-index:200;width:auto;height:auto;max-width:min(16rem,calc(100vw - 1.5rem));margin:0;overflow:visible;clip:auto;-webkit-clip-path:none;clip-path:none;padding:.35rem .8rem;background:var(--accent);color:var(--on-accent);border-radius:10px;font-size:var(--f-footnote);font-weight:600;line-height:1.2;text-decoration:none;outline:3px solid var(--focus);outline-offset:3px}.chat-card-status:not(.is-err),.table-compose .share-picker>legend,.visually-hidden,.week-start .stepper-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);-webkit-clip-path:inset(50%);clip-path:inset(50%);white-space:nowrap;border:0}.top{display:flex;gap:1rem;min-height:var(--topbar-h);padding:0 max(var(--gutter),env(safe-area-inset-right)) 0 max(var(--gutter),env(safe-area-inset-left));padding-top:env(safe-area-inset-top);background:var(--bar-bg);-webkit-backdrop-filter:saturate(1.4) blur(20px);backdrop-filter:saturate(1.4) blur(20px);box-shadow:0 .5px 0 color-mix(in srgb,var(--ink) 18%,transparent);position:-webkit-sticky;position:sticky;top:0;z-index:50}.brand,.top{align-items:center}.brand{display:inline-flex;gap:.5rem;min-height:44px;padding:0 .25rem;margin-left:-.25rem;font-size:var(--f-title3);font-weight:700;letter-spacing:-.01em;color:var(--ink);text-decoration:none}.brand .binder-mark{flex:0 0 auto;display:block}.brand>a{color:inherit;text-decoration:none}.brand-folders{position:relative}.brand-folders-button{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;margin:0;padding:0;border:0;border-radius:10px;background:transparent;color:inherit;cursor:pointer}.brand-folders-button:hover,.brand-folders-button[aria-expanded=true]{background:var(--accent-tint)}.brand-menu{position:absolute;top:calc(100% + 6px);left:0;z-index:2;width:max-content;min-width:220px;max-width:min(320px,70vw);max-height:min(70vh,480px);overflow:auto;margin:0;padding:6px;background:var(--card);border-radius:12px;box-shadow:var(--card-shadow)}.brand-menu ul{list-style:none;margin:0;padding:0}.brand-menu a{display:flex;align-items:center;min-height:44px;padding:0 .75rem;border-radius:8px;color:var(--ink);font-size:var(--f-callout);font-weight:600;letter-spacing:0;text-decoration:none}.brand-menu a:hover,.brand-menu a[aria-current=page]{background:var(--accent-tint);color:var(--accent-text)}.brand-menu-empty{margin:0;padding:.65rem .75rem;color:var(--muted);font-size:var(--f-callout);font-weight:500}.brand-title{display:flex;align-items:center;gap:.55rem}.brand-title .binder-mark{flex:0 0 auto;display:block}.tabbar{display:flex;align-items:stretch;gap:.25rem;margin-left:auto;min-width:0}.tab{display:inline-flex;flex-direction:row;align-items:center;gap:.4rem;min-height:44px;min-width:44px;padding:0 .75rem;border-radius:10px;color:var(--muted);font-size:var(--f-callout);font-weight:600;text-decoration:none;transition:color .15s ease,background-color .15s ease}.tab .tab-icon{flex:0 0 auto;width:22px;height:22px}.tab[aria-current=page]{color:var(--accent-text);background:var(--accent-tint)}.tab:focus-visible{outline-offset:0}.linkish{background:none;border:0;cursor:pointer;font:inherit;padding:0;color:inherit}button.linkish{display:inline-flex;align-items:center;justify-content:center;min-height:44px;min-width:44px;padding:.35rem .65rem}@media (max-width:720px){.top{display:contents}.brand{display:none}.tabbar{position:fixed;left:0;right:0;bottom:0;z-index:60;margin:0;gap:0;height:calc(var(--tabbar-h) + env(safe-area-inset-bottom));padding:0 env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);background:var(--bar-bg);-webkit-backdrop-filter:saturate(1.4) blur(20px);backdrop-filter:saturate(1.4) blur(20px);box-shadow:0 -.5px 0 color-mix(in srgb,var(--ink) 22%,transparent);overflow:hidden}.tab{flex:1 1;min-width:0;flex-direction:column;justify-content:center;gap:2px;height:var(--tabbar-h);min-height:44px;padding:4px 2px 2px;border-radius:8px;font-size:.706rem;font-weight:500;letter-spacing:.01em;line-height:1.1}.tab .tab-icon{width:26px;height:26px}.tab[aria-current=page]{background:transparent;font-weight:600}.tab:focus-visible{outline-offset:-3px}.tab-label{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}.wrap{max-width:42rem;margin:0 auto;padding:1rem var(--gutter) calc(5.5rem + env(safe-area-inset-bottom));padding-top:calc(.75rem + env(safe-area-inset-top));padding-left:max(var(--gutter),env(safe-area-inset-left));padding-right:max(var(--gutter),env(safe-area-inset-right))}@media (min-width:721px){.wrap{padding-top:1.5rem;padding-bottom:4rem}}.wrap h1{font-size:var(--f-large-title);font-weight:700;letter-spacing:-.015em;line-height:1.12;margin:.5rem 0;overflow-wrap:anywhere}.page-lead{margin:0 0 var(--group-gap);line-height:1.4;max-width:36rem}.wrap h2{font-size:var(--f-title3);font-weight:600;line-height:1.25;letter-spacing:-.005em;margin:var(--group-gap) 0 .5rem;color:var(--ink)}.crumb{margin:0 0 0 -.4rem}.crumb a{display:inline-flex;align-items:center;gap:.3rem;min-height:44px;min-width:44px;max-width:100%;padding:0 .4rem;color:var(--accent-text);font-size:var(--f-body);font-weight:500;text-decoration:none;overflow-wrap:anywhere}.crumb a:before{content:"";flex:0 0 auto;width:10px;height:10px;margin:0 .05rem 0 .2rem;border-left:2.2px solid;border-bottom:2.2px solid;transform:rotate(45deg)}.wrap .crumb+h1{margin-top:0}.crumb-ghost{display:inline-flex;align-items:center;min-height:44px;padding:0 .4rem;color:var(--muted);font-size:var(--f-body)}.wrap h3{font-size:var(--f-headline);font-weight:600;margin:1rem 0 .35rem}.public-legal{display:flex;flex-wrap:wrap;gap:.15rem .35rem;margin:1.5rem 0 0;font-size:var(--f-subhead)}.public-legal,.public-legal a{align-items:center;color:var(--muted)}.public-legal a{display:inline-flex;justify-content:center;min-height:44px;min-width:44px;padding:0 .7rem}#email,#main,#password,#recipe,#register-email,#typed-recipe-form{scroll-margin-top:1.5rem}.group-title,.wrap .group-title{font-size:var(--f-footnote);font-weight:500;letter-spacing:.03em;line-height:1.3;text-transform:uppercase;color:var(--muted);margin:var(--group-gap) 0 .4rem;padding:0 var(--gutter)}.group-title:first-of-type,.wrap h1+.group-title{margin-top:.5rem}.wrap .wrap{max-width:none;margin:0;padding:0}.grid:has(>.folder),.group,.idea-recipe-list,.names{list-style:none;margin:0 0 var(--group-gap);padding:0;background:var(--card);border-radius:var(--r-card);box-shadow:var(--ring);display:block}.grid>.folder,.group>li,.idea-row,.names>li{margin:0;border:0}.grid>.folder+.folder,.group>li+li,.idea-row+.idea-row,.names>li+li{background-image:linear-gradient(var(--line),var(--line));background-repeat:no-repeat;background-size:calc(100% - var(--gutter)) 1px;background-position:var(--gutter) 0}.grid>.folder,.group-row,.idea-row-link,.names>li{display:flex;align-items:center;gap:.6rem;width:100%;min-height:44px;padding:.6rem var(--gutter);color:var(--ink);font-size:var(--f-body);font-weight:400;text-decoration:none;text-align:left;background:transparent;border:0;border-radius:0}.group>form:first-child>.group-row,.group>li:first-child>.group-row,.group>li:first-child>form>.group-row{border-radius:var(--r-card) var(--r-card) 0 0}.group>form:last-child>.group-row,.group>li:last-child>.group-row,.group>li:last-child>form>.group-row{border-radius:0 0 var(--r-card) var(--r-card)}.group>form:only-child>.group-row,.group>li:only-child>.group-row{border-radius:var(--r-card)}.group-sub{font-size:var(--f-footnote);color:var(--muted)}.grid>.folder:after,.group-row[href]:after,.idea-row-link:after{content:"";flex:0 0 auto;width:9px;height:9px;margin-left:auto;border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);transform:rotate(-45deg);opacity:.55}.group-row-static{cursor:default;gap:.5rem .75rem}button.group-row{font:inherit;cursor:pointer;min-height:48px;justify-content:center;font-weight:600;color:var(--accent-text)}button.group-row-destructive{color:var(--err)}button.group-row.group-row-plain{justify-content:flex-start;color:var(--ink);font-weight:400}.group form{margin:0}a.group-row:active,button.group-row:active,summary.group-row:active{background-color:color-mix(in srgb,var(--ink) 7%,transparent)}.group-row:focus-visible{outline-offset:-3px;border-radius:inherit}.row-icon{flex:0 0 30px;width:30px;height:30px;border-radius:8px;display:inline-grid;place-items:center;background:var(--accent-tint);color:var(--accent-text)}.row-icon svg{display:block}.group-row:has(>.row-icon){gap:.75rem}.group-icons>li+li{background-position:calc(var(--gutter) + 30px + .75rem) 0;background-size:calc(100% - var(--gutter) - 30px - .75rem) 1px}.group-value{margin-left:auto;flex:0 0 auto;color:var(--muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.group-foot{margin:calc(var(--group-gap) * -1 + .5rem) var(--gutter) var(--group-gap);font-size:var(--f-footnote);line-height:1.4;color:var(--muted);max-width:36rem}.segmented{display:inline-flex;padding:3px;border-radius:11px;background:color-mix(in srgb,var(--ink) 8%,transparent);margin-left:auto;flex:0 0 auto}.segment{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;font:inherit;font-size:var(--f-subhead);font-weight:600;min-height:36px;padding:0 .75rem;border:0;border-radius:8px;background:transparent;color:var(--ink);text-decoration:none;white-space:nowrap;cursor:pointer;transition:background-color .15s ease,box-shadow .15s ease}.segment[data-on]{background:var(--segment-on);color:var(--segment-on-ink);box-shadow:0 1px 3px rgb(0 0 0/.12),0 0 0 .5px color-mix(in srgb,var(--ink) 10%,transparent)}.segment:focus-visible{outline-offset:-3px}.segmented-full{display:flex;width:100%;margin-left:0}.segmented-full>.segment{flex:1 1;min-width:0;min-height:44px;padding:0 .5rem}.segment-count{color:var(--muted);font-size:var(--f-footnote);font-weight:500;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.segment[data-on] .segment-count{color:inherit}input.switch{-webkit-appearance:none;-moz-appearance:none;appearance:none;position:relative;flex:0 0 auto;width:51px;height:31px;min-height:0;margin:0;padding:0;border:0;border-radius:999px;background:color-mix(in srgb,var(--ink) 10%,transparent);box-shadow:inset 0 0 0 1.5px var(--field-border);cursor:pointer;transition:background-color .2s ease,box-shadow .2s ease}input.switch:before{content:"";position:absolute;top:2px;left:2px;width:27px;height:27px;border-radius:50%;background:#fff;box-shadow:0 2px 4px rgb(0 0 0/.22),0 0 0 .5px rgb(0 0 0/.08);transition:transform .2s cubic-bezier(.2,.8,.2,1)}input.switch:checked{background:var(--accent);box-shadow:inset 0 0 0 1px var(--accent-ring)}input.switch:checked:before{transform:translateX(20px)}input.switch:focus-visible{outline:3px solid var(--focus);outline-offset:3px}@media (prefers-reduced-motion:reduce){input.switch,input.switch:before{transition:none}}.admin-status,.chip,.recipe-row-chip,.week-badge,.week-pill{display:inline-flex;align-items:center;min-height:1.6rem;padding:0 .6rem;border:0;border-radius:999px;background:color-mix(in srgb,var(--ink) 7%,transparent);color:var(--muted);font-size:var(--f-footnote);font-weight:600;line-height:1.2;white-space:nowrap}.admin-filters,.admin-nav,.folder-tabs,.idea-jump{display:flex;flex-wrap:nowrap;gap:.4rem;overflow-x:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scrollbar-width:none;margin-inline:calc(-1 * var(--gutter));padding:.25rem var(--gutter) .5rem;scroll-padding-inline:var(--gutter)}.admin-filters::-webkit-scrollbar,.admin-nav::-webkit-scrollbar,.folder-tabs::-webkit-scrollbar,.idea-jump::-webkit-scrollbar{display:none}@media (min-width:721px){.admin-filters,.admin-nav{flex-wrap:wrap;overflow:visible}}.admin-filter,.admin-tab,.folder-tabs a,.idea-jump a{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;gap:.35rem;min-height:44px;min-width:44px;padding:0 .9rem;border:0;border-radius:999px;background:color-mix(in srgb,var(--ink) 7%,transparent);color:var(--ink);font-size:var(--f-callout);font-weight:600;text-decoration:none;white-space:nowrap;transition:background-color .15s ease}.admin-filter[aria-current=page],.admin-tab[aria-current=page],.folder-tabs a[aria-current=page],.idea-jump a[aria-current=page]{background:var(--accent-tint);color:var(--accent-text)}.card{background:var(--card);border:0;border-radius:var(--r-card);padding:1rem var(--gutter);margin:0 0 1rem;box-shadow:var(--ring)}.card>:first-child,.card>input[type=hidden]:first-child+*,.card>input[type=hidden]:first-child+input[type=hidden]+*{margin-top:0}.card>:last-child{margin-bottom:0}.card+.card{margin-top:0}.recipe-card{box-shadow:var(--card-shadow);padding:var(--gutter) var(--gutter) 1.25rem}.recipe-card-head{display:flex;gap:.85rem;align-items:flex-start}.recipe-card-title{flex:1 1;min-width:0}.recipe-title-row{display:flex;align-items:flex-start;gap:.15rem;margin:0 0 .6rem}.recipe-card h1{flex:1 1;min-width:0;margin:0;font-size:var(--f-title1);font-weight:700;letter-spacing:-.01em;line-height:1.15;overflow-wrap:anywhere}.recipe-title-row .favorite-star-form{flex:0 0 44px;margin:-.2rem -.35rem 0 0}.chips{display:flex;flex-wrap:wrap;gap:.4rem;margin:0 0 .45rem}.voice-panel .voice-spoken{font-size:var(--f-title3);margin-top:0}.voice-prompt{font-size:var(--f-title3)}.voice-chips form{flex:1 1 8rem;margin:0}.voice-chips button{width:100%;min-height:44px;font-weight:600}.voice-row{border-top:1px solid var(--line);padding-top:.75rem;margin-top:.75rem}.recipe-hero{display:block;width:5.5rem;height:5.5rem;flex:0 0 5.5rem;object-fit:cover;margin:0;border-radius:12px;background:var(--line)}.recipe-card .recipe-photo{width:100%;height:auto;aspect-ratio:16/9;max-height:18rem;margin:0 0 1rem;border-radius:12px;object-fit:cover}.recipe-card .recipe-photo-empty{display:flex;flex-direction:row;align-items:center;justify-content:center;gap:.6rem;aspect-ratio:auto;height:5.75rem;max-height:none;padding:0 .9rem;background:var(--paper);color:var(--muted);border:1px dashed color-mix(in srgb,var(--field-border) 55%,transparent)}.recipe-card .recipe-photo-empty p{margin:0;font-size:var(--f-subhead)}.recipe-block{margin-top:1.5rem}.favorite-star-form{margin:0}.favorite-star{width:44px;height:44px;min-height:44px;padding:0;display:inline-flex;align-items:center;justify-content:center;background:transparent;border:0;color:var(--muted);border-radius:10px}.favorite-star.is-on{background:transparent;color:var(--star)}.recipe-visits{margin:1.1rem 0 .15rem;color:var(--muted);font-size:var(--f-footnote);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.recipe-notes-actions{margin:.65rem 0 0}.nutrition-basis{margin:0 0 .7rem}.nutrition-table{width:100%;border-collapse:collapse;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-size:1rem}.nutrition-table td,.nutrition-table th{text-align:left;padding:.45rem .35rem;border-bottom:1px solid var(--line);vertical-align:baseline}.nutrition-table td,.nutrition-table thead th:not(:first-child){text-align:right}.nutrition-table tbody th{font-weight:600;color:var(--ink)}.ingredients,.steps{padding-left:1.45rem;font-size:var(--f-title3);line-height:1.5;margin:0}.ingredients{column-count:1;column-gap:0;list-style:none;padding-left:0}.ingredients li,.steps li{margin:.55rem 0;overflow-wrap:anywhere;page-break-inside:avoid;break-inside:avoid}.ingredient-row{display:flex;align-items:center;gap:.4rem;margin:.35rem 0}.ingredient-text{flex:1 1;min-width:0}.ingredient-grocery-form{flex:0 0 auto;margin:0}.ingredient-grocery:focus-visible{filter:none;background:color-mix(in srgb,var(--ink) 6%,transparent);color:var(--ink)}.steps li{margin:.7rem 0;padding-left:.15rem}.ing-qty{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:700;color:var(--link)}.meta,.source{color:var(--muted);font-size:var(--f-subhead);overflow-wrap:anywhere;word-break:break-word}.source{margin:1.75rem 0 0;padding-top:1rem;border-top:1px solid var(--line)}.callout{padding:.75rem var(--gutter);border-radius:var(--r-card);border:0;box-shadow:inset 4px 0 0 var(--accent),var(--ring);font-size:var(--f-body)}.callout,.prep{background:var(--card);color:var(--ink)}.prep{font-size:var(--f-title3);line-height:1.4;margin:0;padding:.85rem 1rem;border-radius:var(--r-card);box-shadow:inset 4px 0 0 var(--accent);overflow-wrap:anywhere}.prep-kicker{display:block;font-size:var(--f-footnote);font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--link);margin-bottom:.3rem}.review{margin:0;font-size:var(--f-body)}.review button[aria-pressed]{width:auto;text-align:left}.review label{display:flex;align-items:flex-start;gap:.7rem;min-height:44px;cursor:pointer;line-height:1.35}.folder-pick input[type=checkbox],.review input[type=checkbox]{width:1.55rem;height:1.55rem;min-width:1.55rem;flex-shrink:0;accent-color:var(--accent);margin-top:.12rem}.grocery-remove{display:flex;align-items:center;padding:0 .65rem 0 0}.grocery-share{display:flex;flex-wrap:wrap;gap:.5rem;margin:0 0 .85rem}.grocery-print-list{display:none}.grocery-page .callout,.grocery-page .page-lead,.grocery-page>.small{font-size:var(--f-body);line-height:1.4}.grocery-page h2{font-size:var(--f-title2)}.store-grid{list-style:none;padding:0;margin:.75rem 0 0;display:grid;grid-template-columns:1fr 1fr;grid-gap:.55rem;gap:.55rem}.store-grid li{margin:0}.store-grid a{display:flex;align-items:center;min-height:44px;padding:.65rem .75rem;background:var(--card);border:0;box-shadow:var(--ring);border-radius:var(--r-card);text-decoration:none;color:var(--ink);font-weight:600;font-size:var(--f-body)}.store-grid .small{display:block;margin:.25rem .15rem .15rem;font-size:var(--f-footnote)}.store-badge{margin:.35rem 0 .55rem;padding:.5rem .7rem;border-radius:10px;background:var(--paper);border:0;color:var(--ink);font-size:var(--f-subhead);line-height:1.4}.grocery-row{display:flex;align-items:center;gap:.9rem;min-height:3.9rem;padding:1rem 1.15rem;width:100%;cursor:pointer;font-size:var(--f-title2);font-weight:600;line-height:1.3}.grocery-row input[type=checkbox]{width:1.85rem;height:1.85rem;min-width:1.85rem;flex-shrink:0;accent-color:var(--accent)}.recipe-actions{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin:0 0 .75rem}.recipe-actions>form{flex:1 0 100%}.recipe-actions>.grocery-add button,.recipe-actions>form .btn{width:100%}.danger-card>summary.danger-summary{list-style:none;cursor:pointer;font-weight:700;min-height:44px;display:inline-flex;align-items:center;background:var(--err-solid);color:#fff;box-shadow:inset 0 0 0 1px var(--err-ring);border-radius:var(--r-button);padding:.7rem 1.05rem}.danger-card>summary.danger-summary::-webkit-details-marker{display:none}.danger-card[open]>summary.danger-summary{margin-bottom:.65rem}@keyframes sheet-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes scrim-in{0%{opacity:0}to{opacity:1}}.share-sheet-mask{position:fixed;inset:0;z-index:80;display:flex;align-items:flex-end;justify-content:center;background:var(--scrim);padding:0;animation:scrim-in .2s ease-out}.sheet,dialog{width:min(100%,30rem);max-width:100%;max-height:min(92dvh,50rem);overflow-y:auto;overscroll-behavior:contain;margin:0;padding:.75rem var(--gutter) calc(1.25rem + env(safe-area-inset-bottom));border:0;border-radius:var(--r-sheet) var(--r-sheet) 0 0;background:var(--card);color:var(--ink);box-shadow:0 -6px 30px rgb(0 0 0/.18);animation:sheet-up .25s cubic-bezier(.2,.8,.2,1)}dialog{position:fixed;inset:auto 0 0;margin:0 auto}dialog::-webkit-backdrop{background:var(--scrim)}dialog::backdrop{background:var(--scrim)}html:has(dialog.sheet[open]){overflow:hidden}.sheet:before,dialog:before{content:"";display:block;width:36px;height:5px;margin:0 auto .75rem;border-radius:3px;background:color-mix(in srgb,var(--ink) 28%,transparent)}@media (min-width:721px){.share-sheet-mask{align-items:center}.sheet,dialog{border-radius:var(--r-sheet);padding-bottom:1.25rem;animation:scrim-in .2s ease-out}dialog{inset:0;margin:auto}}@media (prefers-reduced-motion:reduce),(scripting:none){.share-sheet-mask,.sheet,dialog{animation:none}}.sheet-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin:0 0 .35rem}.share-sheet h2,.sheet-head h2,.wrap .sheet-head h2{margin:0;font-size:var(--f-title3);font-weight:600;line-height:1.25;overflow-wrap:anywhere}.sheet-head>button.quiet{flex:0 0 auto;margin-right:-.5rem;font-weight:400}.sheet-lead{margin:0 0 1rem;color:var(--muted);line-height:1.4}.sheet-actions{display:grid;grid-gap:.5rem;gap:.5rem}.sheet-actions button{width:100%;min-height:50px}.share-url-field{margin:.85rem 0 .55rem}.share-url-field label{margin-top:0}.share-url-input{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-size:var(--f-body);word-break:break-all}.share-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin:.35rem 0 .15rem}.share-actions .secondary{flex:1 1 8rem}.share-copied{color:var(--ok)}.share-more{display:flex;flex-wrap:wrap;gap:.35rem .9rem;margin:.85rem 0 .25rem}.share-more a{min-height:44px;display:inline-flex;align-items:center;font-weight:600;color:var(--muted)}.method-form{margin:.35rem 0 .25rem}.method-form label{margin-top:0}.folder-pick{display:flex;flex-wrap:wrap;gap:.45rem .85rem}.folder-pick label{width:auto;display:flex;gap:.4rem;align-items:center;margin:0;font-weight:500;min-height:44px}.folder-pick input{width:auto}.danger-card h2{margin-top:0}.search{width:100%;font:inherit;font-size:var(--f-body);padding:.7rem .9rem;border-radius:var(--r-field);border:1px solid var(--field-border);background:var(--card)}.grid{display:grid;grid-gap:.6rem;gap:.6rem}.folder{text-decoration:none;color:var(--ink);overflow-wrap:anywhere}.folder .small{color:var(--muted)}.row{display:flex;gap:.55rem;flex-wrap:wrap;align-items:flex-end}.row>*{min-width:0}.row input,.row select,.row textarea{width:auto;flex:1 1 10rem}.row button{flex:0 1 auto}.row label{flex:1 1 8rem;margin:0;display:flex;flex-direction:column;gap:.3rem}.row label>input,.row label>select,.row label>textarea{width:100%;flex:none}.row form{display:flex;flex-wrap:wrap;gap:.55rem;align-items:flex-end;flex:1 1 12rem;margin:0}.btn,:where(button:not(.linkish,.quiet,.favorite-star,.ingredient-grocery,.segment,.group-row,.tab)){-webkit-appearance:none;-moz-appearance:none;appearance:none;display:inline-flex;align-items:center;justify-content:center;gap:.35rem;font:inherit;font-size:var(--f-body);font-weight:600;line-height:1.2;border:0;border-radius:var(--r-button);padding:.6rem 1.1rem;min-height:44px;cursor:pointer;white-space:normal;text-decoration:none;background:var(--accent-tint);color:var(--accent-text);transition:background-color .15s ease,opacity .12s ease}.btn,:where(button[type=submit],button:not([type]),button.primary):where(:not(.secondary,.danger,.linkish,.quiet,.favorite-star,.ingredient-grocery,.group-row,.segment)){background:var(--accent);color:var(--on-accent);box-shadow:inset 0 0 0 1px var(--accent-ring);min-height:50px}form>p>button[type=submit]:only-child{width:100%}:is(button,.btn).secondary{background:var(--accent-tint);color:var(--accent-text);border:0;box-shadow:none;min-height:44px}:is(button,.btn).danger:not(.linkish){background:var(--err-solid);color:#fff;border:0;box-shadow:inset 0 0 0 1px var(--err-ring)}.btn:active,:where(button:not(.linkish,.quiet,.favorite-star,.ingredient-grocery)):active{opacity:.8}.btn:disabled,:where(button:not(.linkish,.quiet,.favorite-star,.ingredient-grocery)):disabled{opacity:.5;cursor:default}.quiet-link,button.quiet{font:inherit;color:var(--accent-text);border:0;border-radius:8px;padding:.35rem .5rem;cursor:pointer;display:inline-flex;align-items:center}.linkish.danger,.quiet-link,button.quiet{background:transparent;min-height:44px;font-weight:600;text-decoration:none}.linkish.danger{color:var(--err);padding:.35rem .4rem}label{display:block;font-weight:600;font-size:var(--f-subhead);margin:.85rem 0 .35rem}.field{margin:0 0 .15rem}.help{display:block;font-weight:400;margin:.15rem 0 .4rem}fieldset.plain{border:0;padding:0;margin:0 0 1.15rem}fieldset.plain legend{font-weight:600;padding:0}.circle-reply{margin:.75rem 0 .75rem .75rem;padding-left:.75rem;border-left:2px solid var(--line)}.names .who{font-weight:600}.roster-card>h2{margin-top:0}.join-code-row input{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:.08em;font-weight:700}.roster>summary{display:flex;align-items:center;flex-wrap:wrap;gap:.25rem .35rem;min-height:44px;cursor:pointer;font-size:var(--f-title3);font-weight:600;color:var(--link);list-style-position:outside}.roster>summary::-webkit-details-marker{color:var(--muted)}.roster[open]>summary{margin-bottom:.15rem}.quiet-ideas{margin:1.25rem 0 0}.quiet-ideas a{color:var(--muted)}.card.recipe-share{padding:0;overflow:hidden}.recipe-photo{display:block;width:100%;height:11.25rem;object-fit:cover;background:var(--line)}.share-body{position:relative;z-index:1;padding:.9rem 1.1rem 1rem}.post-meta,.recipe-line{margin:0 0 .45rem}.recipe-line{font-size:var(--f-headline);font-weight:600}.recipe-line a{color:var(--ink);text-decoration:none}.note{margin:0}.reply-form{position:relative;z-index:1;margin-top:.5rem;scroll-margin-top:8.5rem}.reply-form button.linkish{display:inline-flex;align-items:center;min-height:44px;min-width:44px;padding:.5rem .15rem;margin:.15rem 0 0;position:relative;z-index:1}.cook-strip{margin:.35rem 0 1rem}.cook-strip h2{font-size:var(--f-headline);line-height:1.3;font-weight:600;margin:0 0 .25rem}.strip-lead{margin:0 0 .55rem;font-size:var(--f-footnote);color:var(--muted)}.cook-scroller{display:flex;gap:.7rem;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;margin-inline:calc(-1 * var(--gutter));padding:.45rem var(--gutter) .85rem;scroll-padding-inline:var(--gutter);scrollbar-width:none}.cook-card img{display:block;width:100%;height:8.25rem;object-fit:cover;background:var(--line)}.cook-card span{display:block;padding:.6rem .8rem .8rem;font-size:var(--f-callout);font-weight:600;line-height:1.3}.share-picker legend{font-weight:600;font-size:var(--f-footnote);margin:0 0 .3rem}.pick-photos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:.7rem;gap:.7rem;margin:.5rem 0 .65rem;padding:.1rem 0 .25rem}.pick-card{position:relative;display:flex;flex-direction:column;gap:.35rem;margin:0;padding:0;font-weight:600;font-size:var(--f-footnote);background:var(--card);border:2px solid transparent;box-shadow:var(--ring);border-radius:var(--r-card);overflow:hidden;min-height:44px;cursor:pointer}.pick-card:has(input:checked){border-color:var(--accent-text)}.pick-card:has(input:focus-visible){outline:3px solid var(--focus);outline-offset:3px}.pick-card img{display:block;width:100%;height:5.5rem;object-fit:cover;background:var(--line)}.pick-card span{padding:0 .55rem .55rem}.pick-row input{width:auto;min-height:22px;flex:0 0 auto}.pick-row{display:flex;align-items:center;gap:.55rem;min-height:44px;font-weight:600;margin:.15rem 0}.pick-plain{list-style:none;padding:0;margin:.25rem 0 0}input,select,textarea{font:inherit;font-size:var(--f-body);padding:.65rem .85rem;border-radius:var(--r-field);border:1px solid var(--field-border);width:100%;background:var(--card);color:var(--ink);max-width:100%;-webkit-appearance:none;-moz-appearance:none;appearance:none}input:where(:not([type=checkbox],[type=radio],[type=file],[type=hidden],[type=range])),select{min-height:48px}select{padding-right:2.4rem;background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%);background-position:calc(100% - 1.25rem) 50%,calc(100% - .9rem) 50%;background-size:6px 6px,6px 6px;background-repeat:no-repeat}input[type=checkbox],input[type=radio]{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}input[type=file]{padding:.35rem 0;border:0;background:transparent}.textarea-tall{min-height:8.5rem}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--focus);outline-offset:-1px;border-color:var(--focus)}::placeholder{color:var(--muted);opacity:1}[aria-invalid=true]{border-color:var(--err);box-shadow:0 0 0 1px var(--err)}.login-forgot{margin-top:1.15rem}.login-forgot h2{margin:0 0 .35rem;font-size:var(--f-footnote);letter-spacing:.04em;text-transform:uppercase;color:var(--muted);font-weight:600}.item{display:flex;justify-content:space-between;gap:.75rem;align-items:flex-start;flex-wrap:wrap}.item .row{flex:1 1 12rem}.qty-narrow{width:5.5rem;max-width:100%;flex:0 1 5.5rem}.strike{color:var(--muted)}.err{color:var(--err);font-weight:700}.small{color:var(--muted);font-size:var(--f-subhead)}.actions{flex-wrap:wrap;gap:.5rem}.actions,.stovfam-splash{display:flex;align-items:center}.stovfam-splash{position:fixed;inset:0;z-index:20;justify-content:center;background:linear-gradient(135deg,#0a0a0a,#1a1a1a 25%,#2d2319 50%,#1a1a1a 75%,#0a0a0a);color:#fff;text-align:center;padding:max(20px,env(safe-area-inset-top)) max(20px,env(safe-area-inset-right)) max(20px,env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left))}.stovfam-splash .container{max-width:500px}.stovfam-splash .mark{display:inline-block;font-size:3.5rem;font-weight:300;margin:0 0 1rem;letter-spacing:.15em;background:linear-gradient(135deg,#d4af37,#f4e4a6 25%,#d4af37 50%,#b8962e 75%,#d4af37);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;text-decoration:none;cursor:pointer;border:0;font-family:inherit}.stovfam-splash .mark:focus,.stovfam-splash .mark:focus-visible{outline:3px solid #f4e4a6;outline-offset:8px}.stovfam-splash .splash-discover{position:absolute;left:0;right:0;bottom:max(1.25rem,env(safe-area-inset-bottom));font-size:var(--f-subhead)}.stovfam-splash .splash-discover a:focus-visible{outline:3px solid #f4e4a6;outline-offset:3px}.suggestion-box h2{margin-top:0}.idea-mood textarea{min-height:4rem}.idea-recipe-list[data-windowed]{position:relative;overflow-anchor:none}.idea-recipe-list[data-windowed]>.idea-row{position:absolute;left:0;right:0;overflow-anchor:none}.idea-recipe-list[data-windowed]>.idea-row:not([data-index="0"]){background-image:linear-gradient(var(--line),var(--line));background-repeat:no-repeat;background-size:calc(100% - var(--gutter)) 1px;background-position:var(--gutter) 0}.idea-row-copy{min-width:0}.idea-row-meta{display:flex;flex-wrap:wrap;gap:.35rem;align-items:center;margin-top:.2rem}.quiet-skeleton{min-height:7.5rem;margin-top:.5rem}p>a:only-child{padding-block:.6em}.source a{font-weight:600;display:inline-block;min-height:44px;max-width:100%;overflow-wrap:anywhere}.idea-folder>summary{cursor:pointer;list-style:none;display:flex;align-items:center;min-height:44px}.idea-folder>summary::-webkit-details-marker{display:none}.idea-folder>summary h2{margin:0}.idea-mood-group h3{margin:1rem 0 .35rem}.board-kanban{display:grid;grid-gap:.75rem;gap:.75rem;margin:.75rem 0 0}@media (min-width:40rem){.board-kanban{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start}}.board-col{border:0;box-shadow:var(--ring);border-radius:var(--r-card);padding:.75rem;background:var(--card)}.board-col h3{margin:0 0 .5rem;font-size:var(--f-headline)}.board-card{margin:0 0 .75rem;padding:.6rem 0 0;border-top:1px solid var(--line)}.board-card h4{margin:0 0 .35rem;font-size:var(--f-headline)}.board-add{margin-top:1rem;padding-top:.75rem;border-top:1px solid var(--line)}@media (hover:hover){a:hover{text-decoration-thickness:2px}.tab:hover{color:var(--accent-text)}.grid>.folder:hover,.group-row[href]:hover,.idea-row-link:hover,.store-grid a:hover,button.group-row:hover{background:color-mix(in srgb,var(--ink) 5%,transparent)}:is(button,.btn).secondary:hover,:where(button:not(.linkish,.quiet,.favorite-star,.ingredient-grocery,.segment,.group-row,.tab)):hover{background:color-mix(in srgb,var(--accent) 20%,transparent)}.btn:hover,:where(button[type=submit],button:not([type]),button.primary):where(:not(.secondary,.danger,.linkish,.quiet,.favorite-star,.ingredient-grocery,.group-row,.segment)):hover{background:var(--accent-hover)}:is(button,.btn).danger:not(.linkish):hover{background:color-mix(in srgb,var(--err-solid) 86%,black)}.linkish.danger:hover,.quiet-link:hover,.segment:not([data-on]):hover,button.quiet:hover{background:color-mix(in srgb,var(--ink) 6%,transparent)}.admin-filter:not([aria-current=page]):hover,.admin-tab:not([aria-current=page]):hover,.folder-tabs a:not([aria-current=page]):hover,.idea-jump a:not([aria-current=page]):hover{background:color-mix(in srgb,var(--ink) 12%,transparent)}.favorite-star:hover{background:transparent;color:var(--ink)}.favorite-star.is-on:hover{background:transparent;color:var(--star)}.ingredient-grocery.is-on:hover{background:color-mix(in srgb,var(--accent) 20%,transparent);color:var(--accent-text)}}@media print{.beans-skip,.chat-form,.grocery-stores,.no-print,.review,.suggestion-box,.tabbar,.top,button,form,nav{display:none!important}.wrap{max-width:none;padding:0}.recipe-card{border:0}.recipe-hero{height:5.5rem;width:5.5rem;margin:0 0 .75rem;border-radius:8px}.recipe-card .recipe-photo{width:100%;max-height:7rem;aspect-ratio:16/9;margin:0 0 .75rem;border-radius:8px}.recipe-photo-empty{display:none!important}.grocery-print-list{display:block;white-space:pre-wrap;font:inherit;font-size:1.15rem;line-height:1.45;margin:0}body{background:#fff}}.recipe-card .recipe-photo-empty svg{flex:0 0 auto;opacity:.8}.recipe-kicker{margin:0 0 .35rem;font-size:var(--f-footnote);font-weight:600;letter-spacing:.03em;text-transform:uppercase;color:var(--accent-text)}.recipe-card .recipe-facts{margin:0}.recipe-card .recipe-facts:empty{display:none}.cook-mode{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem .75rem;margin:.85rem 0 0}.recipe-card .recipe-facts+.cook-mode{margin-top:.75rem}.cook-mode-toggle{display:inline-flex;align-items:center;gap:.45rem;min-height:44px;padding:0 1rem 0 .8rem;border:0;border-radius:999px;background:var(--accent-tint);color:var(--accent-text);font:inherit;font-weight:600;cursor:pointer;transition:background-color .15s ease,color .15s ease}.cook-mode-toggle.is-on{background:color-mix(in srgb,var(--ok) 16%,transparent);color:var(--ok-on-tint)}.cook-mode-status{font-size:var(--f-footnote);color:var(--muted)}.recipe-card[data-cook-mode=on] .cook-mode{position:fixed;left:50%;bottom:calc(var(--tabbar-h) + env(safe-area-inset-bottom) + .75rem);z-index:6;transform:translateX(-50%);width:max-content;max-width:calc(100vw - 2rem);margin:0;padding:.35rem .75rem .35rem .35rem;border-radius:999px;justify-content:center;text-align:center;background:color-mix(in srgb,var(--card) 92%,transparent);-webkit-backdrop-filter:saturate(1.4) blur(14px);backdrop-filter:saturate(1.4) blur(14px);box-shadow:var(--card-shadow),0 0 0 1px color-mix(in srgb,var(--ink) 10%,transparent)}@media (min-width:721px){.recipe-card[data-cook-mode=on] .cook-mode{bottom:1rem}}.recipe-card[data-cook-mode=on] .ingredient-grocery-form,.recipe-card[data-cook-mode=on] .recipe-block-count,.recipe-card[data-cook-mode=on] .recipe-facts,.recipe-card[data-cook-mode=on] .recipe-grocery-all,.recipe-card[data-cook-mode=on] .recipe-idea-save,.recipe-card[data-cook-mode=on] .recipe-kicker,.recipe-card[data-cook-mode=on] .recipe-notes,.recipe-card[data-cook-mode=on] .recipe-nutrition,.recipe-card[data-cook-mode=on] .recipe-photo,.recipe-card[data-cook-mode=on] .recipe-photo-empty,.recipe-card[data-cook-mode=on] .recipe-visits,.recipe-card[data-cook-mode=on] .source,.recipe-card[data-cook-mode=on]>.recipe-notice,.recipe-card[data-cook-mode=on]~.recipe-delete,.recipe-card[data-cook-mode=on]~.recipe-more{display:none!important}.recipe-card[data-cook-mode=on] .ingredients,.recipe-card[data-cook-mode=on] .steps{font-size:var(--f-title2);line-height:1.5}.recipe-card[data-cook-mode=on] .ingredient-row{min-height:56px}.recipe-card[data-cook-mode=on] .step-number{width:2.4rem;height:2.4rem;font-size:var(--f-headline)}.recipe-card[data-cook-mode=on] .steps li{grid-template-columns:2.4rem 1fr;padding:.9rem 0}.recipe-card[data-cook-mode=on] .prep,.recipe-card[data-cook-mode=on] .recipe-method{font-size:var(--f-title3)}.recipe-card>.recipe-block{margin-top:1.75rem;padding-top:1.25rem;border-top:1px solid var(--line)}.recipe-card>.recipe-card-head+.recipe-block,.recipe-card>.recipe-card-head+.recipe-notice+.recipe-block{border-top:0;padding-top:0;margin-top:1.5rem}.recipe-block-head{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem;margin:0 0 .6rem}.recipe-card .recipe-block-head>h2,.recipe-card .recipe-block>h2{font-size:var(--f-title3);font-weight:600;letter-spacing:0;text-transform:none;border:0;padding:0;margin:0}.recipe-card .recipe-block>h2{margin-bottom:.6rem}.recipe-block-count{flex:0 0 auto;font-size:var(--f-footnote);color:var(--muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.recipe-card .recipe-block p{font-size:var(--f-body);line-height:1.45}.recipe-card .recipe-block>p:last-child{margin-bottom:0}.recipe-quiet{color:var(--muted);line-height:1.4;margin:0 0 .5rem}.recipe-card .recipe-block p.recipe-quiet,.recipe-notice,.recipe-quiet{font-size:var(--f-subhead)}.recipe-notice{margin:0 0 .75rem;padding:.65rem .85rem;border-radius:var(--r-field);background:var(--accent-tint);color:var(--ink);line-height:1.4}.recipe-card>.recipe-notice{margin-top:1rem}.recipe-card .recipe-block .err{font-size:var(--f-subhead);margin:0 0 .6rem}.recipe-card .ingredients{margin:0}.recipe-card .ingredient-row{display:flex;align-items:center;gap:.5rem;margin:0;min-height:48px;padding:.3rem 0}.recipe-card .ingredients li+li{border-top:1px solid color-mix(in srgb,var(--line) 70%,transparent)}.recipe-card .ingredient-text{display:flex;flex:1 1 auto;min-width:0;gap:.5rem;align-items:baseline;padding:.3rem 0;line-height:1.35}.recipe-card .ing-qty{flex:0 0 auto;max-width:7.5rem;font-weight:600;color:var(--link);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.recipe-card .ing-qty:empty{display:none}.recipe-card .ing-name{flex:1 1 auto;min-width:0;overflow-wrap:anywhere}.ing-check{display:grid;place-items:center;flex:0 0 auto;width:44px;height:44px;margin-left:-.5rem;padding:0;border:0;border-radius:50%;background:transparent;color:var(--muted);box-shadow:none;transition:color .15s ease}.ingredient-row.is-done .ing-check{color:var(--ok)}.ingredient-row.is-done .ing-name,.ingredient-row.is-done .ing-qty{color:var(--muted);text-decoration:line-through;text-decoration-thickness:1px;-webkit-text-decoration-color:color-mix(in srgb,var(--muted) 70%,transparent);text-decoration-color:color-mix(in srgb,var(--muted) 70%,transparent)}.ingredients-done{margin:.6rem 0 0;font-size:var(--f-subhead);color:var(--muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.ingredients-done-clear{font:inherit;font-size:var(--f-subhead);font-weight:600;color:var(--accent-text);min-height:32px;padding:0 .25rem}.ingredient-grocery{display:grid;place-items:center;width:44px;height:44px;padding:0;border:0;background:transparent;font-weight:500;box-shadow:none;color:var(--muted);border-radius:50%}.ingredient-grocery.is-on{color:var(--accent-text);background:var(--accent-tint)}.recipe-grocery-all{margin:1rem 0 0}.recipe-grocery-all .grocery-add{margin:0}.recipe-grocery-all .grocery-add button{width:100%}.recipe-card .steps{list-style:none;padding:0;margin:0}.recipe-card .steps li{display:grid;grid-template-columns:2rem 1fr;grid-gap:.75rem;gap:.75rem;align-items:start;margin:0;padding:.75rem 0}.recipe-card .steps li:first-child{padding-top:.25rem}.recipe-card .steps li+li{border-top:1px solid color-mix(in srgb,var(--line) 70%,transparent)}.step-number{display:inline-grid;place-items:center;width:2rem;height:2rem;margin-top:.1rem;border-radius:50%;background:var(--accent-tint);color:var(--accent-text);font-size:var(--f-subhead);font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.step-text{min-width:0;line-height:1.5;overflow-wrap:anywhere}.recipe-method{font-size:var(--f-title3);color:var(--ink);margin:0}.recipe-card .method-form{margin:0}.recipe-card .method-row{gap:.5rem}.recipe-card .method-row input{flex:1 1 10rem}.recipe-card .recipe-notes .review{margin:0 0 .75rem}.recipe-card .recipe-notes .review-toggle{gap:.45rem;padding:.5rem .9rem .5rem .7rem}.recipe-card .recipe-notes .review-toggle[aria-pressed=true]{background:color-mix(in srgb,var(--ok) 14%,transparent);color:var(--ok-on-tint)}.recipe-notes-form{margin:0}.recipe-notes-box{min-height:6.5rem;width:100%;resize:vertical;line-height:1.45}.recipe-card .recipe-notes-actions{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin:.6rem 0 0}.recipe-card .recipe-notes-actions .recipe-quiet{margin:0}.recipe-card .recipe-notes-actions button{flex:0 0 auto}.recipe-idea-save .recipe-quiet{margin-bottom:.75rem}.recipe-idea-save form{margin:0}.recipe-idea-save button{width:100%}.recipe-source-note{color:var(--ink);white-space:pre-line;margin:0}.recipe-card .prep{font-size:var(--f-body);line-height:1.45;background:var(--paper);box-shadow:inset 4px 0 0 var(--accent);border-radius:var(--r-field);padding:.75rem .9rem .75rem 1.1rem}.recipe-card .nutrition-basis{margin-bottom:.6rem}.recipe-card .nutrition-table{font-size:var(--f-body)}.recipe-card .nutrition-table tr:last-child>*{border-bottom:0}.recipe-card .source{margin:1.75rem 0 0;padding-top:1rem;border-top:1px solid var(--line);font-size:var(--f-subhead)}.recipe-card .source a{color:var(--link)}.recipe-card .recipe-visits{margin:.75rem 0 0}.recipe-card>.recipe-block+.recipe-visits{margin-top:1.25rem}.recipe-more{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:.5rem;gap:.5rem;margin:0 0 1rem}.recipe-more-idea{grid-template-columns:minmax(0,1fr)}.recipe-more>.recipe-more-link,.recipe-more>button{width:100%;min-height:48px;display:inline-flex;align-items:center;justify-content:center;gap:.4rem;padding:.5rem}.recipe-more svg{flex:0 0 auto}.recipe-more-link{border-radius:var(--r-button);background:var(--accent-tint);color:var(--accent-text);font-weight:600;text-decoration:none;transition:background-color .15s ease,opacity .12s ease}.recipe-more-link:active{opacity:.8}.recipe-delete.danger-card{padding:0;box-shadow:none;background:transparent;margin:0 0 1rem}.recipe-delete.danger-card>summary.danger-summary{display:flex;justify-content:center;width:100%;background:transparent;color:var(--err);box-shadow:none;font-weight:600}.recipe-delete.danger-card[open]{background:var(--card);padding:.5rem var(--gutter) 1rem;box-shadow:var(--ring)}.recipe-delete.danger-card[open]>summary.danger-summary{margin-bottom:.25rem}.recipe-delete-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:0}.servings-input{max-width:8rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.cook-card{flex:0 0 68%;max-width:16.25rem;scroll-snap-align:start;border:0;border-radius:var(--r-card);overflow:hidden;box-shadow:var(--card-shadow);text-decoration:none;position:relative}.cook-card,.cook-card .cook-card-tag{background:var(--card);color:var(--ink)}.cook-card .cook-card-tag{position:absolute;top:.5rem;left:.5rem;display:inline-block;padding:.15rem .6rem;border-radius:999px;font-size:var(--f-footnote);font-weight:600;line-height:1.4;box-shadow:0 1px 3px rgb(0 0 0/.18)}@media (hover:hover){.cook-mode-toggle:hover,.recipe-more-link:hover{background:color-mix(in srgb,var(--accent) 18%,transparent)}.cook-mode-toggle.is-on:hover{background:color-mix(in srgb,var(--ok) 22%,transparent)}.ing-check:hover{color:var(--ink)}}@media (prefers-reduced-motion:reduce){.cook-mode-toggle,.ing-check,.recipe-more-link{transition:none}}@media print{.cook-mode,.ing-check,.ingredients-done,.recipe-block-count,.recipe-delete,.recipe-grocery-all,.recipe-idea-save,.recipe-more,.recipe-notes .recipe-quiet{display:none!important}.recipe-card>.recipe-block{border-top:0;padding-top:0}.step-number{background:transparent;color:#000;box-shadow:inset 0 0 0 1px #000}}main:has(>.chat-screen) .suggestion-box{display:none}.bubble a{display:inline-block;min-height:44px;max-width:100%;font-weight:700;overflow-wrap:anywhere;word-break:break-word}.chat-screen{padding-bottom:calc(var(--chat-dock-h, 4.5rem) + var(--chat-kb, 0px) + .75rem)}.chat-screen.is-empty{display:flex;flex-direction:column;min-height:calc(100svh - 6.25rem - env(safe-area-inset-top) - env(safe-area-inset-bottom))}@media (min-width:721px){.chat-screen.is-empty{min-height:calc(100svh - var(--topbar-h) - 5.5rem)}}.chat-screen.is-empty .chat-composer,.chat-screen.is-empty .chat-form,.chat-welcome{display:flex;flex:1 1 auto;flex-direction:column}.chat-welcome{gap:16px;padding-top:8px}.chat-welcome-head{display:flex;flex-direction:column;align-items:center;gap:6px;margin:auto 0;padding:8px 8px 16px;text-align:center}.chat-welcome-head .binder-mark{margin-bottom:6px;border-radius:12px}.chat-screen .chat-welcome h2{margin:0;font-size:var(--f-title2);font-weight:700;line-height:1.2;letter-spacing:-.01em}.chat-welcome-head p{max-width:20rem;text-wrap:balance;margin:0;color:var(--muted);font-size:var(--f-body);line-height:1.35}.chat-start{list-style:none;margin:0;padding:0;overflow:hidden;background:var(--card);border-radius:var(--r-card);box-shadow:var(--ring)}.chat-start li{position:relative;margin:0}.chat-start li+li:before{content:"";position:absolute;top:0;left:68px;right:0;height:1px;background:var(--line);pointer-events:none}.chat-start-row{display:flex;align-items:center;justify-content:flex-start;gap:14px;width:100%;min-height:68px;padding:12px 16px;border-radius:0;background:transparent;color:var(--ink);font-weight:400;text-align:left}.chat-start-row:active{opacity:1;background:color-mix(in srgb,var(--ink) 6%,transparent)}.chat-start-row:focus-visible{outline-offset:-3px}.chat-start-icon{display:grid;flex:0 0 38px;place-items:center;width:38px;height:38px;border-radius:10px;background:var(--accent-tint);color:var(--accent-text)}.chat-start-text{display:flex;min-width:0;flex-direction:column;gap:1px}.chat-start-title{font-size:var(--f-headline);font-weight:600;line-height:1.25}.chat-start-sub{color:var(--muted);font-size:var(--f-subhead);line-height:1.3}.chat-privacy{margin:0 auto 4px;max-width:21rem;color:var(--muted);font-size:var(--f-footnote);line-height:1.4;text-align:center;text-wrap:balance}.chat-privacy svg{margin-right:4px;vertical-align:-2px}.chat-how{margin:0 0 .5rem}.chat-how>summary{display:inline-flex;align-items:center;gap:.4rem;min-height:44px;cursor:pointer;list-style:none;color:var(--link);font-size:var(--f-subhead);font-weight:600}.chat-how>summary::-webkit-details-marker{display:none}.chat-how>summary:before{content:"";width:.45em;height:.45em;margin-left:.1em;border-right:2px solid;border-bottom:2px solid;transform:rotate(-45deg);transition:transform .15s ease}.chat-how[open]>summary:before{transform:rotate(45deg)}.chat-how ul{margin:0 0 .75rem;padding-left:1.2rem}.chat-how li{margin:.3rem 0}.chat-log{display:flex;flex-direction:column;gap:2px;margin-top:.25rem}.chat-earlier{margin:0 0 4px;text-align:center}.chat-earlier a{display:inline-flex;align-items:center;min-height:44px;padding:0 12px;color:var(--link);font-size:var(--f-subhead);font-weight:600;text-decoration:none}.chat-time{align-self:center;margin:18px 0 6px;color:var(--muted);font-size:var(--f-footnote);text-align:center}.chat-time:first-child{margin-top:4px}.chat-time b{font-weight:600}.msg{display:flex;flex-direction:column;align-items:flex-start;gap:2px;max-width:100%;scroll-margin-top:16px}.msg.user{align-items:flex-end}.msg.is-first{margin-top:10px}.chat-earlier+.msg,.chat-log>.msg:first-child,.chat-time+.msg{margin-top:0}.chat-log .bubble,.chat-optimistic .bubble{max-width:86%;padding:.6rem .95rem;border-radius:18px;font-size:var(--f-body);line-height:1.38;white-space:pre-wrap;overflow-wrap:anywhere;word-break:normal}.chat-log .bubble.assistant,.chat-optimistic .bubble.assistant{background:var(--card);color:var(--ink);box-shadow:0 0 0 1px color-mix(in srgb,var(--ink) 8%,transparent)}.chat-log .bubble.user,.chat-optimistic .bubble.user{background:var(--accent-tint);color:var(--ink)}.msg.assistant.is-last>.bubble:last-child{border-bottom-left-radius:6px}.msg.user.is-last>.bubble:last-child{border-bottom-right-radius:6px}.bubble-text{white-space:pre-wrap}.bubble-url{display:block;min-width:0;max-width:100%;white-space:normal}.bubble-text+.bubble-url,.bubble-url+.bubble-text{margin-top:4px}.bubble-url-host{display:block;font-weight:600;overflow-wrap:anywhere}.bubble-url-path{display:block;overflow:hidden;color:var(--muted);font-size:var(--f-subhead);text-overflow:ellipsis;white-space:nowrap}.bubble-attach{display:inline-flex;align-items:center;gap:6px;font-weight:600}.bubble-attach svg{color:var(--accent-text)}.chat-log .bubble.bubble-card{width:min(100%,20rem);padding:0;overflow:hidden;white-space:normal}.msg.assistant.is-last>.bubble-card:last-child{border-bottom-left-radius:18px}.chat-card{display:block;margin:0}.chat-log a.chat-card-link{display:block;min-height:0;max-width:none;color:var(--ink);font-weight:400;text-decoration:none}.chat-card-photo{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;background:var(--line)}.chat-card-text{display:flex;flex-direction:column;gap:3px;min-width:0;padding:12px 14px 2px}.chat-log .chat-card.no-photo a.chat-card-link{display:flex;align-items:center;gap:12px;padding:12px 14px 2px}.chat-card.no-photo .chat-card-text{flex:1 1 auto;padding:0}.chat-card-paper{display:grid;flex:0 0 52px;place-items:center;width:52px;height:52px;border-radius:10px;background:color-mix(in srgb,var(--ink) 7%,transparent);color:var(--muted)}.chat-card-kicker{display:inline-flex;align-items:center;gap:4px;color:var(--muted);font-size:var(--f-footnote);font-weight:600;line-height:1.3}.chat-card-kicker.is-saved{color:var(--ok)}.chat-card-title{font-size:var(--f-title3);font-weight:600;line-height:1.22;letter-spacing:-.005em;overflow-wrap:anywhere}.chat-card-actions{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);grid-gap:8px;gap:8px;padding:10px 12px 12px}.chat-log .chat-card-btn{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-width:0;min-height:44px;max-width:none;padding:0 10px;border-radius:12px;background:var(--accent-tint);color:var(--accent-text);font-size:var(--f-callout);font-weight:600;line-height:1.2;text-decoration:none;white-space:nowrap}.chat-log .chat-card-btn:active{opacity:.7}.chat-log .chat-card-btn:disabled{opacity:.6;cursor:default}.chat-log .chat-card-done{background:transparent;box-shadow:inset 0 0 0 1px var(--ok);color:var(--ok)}.chat-card-status:empty{display:none}.chat-card-status.is-err{margin:-4px 14px 12px;color:var(--err);font-size:var(--f-footnote);line-height:1.35}.chat-card-gone{padding:.6rem .95rem}.chat-card-note{margin:0;color:var(--muted);font-size:var(--f-body);line-height:1.38}.chat-card-fallback{display:flex;flex-direction:column;gap:2px;padding:12px 14px 6px}.chat-log .bubble a.chat-recipe-plain{display:inline-flex;align-items:center;min-height:44px;color:var(--accent-text);font-weight:600}.chat-screen .chat-form{position:static;margin:0;padding:0;background:transparent;border-radius:0;box-shadow:none}.chat-optimistic{display:flex;flex-direction:column;gap:2px;margin-top:2px}.chat-optimistic .msg{margin-top:10px}.bubble-photos{display:flex;gap:4px}.bubble-photos img{width:88px;height:88px;border-radius:14px;object-fit:cover;box-shadow:0 0 0 1px color-mix(in srgb,var(--ink) 9%,transparent)}.chat-typing{display:inline-flex;align-items:center;gap:.6rem;color:var(--muted)}.chat-progress-line{animation:chat-fade .2s ease}@keyframes chat-fade{0%{opacity:0}to{opacity:1}}.chat-dots{display:inline-flex;flex:0 0 auto;gap:4px}.chat-dots i{width:7px;height:7px;border-radius:50%;background:var(--muted);opacity:.35;animation:chat-dot 1.2s ease-in-out infinite}.chat-dots i:nth-child(2){animation-delay:.15s}.chat-dots i:nth-child(3){animation-delay:.3s}@keyframes chat-dot{0%,70%,to{opacity:.35;transform:translateY(0)}35%{opacity:1;transform:translateY(-2px)}}.chat-dock{position:fixed;left:0;right:0;bottom:calc(var(--tabbar-h) + env(safe-area-inset-bottom));z-index:55;padding:8px max(var(--gutter),env(safe-area-inset-right)) 10px max(var(--gutter),env(safe-area-inset-left));background:var(--bar-bg);-webkit-backdrop-filter:saturate(1.4) blur(20px);backdrop-filter:saturate(1.4) blur(20px);box-shadow:0 -.5px 0 color-mix(in srgb,var(--ink) 14%,transparent);will-change:transform}.chat-dock.is-kb{bottom:0}.chat-dock>*{max-width:42rem;margin-left:auto;margin-right:auto}@media (min-width:721px){.chat-dock{bottom:0;padding-bottom:calc(.75rem + env(safe-area-inset-bottom))}}.chat-chips{display:flex;gap:8px;list-style:none;margin:0 auto 8px;padding:2px 0;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x proximity;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scrollbar-width:none}.chat-chips::-webkit-scrollbar{display:none}.chat-chips li{flex:0 0 auto;scroll-snap-align:start}@media (max-width:720px){.chat-chips{margin-left:calc(-1 * max(var(--gutter), env(safe-area-inset-left)));margin-right:calc(-1 * max(var(--gutter), env(safe-area-inset-right)));padding-left:max(var(--gutter),env(safe-area-inset-left));scroll-padding-left:max(var(--gutter),env(safe-area-inset-left))}.chat-chips:after{content:"";flex:0 0 max(var(--gutter),env(safe-area-inset-right))}}.chat-chip{min-height:44px;padding:0 16px;border-radius:999px;background:var(--accent-tint);color:var(--accent-text);font-size:var(--f-callout);font-weight:600;white-space:nowrap}.chat-chip:active{opacity:.7}.chat-chip:focus-visible{outline-offset:1px}.chat-tray-wrap{margin-bottom:8px}.chat-tray{display:flex;gap:12px;list-style:none;margin:0;padding:10px 10px 4px 2px;overflow-x:auto;overflow-y:hidden;scrollbar-width:none}.chat-tray::-webkit-scrollbar{display:none}.chat-tray .chat-page{position:relative;display:block;flex:0 0 auto;width:72px;height:72px;margin:0;padding:0;border-radius:12px;background:transparent}.chat-tray .chat-page img,.chat-tray .chat-page-pdf{display:block;width:72px;height:72px;border-radius:12px;object-fit:cover;background:var(--line);box-shadow:0 0 0 1px color-mix(in srgb,var(--ink) 9%,transparent)}.chat-tray .chat-page-pdf{display:grid;place-items:center;color:var(--muted);font-size:var(--f-footnote);font-weight:700;letter-spacing:.04em}.chat-tray .chat-page.is-picked img{box-shadow:0 0 0 3px var(--focus)}.chat-page-pick{position:absolute;inset:0;min-height:0;padding:0;border-radius:12px;background:transparent}.chat-page-pick:active{opacity:1;background:color-mix(in srgb,var(--ink) 12%,transparent)}.chat-page-num{left:5px;bottom:5px;display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 6px;border-radius:11px;background:color-mix(in srgb,var(--ink) 80%,transparent);font-size:var(--f-footnote);font-weight:700;line-height:1;pointer-events:none}.chat-page-num,.chat-page-remove{position:absolute;color:var(--paper)}.chat-page-remove{top:-8px;right:-8px;z-index:1;width:26px;height:26px;min-height:26px;padding:0;border-radius:50%;background:var(--ink);box-shadow:0 0 0 2px var(--paper)}.chat-page-remove:before{content:"";position:absolute;inset:-9px}.chat-tray-hint{margin:4px 0 0;color:var(--muted);font-size:var(--f-footnote)}.chat-tray-bar{display:flex;align-items:center;gap:8px;margin-top:4px}.chat-tray-label{flex:1 1 auto;font-size:var(--f-subhead);font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.chat-tray-btn{width:44px;min-width:44px;padding:0;border-radius:50%}.chat-tray-done{min-height:44px;padding:0 12px;background:transparent;color:var(--accent-text)}.chat-pill-wrap{margin-bottom:8px}.chat-pill{display:inline-flex;align-items:center;gap:8px;max-width:100%;min-height:40px;padding:3px 3px 3px 12px;border-radius:999px;background:var(--card);box-shadow:0 0 0 1px color-mix(in srgb,var(--ink) 12%,transparent)}.chat-pill-icon{display:inline-flex;flex:0 0 auto;color:var(--accent-text)}.chat-pill-wrap.is-warn .chat-pill-icon{color:var(--star)}.chat-pill-text{min-width:0;overflow:hidden;font-size:var(--f-callout);line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.chat-pill-text strong{font-weight:600}.chat-pill-host,.chat-pill-remove{color:var(--muted)}.chat-pill-remove{position:relative;flex:0 0 auto;width:32px;height:32px;min-height:32px;padding:0;border-radius:50%;background:color-mix(in srgb,var(--ink) 8%,transparent)}.chat-pill-remove:before{content:"";position:absolute;inset:-6px}.chat-pill-hint{margin:6px 4px 0;color:var(--muted);font-size:var(--f-footnote);line-height:1.35}.chat-pill-wrap.is-warn .chat-pill-hint{color:var(--ink)}.chat-inline-btn{display:inline;min-height:0;margin:-12px 0;padding:12px 2px;border-radius:6px;background:transparent;color:var(--accent-text);font-size:inherit;font-weight:600;line-height:inherit}.chat-note{margin:0 auto 8px}.chat-note.err{font-size:var(--f-subhead)}.chat-row{display:flex;align-items:flex-end;gap:8px}.chat-attach{flex:0 0 44px;width:44px;height:44px;min-height:44px;padding:0;border-radius:50%;background:transparent;color:var(--accent-text)}.chat-attach:active{opacity:.6}.chat-screen .chat-row textarea{flex:1 1 auto;min-width:0;min-height:44px;height:44px;max-height:150px;margin:0;padding:.55rem .95rem;border:0;border-radius:22px;box-shadow:inset 0 0 0 1px var(--field-border);background:var(--card);color:var(--ink);font-size:var(--f-body);line-height:1.35;resize:none;overflow-y:hidden;transition:opacity .15s ease}.chat-screen .chat-row textarea:focus-visible{outline:3px solid var(--focus);outline-offset:-1px;box-shadow:inset 0 0 0 1px var(--focus)}.chat-dock.is-sending .chat-row textarea{opacity:.7}.chat-screen .chat-form button.chat-send{flex:0 0 44px;width:44px;height:44px;min-height:44px;padding:0;border-radius:50%;background:var(--accent);color:var(--on-accent);box-shadow:inset 0 0 0 1px var(--accent-ring);transition:background-color .15s ease,color .15s ease,opacity .12s ease}.chat-screen .chat-form button.chat-send:disabled{background:color-mix(in srgb,var(--ink) 14%,transparent);color:var(--muted);box-shadow:none;opacity:1}.chat-screen .chat-form button.chat-send:not(:disabled):active{opacity:.75}.chat-spinner{width:20px;height:20px;border:2.5px solid;border-right:2.5px solid transparent;border-radius:50%;animation:chat-spin .8s linear infinite}@keyframes chat-spin{to{transform:rotate(1turn)}}@media (hover:hover){.chat-screen .chat-form button.chat-send:not(:disabled):hover{background:var(--accent-hover)}.chat-chip:not(:disabled):hover,.chat-log .chat-card-btn:not(:disabled):hover{background:color-mix(in srgb,var(--accent) 20%,transparent)}.chat-log .chat-card-done:hover{background:color-mix(in srgb,var(--ok) 8%,transparent)}.chat-start-row:hover{background:color-mix(in srgb,var(--ink) 4%,transparent)}.chat-attach:not(:disabled):hover{background:var(--accent-tint)}.chat-pill-remove:hover{background:color-mix(in srgb,var(--ink) 14%,transparent)}}@media (prefers-reduced-motion:reduce){.chat-dots i{opacity:.7}.chat-dots i,.chat-progress-line,.chat-spinner{animation:none}.chat-chip,.chat-how>summary:before,.chat-screen .chat-form button.chat-send,.chat-screen .chat-row textarea{transition:none}}@media print{.chat-dock{display:none}}.load-failed p:first-child{margin-top:0}.load-failed p:last-child{margin-bottom:0}.page-loading-title{min-height:2.6rem;width:70%;border-radius:10px;margin:.5rem 0 1.25rem;background:color-mix(in srgb,var(--ink) 7%,transparent)}.page-loading-short{min-height:4rem}.group-count{flex:0 0 auto;margin-left:auto;color:var(--muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-size:var(--f-body)}.group-row:has(>.group-count):after{margin-left:0}.group>li>details>summary.group-row{list-style:none;cursor:pointer}.group>li>details>summary.group-row::-webkit-details-marker{display:none}.group>li:first-child>details>summary.group-row{border-radius:var(--r-card) var(--r-card) 0 0}.group>li:last-child>details:not([open])>summary.group-row{border-radius:0 0 var(--r-card) var(--r-card)}.group>li:only-child>details:not([open])>summary.group-row{border-radius:var(--r-card)}.group-text{display:flex;flex-direction:column;gap:1px;min-width:0;flex:1 1 auto}.group .group-sub,.group-text{overflow-wrap:anywhere}.login-door+.login-door{margin-top:1.75rem;padding-top:1.35rem;border-top:1px solid var(--line)}.login-door>h2{margin:0 0 .25rem;font-size:var(--f-title3)}.login-door>p.small{margin-top:0}.login-forgot h3{margin:0 0 .25rem;font-size:var(--f-subhead);font-weight:600;color:var(--muted)}.login-request h2{font-size:var(--f-headline)}.calm-error .btn,.calm-error button{width:100%}.admin{--chart-1:var(--accent-text);--chart-2:var(--field-border)}.admin-nav{margin-top:-.25rem}.admin-badge{display:inline-flex;align-items:center;justify-content:center;min-width:1.35rem;height:1.35rem;padding:0 .35rem;border-radius:999px;background:var(--accent);color:var(--on-accent);font-size:var(--f-footnote);font-weight:700;line-height:1;box-shadow:inset 0 0 0 1px var(--accent-ring)}.kpi-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:.75rem;gap:.75rem;margin:0 0 var(--group-gap)}@media (min-width:721px){.kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.kpi-grid-3{grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem}.kpi-grid-3 .kpi{min-height:5.5rem;padding:.75rem .8rem .7rem}.kpi{display:flex;flex-direction:column;gap:.2rem;min-height:7rem;padding:.9rem var(--gutter) .85rem;background:var(--card);border-radius:var(--r-card);box-shadow:var(--ring);color:var(--ink);text-decoration:none;min-width:0}.kpi-link{transition:background-color .15s ease}.kpi-link .kpi-label{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.kpi-link .kpi-label:after{content:"";flex:0 0 auto;width:8px;height:8px;margin-right:2px;border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);transform:rotate(-45deg);opacity:.55}@media (hover:hover){.kpi-link:hover{background:color-mix(in srgb,var(--card) 88%,var(--accent))}}.kpi-label{font-size:var(--f-footnote);font-weight:500;color:var(--muted);letter-spacing:.01em}.kpi-value{font-size:var(--f-title1);font-weight:700;line-height:1.1;letter-spacing:-.01em}.kpi-sub{font-size:var(--f-footnote);color:var(--muted);line-height:1.35;margin-top:auto}.kpi-trend{display:block;margin:.15rem 0 .1rem}.kpi-spark{display:block;width:100%;height:2rem;overflow:visible}.spark-line{stroke:var(--muted)}.spark-dot{fill:var(--chart-1)}.spark-ring{fill:var(--card)}.chart-card h2{margin-top:0}.chart-card>.small{margin:0 0 .5rem}.chart{margin:0}.chart svg{display:block;width:100%;height:auto;overflow:visible;font-size:12px}.chart-axis{stroke:var(--field-border);stroke-width:1}.chart-grid{stroke:var(--line);stroke-width:1}.chart-tick{fill:var(--muted);font-size:12px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.chart-label{fill:var(--ink);font-size:12px;font-weight:600}.chart-fill-1{fill:var(--chart-1)}.chart-fill-2{fill:var(--chart-2)}.chart-hit{fill:transparent}@media (hover:hover){.chart-bar:hover .chart-hit{fill:color-mix(in srgb,var(--ink) 5%,transparent)}}.chart-legend{display:flex;gap:1rem;font-size:var(--f-footnote);color:var(--muted);margin:0 0 .35rem}.chart-legend span{display:inline-flex;align-items:center;gap:.35rem}.swatch{display:inline-block;width:10px;height:10px;border-radius:3px}.swatch-1{background:var(--chart-1)}.swatch-2{background:var(--chart-2)}.chart-table{margin:.5rem 0 0;font-size:var(--f-footnote);color:var(--muted)}.chart-table summary{cursor:pointer;min-height:32px;display:inline-flex;align-items:center;color:var(--link)}.chart-table table{width:100%;border-collapse:collapse;margin-top:.4rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.chart-table caption{text-align:left;font-weight:600;color:var(--ink);padding:0 0 .3rem}.chart-table td,.chart-table th{text-align:right;padding:.25rem .4rem;border-bottom:1px solid var(--line)}.chart-table th:first-child,.chart-table th[scope=row]{text-align:left;font-weight:500;color:var(--ink)}.admin-empty{margin:.5rem 0 0}.admin-email,.admin-host{font-weight:600;overflow-wrap:anywhere}.admin-count{margin-left:auto;flex:0 0 auto;font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--ink)}.admin-note{padding:.75rem var(--gutter);margin:0 0 1rem;font-size:var(--f-subhead)}.admin-note-warn{box-shadow:0 0 0 1px var(--star)}.admin-note code{font-size:var(--f-footnote)}.admin-flash h2{margin-top:0}.admin .group-row-static>.group-text{flex:1 1}.admin-rows .admin-row{align-items:center;flex-wrap:wrap}.admin-row-actions{display:flex;gap:.35rem}.admin-row-actions,.admin-rows .admin-row>form{margin-left:auto;flex:0 0 auto}.admin-rows .admin-row>.group-text{flex:1 1 12rem}.admin .quiet{color:var(--accent-text);background:transparent;min-height:44px;padding:0 .75rem;font-weight:600}.admin-destructive.secondary{color:var(--err-on-tint);background:color-mix(in srgb,var(--err) 10%,transparent)}.admin-invite .field{margin:.5rem 0 .9rem}.admin-invite>.small:first-child{margin-top:0}.admin-invite button[type=submit]{width:100%}.admin-chip{margin-left:.5rem;vertical-align:1px}.admin-status{margin-left:auto;flex:0 0 auto}.admin-status-active{color:var(--ok-on-tint);background:color-mix(in srgb,var(--ok) 12%,transparent)}.admin-status-paused{color:var(--err-on-tint);background:color-mix(in srgb,var(--err) 12%,transparent)}.admin-status-reset{color:var(--star-on-tint);background:color-mix(in srgb,var(--star) 14%,transparent)}.page-lead .admin-status{margin-left:0}.admin-families .group-row{padding-top:.75rem;padding-bottom:.75rem}.admin-families .admin-status{margin:0 .35rem 0 0;vertical-align:1px}.admin-families .group-sub{margin-top:.2rem}.wrap>div>h1.admin-title-email{font-size:var(--f-title1);overflow-wrap:anywhere}.admin-actions-card{padding:.25rem var(--gutter)}.admin-action-row{display:flex;align-items:center;gap:.75rem;padding:.75rem 0}.admin-action-row+.admin-action-row{border-top:1px solid var(--line)}.admin-action-row .group-text{flex:1 1 10rem}.admin-action-row button{flex:0 0 auto;white-space:nowrap}.admin-foot{margin:.5rem 0 0}.admin-sheet h2{margin:0 0 .35rem;font-size:var(--f-title3)}.admin-sheet-actions{display:flex;gap:.5rem;margin-top:1rem}.admin-sheet-actions button{flex:1 1;min-height:50px}.admin-feedback-body{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.35}.admin-done .admin-feedback-body{color:var(--muted)}.admin-board{margin-top:var(--group-gap)}.admin-board-lead{margin:0 0 .5rem}.admin .board-kanban{margin-top:0}.admin .board-col{box-shadow:none}.admin-move{min-height:36px;padding:0 .5rem;font-size:var(--f-subhead)}.admin .board-add{margin-top:.75rem;padding:.75rem var(--gutter);border-top:0}.admin .board-add summary{cursor:pointer;font-weight:600;color:var(--accent-text);min-height:32px;display:flex;align-items:center}.admin .board-add form{margin-top:.5rem}.admin .board-add .field{margin:.5rem 0 .75rem}.admin-dot{display:inline-block;width:10px;height:10px;border-radius:50%;flex:0 0 auto;background:var(--muted);vertical-align:middle}.admin-dot-ok{background:var(--ok)}.admin-dot-warn{background:var(--star)}.admin-dot-bad{background:var(--err-solid)}.admin-level{margin-left:auto;flex:0 0 auto;font-size:var(--f-footnote);font-weight:600;color:var(--muted)}.admin-level-ok{color:var(--ok)}.admin-level-warn{color:var(--star)}.admin-level-bad{color:var(--err)}.admin-filters{margin-bottom:.5rem}.admin-count-line{margin:0 var(--gutter) .4rem}.admin-activity .group-row{align-items:flex-start;padding-top:.7rem;padding-bottom:.7rem}.admin-kind{font-weight:600}.admin-kind-family_paused,.admin-kind-ingest_failed,.admin-kind-login_failed{color:var(--err)}.admin-who{color:var(--muted);font-size:var(--f-subhead)}.admin-meta{overflow-wrap:anywhere}.admin-time{margin-left:auto;flex:0 0 auto;font-size:var(--f-footnote);color:var(--muted);white-space:nowrap;padding-top:.15rem}.admin-pager{display:flex;justify-content:space-between;gap:.5rem;margin:.5rem 0 0}.admin-pager-link{display:inline-flex;align-items:center;min-height:44px;padding:0 1rem;border-radius:var(--r-button);text-decoration:none;font-weight:600}.admin-skeleton .sk{background:color-mix(in srgb,var(--ink) 8%,transparent);border-radius:6px;animation:admin-pulse 1.4s ease-in-out infinite}.sk-title{width:7rem;height:2rem;margin:.75rem 0 1rem}.sk-tile{gap:.5rem}.sk-line{height:.8rem;width:80%}.sk-short{width:50%}.sk-number{height:1.6rem;width:40%}.sk-card{padding-top:1rem}.sk-chart{height:9rem;width:100%;margin-top:.75rem}@keyframes admin-pulse{0%,to{opacity:1}50%{opacity:.55}}@media (prefers-reduced-motion:reduce){.admin-skeleton .sk{animation:none}}.admin-gatherings .group-row{padding-top:.7rem;padding-bottom:.7rem}.admin-gathering-counts{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.page-lead .admin-status+a,.page-lead a{color:var(--link)}@media (min-width:721px){.kpi-grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}}.store-order{margin:0 0 .85rem}.wrap .store-order-title{margin:0;font-size:var(--f-subhead);font-weight:600;color:var(--muted)}.store-order-line{margin:.2rem 0 .15rem;font-size:var(--f-title3);font-weight:600;color:var(--ink);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.store-order-asof{margin:0 0 .25rem}.store-order-actions{display:flex;flex-direction:column;gap:.5rem;margin:.75rem 0 .35rem}.store-order-btn,button.store-order-btn{width:100%}a.store-order-btn{display:flex;align-items:center;justify-content:center;min-height:50px;padding:.6rem 1.1rem;border-radius:var(--r-button);font-weight:600;text-align:center;text-decoration:none}a.store-order-part{background:var(--accent-tint);color:var(--accent-text);min-height:44px}.store-order-note{margin:.35rem 0 0}.store-order-back{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.35rem .75rem;margin-top:.75rem;padding-top:.75rem;background:linear-gradient(var(--line),var(--line)) top /100% 1px no-repeat}.store-order-back p{margin:0}.store-unmatched{margin-top:.85rem;padding-top:.75rem;background:linear-gradient(var(--line),var(--line)) top /100% 1px no-repeat}.store-unmatched-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.store-unmatched-title{margin:0;font-weight:600;color:var(--ink)}.store-unmatched-list{list-style:none;margin:.25rem 0 0;padding:0}.store-unmatched-list li{display:flex;align-items:center;justify-content:space-between;gap:.75rem;min-height:44px;margin:0}.store-unmatched-name{min-width:0;overflow-wrap:anywhere}.store-test-note{margin:.75rem 0 0;color:var(--err)}.store-disclosure{margin:.6rem 0 0}.grocery-line.has-store{flex-wrap:wrap}.grocery-store-slot{flex:1 0 100%;min-width:0;padding:0 var(--gutter) .6rem calc(var(--gutter) + 1.85rem + .9rem);margin-top:-.35rem}.store-match{display:flex;flex-wrap:wrap;align-items:center;column-gap:.5rem}.store-match>button.store-match-item{flex:1 1 100%}button.store-candidate,button.store-match-item{flex:1 1 auto;min-width:0;display:flex;align-items:center;gap:.7rem;padding:.3rem 0;min-height:52px;text-align:left;color:var(--ink);font-weight:400;border-radius:10px}.store-thumb{flex:0 0 auto;width:44px;height:44px;border-radius:8px;object-fit:contain;background:#fff;box-shadow:0 0 0 1px color-mix(in srgb,var(--ink) 8%,transparent)}.store-thumb-empty{display:inline-flex;align-items:center;justify-content:center;background:var(--paper);color:var(--muted)}.store-match-text{display:flex;flex-direction:column;gap:.1rem;min-width:0}.store-title{font-size:var(--f-subhead);font-weight:600;line-height:1.3;color:var(--ink);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}.store-meta{display:flex;flex-wrap:wrap;gap:.05rem .55rem;font-size:var(--f-footnote);color:var(--muted);line-height:1.35}.store-price{color:var(--ink);font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.store-in{color:var(--ok);font-weight:600}.store-out{color:var(--err);font-weight:600}.store-asof{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.store-qty{flex:0 0 auto;display:inline-flex;align-items:center;gap:.15rem;margin-left:calc(44px + .7rem)}.store-qty-label{margin-right:.35rem;font-size:var(--f-footnote);color:var(--muted)}button.store-qty-btn{min-width:44px;min-height:44px;padding:0;font-size:1.3rem;line-height:1}.store-qty-n{min-width:1.6rem;text-align:center;font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}button.store-pick-line{padding:0;font-size:var(--f-subhead);gap:.35rem}.store-chev{font-size:1.2rem;line-height:1}.store-sheet-step{flex:0 0 auto;font-size:var(--f-footnote);color:var(--muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.store-sheet-lead{margin:.25rem 0 .75rem}.store-sheet-label{margin:0 0 .15rem;font-size:var(--f-footnote);font-weight:600;color:var(--muted)}.store-sheet-current{margin:0 0 .75rem}.store-candidate.is-current{display:flex;align-items:center;gap:.7rem}.store-sheet-status{margin:.5rem 0 .75rem}.store-candidates{list-style:none;margin:0 0 .75rem;padding:0 .75rem;background:var(--paper);border-radius:var(--r-card)}.store-candidates li{margin:0}.store-candidates li+li{background:linear-gradient(var(--line),var(--line)) top /100% 1px no-repeat}.store-candidates button.store-candidate{width:100%;padding:.5rem 0;min-height:60px}a.store-search-link{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:.6rem 1.1rem;border-radius:var(--r-button);background:var(--accent-tint);color:var(--accent-text);font-weight:600;text-decoration:none}.store-paste{margin-top:.85rem}.store-paste label{margin-top:0}.store-paste-hint{margin:.1rem 0 .4rem}.store-paste-row{display:flex;gap:.5rem;align-items:stretch}.store-paste-row input{flex:1 1 auto;min-width:0}.store-paste-row button{flex:0 0 auto}.store-sheet-foot{display:flex;flex-wrap:wrap;align-items:center;gap:.25rem .75rem;margin-top:1rem}.store-sheet-foot .secondary{margin-left:auto}button.store-forget{color:var(--err)}.store-chosen{margin:.85rem 0 1.15rem}a.store-chosen-open{display:flex;width:100%;margin:.5rem 0 .35rem}@media (hover:hover){button.store-candidate:hover,button.store-match-item:hover{background:color-mix(in srgb,var(--accent) 7%,transparent)}a.store-order-part:hover,a.store-search-link:hover{background:color-mix(in srgb,var(--accent) 20%,transparent)}}@media print{.grocery-store-slot,.store-order,.store-picker{display:none!important}}.auth-page{max-width:30rem}.auth-hero{text-align:center;padding:1.75rem 0 1.5rem}.brand-title.brand-hero{flex-direction:column;justify-content:center;gap:.8rem;margin:0;font-size:var(--f-title1);font-weight:700;letter-spacing:-.01em;line-height:1.1}.brand-hero-tile{border-radius:15px;overflow:hidden;box-shadow:0 1px 2px rgb(44 42 40/.12),0 8px 20px rgb(44 42 40/.14)}.brand-hero-tile,.brand-hero-tile .binder-mark{display:block;width:64px;height:64px}.auth-lead{margin:.4rem auto 0;max-width:22rem;color:var(--muted);font-size:var(--f-callout);line-height:1.4}.auth-card{background:var(--card);border-radius:var(--r-card);padding:1.25rem var(--gutter);margin:0 0 1rem;box-shadow:var(--ring)}.wrap .auth-card h2{margin:0 0 .2rem;font-size:var(--f-title3);font-weight:600}.auth-card-lead{margin:0 0 .9rem}.auth-card label{margin:0 0 .35rem}.auth-card .field{margin:0 0 .9rem}.auth-card form>p:last-child{margin:1rem 0 0}.auth-card .btn,.auth-card button[type=submit]{width:100%}.auth-card>:last-child{margin-bottom:0}.auth-card-center{text-align:center}.auth-page .login-door+.login-door{margin-top:0;padding-top:1.25rem;border-top:0}.wrap .login-door-household h2,.wrap .login-request h2{font-size:var(--f-headline)}.auth-page .login-forgot{margin-top:1.25rem;padding-top:1.1rem;border-top:1px solid var(--line)}.auth-page .login-forgot h3{margin:0 0 .15rem;font-size:var(--f-headline);font-weight:600;color:var(--ink)}.auth-page .login-forgot .small{margin:0 0 .75rem}.auth-alert{margin:0 0 1rem;padding:.75rem var(--gutter);border-radius:var(--r-card);background:color-mix(in srgb,var(--err) 10%,var(--card))}.auth-alert,.auth-ok{font-weight:600;line-height:1.4}.auth-ok{margin:.15rem 0 0;color:var(--ok);font-size:var(--f-subhead)}.auth-switch{text-align:center;margin:.75rem 0 0}.auth-switch a{display:inline-flex;align-items:center;min-height:44px;font-weight:600}.auth-page .public-legal,.reading-frame .public-legal{justify-content:center}.invite-kicker{margin:0 0 .25rem;font-size:var(--f-footnote);font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--accent-text)}.wrap .invite-door h2{font-size:var(--f-title2);font-weight:700;letter-spacing:-.005em}.invite-gets{list-style:none;padding:0;margin:.9rem 0 1.25rem;display:grid;grid-gap:.65rem;gap:.65rem}.invite-gets li{display:flex;gap:.7rem;align-items:flex-start;font-size:var(--f-subhead);line-height:1.4}.invite-gets strong{font-weight:600}.invite-check{flex:0 0 24px;width:24px;height:24px;border-radius:50%;display:inline-grid;place-items:center;background:var(--accent-tint);color:var(--accent-text)}.pw-input{position:relative}.pw-input input{padding-right:4.6rem}.pw-toggle{position:absolute;top:50%;right:2px;transform:translateY(-50%);min-height:44px;min-width:60px;padding:0 .8rem;border:0;border-radius:10px;background:transparent;color:var(--accent-text);font:inherit;font-size:var(--f-subhead);font-weight:600;cursor:pointer}.pw-toggle:focus-visible{outline-offset:-4px}.pw-hint{margin:.4rem 0 0;line-height:1.4}.pw-hint,.pw-meter{font-size:var(--f-footnote);color:var(--muted)}.pw-meter{display:flex;align-items:center;gap:.55rem;min-height:1.4em;margin-top:.4rem}.pw-bars{display:inline-flex;gap:3px}.pw-bars span{width:22px;height:4px;border-radius:2px;background:color-mix(in srgb,var(--ink) 14%,transparent);transition:background-color .15s ease}.pw-meter[data-level="1"] .pw-bars span:first-child{background:var(--err)}.pw-meter[data-level="2"] .pw-bars span:nth-child(-n+2){background:var(--accent-text)}.pw-meter[data-level="3"] .pw-bars span{background:var(--ok)}.pw-meter[data-level="1"] .pw-meter-text{color:var(--err)}.settings-profile{display:flex;align-items:center;gap:.9rem;margin:.25rem 0 var(--group-gap);padding:.9rem var(--gutter);border-radius:var(--r-card);background:var(--card)}.settings-profile .binder-mark{flex:0 0 56px;border-radius:13px;box-shadow:0 1px 2px rgb(44 42 40/.12),0 4px 12px rgb(44 42 40/.1)}.settings-profile-text{min-width:0}.settings-profile-name{margin:0;font-size:var(--f-headline);font-weight:600;overflow-wrap:anywhere}.settings-profile-sub{margin:.15rem 0 0;font-size:var(--f-footnote);color:var(--muted)}.settings-notice{margin:0 0 var(--group-gap);padding:.8rem var(--gutter);border-radius:var(--r-card);background:color-mix(in srgb,var(--ok) 13%,var(--card));font-size:var(--f-subhead);line-height:1.45}.settings-notice-err{background:color-mix(in srgb,var(--err) 11%,var(--card))}.settings-theme-row{flex-wrap:wrap;padding-bottom:.75rem}.settings-theme-row>.segmented{flex-grow:0;flex-shrink:0;flex-basis:calc(100% - 30px - 0.75rem);margin-left:calc(30px + .75rem)}.settings-signout{margin-top:calc(var(--group-gap) + .5rem)}.group-row-external:after{display:none}dialog.settings-page-sheet{top:calc(env(safe-area-inset-top) + 12px);bottom:0;height:auto;max-height:none}@media (min-width:721px){dialog.settings-page-sheet{top:0;bottom:0;height:-moz-fit-content;height:fit-content;max-height:90vh}}.settings-action-sheet{text-align:center}.settings-action-sheet h2,.wrap .settings-action-sheet h2{margin:0 0 .35rem;font-size:var(--f-title3)}.settings-action-sheet>p{margin:0 auto 1.15rem;max-width:24rem;color:var(--muted);font-size:var(--f-subhead);line-height:1.45}.pw-form .field{margin:0 0 .9rem}.pw-form label{margin:0 0 .35rem}.pw-error{margin:0 0 .6rem;font-size:var(--f-subhead)}.pw-note{margin:.25rem 0 0;font-size:var(--f-footnote);line-height:1.4;color:var(--muted)}.pw-actions{margin:1rem 0 0}.pw-actions button{width:100%}.pw-done{text-align:center;padding:1.25rem 0 .5rem}.pw-done-mark{display:inline-grid;place-items:center;width:56px;height:56px;border-radius:50%;background:color-mix(in srgb,var(--ok) 15%,var(--card));color:var(--ok)}.wrap .pw-done h3{font-size:var(--f-title3);margin:.75rem 0 .35rem}.pw-done p{margin:0 auto 1.25rem;max-width:22rem;color:var(--muted);line-height:1.45}.pw-done .btn,.pw-done button{width:100%}.settings-password-card{padding-top:1.25rem}.suggestion-sheet>.small{margin:0 0 .75rem;line-height:1.45}.suggestion-sheet label{margin-top:0}.suggestion-sheet textarea{min-height:8rem}.suggestion-thanks{text-align:center;padding:1rem 0}.suggestion-thanks button{width:100%}.suggestion-box{margin-top:var(--group-gap)}.suggestion-box .card{margin-bottom:0}.suggestion-box .card label{margin-top:0}.suggestion-send{margin:.75rem 0 0}.suggestion-send button{width:100%}.help-topics{list-style:none;padding:0;margin:0 0 var(--group-gap);display:grid;grid-gap:.75rem;gap:.75rem}.help-topic{display:flex;gap:.85rem;padding:1rem var(--gutter);border-radius:var(--r-card);background:var(--card);scroll-margin-top:1rem}.help-num{flex:0 0 32px;width:32px;height:32px;border-radius:50%;display:inline-grid;place-items:center;background:var(--accent-tint);color:var(--accent-text);font-weight:700;font-size:var(--f-callout);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.help-body{min-width:0}.wrap .help-body h2{margin:.15rem 0 .25rem;font-size:var(--f-title3)}.help-lead{margin:0 0 .45rem;line-height:1.45}.help-points{margin:0;padding-left:1.1rem;font-size:var(--f-callout);line-height:1.45}.help-points li+li{margin-top:.3rem}.help-points li::marker{color:var(--accent-text)}.help-go{margin:.35rem 0 -.35rem}.help-go .quiet-link{padding-left:0}.help-go .quiet-link:after{content:"›";margin-left:.3rem;font-size:1.2em;line-height:1}.wrap .help-contact h2{margin-top:0;font-size:var(--f-headline)}.help-contact .small{margin:.2rem 0 .25rem}.help-mail{margin:0 0 -.5rem}.help-mail .quiet-link{padding-left:0}.welcome{max-width:28rem;margin:0 auto}.welcome-hero{text-align:center;padding:1.25rem 0 .5rem}.welcome-mark .binder-mark{display:inline-block;border-radius:17px;box-shadow:0 1px 2px rgb(44 42 40/.12),0 10px 24px rgb(44 42 40/.16)}.wrap .welcome-hero h1{margin:1rem 0 .35rem}.welcome-lead{margin:0 auto;max-width:22rem;color:var(--muted);line-height:1.45}.welcome-steps{list-style:none;padding:0;margin:1.5rem 0;border-radius:var(--r-card);background:var(--card)}.welcome-steps li{display:flex;gap:.9rem;align-items:flex-start;padding:1rem var(--gutter)}.welcome-steps li+li{background-image:linear-gradient(var(--line),var(--line));background-repeat:no-repeat;background-size:calc(100% - var(--gutter) - 44px - .9rem) 1px;background-position:calc(var(--gutter) + 44px + .9rem) 0}.welcome-step-icon{flex:0 0 44px;width:44px;height:44px;border-radius:12px;display:inline-grid;place-items:center;background:var(--accent-tint);color:var(--accent-text)}.welcome-step-text{min-width:0}.welcome-step-title{display:block;font-weight:600}.welcome-step-body{display:block;margin-top:.15rem;color:var(--muted);font-size:var(--f-subhead);line-height:1.4}.welcome-go{margin:0}.welcome-go .btn{width:100%}.welcome-note{text-align:center;margin:.85rem 0 0}.reading-frame{max-width:40rem}.reading-brand{margin:0 0 .75rem}.reading-brand a{display:inline-flex;align-items:center;gap:.5rem;min-height:44px;color:var(--ink);font-size:var(--f-headline);font-weight:700;text-decoration:none}.reading-brand .binder-mark{border-radius:7px}.reading{max-width:36rem}.reading .reading-title{margin:0 0 .6rem;font-size:var(--f-large-title);font-weight:700;letter-spacing:-.015em;line-height:1.12}.reading-lead{margin:0 0 1.5rem;color:var(--muted);font-size:1.1rem;line-height:1.45}.reading h2,.wrap .reading h2{margin:2rem 0 .5rem;font-size:var(--f-title3);font-weight:600}.reading li,.reading p{line-height:1.55}.reading ul{padding-left:1.25rem}.reading li+li{margin-top:.5rem}.reading li::marker{color:var(--accent-text)}.reading code{font-size:.9em;padding:.05em .35em;border-radius:5px;background:color-mix(in srgb,var(--ink) 7%,transparent);overflow-wrap:anywhere}.reading-summary{margin:0 0 .5rem;padding:1rem var(--gutter);border-radius:var(--r-card);background:var(--card);box-shadow:var(--ring)}.reading-kicker{margin:0 0 .4rem;font-size:var(--f-footnote);font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--accent-text)}.reading-summary ul{margin:0}.reading-fine{margin-top:2rem;font-size:var(--f-subhead);color:var(--muted)}.reading-fine a{display:inline-flex;align-items:center;min-height:44px}.reading-cta{margin:1.25rem 0 0}.reading-cta .btn{width:100%}.reading-files{list-style:none;padding:0}.reading-files li+li{margin-top:0}.reading-files a{display:inline-flex;align-items:center;min-height:44px;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:var(--f-callout)}.reading-pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:var(--f-footnote);line-height:1.5}.calm-error{max-width:26rem;margin:0 auto;padding-top:12vh;text-align:center}main:not(.wrap)>.calm-error{padding:calc(16vh + env(safe-area-inset-top)) max(var(--gutter),env(safe-area-inset-right)) 3rem max(var(--gutter),env(safe-area-inset-left))}.calm-error-mark{display:inline-grid;place-items:center;width:64px;height:64px;border-radius:50%;background:var(--accent-tint);color:var(--accent-text)}.calm-error h1{margin:.85rem 0 .4rem;font-size:var(--f-title1);font-weight:700;letter-spacing:-.01em;line-height:1.15}.calm-error>p{margin:0 0 1.25rem;color:var(--muted);line-height:1.45}.calm-error h1:focus{outline:none}.calm-error .calm-error-alt{margin:-.5rem 0 0}.calm-error-alt a{display:inline-flex;align-items:center;min-height:44px;padding:0 .75rem;font-weight:600}.calm-error .calm-error-code{margin-top:1.5rem;font-size:var(--f-footnote);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.stovfam-splash .mark-link{display:inline-flex;flex-direction:column;align-items:center;padding:1.25rem 1.5rem;border-radius:18px;text-decoration:none;-webkit-tap-highlight-color:transparent;transition:opacity .15s ease}.stovfam-splash .mark-link .mark{margin:0;padding-left:.2em;font-size:clamp(2.75rem,13vw,4rem);font-weight:200;letter-spacing:.2em;line-height:1.1}.stovfam-splash .divider{display:block;width:72px;height:1px;margin:1.1rem auto .9rem;background:linear-gradient(90deg,transparent,#d4af37,transparent)}.stovfam-splash .splash-hint{font-size:var(--f-footnote);font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:rgb(244 228 166/.75)}.stovfam-splash .mark-link:active{opacity:.75}.stovfam-splash .mark-link:focus-visible{outline:3px solid #f4e4a6;outline-offset:4px}.stovfam-splash .splash-discover a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;min-width:44px;padding:0 .75rem;color:rgb(244 228 166/.85);-webkit-text-decoration-color:rgb(244 228 166/.4);text-decoration-color:rgb(244 228 166/.4)}.tab:active{opacity:.6}@media (prefers-reduced-motion:reduce){.pw-bars span,.stovfam-splash .mark-link{transition:none}}.avatar{display:inline-grid;place-items:center;flex:0 0 auto;width:32px;height:32px;border-radius:50%;background:var(--accent-tint);color:var(--accent-text);font-size:var(--f-footnote);font-weight:700;line-height:1}.avatar-small{width:26px;height:26px}.week-status{display:flex;flex-wrap:wrap;align-items:center;gap:.3rem .6rem;margin:-.1rem 0 1rem}.week-range{font-size:var(--f-title3);font-weight:600;color:var(--ink);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.week-pill.is-locked{background:color-mix(in srgb,var(--ok) 15%,transparent);color:var(--ok-on-tint)}.week-status .small{font-size:var(--f-footnote)}.week-hint{margin:0 0 .85rem}.week-hint strong{color:var(--ink);font-weight:600}.week-start{padding:1.35rem var(--gutter) 1.15rem}.wrap .week-start h2{margin:0 0 .3rem;font-size:var(--f-title2);line-height:1.2}.week-start-lead{margin:0}.week-start-note{margin:.85rem 0 0;text-align:center}.week-start>p:has(>button){margin:0}.week-lock button[type=submit],.week-locked .btn,.week-start button[type=submit]{width:100%}.stepper{display:flex;flex-direction:column;align-items:center;gap:.45rem;margin:1.35rem 0 1.25rem}.stepper-label{font-size:var(--f-footnote);font-weight:600;letter-spacing:.03em;text-transform:uppercase;color:var(--muted)}.stepper-control{display:inline-flex;align-items:center;gap:1.1rem}button.stepper-btn{width:52px;height:52px;min-width:52px;min-height:52px;padding:0;border-radius:50%}.stepper-control input{width:4.25rem;height:3.75rem;min-height:0;padding:0;text-align:center;font-size:var(--f-large-title);font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;-moz-appearance:textfield}.stepper-control input::-webkit-inner-spin-button,.stepper-control input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.stepper-help{margin:.15rem 0 0;text-align:center;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.week-meals{list-style:none;margin:0 0 1.25rem;padding:0;display:grid;grid-gap:.75rem;gap:.75rem}.week-meals>.week-meal{margin:0;padding:.9rem var(--gutter) .3rem}.week-meal-main{display:flex;align-items:flex-start;gap:.85rem}.week-thumb{flex:0 0 64px;width:64px;height:64px;border-radius:10px;overflow:hidden;display:grid;place-items:center;background:var(--paper);color:var(--muted);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--ink) 8%,transparent)}.week-thumb img{display:block;width:100%;height:100%;object-fit:cover}.week-meal-text{flex:1 1 auto;min-width:0}.week-night{margin:.05rem 0 0;font-size:var(--f-footnote);font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.wrap .week-meal-title{margin:.1rem 0 .35rem;font-size:var(--f-title3);font-weight:600;line-height:1.22;color:var(--ink);overflow-wrap:anywhere}.week-meal-title a{color:inherit;text-decoration:none}.week-badges{display:flex;flex-wrap:wrap;gap:.3rem;margin:0}.week-badge.is-busy,.week-badge.is-doubled{background:var(--accent-tint);color:var(--accent-text)}label.week-double{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:52px;margin:.85rem 0 0;padding:.55rem 0 .25rem;border-top:1px solid var(--line);font-size:var(--f-body);font-weight:600;color:var(--ink);cursor:pointer}.week-double-text{display:flex;flex-direction:column;gap:1px;min-width:0}.week-double-text .small{font-size:var(--f-footnote);font-weight:400}.week-meal-tools{display:flex;flex-wrap:wrap;align-items:center;gap:0 .25rem;margin:.15rem -.5rem 0}.week-meal:not(:has(.week-double)) .week-meal-tools{margin-top:.55rem;border-top:1px solid var(--line);padding-top:.15rem;margin-left:0;margin-right:0}.week-meal-tools>form{margin:0}.week-meal-tools button.quiet{gap:.35rem;padding:.35rem .5rem;font-size:var(--f-subhead)}.week-meal:not(:has(.week-double)) .week-meal-tools button.quiet{padding-left:0}.week-switch{flex:0 1 auto;min-width:0;max-width:100%}.week-switch[open]{flex-basis:100%}.week-switch>summary{display:inline-flex;align-items:center;gap:.35rem;min-height:44px;padding:0 .5rem;border-radius:8px;list-style:none;cursor:pointer;color:var(--accent-text);font-size:var(--f-subhead);font-weight:600}.week-switch>summary::-webkit-details-marker{display:none}.week-switch>summary:after{content:"";width:7px;height:7px;margin-top:-3px;border-right:2px solid;border-bottom:2px solid;transform:rotate(45deg);opacity:.7}.week-switch[open]>summary:after{transform:rotate(-135deg);margin-top:3px}.week-switch-form{display:flex;gap:.5rem;align-items:stretch;padding:.15rem .5rem .75rem}.week-switch-form select{flex:1 1;min-width:0;width:100%;text-overflow:ellipsis}.week-switch-form button{flex:0 0 auto}.week-lock-note{margin:0 0 .6rem}.week-lock{position:-webkit-sticky;position:sticky;bottom:calc(var(--tabbar-h) + env(safe-area-inset-bottom) + 12px);z-index:5;margin:0 0 var(--group-gap)}.week-lock button[type=submit]{box-shadow:inset 0 0 0 1px var(--accent-ring),0 8px 24px rgb(44 42 40/.22)}@media (min-width:721px){.week-lock{bottom:16px}}.week-locked{text-align:center;padding:1.35rem var(--gutter) 1.15rem}.week-locked-icon{display:inline-flex;color:var(--ok)}.wrap .week-locked h2{margin:.35rem 0 .25rem;font-size:var(--f-title2)}.week-locked>p.small{margin:0 auto 1rem;max-width:22rem}.week-locked>p:last-child{margin:0}.wrap .week-empty h2{margin:0 0 .25rem;font-size:var(--f-headline)}.week-empty p{margin:0}.week-replan{padding:0;margin:.25rem 0 var(--group-gap)}.week-replan>summary{display:flex;flex-direction:column;justify-content:center;gap:1px;min-height:56px;padding:.6rem calc(var(--gutter) + 1.25rem) .6rem var(--gutter);position:relative;list-style:none;cursor:pointer;border-radius:var(--r-card)}.week-replan>summary::-webkit-details-marker{display:none}.week-replan>summary:after{content:"";position:absolute;right:var(--gutter);top:50%;width:8px;height:8px;margin-top:-6px;border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);transform:rotate(45deg);opacity:.6}.week-replan[open]>summary:after{transform:rotate(-135deg);margin-top:-1px}.week-replan-title{font-size:var(--f-body);font-weight:600;color:var(--accent-text)}.week-replan>summary .small{font-size:var(--f-footnote)}.week-replan-form{padding:0 var(--gutter) 1rem}.week-replan-form .stepper{margin-top:.5rem}.week-replan-form p{text-align:center;margin:0 0 .75rem}.week-replan-form button{width:100%}.grocery-page .page-lead{margin-bottom:.85rem;font-size:var(--f-subhead)}.grocery-top{display:flex;margin:0 0 .85rem}.store-picker{margin:0;padding:0}.store-picker>summary{display:inline-flex;align-items:center;gap:.35rem;min-height:44px;padding:0 .95rem;border-radius:999px;background:color-mix(in srgb,var(--ink) 7%,transparent);font-size:var(--f-subhead);list-style:none;cursor:pointer}.store-picker>summary::-webkit-details-marker{display:none}.store-picker>summary:after{content:"";width:7px;height:7px;margin:-3px 0 0 .15rem;border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);transform:rotate(45deg)}.store-picker-label{font-weight:400;color:var(--muted)}.store-picker-value{color:var(--ink);font-weight:600}.store-picker[open]>summary:before{content:"";position:fixed;inset:0;z-index:80;background:var(--scrim);animation:scrim-in .2s ease-out;cursor:default}.store-picker-form.sheet{position:fixed;left:0;right:0;bottom:0;z-index:81;margin:0 auto}@media (min-width:721px){.store-picker-form.sheet{inset:0;height:-moz-fit-content;height:fit-content;margin:auto}}@media (prefers-reduced-motion:reduce){.store-picker[open]>summary:before{animation:none}}.store-options{margin:0 0 .5rem;padding:0;border:0;background:var(--paper);border-radius:var(--r-card)}label.store-option{display:flex;align-items:center;gap:.75rem;min-height:52px;margin:0;padding:.5rem var(--gutter);font-size:var(--f-body);font-weight:400;color:var(--ink);cursor:pointer}label.store-option+label.store-option{background:linear-gradient(var(--line),var(--line)) var(--gutter) 0 /calc(100% - var(--gutter)) 1px no-repeat}.store-option-text{display:flex;flex-direction:column;gap:1px;flex:1 1 auto;min-width:0}.store-option-sub{font-size:var(--f-footnote);color:var(--muted)}label.store-option input[type=radio]{-webkit-appearance:none;-moz-appearance:none;appearance:none;order:2;flex:0 0 22px;width:22px;height:22px;min-height:0;margin:0;padding:0;border:0;border-radius:6px;background:transparent}label.store-option input[type=radio]:checked{background:var(--accent-text);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5' fill='none' stroke='black' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center /22px 22px no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5' fill='none' stroke='black' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center /22px 22px no-repeat}label.store-option:has(input:checked){font-weight:600}label.store-option:has(input:focus-visible){outline:3px solid var(--focus);outline-offset:-3px;border-radius:var(--r-card)}.store-picker-form input[name=zip]{max-width:9rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.store-picker-form>p.small{margin:.75rem 0}.store-picker-form>p:last-child{margin:0}.store-picker-form button[type=submit]{width:100%}.grocery-add-item{margin:0 0 .25rem}.grocery-add-row{display:flex;align-items:center;gap:.5rem;padding:.25rem .3rem .25rem .8rem;background:var(--card);border-radius:var(--r-card);box-shadow:inset 0 0 0 1px var(--field-border)}.grocery-add-row:focus-within{outline:3px solid var(--focus);outline-offset:-1px}.grocery-add-plus{display:inline-flex;flex:0 0 auto;color:var(--accent-text)}.grocery-add-row input{flex:1 1 auto;min-width:0;width:auto;min-height:44px;padding:.5rem .15rem;border:0;background:transparent}.grocery-add-row input:focus-visible{outline:none}button.grocery-add-btn{flex:0 0 auto;min-height:44px;padding:.5rem 1rem}.grocery-add-status{min-height:1.2rem;margin:.3rem .25rem 0;font-size:var(--f-footnote)}.grocery-add-status.is-ok{color:var(--ok)}.grocery-add-status.is-error{color:var(--err)}.grocery-tobuy-head{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem;margin:.75rem 0 .45rem}.wrap .grocery-head{margin:0;font-size:var(--f-title2);font-weight:700;color:var(--ink)}.grocery-progress-text{flex:0 0 auto;font-size:var(--f-subhead);color:var(--muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.grocery-progress{height:6px;margin:0 0 1rem;border-radius:3px;overflow:hidden;background:color-mix(in srgb,var(--ink) 10%,transparent)}.grocery-progress>span{display:block;height:100%;border-radius:3px;background:var(--ok);transition:width .3s ease}.grocery-done{color:var(--ink);font-weight:600}.grocery-done:before{content:"✓  ";color:var(--ok);font-weight:700}.grocery-aisle-title{margin:1.1rem 0 .4rem}.grocery-aisles>.grocery-aisle:first-child .grocery-aisle-title{margin-top:.35rem}.grocery-list{list-style:none;margin:0 0 var(--group-gap);padding:0;background:var(--card);border-radius:var(--r-card);box-shadow:var(--ring)}.grocery-aisles .grocery-list{margin-bottom:.25rem}.grocery-line{display:flex;align-items:stretch;margin:0}.grocery-line+.grocery-line{background-image:linear-gradient(var(--line),var(--line));background-repeat:no-repeat;background-size:calc(100% - var(--gutter) - 28px - .85rem) 1px;background-position:calc(var(--gutter) + 28px + .85rem) 0}.grocery-line .grocery-row{flex:1 1 auto;min-width:0;min-height:3.6rem;margin:0;padding:.7rem var(--gutter);gap:.85rem;font-size:var(--f-title3);font-weight:500;line-height:1.25;color:var(--ink)}.grocery-line .grocery-row.strike{color:var(--ink)}.grocery-text{display:block;min-width:0;overflow-wrap:anywhere}.grocery-name{background:linear-gradient(currentColor,currentColor) 0 58% /0 1.5px no-repeat;-webkit-box-decoration-break:clone;box-decoration-break:clone;transition:background-size .22s ease,color .15s ease}.grocery-line.is-checked .grocery-name{background-size:100% 1.5px;color:var(--muted)}.grocery-qty{display:block;margin-top:.1rem;font-size:var(--f-subhead);font-weight:400;color:var(--muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.grocery-line.is-checked .grocery-qty:not(.err){opacity:.85}.grocery-line[aria-busy=true] .grocery-row{opacity:.8}.grocery-row input.grocery-check{-webkit-appearance:none;-moz-appearance:none;appearance:none;flex:0 0 28px;width:28px;height:28px;min-width:28px;margin:0;padding:0;border:2px solid var(--field-border);border-radius:50%;background:transparent 50%/16px 16px no-repeat;cursor:pointer;transition:background-color .15s ease,border-color .15s ease}.grocery-row input.grocery-check:checked{border-color:var(--accent);background-color:var(--accent);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3.5 8.4l2.9 2.9 6-6.3' fill='none' stroke='%23FFF8EE' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}html[data-theme=dark] .grocery-row input.grocery-check:checked{border-color:var(--accent-text);background-color:var(--accent-text);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3.5 8.4l2.9 2.9 6-6.3' fill='none' stroke='%232A3340' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}@media (prefers-color-scheme:dark){html:not([data-theme]) .grocery-row input.grocery-check:checked{border-color:var(--accent-text);background-color:var(--accent-text);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3.5 8.4l2.9 2.9 6-6.3' fill='none' stroke='%232A3340' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}}.grocery-row input.grocery-check:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.card-check{flex:0 0 28px;width:28px;height:28px;border:2px solid var(--field-border);border-radius:50%;background:transparent 50%/16px 16px no-repeat}button[aria-pressed=true]>.card-check{border-color:var(--accent);background-color:var(--accent);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3.5 8.4l2.9 2.9 6-6.3' fill='none' stroke='%23FFF8EE' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}html[data-theme=dark] button[aria-pressed=true]>.card-check{border-color:var(--accent-text);background-color:var(--accent-text);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3.5 8.4l2.9 2.9 6-6.3' fill='none' stroke='%232A3340' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}@media (prefers-color-scheme:dark){html:not([data-theme]) button[aria-pressed=true]>.card-check{border-color:var(--accent-text);background-color:var(--accent-text);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3.5 8.4l2.9 2.9 6-6.3' fill='none' stroke='%232A3340' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}}.extras-used{margin:-.15rem 0 .45rem;padding:0 var(--gutter);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.extras-held>form{margin-left:auto;flex:0 0 auto}@keyframes grocery-pop{0%{transform:scale(.82)}55%{transform:scale(1.14)}to{transform:scale(1)}}.grocery-line.just-checked .grocery-check{animation:grocery-pop .26s cubic-bezier(.2,.8,.2,1)}@media (prefers-reduced-motion:reduce){.grocery-line.just-checked .grocery-check{animation:none}.grocery-name,.grocery-progress>span{transition:none}}.grocery-line .grocery-remove{display:flex;align-items:center;gap:.15rem;padding:0 .35rem 0 0}button.grocery-more{color:var(--muted);min-width:44px;justify-content:center;padding:0}.grocery-remove-confirm .linkish.danger{padding:0 .5rem}.grocery-page .grocery-store-slot{padding:0 var(--gutter) .2rem calc(var(--gutter) + 28px + .85rem);margin-top:-.25rem}.grocery-page .grocery-line.has-store .grocery-row{padding-bottom:.2rem;min-height:3rem}.grocery-page button.store-pick-line{min-height:40px;padding-bottom:2px}.grocery-tobuy .store-order{margin:0 0 .5rem;padding:1.1rem var(--gutter) 1rem}.grocery-tobuy .store-order-line{font-size:var(--f-title2);line-height:1.25}.store-unmatched-more>summary{display:inline-flex;align-items:center;gap:.35rem;min-height:44px;list-style:none;cursor:pointer;color:var(--accent-text);font-size:var(--f-subhead);font-weight:600}.store-unmatched-more>summary::-webkit-details-marker{display:none}.store-unmatched-more>summary:after{content:"";width:7px;height:7px;margin-top:-3px;border-right:2px solid;border-bottom:2px solid;transform:rotate(45deg)}.store-unmatched-more[open]>summary:after{transform:rotate(-135deg);margin-top:3px}.store-unmatched-list li+li{background:linear-gradient(var(--line),var(--line)) top /100% 1px no-repeat}.store-unmatched-list a{flex:0 0 auto;display:inline-flex;align-items:center;min-height:44px;color:var(--link);font-size:var(--f-subhead);font-weight:600;text-decoration:none}.grocery-house{margin:var(--group-gap) 0;padding:0}.grocery-house>summary{display:flex;align-items:center;justify-content:space-between;gap:.75rem;min-height:60px;padding:.65rem var(--gutter);list-style:none;cursor:pointer;border-radius:var(--r-card)}.grocery-house>summary::-webkit-details-marker{display:none}.grocery-house>summary:after{content:"";flex:0 0 auto;width:8px;height:8px;margin-top:-4px;border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);transform:rotate(45deg);opacity:.6}.grocery-house[open]>summary:after{transform:rotate(-135deg);margin-top:4px}.grocery-house-text{display:flex;flex-direction:column;gap:1px;min-width:0}.grocery-house-title{font-size:var(--f-headline);font-weight:600;color:var(--ink)}.grocery-house-text .small{font-size:var(--f-footnote)}.grocery-house>p.small{margin:0 var(--gutter) .6rem}.grocery-house .grocery-list{margin:0;border-radius:0 0 var(--r-card) var(--r-card);background:transparent;box-shadow:none;border-top:1px solid var(--line)}.grocery-house .grocery-row{font-size:var(--f-body);min-height:3.1rem}.grocery-pull{list-style:none;display:flex;flex-wrap:wrap;gap:.35rem;margin:0 var(--gutter) .85rem;padding:0}.grocery-pull li{margin:0;padding:.2rem .65rem;border-radius:999px;background:color-mix(in srgb,var(--ok) 13%,transparent);color:var(--ink);font-size:var(--f-footnote);font-weight:600;overflow-wrap:anywhere}.grocery-pull-place{color:var(--muted);font-weight:400}.wrap .grocery-share-title{margin-top:var(--group-gap)}.grocery-page .grocery-share{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:.5rem;gap:.5rem;margin:0 0 var(--group-gap)}.grocery-page .grocery-share>button{flex-direction:column;gap:.25rem;min-height:64px;padding:.5rem .35rem;font-size:var(--f-subhead)}.grocery-page .grocery-share>p{grid-column:1/-1;margin:0}.grocery-page .grocery-share>button:last-of-type:not(:has(svg)):before{content:"";width:20px;height:20px;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 9V3.5h10V9M7 17.5H4.5v-7a1.5 1.5 0 0 1 1.5-1.5h12a1.5 1.5 0 0 1 1.5 1.5v7H17M7 14h10v6.5H7z' fill='none' stroke='black' stroke-width='1.8' stroke-linejoin='round'/%3E%3C/svg%3E") center /20px 20px no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 9V3.5h10V9M7 17.5H4.5v-7a1.5 1.5 0 0 1 1.5-1.5h12a1.5 1.5 0 0 1 1.5 1.5v7H17M7 14h10v6.5H7z' fill='none' stroke='black' stroke-width='1.8' stroke-linejoin='round'/%3E%3C/svg%3E") center /20px 20px no-repeat}.wrap .grocery-page .grocery-stores h2{font-size:var(--f-title3);color:var(--ink);margin:var(--group-gap) 0 .25rem}.grocery-page .grocery-stores>p.small{margin:0 0 .6rem;font-size:var(--f-footnote)}.grocery-page .store-grid{display:block;margin:0 0 var(--group-gap);background:var(--card);border-radius:var(--r-card);box-shadow:var(--ring)}.grocery-page .store-grid li{position:relative;padding:.55rem calc(var(--gutter) + 1rem) .6rem var(--gutter)}.grocery-page .store-grid li+li{background:linear-gradient(var(--line),var(--line)) var(--gutter) 0 /calc(100% - var(--gutter)) 1px no-repeat}.grocery-page .store-grid a{display:block;min-height:0;padding:0;background:none;box-shadow:none;border-radius:0;color:var(--ink);font-weight:600}.grocery-page .store-grid a:after{content:"";position:absolute;inset:0;border-radius:inherit}.grocery-page .store-grid li:before{content:"↗";position:absolute;right:var(--gutter);top:50%;transform:translateY(-50%);color:var(--muted);font-weight:400}.grocery-page .store-grid .small{display:block;margin:.1rem 0 0;font-size:var(--f-footnote)}.grocery-page .store-chosen h2{margin-top:var(--group-gap)}.grocery-empty{text-align:center;padding:1.5rem var(--gutter) 1.15rem;margin-top:.75rem}.grocery-empty-icon{display:inline-grid;place-items:center;width:60px;height:60px;border-radius:50%;background:var(--accent-tint);color:var(--accent-text)}.wrap .grocery-empty h2{margin:.75rem 0 .3rem;font-size:var(--f-title3)}.grocery-empty>p.small{margin:0 auto 1rem;max-width:22rem}.grocery-empty>p:last-child{margin-bottom:0}.grocery-empty .btn{width:100%}.kitchen-page .page-lead{margin-bottom:1rem}.kitchen-page .callout{margin:0 0 1rem}.stock-add.card{padding:1rem var(--gutter) 1.1rem;margin:0 0 .75rem}.wrap .stock-add h2{margin:0 0 .6rem;font-size:var(--f-headline)}.stock-add-row{display:grid;grid-template-columns:5.25rem minmax(0,1fr) minmax(0,1.15fr);grid-gap:.5rem;gap:.5rem;margin-top:.6rem}.stock-add-row label{display:flex;flex-direction:column;gap:.3rem;margin:0;font-size:var(--f-footnote);color:var(--muted)}.stock-add-row input,.stock-add-row select{color:var(--ink)}.stock-add>p:last-child{margin:.85rem 0 0}.voice-door{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.25rem .75rem;margin:0 0 1.1rem;padding:0 var(--gutter)}.voice-door-text{flex:1 1 10rem;min-width:0;margin:0;font-size:var(--f-subhead);color:var(--muted)}.voice-door-actions{display:flex;align-items:center;gap:.15rem;flex:0 0 auto;margin-left:-.1rem}.voice-panel-lead{margin:-.25rem 0 .75rem}.voice-door-actions .voice-speak{padding-inline:1.1rem}.kitchen-page .voice-saved{margin:0 0 .75rem}.kitchen-page .voice-panel{margin:0 0 var(--group-gap)}.voice-thread{list-style:none;margin:0 0 .9rem;padding:0;display:flex;flex-direction:column;gap:.45rem}.voice-line{max-width:36rem;margin:0;padding:.6rem .85rem;border-radius:1rem;line-height:1.35}.voice-line-her{align-self:flex-start;border:1px solid var(--field-border);background:var(--card);font-weight:600}.voice-line-you{align-self:flex-end;background:color-mix(in srgb,var(--accent) 16%,transparent)}.voice-thread .voice-line-her:last-child{font-size:var(--f-title3)}.wrap .voice-panel-title{margin:0 0 .5rem;font-size:var(--f-headline);color:var(--ink)}.voice-talk,.voice-talk>label{margin-top:0}.voice-talk>label.voice-prompt{font-size:var(--f-title3);font-weight:600;line-height:1.3;margin-bottom:.6rem}.voice-talk textarea.is-heard{border-color:var(--ok);box-shadow:0 0 0 1px var(--ok)}.voice-buttons{margin-top:.6rem;align-items:stretch}.voice-buttons>button{flex:1 1 8rem}.voice-buttons svg{flex:0 0 auto}button.voice-stop{color:var(--err-on-tint);background:color-mix(in srgb,var(--err) 12%,transparent)}.voice-status{margin:.5rem 0 0}.voice-listening{display:flex;align-items:center;gap:.65rem;margin:0 0 .75rem;padding:.7rem .85rem;border-radius:10px;background:color-mix(in srgb,var(--err) 10%,transparent);color:var(--ink);font-size:var(--f-subhead)}.voice-dot{flex:0 0 auto;width:12px;height:12px;border-radius:50%;background:var(--err-solid);animation:voice-pulse 1.2s ease-in-out infinite}@keyframes voice-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.45;transform:scale(.75)}}@media (prefers-reduced-motion:reduce){.voice-dot{animation:none}}.voice-chips{display:flex;flex-wrap:wrap;gap:.5rem;margin:1rem 0 .25rem}.voice-chips-lead{margin:1rem 0 0}.voice-chips-lead+.voice-chips{margin-top:.4rem}.voice-close{margin-top:.25rem}.voice-readback{margin-bottom:1.25rem}.wrap .voice-readback h2{margin-top:0}.voice-readback .voice-spoken{font-size:var(--f-body)}.voice-readback .voice-row .row label{flex:1 1 6rem;margin-top:.35rem}.voice-readback>form:last-child button{width:100%}.stock-segments{margin:0 0 .85rem}.stock-panel[hidden]{display:none}.stock-list.group{margin-bottom:var(--group-gap)}.stock-item{position:relative}.stock-item>details>summary.group-row{min-height:64px;padding-right:calc(var(--gutter) + 100px)}.stock-amount{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-size:var(--f-subhead)}.stock-item[aria-busy=true] .stock-amount{opacity:.7}.stock-step{position:absolute;top:10px;right:calc(var(--gutter) - 4px);display:flex;gap:8px}button.stock-step-btn{width:44px;height:44px;min-width:44px;min-height:44px;padding:0;border-radius:50%}.stock-edit-body{flex-wrap:wrap;justify-content:space-between;gap:.5rem 1rem;padding:0 var(--gutter) .85rem}.stock-edit-body,.stock-qty-form{display:flex;align-items:flex-end}.stock-qty-form{gap:.5rem}.stock-qty-form label{margin:0}.stock-qty-form input{display:block;width:6.5rem;margin-top:.3rem}.stock-empty.card{padding:1rem var(--gutter)}.stock-empty-title{margin:0 0 .2rem;font-weight:600;color:var(--ink)}.stock-empty .small{margin:0}.table-detail .callout,.table-page .callout{margin:0 0 1rem}.table-groups{list-style:none;margin:0 0 var(--group-gap);padding:0;background:var(--card);border-radius:var(--r-card);box-shadow:var(--ring)}.table-groups>li{margin:0}.table-groups>li+li{background:linear-gradient(var(--line),var(--line)) calc(var(--gutter) + 48px + .85rem) 0 /calc(100% - var(--gutter) - 48px - .85rem) 1px no-repeat}.table-group{display:flex;align-items:center;gap:.85rem;min-height:72px;padding:.8rem var(--gutter);border-radius:0;color:var(--ink);text-decoration:none}.table-groups>li:first-child>.table-group{border-radius:var(--r-card) var(--r-card) 0 0}.table-groups>li:last-child>.table-group{border-radius:0 0 var(--r-card) var(--r-card)}.table-groups>li:only-child>.table-group{border-radius:var(--r-card)}.table-group:after{content:"";flex:0 0 auto;width:9px;height:9px;border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);transform:rotate(-45deg);opacity:.55}.table-group-badge{display:grid;place-items:center;flex:0 0 48px;width:48px;height:48px;border-radius:50%;background:var(--accent-tint);color:var(--accent-text);font-size:var(--f-headline);font-weight:700;letter-spacing:.02em}.table-group-text{display:flex;flex-direction:column;gap:2px;flex:1 1 auto;min-width:0}.table-group-name{font-size:var(--f-headline);font-weight:600;overflow-wrap:anywhere}.table-group-sub{font-size:var(--f-subhead);color:var(--muted)}.table-empty-title{margin:0 0 .2rem;font-weight:600;color:var(--ink)}.table-empty .small{margin:0}.wrap .table-join h2,.wrap .table-share h2,.wrap .table-start h2{margin:0 0 .25rem;font-size:var(--f-title3)}.table-join>p.small,.table-start>p.small{margin:0 0 .25rem}.table-join-row{display:flex;gap:.5rem;align-items:stretch}.table-join-row input{flex:1 1 auto;min-width:0;width:auto}.table-join-row button{flex:0 0 auto}#table-join-code{text-transform:uppercase;letter-spacing:.06em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}#table-join-code::placeholder{letter-spacing:.06em}.table-compose{padding:0;margin:0 0 var(--group-gap)}.table-compose>summary{display:flex;align-items:center;gap:.75rem;min-height:64px;padding:.7rem var(--gutter);list-style:none;cursor:pointer;border-radius:var(--r-card)}.table-compose>summary::-webkit-details-marker{display:none}.table-compose-plus{display:grid;place-items:center;flex:0 0 40px;width:40px;height:40px;border-radius:50%;background:var(--accent-tint);color:var(--accent-text);transition:transform .15s ease}.table-compose[open] .table-compose-plus{transform:rotate(45deg)}.table-compose-text{display:flex;flex-direction:column;gap:1px;min-width:0}.table-compose-title{font-size:var(--f-headline);font-weight:600;color:var(--ink)}.table-compose-text .small{font-size:var(--f-footnote)}.table-compose>form{padding:0 var(--gutter) 1rem}.table-compose .share-picker>label:first-of-type{margin-top:0}.table-compose>form>p:last-child{margin-bottom:0}.table-compose input[type=radio]{accent-color:var(--accent-text)}.table-compose>form button[type=submit]{width:100%}@media (prefers-reduced-motion:reduce){.table-compose-plus{transition:none}}.table-share textarea{min-height:4.5rem}.table-posts{display:grid;grid-gap:.85rem;gap:.85rem;margin:0 0 var(--group-gap)}.table-posts>.table-post{margin:0}.table-post .table-post-photo{display:block}.table-post.recipe-share .recipe-photo{height:auto;aspect-ratio:16/9;max-height:15rem}.table-post .share-body{padding:.9rem var(--gutter) .85rem}.table-post:not(.recipe-share) .share-body{padding:0}.table-post .post-meta{display:flex;align-items:center;gap:.5rem;margin:0 0 .55rem;font-size:var(--f-subhead)}.post-who{font-weight:600;color:var(--ink)}.post-when{color:var(--muted);font-size:var(--f-footnote);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.table-post .recipe-line{margin:0 0 .35rem;font-size:var(--f-title3);line-height:1.25}.recipe-line-copy{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .75rem}.recipe-line-copy button{font-size:var(--f-subhead)}.table-post .note{font-size:var(--f-body);line-height:1.45;overflow-wrap:anywhere}.circle-replies{list-style:none;display:grid;grid-gap:.65rem;gap:.65rem;margin:.85rem 0 0;padding:.75rem 0 0;border-top:1px solid var(--line)}.circle-replies>.circle-reply{display:flex;gap:.6rem;margin:0;padding:0;border:0}.circle-replies .circle-reply>div{min-width:0;flex:1 1 auto}.circle-replies .post-meta{margin:.1rem 0}.table-post .reply-form{display:flex;align-items:flex-end;gap:.5rem;margin-top:.75rem}.table-post .reply-form textarea{flex:1 1 auto;min-width:0;min-height:44px;max-height:9rem;padding:.55rem .8rem;border-radius:22px;resize:none;field-sizing:content}.table-post .reply-form button{flex:0 0 auto;border-radius:22px}.roster-card{margin-bottom:var(--group-gap)}.roster-card .names{background:transparent;box-shadow:none;margin:.35rem 0 0}.roster-card .names>li{gap:.6rem;padding-left:0;padding-right:0}.roster-card .names>li+li{background-position:0 0;background-size:100% 1px}.roster-card .names .small{margin-left:-.35rem}.owner-invite{margin-top:.85rem;padding-top:.85rem;border-top:1px solid var(--line)}.wrap .owner-invite-title{margin:0 0 .35rem;font-size:var(--f-headline);color:var(--ink)}.owner-invite>p.small{margin:0 0 .6rem}.owner-invite form{margin-top:.6rem}.owner-invite-email label{margin-top:.85rem}.join-code-row label{margin-top:.25rem}.join-code-box{display:flex;gap:.5rem;align-items:stretch}.join-code-box input{flex:1 1 auto;min-width:0;width:auto;text-align:center;font-size:var(--f-title3);font-weight:700;letter-spacing:.14em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.join-code-box button{flex:0 0 auto}@media (hover:hover){.table-group:hover{background:color-mix(in srgb,var(--ink) 5%,transparent)}.grocery-house>summary:hover,.week-replan>summary:hover,.week-switch>summary:hover{background:color-mix(in srgb,var(--accent) 6%,transparent)}}@media print{.grocery-add-item,.grocery-progress,.grocery-tobuy-head .grocery-progress-text{display:none!important}}.wrap.host-gathering{padding-bottom:calc(2rem + env(safe-area-inset-bottom))}.host-brand{display:flex;align-items:center;gap:.4rem;margin:0 0 .9rem;font-size:var(--f-footnote);font-weight:600;letter-spacing:.01em;color:var(--muted)}.host-brand .binder-mark{display:block;flex:0 0 auto}.host-flash{margin:0 0 1rem;padding:.8rem var(--gutter);border-radius:var(--r-card);background:var(--card);box-shadow:var(--ring),inset 4px 0 0 var(--accent);color:var(--ink);line-height:1.4}.host-flash.is-ok{box-shadow:var(--ring),inset 4px 0 0 var(--ok)}.host-gathering .field,.host-page .field,.host-sheet .field{margin:0 0 .95rem}.host-gathering .field>label,.host-page .field>label,.host-sheet .field>label{margin-top:0}.host-field-help{margin:.35rem 0 0;color:var(--muted);line-height:1.4}.host-invite{position:relative;isolation:isolate;overflow:hidden;margin:.25rem 0 1.5rem;padding:1.6rem var(--gutter) 1.35rem;border:0;border-radius:calc(var(--r-card) + 4px);background:var(--card);background-image:radial-gradient(120% 70% at 0 0,color-mix(in srgb,var(--accent) 9%,transparent),transparent 60%),radial-gradient(90% 60% at 100% 100%,color-mix(in srgb,var(--accent) 7%,transparent),transparent 62%);box-shadow:var(--card-shadow),var(--ring);color:var(--ink)}.host-invite:after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:.07;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.95' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.7 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23g)'/%3E%3C/svg%3E");background-size:180px 180px}html[data-theme=dark] .host-invite:after{opacity:.09;mix-blend-mode:screen;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.95' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0.7 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23g)'/%3E%3C/svg%3E")}@media (prefers-color-scheme:dark){html:not([data-theme]) .host-invite:after{opacity:.09;mix-blend-mode:screen;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.95' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0.7 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23g)'/%3E%3C/svg%3E")}}.host-invite-kicker{margin:0 0 .55rem;font-size:var(--f-footnote);font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--accent-text)}.host-invite-rules{display:flex;flex-direction:column;gap:3px;width:2.75rem;margin:0 0 1rem}.host-invite-rules span{display:block;height:2px;border-radius:1px;background:var(--accent)}.host-invite-rules span:last-child{width:62%}.host-invite .host-invite-title{margin:0 0 .8rem;font-size:var(--f-large-title);font-weight:700;letter-spacing:-.015em;line-height:1.1;color:var(--ink);overflow-wrap:anywhere}.host-invite-when{display:flex;flex-wrap:wrap;align-items:baseline;gap:.1rem .45rem;margin:0 0 .3rem;font-size:var(--f-title3);font-weight:600;line-height:1.3;color:var(--ink);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.host-invite-time{font-weight:500}.host-invite-dot{color:var(--accent-text);font-weight:400}.host-invite-when.host-invite-tbd{font-weight:500;color:var(--muted)}.host-invite-place{margin:0;line-height:1.4;color:var(--ink)}.host-invite-note,.host-invite-place{font-size:var(--f-body);overflow-wrap:anywhere}.host-invite-note{margin:.9rem 0 0;line-height:1.5;color:var(--muted)}.host-invite-actions{margin-top:1.3rem;padding-top:1.15rem;border-top:1px solid var(--line)}.host-invite-quiet{margin:.7rem 0 0}button.host-cta{width:100%}.host-invite-hint{margin:.7rem 0 0;color:var(--muted);line-height:1.4;text-align:center}.host-coming-title{margin:0 0 .2rem;font-size:var(--f-title3);font-weight:600;line-height:1.3;color:var(--ok)}.host-coming-meta{display:flex;flex-wrap:wrap;align-items:center;gap:0 .35rem;margin:0;color:var(--muted)}.host-coming-meta .who{color:var(--ink);font-weight:600}button.host-change{position:relative;min-height:0;min-width:0;padding:.1rem;font-size:var(--f-subhead);font-weight:600;color:var(--accent-text);text-decoration:underline;text-underline-offset:2px}button.host-change:before{content:"";position:absolute;inset:-12px -8px}.host-coming-actions{display:flex;flex-direction:column;gap:.6rem;margin:1rem 0 0}.host-coming-actions>*{width:100%}.host-coming-actions .btn.secondary{min-height:50px}.host-coming-dishes{margin:.7rem 0 0;color:var(--muted)}.host-over{margin:0;color:var(--muted);line-height:1.45}.host-section{margin:0 0 1.75rem}.host-section-head{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem;margin:0 0 .4rem}.host-section-head h2{margin:0}.host-section-sum{margin:0;flex:0 0 auto;font-size:var(--f-subhead);font-weight:500;color:var(--muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.host-section-lead{margin:0 0 .7rem}.host-empty,.host-section-lead{color:var(--muted);line-height:1.4}.host-empty{margin:0;padding:.95rem var(--gutter);border-radius:var(--r-card);background:var(--card);box-shadow:var(--ring)}.host-names{margin:0}.host-names>li{justify-content:space-between;gap:.75rem}.host-names .who{font-weight:600;min-width:0;overflow-wrap:anywhere}.host-names-count{flex:0 0 auto;color:var(--muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.host-roster>li{align-items:center}.host-roster-main{display:flex;flex-direction:column;gap:.1rem;min-width:0;flex:1 1 auto}.host-roster .host-names-count{white-space:normal}.host-guest-row{flex-wrap:nowrap}.host-guest-remove{margin:0 -.65rem 0 auto;flex:0 0 auto}.host-guest-remove button.linkish.danger{font-size:var(--f-subhead);font-weight:500}.host-phone,a.host-phone{color:var(--link);text-decoration:none}.host-phone,.host-qty,a.host-phone{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.host-bowl-list{list-style:none;margin:0;padding:0;display:grid;grid-gap:.75rem;gap:.75rem}.host-bowl{margin:0;padding:.95rem var(--gutter) .85rem;border-radius:var(--r-card);background:var(--card);box-shadow:var(--ring)}.host-bowl-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.host-bowl-head h3{margin:0;font-size:var(--f-headline);font-weight:600;line-height:1.3;color:var(--ink)}.host-bowl-state{display:inline-flex;align-items:center;gap:.3rem;flex:0 0 auto;font-size:var(--f-footnote);font-weight:600;color:var(--muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.host-bowl-state.is-done{color:var(--ok)}.host-bowl-bar{height:4px;margin:.6rem 0 .5rem;border-radius:2px;background:color-mix(in srgb,var(--ink) 9%,transparent);overflow:hidden}.host-bowl-bar span{display:block;height:100%;border-radius:2px;background:var(--accent);transition:width .25s ease}.host-bowl:has(.is-done) .host-bowl-bar span{background:var(--ok)}.host-bowl-hint{margin:.35rem 0 0;color:var(--muted)}.host-dish-list{list-style:none;margin:.8rem 0 0;padding:0}.host-dish-list>li{margin:0;padding:.65rem 0;border-top:1px solid var(--line)}.host-dish-row{display:flex;gap:.75rem;justify-content:space-between;align-items:flex-start}.host-dish-main{flex:1 1 auto;min-width:0}.host-dish-name{display:flex;flex-wrap:wrap;align-items:baseline;gap:.1rem .5rem;margin:0;line-height:1.35}.host-dish-name strong{font-weight:600;overflow-wrap:anywhere}.host-dish-by{color:var(--muted);font-size:var(--f-subhead)}.host-dish-recipe{margin:.15rem 0 0}.host-dish-recipe a{color:var(--link)}.host-dish-photos{display:flex;gap:.5rem;overflow-x:auto;margin:.5rem 0 0;scrollbar-width:none}.host-dish-photos img{width:4.5rem;height:4.5rem;object-fit:cover;border-radius:10px;background:var(--paper);flex:0 0 auto}.host-allergy{margin:.35rem 0 0;font-size:var(--f-footnote);font-weight:500}.host-allergy,.host-allergy-label{color:var(--muted)}.host-dish-tools{display:flex;flex-direction:column;align-items:flex-end;gap:.35rem;flex:0 0 auto}.host-dish-tools .favorite-star-form,.host-dish-tools form{margin:0}button.host-binder-btn{min-height:40px;padding:.35rem .7rem;font-size:var(--f-subhead);white-space:nowrap}.host-bowl-claim{margin:.45rem 0 0}button.host-bowl-add{display:inline-flex;align-items:center;gap:.4rem;min-height:44px;margin-left:-.35rem;padding:.3rem .35rem;font-size:var(--f-subhead);font-weight:600;color:var(--accent-text);text-align:left}button.host-bowl-add svg{flex:0 0 auto}.host-notes{list-style:none;margin:0 0 .75rem;padding:0;border-radius:var(--r-card);background:var(--card);box-shadow:var(--ring)}.host-note{margin:0;padding:.8rem var(--gutter)}.host-note+.host-note{background-image:linear-gradient(var(--line),var(--line));background-repeat:no-repeat;background-size:calc(100% - var(--gutter)) 1px;background-position:var(--gutter) 0}.host-note-meta{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem;margin:0 0 .15rem}.host-note-meta .who{font-weight:600;min-width:0;overflow-wrap:anywhere}.host-note-meta .small{color:var(--muted);flex:0 0 auto}.host-note-body{margin:0;line-height:1.45;overflow-wrap:anywhere}.host-note-form{margin:0}.host-note-form .field:last-of-type{margin-bottom:0}.host-note-form textarea{min-height:4.25rem}.host-note-submit{display:flex;justify-content:flex-end;margin:.75rem 0 0}.host-login-hint{margin:1.25rem 0 0;color:var(--muted);line-height:1.45}.host-login-hint a{color:var(--link)}.host-sheet-error{margin:0 0 .85rem;font-weight:500;color:var(--err)}.host-sheet-submit{margin:1rem 0 0}.host-sheet-submit button{width:100%}.host-sheet-foot{margin:.75rem 0 0;text-align:center;color:var(--muted)}.host-photo-pick{position:relative;display:inline-flex}.host-photo-pick input[type=file]{position:absolute;inset:0;width:100%;height:100%;margin:0;padding:0;opacity:0;cursor:pointer}.host-photo-btn{display:inline-flex;align-items:center;gap:.45rem;min-height:44px;padding:.5rem 1rem;border-radius:var(--r-button);background:var(--accent-tint);color:var(--accent-text);font-weight:600;line-height:1.2;pointer-events:none}.host-photo-pick:focus-within .host-photo-btn{outline:3px solid var(--focus);outline-offset:3px}.host-photo-pick:active .host-photo-btn{opacity:.8}.host-stepper{display:grid;grid-template-columns:48px minmax(4rem,1fr) 48px;grid-gap:.5rem;gap:.5rem;align-items:center;max-width:14rem}button.host-stepper-btn{min-width:48px;min-height:48px;padding:0;border-radius:var(--r-field)}button.host-stepper-btn:disabled{opacity:.4}.host-stepper input{text-align:center;font-size:var(--f-title3);font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;-moz-appearance:textfield}.host-stepper input::-webkit-inner-spin-button,.host-stepper input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.host-send-card,.host-share{margin:0}.host-message{display:flex;flex-direction:column;align-items:flex-start;gap:.4rem;margin:0 0 1rem;padding:.85rem .85rem .95rem;border-radius:14px;background:var(--paper);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--ink) 6%,transparent)}.host-bubble{max-width:92%;padding:.55rem .8rem;border-radius:18px 18px 18px 6px;background:color-mix(in srgb,var(--ink) 9%,var(--card));font-size:var(--f-callout);line-height:1.35;color:var(--ink)}.host-bubble p{margin:0;overflow-wrap:anywhere}.host-bubble p+p{margin-top:.1rem}.host-bubble p:empty{height:.5rem;margin:0}.host-linkcard{display:block;width:92%;max-width:19rem;border-radius:14px;overflow:hidden;background:color-mix(in srgb,var(--ink) 9%,var(--card));color:var(--ink);text-decoration:none}.host-linkcard img{display:block;width:100%;height:auto;aspect-ratio:1200/630;object-fit:cover;background:var(--paper)}.host-linkcard-text{display:flex;flex-direction:column;gap:.05rem;padding:.55rem .8rem .65rem;font-size:var(--f-subhead);line-height:1.3}.host-linkcard-text strong{font-weight:600;overflow-wrap:anywhere}.host-linkcard-text span{color:var(--muted);font-size:var(--f-footnote)}.host-share-actions{display:flex;flex-wrap:wrap;gap:.6rem;margin:0 0 .35rem}.host-share-actions button{flex:1 1 10rem}#host-share-link,.host-share-url{min-height:40px;padding:.35rem 0;border-color:transparent;background:transparent;color:var(--muted);font-size:var(--f-body);letter-spacing:0;text-overflow:ellipsis}.host-invite-table{margin:.9rem 0 0;padding-top:.9rem;border-top:1px solid var(--line)}.host-invite-table>label{margin-top:0}.host-invite-table .row{display:flex;gap:.5rem;flex-wrap:nowrap}.host-invite-table .row select{flex:1 1 auto;min-width:0}.host-invite-table .row button{flex:0 0 auto}.host-send-foot{margin:.85rem 0 0}.host-send-foot a{color:var(--link)}.host-new-row{margin:.9rem 0 1.4rem}.host-new-btn{display:flex;width:100%}.host-list{margin:0 0 var(--group-gap)}.host-list .group-sub{overflow-wrap:anywhere}.host-list-empty{margin:0 0 var(--group-gap);color:var(--muted)}.host-row{gap:.85rem;padding:.55rem var(--gutter)}.host-date-chip{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:0 0 auto;width:3.3rem;min-height:3.3rem;padding:.3rem 0;border-radius:10px;background:var(--accent-tint);color:var(--accent-text);line-height:1}.host-date-dow{font-size:var(--f-footnote);font-weight:600;letter-spacing:.04em;text-transform:uppercase}.host-date-day{margin:.1rem 0;font-size:var(--f-title3);font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.host-date-mon{font-size:var(--f-footnote);font-weight:500}.host-date-chip.is-tbd,.host-list-past .host-date-chip{background:color-mix(in srgb,var(--ink) 7%,transparent);color:var(--muted)}.host-date-tbd{font-size:var(--f-footnote);font-weight:600;line-height:1.15;text-align:center}.host-past{margin:0 0 var(--group-gap)}.host-past>summary{display:flex;align-items:center;gap:.5rem;min-height:44px;padding:0 var(--gutter);list-style:none;cursor:pointer;color:var(--muted)}.host-past>summary::-webkit-details-marker{display:none}.host-past>summary .group-title{margin:0;padding:0}.host-past-count{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.host-past>summary:after{content:"";width:8px;height:8px;margin-left:auto;border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);transform:rotate(45deg) translateY(-2px);transition:transform .15s ease}.host-past[open]>summary:after{transform:rotate(-135deg) translateY(2px)}.host-past>.group{margin-top:.4rem}.host-empty-card{margin:0}.host-empty-title{margin:0 0 .25rem;font-size:var(--f-headline);font-weight:600}.host-form{margin:0}.host-form textarea{min-height:4.5rem}.host-bowls-edit{margin:.25rem 0 1rem;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.host-bowls-edit>summary{position:relative;display:flex;flex-direction:column;justify-content:center;gap:.1rem;min-height:56px;padding:.5rem 1.75rem .5rem 0;list-style:none;cursor:pointer}.host-bowls-edit>summary::-webkit-details-marker{display:none}.host-bowls-edit>summary:after{content:"";position:absolute;right:.5rem;top:50%;width:8px;height:8px;border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);transform:translateY(-70%) rotate(45deg);transition:transform .15s ease}.host-bowls-edit[open]>summary:after{transform:translateY(-30%) rotate(-135deg)}.host-bowls-edit-title{font-weight:600}.host-bowls-edit-sub{color:var(--muted)}.host-bowls-edit>.host-field-help{margin:.1rem 0 .75rem}.host-bowls-edit>.field:last-of-type{margin-bottom:1rem}.host-form-submit{margin:1.25rem 0 0}.host-form-submit button{width:100%}@media (min-width:721px){.host-invite{padding:2.1rem 2rem 1.75rem}.host-invite .host-invite-title{font-size:2.4rem}.host-coming-actions{flex-direction:row;flex-wrap:wrap}.host-coming-actions>*{width:auto;flex:0 1 14rem}button.host-cta{width:auto;min-width:16rem}.host-invite-hint{text-align:left}}@media (prefers-reduced-motion:reduce){.host-bowl-bar span,.host-bowls-edit>summary:after,.host-past>summary:after{transition:none}}@media print{.host-bowl-claim,.host-note-form,.host-share-actions,.host-sheet{display:none!important}}.home-title{display:flex;flex-direction:column;gap:.2rem;margin:.5rem 0 1rem}.home-title .home-greeting{display:block;font-size:var(--f-large-title);font-weight:700;letter-spacing:-.015em;line-height:1.12;color:var(--ink)}.home-title .home-question{display:block;font-size:var(--f-title2);font-weight:600;letter-spacing:-.005em;line-height:1.25;color:var(--link)}.home-search-wrap{position:relative;margin:0 0 var(--group-gap)}.home-search{margin:0}.home-search-field{position:relative;display:block}.home-search-icon{position:absolute;left:.9rem;top:50%;transform:translateY(-50%);color:var(--muted);pointer-events:none}.home-search .search{min-height:48px;padding-left:2.7rem;padding-right:2.7rem;border-radius:14px;-webkit-appearance:none;-moz-appearance:none;appearance:none}.home-search .search::-webkit-search-cancel-button,.home-search .search::-webkit-search-decoration,.home-search .search::-webkit-search-results-button{-webkit-appearance:none;appearance:none;display:none}.home-search-clear{position:absolute;right:.3rem;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:44px;height:44px;min-height:44px;padding:0;border:0;border-radius:50%;background:transparent;color:var(--muted);box-shadow:none}.home-instant{position:absolute;left:0;right:0;top:calc(100% + .4rem);z-index:5;margin:0;box-shadow:var(--card-shadow),0 0 0 1px color-mix(in srgb,var(--ink) 8%,transparent)}.home-instant .recipe-row{gap:.7rem;min-height:56px;padding-top:.35rem;padding-bottom:.35rem}.home-instant .recipe-row-thumb{width:2.75rem;height:2.75rem;border-radius:8px}.home-instant-all .group-text{color:var(--accent-text);font-weight:600}.home-matches{margin-bottom:var(--group-gap)}.home-matches .group-title:first-of-type{margin-top:0}.home-clear{margin:-.5rem 0 var(--group-gap);padding:0 var(--gutter)}.home-no-match p:first-child{margin-top:0}.home-no-match-links{display:flex;flex-wrap:wrap;gap:.5rem;margin:0}.secondary-link{display:inline-flex;align-items:center;justify-content:center;flex:1 1 10rem;min-height:44px;padding:0 1rem;border-radius:var(--r-button);background:var(--accent-tint);color:var(--accent-text);font-weight:600;text-decoration:none}.home-empty{text-align:center;padding:1.75rem var(--gutter) 1.5rem}.home-empty-mark,.recipe-list-empty-mark{display:inline-grid;place-items:center;width:3.5rem;height:3.5rem;margin:0 auto .6rem;border-radius:50%;background:var(--accent-tint);color:var(--accent-text)}.home-empty h2{margin:0 0 .35rem;font-size:var(--f-title2);font-weight:700}.home-empty>p{max-width:24rem;margin-left:auto;margin-right:auto}.home-empty .btn{width:100%}.home-empty p:last-child{margin-bottom:0}.page-loading-field{min-height:48px;border-radius:14px;margin:0 0 var(--group-gap);background:color-mix(in srgb,var(--ink) 7%,transparent)}.cook-tonight{margin:0 0 .75rem}.cook-strip-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.25rem .75rem;margin:0 0 .6rem}.cook-tonight h2{margin:0;font-size:var(--f-title2);font-weight:700;line-height:1.2}.cook-tonight .strip-lead{margin:0}.cook-card-featured{display:block;flex:none;width:100%;max-width:none}.cook-card-featured img{width:100%;height:auto;aspect-ratio:16/9;max-height:14rem}.cook-card-featured .cook-card-title{font-size:var(--f-title3);padding:.75rem .9rem .9rem}.cook-card-featured .cook-card-tag{top:.75rem;left:.75rem}.cook-strip-more{margin:1rem 0 0;font-size:var(--f-footnote);font-weight:600;letter-spacing:.03em;text-transform:uppercase;color:var(--muted)}.cook-tonight .cook-scroller{gap:.6rem;padding-top:.5rem;padding-bottom:.65rem}.cook-scroller-item{display:flex;flex:0 0 56%;max-width:13.5rem;scroll-snap-align:start}.cook-scroller-item .cook-card{flex:1 1 auto;max-width:none}.cook-scroller-item .cook-card img{height:6.75rem}.cook-scroller-item .cook-card-title{font-size:var(--f-subhead);padding:.5rem .7rem .65rem}.strip-foot{margin:0;font-size:var(--f-footnote);color:var(--muted)}.home-folders .folder-row{gap:.75rem;min-height:56px;padding-top:.4rem;padding-bottom:.4rem}.folder-stack{position:relative;display:block;flex:0 0 auto;width:3.4rem;height:2.25rem}.folder-stack img{position:absolute;top:0;width:2.25rem;height:2.25rem;border-radius:9px;object-fit:cover;background:var(--line);box-shadow:0 0 0 2px var(--card)}.folder-stack img:first-child{left:0}.folder-stack img:nth-child(2){left:.55rem}.folder-stack img:nth-child(3){left:1.1rem}.folder-stack-empty svg{display:block;box-sizing:border-box;width:2.25rem;height:2.25rem;padding:.45rem;border-radius:9px;background:var(--accent-tint);color:var(--accent-text)}.home-more .group-row{gap:.75rem;min-height:56px}.home-glyph{display:grid;place-items:center;flex:0 0 auto;width:2.25rem;height:2.25rem;border-radius:9px}.home-glyph-star{background:color-mix(in srgb,var(--star) 18%,transparent);color:var(--star)}.home-glyph-stock{background:var(--accent-tint);color:var(--accent-text)}.add-folder-row{color:var(--accent-text);font-weight:600;gap:.75rem}.add-folder-row:before{content:"+";display:grid;place-items:center;width:2.25rem;height:2.25rem;border-radius:9px;background:var(--accent-tint);font-size:1.35rem;line-height:1;font-weight:500}.add-folder-form{display:flex;flex-wrap:wrap;gap:.5rem;padding:0 var(--gutter) .85rem}.add-folder-form input{flex:1 1 10rem;width:auto}.add-folder-form button{flex:0 0 auto}.folder-page .folder-tabs{margin-bottom:.25rem}.folder-toolbar{display:flex;flex-direction:column;gap:.5rem;margin:.25rem 0 .6rem}.folder-count{margin:0;padding:0 var(--gutter);font-size:var(--f-subhead);color:var(--muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.recipe-sort{display:flex;align-items:center;gap:.5rem}.recipe-sort-label{display:none}.recipe-rows .recipe-row{gap:.8rem;min-height:72px;padding-top:.5rem;padding-bottom:.5rem}.recipe-row-thumb{display:block;flex:0 0 auto;width:3.5rem;height:3.5rem;border-radius:10px;object-fit:cover;background:var(--line)}.recipe-row-thumb-empty{display:grid;place-items:center;background:var(--accent-tint);color:var(--accent-text)}.recipe-row-title{font-size:var(--f-headline);font-weight:600;line-height:1.3;overflow-wrap:anywhere}.recipe-row-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.3rem .4rem;margin-top:.25rem}.recipe-list-empty{text-align:center;padding:1.75rem var(--gutter) 1.5rem}.recipe-list-empty h2{margin:0 0 .35rem;font-size:var(--f-title2);font-weight:700}.recipe-list-empty>p{max-width:24rem;margin-left:auto;margin-right:auto}.recipe-list-empty .btn{width:100%}.recipe-list-empty p:last-child{margin-bottom:0}.recipe-form .form-group{margin:0 0 var(--group-gap)}.recipe-form .form-group .group-title,.recipe-form .form-group legend.group-title{margin:0 0 .4rem}.recipe-form .group-title label{font:inherit;color:inherit;margin:0;cursor:pointer}.recipe-form legend.group-title{display:block;width:100%;padding:0 var(--gutter)}.recipe-form fieldset.plain{border:0;margin:0 0 var(--group-gap);padding:0;min-width:0}.form-fields{margin:0;padding:.25rem var(--gutter)}.form-field{padding:.75rem 0}.form-field+.form-field{border-top:1px solid var(--line)}.form-field label{display:block;margin:0 0 .25rem;font-weight:600;color:var(--ink)}.form-field label .small{font-weight:400}.form-field .help,.form-fields>.help{display:block;margin:0 0 .55rem;font-size:var(--f-subhead);line-height:1.35;color:var(--muted)}.form-fields>.help{padding-top:.75rem}.form-field input,.form-field select,.form-field textarea{width:100%;margin:0}.form-field textarea{min-height:5rem;line-height:1.45}.form-field textarea.textarea-tall{min-height:10rem}.form-field-inline{display:flex;align-items:center;justify-content:space-between;gap:1rem}.form-field-inline>div{flex:1 1 auto;min-width:0}.form-field-inline .help{margin-bottom:0}.form-field-inline input.servings-input{flex:0 0 auto;width:5.5rem;max-width:5.5rem;text-align:center}.form-error{margin:0 0 1rem}.form-note{margin:.5rem 0 .75rem}.recipe-form .folder-pick{gap:.5rem;padding:.25rem 0 .85rem}.form-fields>.folder-pick:first-child{padding-top:.85rem}.folder-chip{min-height:44px;padding:0 .95rem 0 .75rem;border-radius:999px;background:color-mix(in srgb,var(--ink) 7%,transparent);color:var(--ink);font-weight:600;gap:.45rem;cursor:pointer;transition:background-color .15s ease,color .15s ease}.folder-chip:has(input:checked){background:var(--accent-tint);color:var(--accent-text)}.folder-chip:has(input:focus-visible){outline:3px solid var(--focus);outline-offset:2px}.recipe-form .folder-chip input[type=checkbox]{width:1.25rem;height:1.25rem;min-width:1.25rem;margin:0;accent-color:var(--accent)}.form-save{position:-webkit-sticky;position:sticky;bottom:calc(var(--tabbar-h) + env(safe-area-inset-bottom) + .5rem);z-index:3;margin:.25rem 0 1.5rem;padding:.5rem 0;background:color-mix(in srgb,var(--paper) 88%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.form-save button{width:100%}@media (min-width:721px){.form-save{bottom:.75rem}}.ideas-page .idea-mood{padding:0;overflow:hidden;margin-bottom:var(--group-gap)}.idea-mood-summary{display:flex;align-items:center;gap:.75rem;min-height:56px;padding:.5rem var(--gutter);cursor:pointer;list-style:none}.idea-mood-summary::-webkit-details-marker{display:none}.idea-mood-summary h2{flex:1 1 auto;margin:0;font-size:var(--f-headline);font-weight:600}.idea-folder-chevron,.idea-mood-summary:after{content:"";flex:0 0 auto;width:10px;height:10px;margin-right:.2rem;border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);transform:rotate(-45deg);opacity:.6;transition:transform .15s ease}.idea-folder[open]>summary .idea-folder-chevron,.idea-mood[open]>.idea-mood-summary:after{transform:rotate(45deg)}.idea-mood-glyph{display:grid;place-items:center;flex:0 0 auto;width:2.25rem;height:2.25rem;border-radius:9px;background:var(--accent-tint);color:var(--accent-text)}.idea-mood-form{margin:0;padding:0 var(--gutter) 1rem;border-top:1px solid var(--line)}.idea-mood-form>.small{margin:.75rem 0 .25rem}.idea-mood-form .form-field{padding:.6rem 0}.idea-mood-form .form-field+.form-field{border-top:0}.idea-mood-form textarea{min-height:4rem}.idea-mood-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1rem;margin:.5rem 0 0}.idea-mood-actions button{flex:1 1 12rem}.idea-mood-results h2{margin-top:0}.idea-jump a .idea-jump-count{margin-left:.3rem;color:var(--muted);font-weight:500}.ideas-page .idea-folder{padding:0;overflow:hidden}.ideas-page .idea-folder>summary{justify-content:space-between;gap:.75rem;min-height:56px;padding:.6rem var(--gutter)}.ideas-page .idea-folder>summary h2{font-size:var(--f-title3)}.idea-folder-count{font-weight:500}.idea-folder-lead,.idea-folder-vacant{margin:0;padding:0 var(--gutter) .75rem}.ideas-page .idea-folder .idea-recipe-list{margin:0;border-radius:0;background:transparent;box-shadow:none}.ideas-page .idea-recipe-list[data-windowed]>.idea-row:not([data-index="0"]){background-size:calc(100% - var(--gutter) * 2 - 4.3rem) 1px;background-position:calc(var(--gutter) + 4.3rem) 0}.idea-row-link{gap:.8rem;min-height:72px;padding:.5rem var(--gutter)}.idea-thumb{display:block;flex:0 0 3rem;object-fit:cover;margin:0;background:var(--line);width:3.5rem;height:3.5rem;flex-basis:3.5rem;border-radius:10px}.idea-thumb-empty{display:grid;place-items:center;background:var(--accent-tint);color:var(--accent-text)}.idea-row-title{display:block;line-height:1.3;font-size:var(--f-headline);font-weight:600}.idea-row[data-extract=failed] .idea-row-title,.idea-row[data-extract=pending] .idea-row-title{color:var(--muted);font-weight:500}.idea-status{font-size:var(--f-footnote);font-weight:600;letter-spacing:.02em;color:var(--muted);display:inline-flex;align-items:center;gap:.3rem}.idea-status:before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor;opacity:.6}.idea-card-lead{line-height:1.45;margin-bottom:.75rem}.idea-card-status{margin:0 0 .75rem}.idea-card-page .recipe-actions{margin:0 0 1rem}.idea-card-page .recipe-actions button{width:100%}.public-share{padding-bottom:2rem}.public-share-lead{display:flex;align-items:flex-start;gap:.6rem;margin:0 0 1rem;font-size:var(--f-subhead);line-height:1.4;color:var(--muted)}.public-share-mark{display:grid;place-items:center;flex:0 0 auto;width:2rem;height:2rem;border-radius:8px;background:var(--accent-tint);color:var(--accent-text)}.public-share .recipe-card{padding-top:1.25rem}.public-share-foot{margin:1.5rem 0 0;text-align:center;font-size:var(--f-subhead);color:var(--muted)}.public-share-foot p{margin:0}.public-share-foot a{display:inline-flex;align-items:center;min-height:44px;padding:0;color:var(--accent-text);font-weight:600;text-decoration:none}.recipe-skeleton>div{background:color-mix(in srgb,var(--ink) 7%,transparent);min-height:0;margin-top:0}.recipe-skeleton-photo{aspect-ratio:16/9;border-radius:12px;margin-bottom:1rem}.recipe-skeleton-title{height:2rem;width:75%;border-radius:8px;margin-bottom:.75rem}.recipe-skeleton-chips{height:1.75rem;width:50%;border-radius:999px;margin-bottom:1.25rem}.recipe-skeleton-line{height:1.1rem;border-radius:6px;margin:.6rem 0 0}.recipe-skeleton-short{width:60%}@media (hover:hover){.folder-chip:hover,.secondary-link:hover{background:color-mix(in srgb,var(--accent) 18%,transparent)}.home-search-clear:hover{color:var(--ink)}}@media (prefers-reduced-motion:reduce){.folder-chip,.idea-folder-chevron,.idea-mood-summary:after{transition:none}}@media print{.folder-toolbar,.home-search-wrap,.public-share-lead{display:none!important}}.deleteme-honest{margin:calc(var(--group-gap) * -1 + .25rem) 0 var(--group-gap);color:var(--muted);line-height:1.4;max-width:36rem}.deleteme-progress{font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.deleteme-progress,.deleteme-state,.deleteme-statecard{margin:0 0 var(--group-gap)}.deleteme-state h2,.deleteme-statecard h2{margin-top:0}.deleteme-state select{width:100%;margin:.5rem 0 0}.deleteme-state form>p{margin:.75rem 0 0}.deleteme-state-keep{margin:.25rem 0 0;text-align:center}.deleteme-state-line{margin:calc(var(--group-gap) * -.5) 0 var(--group-gap);color:var(--muted)}.deleteme-state-line a{color:var(--link)}.deleteme-before{margin:0 0 var(--group-gap);padding-block:.25rem}.deleteme-before>summary{min-height:44px;display:flex;align-items:center;justify-content:space-between;list-style:none;font-weight:600;cursor:pointer}.deleteme-before>summary::-webkit-details-marker{display:none}.deleteme-before>summary:after{content:"";width:9px;height:9px;margin:0 4px 4px 0;border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);transform:rotate(45deg);opacity:.55;transition:transform .15s ease}.deleteme-before[open]>summary:after{transform:rotate(-135deg);margin-bottom:-4px}@media (prefers-reduced-motion:reduce){.deleteme-before>summary:after{transition:none}}.deleteme-before>.deleteme-tips{margin-bottom:.25rem}.deleteme-clear{margin-top:calc(var(--group-gap) * 1.5)}.deleteme-clear h2{margin-top:0}.deleteme-clear a.group-row-destructive{justify-content:center;min-height:48px;color:var(--err);font-weight:600}.deleteme-clear a.group-row-destructive:after{display:none}.deleteme-clear form button{width:100%}.deleteme-tips{margin:.5rem 0 .75rem;padding-left:1.2rem;line-height:1.45}.deleteme-tips li+li{margin-top:.35rem}.deleteme-badges{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem;margin-top:.3rem}.deleteme-status-foundAgain{color:var(--star-on-tint);background:color-mix(in srgb,var(--star) 14%,transparent)}.deleteme-status-confirmed{color:var(--ok-on-tint);background:color-mix(in srgb,var(--ok) 12%,transparent)}.deleteme-due{flex-wrap:wrap}.deleteme-due-actions{display:flex;gap:.5rem;flex:1 1 100%}.deleteme-due-actions form{flex:1 1}.deleteme-due-actions button{width:100%}.deleteme-sheet .sheet-head>.quiet-link{flex:0 0 auto;min-height:48px;margin-right:-.5rem;font-weight:400}.deleteme-sheet-badges{margin:0 0 .75rem}.deleteme-status-line{margin:0 0 .75rem;color:var(--muted);line-height:1.4}.deleteme-sheet-h{margin:1rem 0 .35rem;font-size:var(--f-headline);font-weight:600}.deleteme-steps{margin:0;padding-left:1.4rem;line-height:1.45}.deleteme-steps li+li{margin-top:.4rem}.deleteme-sheet-p{margin:0;line-height:1.45}.deleteme-open{margin:1.25rem 0 1rem}.deleteme-open .btn{width:100%;min-height:48px}.deleteme-actions form{margin:0}.deleteme-note{margin:1.5rem 0 0}.deleteme-note label{display:block;font-weight:600;margin:0 0 .35rem}.deleteme-note textarea{width:100%;min-height:5rem;line-height:1.45}.deleteme-note-hint{margin:.35rem 0 .5rem;color:var(--muted)}.deleteme-note-save{display:flex;align-items:center;gap:.75rem;margin:0}.deleteme-verified{margin:1.25rem 0 0;color:var(--muted);text-align:center}.deleteme-autopilot-off{margin:0 0 var(--group-gap);color:var(--muted)}.deleteme-sent{margin:0 0 .75rem}.group-row.deleteme-send{flex-direction:column;align-items:stretch;padding-block:.75rem}.deleteme-send button{width:100%;min-height:48px}.deleteme-send-why{color:var(--muted);line-height:1.4}.deleteme-request-line{display:block}.deleteme-beyond{margin-top:var(--group-gap)}.deleteme-beyond h2{margin-top:0}.deleteme-beyond .deleteme-open{margin:.75rem 0}.deleteme-details{margin:1rem 0 0}.deleteme-details-list{margin:0;display:grid;grid-gap:.5rem;gap:.5rem}.deleteme-details-list>div{display:grid;grid-gap:.15rem;gap:.15rem}.deleteme-details-list dt{font-size:var(--f-footnote);color:var(--muted)}.deleteme-details-list dd{margin:0;min-width:0}.deleteme-copy,.deleteme-copy-text{max-width:100%;white-space:normal;overflow-wrap:anywhere;text-align:left}.deleteme-copy{min-height:44px;padding:.35rem .85rem;color:var(--ink);cursor:pointer;font:inherit;font-size:var(--f-subhead)}.deleteme-copy-text{display:inline-block;padding:.35rem 0;font-size:var(--f-subhead);-webkit-user-select:all;-moz-user-select:all;user-select:all}.form-field label.deleteme-check{display:flex;align-items:center;gap:.6rem;min-height:44px;margin:0}.form-field label.deleteme-check input{width:22px;height:22px;flex:0 0 auto;margin:0}.deleteme-profile-form .card{margin:0 0 var(--group-gap)}.deleteme-profile-form .form-field label+input{margin-top:0}.deleteme-profile-form button[type=submit]{width:100%;min-height:48px}.admin-broker-counts{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.admin-broker-problems{margin:.25rem 0 0;padding-left:1.2rem;color:var(--err);font-size:var(--f-footnote)}.admin-broker-form .form-field textarea{min-height:6rem}.admin-broker-actions{display:grid;grid-gap:.5rem;gap:.5rem;margin:0 0 var(--group-gap)}.deleteme-buttons-note{margin:.5rem 0 0;color:var(--muted)}.deleteme-open:has(+.deleteme-link-report,+.deleteme-link-reported){margin-bottom:.25rem}.deleteme-link-report{margin:0}.deleteme-link-report button.quiet{width:100%;justify-content:center;font-weight:400}.deleteme-link-reported{margin:.5rem 0 0;line-height:1.4}.deleteme-link-reported p{margin:0}.deleteme-link-reported a{display:inline-block;padding-block:.6rem}.deleteme-open-hint{margin:.25rem 0 0;color:var(--muted);line-height:1.4}.admin-broker-reports{margin-top:.35rem;align-self:flex-start;color:var(--star-on-tint);background:color-mix(in srgb,var(--star) 14%,transparent)}.admin-note .admin-broker-actions{margin:.75rem 0 0}.studio{--studio-bg:#f7f4ee;--studio-ink:#1e1d1b;--studio-muted:#5c5854;--studio-drape-surround:#949494;--studio-serif:ui-serif,"New York",Georgia,serif;--studio-fade:600ms;--studio-dial:400ms;--studio-reveal:500ms;background:var(--studio-bg);color:var(--studio-ink);border-radius:var(--r-card);padding:8px var(--gutter) 24px;margin-inline:calc(-1 * var(--gutter))}html[data-theme=dark] .studio{--studio-bg:#24272b;--studio-ink:#f2eee8;--studio-muted:#c9c2b8}@media (prefers-color-scheme:dark){html:not([data-theme]) .studio{--studio-bg:#24272b;--studio-ink:#f2eee8;--studio-muted:#c9c2b8}}.studio h1,.studio h2,.studio h3{font-family:var(--studio-serif);color:var(--studio-ink);letter-spacing:0}.studio .page-lead,.studio .small{color:var(--studio-muted)}.studio .studio-season{font-family:var(--studio-serif);font-size:var(--f-large-title);font-weight:700}.studio .studio-surround{background:var(--studio-drape-surround)}.studio .studio-fan{display:flex;gap:8px;margin:16px 0 8px}.studio .studio-fan span{width:44px;height:64px;border-radius:8px;box-shadow:var(--ring)}.studio .studio-fade-in{animation:studio-fade-up var(--studio-reveal) ease-out both}@keyframes studio-fade-up{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.studio .studio-fade-in{animation:none}.studio{--studio-fade:0ms;--studio-dial:0ms;--studio-reveal:0ms}}.palette-dev figure{margin:0}.palette-dev canvas{display:block;width:100%;height:auto;border-radius:8px;background:var(--studio-drape-surround)}.palette-dev .palette-dev-grid{display:grid;grid-gap:16px;gap:16px;margin-block:16px}@media (min-width:721px){.palette-dev .palette-dev-grid{grid-template-columns:1fr 1fr}}.palette-dev table{width:100%;border-collapse:collapse;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-size:var(--f-subhead)}.palette-dev td,.palette-dev th{text-align:left;padding:6px 4px;border-bottom:1px solid var(--line)}.palette-dev .palette-dev-chip{display:inline-block;width:18px;height:18px;border-radius:4px;vertical-align:middle;box-shadow:var(--ring);margin-right:6px}.palette-dev .palette-dev-legend{display:flex;flex-wrap:wrap;gap:4px 12px;font-size:var(--f-footnote);color:var(--studio-muted)}.studio .studio-kicker{margin:0;text-transform:uppercase;letter-spacing:.04em;font-size:var(--f-footnote)}.studio .studio-headline{font-family:var(--studio-serif);font-size:var(--f-title3);font-weight:600}.studio .studio-swatches{list-style:none;margin:8px 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(84px,1fr));grid-gap:12px 10px;gap:12px 10px}.studio .studio-swatches li{display:flex;flex-direction:column;gap:6px;min-width:0}.studio .studio-chip{display:block;width:100%;aspect-ratio:1/1;border-radius:10px;box-shadow:var(--ring)}.studio .studio-swatch-name{font-size:var(--f-footnote);line-height:1.25;overflow-wrap:anywhere}.studio .studio-dials{display:grid;grid-gap:14px;gap:14px;margin:16px 0 24px}.studio .studio-dial-head{display:flex;justify-content:space-between;align-items:baseline;gap:8px;font-weight:600}.studio .studio-dial-ends{display:flex;justify-content:space-between;margin-top:4px}.studio .studio-meter{position:relative;height:10px;border-radius:5px;background:color-mix(in srgb,var(--studio-ink) 12%,transparent);margin-top:6px}.studio .studio-meter:after{content:"";position:absolute;left:50%;top:-3px;bottom:-3px;width:2px;background:var(--studio-muted)}.studio .studio-meter-fill{position:absolute;top:0;bottom:0;border-radius:5px;background:var(--accent);animation:studio-dial var(--studio-dial) ease-out both;transform-origin:center}@keyframes studio-dial{0%{opacity:0;transform:scaleX(0)}to{opacity:1;transform:none}}.studio .studio-edit h2{margin-top:0}.studio .studio-share-buttons{display:flex;flex-wrap:wrap;gap:8px}.studio .studio-consent{padding-left:1.2em;margin:0 0 16px;display:grid;grid-gap:8px;gap:8px}.studio .studio-check{display:flex;align-items:center;gap:12px;min-height:44px;margin:8px 0 16px;font-weight:600}.studio .studio-check input{width:24px;height:24px;flex:0 0 24px}.studio .studio-checklist{margin-block:16px}.studio .studio-help summary{min-height:44px;display:flex;align-items:center;cursor:pointer;font-weight:600}.studio label.btn.is-busy{opacity:.6;pointer-events:none}.studio .studio-crossfade{position:relative;border-radius:var(--r-card);overflow:hidden;background:var(--studio-drape-surround);margin-bottom:8px}.studio .studio-crossfade img{display:block;width:100%;height:auto}.studio .studio-crossfade-after{position:absolute;inset:0;animation:studio-fade var(--studio-fade) ease-in-out .6s both}@keyframes studio-fade{0%{opacity:0}to{opacity:1}}.studio .studio-drapes{display:grid;grid-gap:12px;gap:12px;margin:12px 0}.studio .studio-drape-figure{margin:0;display:grid;grid-gap:8px;gap:8px}.studio .studio-drape-flip{all:unset;display:block;cursor:pointer;border-radius:var(--r-card);overflow:hidden;background:var(--studio-drape-surround)}.studio .studio-drape-flip:focus-visible{outline:3px solid var(--focus);outline-offset:3px}.studio .studio-drape{display:block;width:100%;height:auto}.studio .studio-this-one{width:100%;min-height:50px}@media (max-width:720px){.studio .studio-drapes[data-view=a] .studio-drape-figure[data-side=b],.studio .studio-drapes[data-view=b] .studio-drape-figure[data-side=a]{display:none}}@media (min-width:721px){.studio .studio-drapes{grid-template-columns:1fr 1fr}.palette-session .segmented,.studio .studio-drapes~.segmented{display:none}}@media (prefers-reduced-motion:reduce){.studio .studio-crossfade-after,.studio .studio-meter-fill{animation:none}}.studio .studio-tryon-choices{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:10px;gap:10px;margin:8px 0 12px}.studio .studio-tryon-chip{all:unset;display:flex;flex-direction:column;gap:6px;cursor:pointer;min-height:44px;border-radius:10px;padding:4px}.studio .studio-tryon-chip[aria-checked=true] .studio-chip{outline:3px solid var(--accent-text);outline-offset:2px}.studio .studio-tryon-chip:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.studio .studio-chip-none{background:repeating-linear-gradient(45deg,transparent 0 6px,color-mix(in srgb,var(--studio-ink) 14%,transparent) 6px 8px)}.studio .studio-chip-sm{width:32px;height:32px;flex:0 0 32px;aspect-ratio:auto;border-radius:8px}.studio .studio-tap{cursor:crosshair;margin:12px 0;border-radius:var(--r-card)}.studio .studio-verdict{display:flex;align-items:center;gap:12px;margin:8px 0}.studio .studio-verdict p{margin:0}.studio .studio-camera{position:relative;border-radius:var(--r-card);overflow:hidden;background:#000;margin-bottom:12px}.studio .studio-camera video{display:block;width:100%;height:auto}.studio .studio-reticle{position:absolute;left:50%;top:50%;width:24%;aspect-ratio:1/1;transform:translate(-50%,-50%);border:3px solid #fff;border-radius:50%;box-shadow:0 0 0 2px rgb(0 0 0/.45);pointer-events:none}.studio label.secondary{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 16px;border-radius:var(--r-button);background:var(--accent-tint);color:var(--accent-text);font-weight:600;cursor:pointer}.studio .studio-kicker-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.palette-coming-up{display:grid;grid-gap:2px;gap:2px;text-decoration:none;color:inherit;min-height:44px}.palette-coming-up-kicker{text-transform:uppercase;letter-spacing:.04em}.palette-coming-up-title{font-weight:600}.studio .palette-event-people{border:0;padding:0;margin:8px 0}.studio .palette-event-people legend{font-weight:600;padding:0}.studio .palette-event-extra-row{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px;gap:8px}.studio .palette-story h3{margin-top:0;font-family:var(--studio-serif)}.host-palette-swatches{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:12px}.host-palette-swatches li{display:flex;align-items:center;gap:8px}.host-palette-chip{display:inline-block;width:28px;height:28px;border-radius:8px;box-shadow:var(--ring)}.studio .analyst-thread{list-style:none;margin:16px 0 0;padding:0;display:flex;flex-direction:column;gap:12px}.studio .analyst-msg{max-width:88%;padding:12px 16px;border-radius:18px;background:var(--card);color:var(--ink);box-shadow:0 0 0 1px color-mix(in srgb,var(--ink) 8%,transparent);line-height:1.42;overflow-wrap:anywhere}.studio .analyst-msg p{margin:0}.studio .analyst-msg.is-me{align-self:flex-end;background:var(--accent-tint);box-shadow:none}.studio .analyst-by{display:block;margin-bottom:4px;font-family:var(--studio-serif);font-size:var(--f-footnote);color:var(--studio-muted)}.studio .analyst-reply{margin-top:20px}.studio .analyst-chips{display:flex;flex-wrap:wrap;gap:8px}.studio .analyst-privacy{margin-top:20px}.studio .studio-notes{display:grid;grid-template-columns:max-content 1fr;grid-gap:6px 14px;gap:6px 14px;margin:0}.studio .studio-notes dt{font-weight:600}.studio .studio-notes dd{margin:0}.studio .analyst-suggest{margin:12px 0;padding:12px 16px;border-radius:18px;background:var(--card);box-shadow:0 0 0 1px color-mix(in srgb,var(--ink) 8%,transparent);line-height:1.42}.studio .analyst-suggest p{margin:0}.studio .analyst-suggest p+p{margin-top:4px}.studio .analyst-suggest.is-looking{color:var(--studio-muted)}.studio .studio-analyst-badge{display:block;margin-bottom:6px;text-align:center;font-family:var(--studio-serif);font-size:var(--f-footnote);color:var(--studio-muted)}