.auth-screen{position:fixed;top:0;bottom:0;left:50%;transform:translate(-50%);width:100%;max-width:var(--frame-max, 100vw);background:var(--surface);z-index:100;display:flex;align-items:center;justify-content:center;padding:24px;box-sizing:border-box;overflow-y:auto}.auth-screen-inner{width:100%;max-width:360px;display:flex;flex-direction:column}.auth-screen-title{text-align:center;font-size:var(--fs-title);font-weight:700;color:var(--text);margin-bottom:12px}.auth-screen-subtitle{text-align:center;font-size:var(--fs-body);line-height:var(--lh-text);color:var(--text-secondary);margin-bottom:24px}.auth-screen-form{display:flex;flex-direction:column;gap:12px}.auth-screen-form .btn{width:100%}.auth-screen-legal{font-size:var(--fs-caption);color:var(--text-secondary);text-align:center;margin-top:24px;line-height:var(--lh-text)}.auth-screen-legal a{color:var(--text);text-decoration:underline}.banner-notification{background:var(--surface-sunk);color:var(--text);border-radius:var(--radius);padding:14px 16px;display:flex;align-items:center;gap:12px;margin-bottom:14px;position:relative}.banner-notification-icon{flex-shrink:0;color:var(--text)}.banner-notification-image{flex-shrink:0;width:44px;height:44px;border-radius:var(--radius-sm);object-fit:cover}.banner-notification-content{flex:1;min-width:0}.banner-notification-title{font-size:var(--fs-small);font-weight:600;margin:0 0 2px}.banner-notification-body{font-size:var(--fs-small);margin:0}.banner-notification-link{flex-shrink:0;font-size:var(--fs-micro);font-weight:600;color:var(--text);text-decoration:underline;text-underline-offset:2px;white-space:nowrap;transition:opacity .15s}.banner-notification-link:hover{opacity:.7}.banner-notification-close{position:absolute;top:4px;right:4px}.impact{display:flex;flex-direction:column;gap:12px}.impact-state{text-align:center;padding:40px 16px;color:var(--text-secondary)}.impact-toggle{display:flex;gap:4px;margin-bottom:4px}.impact-card{padding:18px}.impact-card-h{font-size:var(--fs-subheading);font-weight:700;margin-bottom:2px}.impact-note{font-size:var(--fs-small);color:var(--text-secondary);margin-bottom:12px}.impact-hero{display:flex;align-items:center;gap:18px}.impact-ring{position:relative;flex:0 0 104px;width:104px;height:104px}.impact-ring circle{transition:stroke-dashoffset .5s ease,stroke .3s ease}.impact-ring-num{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center}.impact-ring-num b{font-size:var(--fs-display);font-weight:700;line-height:1}.impact-ring-num span{font-size:var(--fs-micro);color:var(--text-secondary);font-weight:600;letter-spacing:var(--ls-label)}.impact-hero-text h2{font-size:var(--fs-heading);font-weight:700;margin-bottom:5px}.impact-hero-text p{font-size:var(--fs-body);color:var(--text-secondary);line-height:var(--lh-ui)}.impact-pill{display:inline-block;margin-top:9px}.impact-twin{display:grid;grid-template-columns:1fr 1fr;gap:12px}.impact-stat-ic{font-size:19px;margin-bottom:8px}.impact-stat-big{font-size:var(--fs-display);font-weight:700;letter-spacing:var(--ls-tight)}.impact-stat-big.is-good{color:var(--text)}.impact-stat-big.is-bad{color:var(--danger)}.impact-stat-big.is-neutral{color:var(--text-secondary)}.impact-stat-lbl{font-size:var(--fs-small);color:var(--text-secondary);margin-top:3px;line-height:var(--lh-tight)}.impact-rescue{display:flex;align-items:center;gap:14px}.impact-rescue-badge{display:grid;place-items:center;font-size:24px}.impact-rescue-big{font-size:var(--fs-title);font-weight:700}.impact-rescue-desc{font-size:var(--fs-small);color:var(--text-secondary);margin-top:2px}.impact-repeat{list-style:none;margin:0;padding:0}.impact-repeat li{display:flex;align-items:center;gap:12px;padding:11px 0;border-bottom:1px solid var(--border);font-size:var(--fs-body)}.impact-repeat li:last-child{border-bottom:0;padding-bottom:0}.impact-repeat-name b{font-weight:600}.impact-repeat-name small{display:block;color:var(--text-secondary);font-size:var(--fs-caption)}.impact-repeat-cnt{margin-left:auto}.impact-empty{font-size:var(--fs-body);color:var(--text-secondary)}.impact-foot{text-align:center;color:var(--text-secondary);font-size:var(--fs-micro);margin-top:6px;line-height:var(--lh-text)}:root{--text: #1A1A1A;--text-secondary: #6B6B66;--primary: var(--text);--primary-hover: #000000;--on-primary: #ffffff;--on-primary-secondary: color-mix(in srgb, var(--on-primary) 70%, transparent);--on-primary-faint: color-mix(in srgb, var(--on-primary) 20%, transparent);--surface: #ffffff;--surface-page: #FBFAF4;--surface-sunk: #f0ede5;--border: #d4d1c7;--overlay: rgba(0, 0, 0, .4);--featured: #fcba03;--featured-hover: #e3a703;--featured-ink: #1A1A1A;--success: #e8f6ec;--success-ink: #157347;--positive: #16a34a;--danger: #dc2626;--danger-hover: color-mix(in srgb, var(--danger) 85%, black);--danger-soft: #fef2f2;--secondary-bg: var(--surface);--secondary-ink: var(--text);--secondary-border: var(--border);--on-image: #ffffff;--image-scrim: linear-gradient(to top, rgba(0, 0, 0, .75) 0%, rgba(0, 0, 0, .4) 55%, rgba(0, 0, 0, 0) 100%);--nav-active-bg: var(--primary);--nav-active-ink: var(--on-primary);--nav-active-border: var(--primary);--nav-active-ink-secondary: color-mix(in srgb, var(--nav-active-ink) 70%, transparent);--nav-active-border-width: 1px;--nav-active-shadow: 0 0 0 transparent;--footer-bg: var(--primary);--footer-ink: var(--on-primary);--footer-ink-secondary: color-mix(in srgb, var(--footer-ink) 70%, transparent);--footer-ink-faint: color-mix(in srgb, var(--footer-ink) 20%, transparent);--footer-fs: var(--fs-caption);--bottomnav-bg: var(--surface-page);--bottomnav-ink: var(--text-secondary);--bottomnav-active-bg: var(--surface-sunk);--bottomnav-active-icon: var(--text);--bottomnav-active-ink: var(--text);--bottomnav-fs: var(--fs-micro);--bottomnav-fw: 600;--header-bg: var(--theme-mobile-header-bg, var(--theme-header-bg, var(--surface-page)));--header-ink: var(--theme-mobile-header-ink, var(--theme-header-ink, var(--text)));--header-logo-bg: var(--theme-mobile-header-logo-bg, var(--header-bg));--header-logo-w: var(--theme-mobile-logo-w, 28px);--header-logo-h: var(--theme-mobile-logo-h, 28px);--header-action-bg: var(--featured);--header-action-hover: var(--featured-hover);--header-action-ink: var(--featured-ink);--header-action-selected-bg: var(--surface-sunk);--header-action-selected-ink: var(--text);--font-body: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--fs-micro: 11px;--fs-caption: 12px;--fs-small: 13px;--fs-body: 14px;--fs-subheading: 15px;--fs-input: 16px;--fs-heading: 18px;--fs-title: 20px;--fs-display: 24px;--fs-display-lg: 30px;--lh-tight: 1.25;--lh-ui: 1.4;--lh-text: 1.5;--ls-label: .06em;--ls-tight: -.015em;--radius-xs: 6px;--radius-sm: 8px;--radius: 12px;--radius-lg: 18px;--radius-pill: 999px;--btn-radius: var(--radius-sm);--control-h: 44px;--control-h-sm: 34px;--icon-btn-size: 32px;--shadow-sm: 0 1px 3px rgba(0,0,0,.08);--shadow-md: 0 4px 12px rgba(0,0,0,.15);--shadow-lg: 0 12px 32px rgba(0,0,0,.18);--shadow-up: 0 -6px 22px rgba(0,0,0,.13);--focus-ring: 0 0 0 3px rgba(0,0,0,.1)}html[data-layout=desktop]{--primary: #123C2B;--primary-hover: #0C2A1E;--header-bg: var(--theme-header-bg, var(--surface));--header-ink: var(--theme-header-ink, var(--text));--header-logo-bg: var(--theme-header-logo-bg, var(--header-bg));--header-logo-w: var(--theme-logo-w, 30px);--header-logo-h: var(--theme-logo-h, 30px)}.text-display{font-size:var(--fs-display);font-weight:700;line-height:var(--lh-tight);letter-spacing:var(--ls-tight)}.text-title{font-size:var(--fs-title);font-weight:700;line-height:var(--lh-tight);letter-spacing:var(--ls-tight)}.text-heading{font-size:var(--fs-heading);font-weight:700;line-height:var(--lh-tight)}.text-subheading{font-size:var(--fs-subheading);font-weight:600;line-height:var(--lh-tight)}.text-body{font-size:var(--fs-body);font-weight:400;line-height:var(--lh-text)}.text-small{font-size:var(--fs-small);font-weight:400;line-height:var(--lh-ui)}.text-caption{font-size:var(--fs-caption);font-weight:400;line-height:var(--lh-ui)}.text-label{font-size:var(--fs-caption);font-weight:600;line-height:var(--lh-tight);letter-spacing:var(--ls-label);text-transform:uppercase;color:var(--text-secondary)}.text-muted{color:var(--text-secondary)}.text-danger{color:var(--danger)}.text-positive{color:var(--positive)}.text-strong{font-weight:600}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:var(--control-h);padding:0 16px;font:inherit;font-size:var(--fs-subheading);font-weight:600;line-height:var(--lh-tight);text-align:center;text-decoration:none;border:1px solid var(--secondary-border);border-radius:var(--btn-radius);background:var(--secondary-bg);color:var(--secondary-ink);cursor:pointer;transition:background .15s,border-color .15s,color .15s}.btn:hover:not(:disabled){background:var(--surface-sunk)}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled,.btn.is-blocked{opacity:.4;cursor:not-allowed}.btn.is-selected{background:var(--surface-sunk);border-color:var(--text);color:var(--text)}.btn--primary{background:var(--primary);border-color:var(--primary);color:var(--on-primary)}.btn--primary:hover:not(:disabled){background:var(--primary-hover);border-color:var(--primary-hover)}.btn--danger{background:var(--danger);border-color:var(--danger);color:var(--on-primary)}.btn--danger:hover:not(:disabled){background:var(--danger-hover);border-color:var(--danger-hover)}.btn--featured{background:var(--featured);border-color:var(--featured);color:var(--featured-ink)}.btn--featured:hover:not(:disabled){background:var(--featured-hover);border-color:var(--featured-hover)}.btn--header{background:var(--header-action-bg);border-color:var(--header-action-bg);color:var(--header-action-ink)}.btn--header:hover:not(:disabled){background:var(--header-action-hover);border-color:var(--header-action-hover)}.btn--header.is-selected,.btn--header.is-selected:hover:not(:disabled){background:var(--header-action-selected-bg);border-color:var(--header-action-selected-ink);color:var(--header-action-selected-ink)}.btn--ghost{min-height:0;padding:4px 0;background:transparent;border-color:transparent;color:var(--text-secondary)}.btn--ghost:hover:not(:disabled){background:transparent;color:var(--text)}.btn--soft{background:var(--surface-sunk);border-color:transparent}.btn--sm{min-height:var(--control-h-sm);padding:0 12px;font-size:var(--fs-small);gap:6px}.btn--full{display:flex;width:100%}.icon-btn{display:inline-flex;align-items:center;justify-content:center;flex:none;width:var(--icon-btn-size);height:var(--icon-btn-size);padding:0;border:1px solid var(--border);border-radius:50%;background:var(--surface);color:var(--text);cursor:pointer;transition:background .15s,color .15s}.icon-btn:hover:not(:disabled){background:var(--surface-sunk)}.icon-btn:disabled{opacity:.4;cursor:not-allowed}.icon-btn.is-selected{background:var(--surface-sunk);border-color:var(--surface-sunk)}.icon-btn--plain{border-color:transparent;background:transparent;color:var(--text-secondary)}.icon-btn--plain:hover:not(:disabled){color:var(--text)}.icon-btn--on-image{border-color:transparent;box-shadow:var(--shadow-sm)}.icon-btn--primary{border-color:var(--primary);background:var(--primary);color:var(--on-primary)}.icon-btn--primary:hover:not(:disabled){background:var(--primary-hover);border-color:var(--primary-hover)}.icon-btn--danger:hover:not(:disabled){color:var(--danger);background:var(--danger-soft)}.icon-btn.is-liked{color:var(--danger)}.fab{display:inline-flex;align-items:center;gap:8px;min-height:var(--control-h);padding:0 18px;border:0;border-radius:var(--radius-pill);background:var(--primary);color:var(--on-primary);box-shadow:var(--shadow-md);font:inherit;font-size:var(--fs-body);font-weight:600;cursor:pointer;transition:background .15s}.fab:hover:not(:disabled){background:var(--primary-hover)}.fab:active:not(:disabled){transform:translateY(1px)}.fab:disabled{opacity:.4;cursor:not-allowed}.fab--featured{background:var(--featured);color:var(--featured-ink)}.fab--featured:hover:not(:disabled){background:var(--featured-hover)}.media-caption{position:absolute;left:0;right:0;bottom:0;padding:36px 12px 10px;background:var(--image-scrim);color:var(--on-image);pointer-events:none}.media-caption-title{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:var(--fs-subheading);font-weight:700;line-height:var(--lh-tight)}html[data-layout=desktop] .media-caption{padding:48px 14px 12px}.media-caption--hero{padding:56px 16px 14px}.media-caption--hero .media-caption-title{margin:0;-webkit-line-clamp:3;font-size:var(--fs-title);letter-spacing:var(--ls-tight)}html[data-layout=desktop] .media-caption--hero{padding:80px 24px 20px}html[data-layout=desktop] .media-caption--hero .media-caption-title{font-size:var(--fs-display-lg)}html[data-layout=desktop] .media-caption-title{font-size:var(--fs-heading)}.chip{display:inline-flex;align-items:center;gap:6px;flex-shrink:0;padding:6px 14px;border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--surface);color:var(--text);font:inherit;font-size:var(--fs-small);font-weight:600;line-height:var(--lh-tight);white-space:nowrap;cursor:pointer;transition:background .15s,border-color .15s,color .15s}.chip:hover:not(:disabled):not(.is-active){border-color:var(--text)}.chip.is-active{background:var(--primary);border-color:var(--primary);color:var(--on-primary)}.chip:disabled{opacity:.4;cursor:not-allowed}.chip--removable{padding-right:8px;gap:4px}.chip--alt{border-style:dashed}.chip-remove{padding:0;border:0;background:none;color:inherit;font:inherit;line-height:1;cursor:pointer}.link{display:inline;padding:0;border:0;background:none;color:inherit;font:inherit;text-decoration:underline;text-underline-offset:2px;cursor:pointer}.notice{padding:10px 12px;border:1px solid transparent;border-radius:var(--radius-sm);background:var(--surface-sunk);color:var(--text);font-size:var(--fs-small);line-height:var(--lh-ui)}.notice--danger{background:var(--danger-soft);color:var(--danger)}.notice--attention{background:color-mix(in srgb,var(--featured) 12%,transparent);border-color:color-mix(in srgb,var(--featured) 45%,transparent)}.tag{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border:1px solid transparent;border-radius:var(--radius-pill);background:var(--surface-sunk);color:var(--text);font-size:var(--fs-micro);font-weight:600;line-height:var(--lh-tight);white-space:nowrap}.tag .icon{stroke-width:2.4}.tag--muted{color:var(--text-secondary)}.tag--outline{border-color:var(--border)}.tag--featured{background:var(--featured);color:var(--featured-ink)}.tag--danger{background:var(--danger-soft);color:var(--danger)}.tag--on-image{background:var(--surface);border-color:var(--text);color:var(--text)}.count-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:var(--radius-pill);background:var(--primary);color:var(--on-primary);font-size:var(--fs-micro);font-weight:600;line-height:1}.count-badge--muted{background:var(--surface-sunk);color:var(--text-secondary)}.count-badge--danger{background:var(--danger);color:var(--on-primary)}.count-badge--inverse{background:color-mix(in srgb,currentColor 20%,transparent);color:inherit}.tabs{display:flex;border-bottom:1px solid var(--border)}.tab{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:10px 2px;margin-bottom:-1px;border:0;border-bottom:2px solid transparent;background:none;color:var(--text-secondary);font:inherit;font-size:var(--fs-body);font-weight:600;white-space:nowrap;cursor:pointer}.tab:hover{color:var(--text)}.tab.is-active{color:var(--text);border-bottom-color:var(--text)}.tabs--fill>.tab{flex:1}.segmented,html[data-layout=desktop] .tabs--page{display:flex;gap:4px;padding:4px;border:0;border-radius:var(--radius-pill);background:var(--surface-sunk)}html[data-layout=desktop] .tabs--page{width:max-content}.segmented-item,html[data-layout=desktop] .tabs--page>.tab{flex:1;padding:7px 14px;margin:0;border:1px solid transparent;border-radius:var(--radius-pill);background:transparent;color:var(--text-secondary);font:inherit;font-size:var(--fs-body);font-weight:600;cursor:pointer}html[data-layout=desktop] .tabs--page>.tab{flex:0 0 auto}.segmented-item.is-active,html[data-layout=desktop] .tabs--page>.tab.is-active{background:var(--surface);border-color:var(--border);color:var(--text)}.check{display:inline-flex;align-items:center;justify-content:center;flex:none;width:22px;height:22px;padding:0;border:1.5px solid var(--border);border-radius:var(--radius-xs);background:var(--surface);color:transparent;cursor:pointer;transition:background .15s,border-color .15s,color .15s}.check:hover:not(:disabled){border-color:var(--text)}.check.is-on,.check.is-mixed{background:var(--primary);border-color:var(--primary);color:var(--on-primary)}.check--inverse.is-on{background:var(--on-primary);border-color:var(--on-primary);color:var(--primary)}.check--done{width:26px;height:26px;border-width:2px;border-radius:50%}.check--done:hover:not(:disabled){border-color:var(--positive);background:var(--success)}.check--done.is-on{background:var(--positive);border-color:var(--positive);color:var(--on-primary)}.switch{position:relative;display:inline-flex;flex:none;cursor:pointer}.switch input{position:absolute;width:0;height:0;opacity:0}.switch-track{position:relative;width:40px;height:24px;border-radius:var(--radius-pill);background:var(--border);transition:background .15s}.switch-track:after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:var(--surface);box-shadow:var(--shadow-sm);transition:transform .15s}.switch input:checked+.switch-track{background:var(--primary)}.switch input:checked+.switch-track:after{transform:translate(16px)}.switch input:focus-visible+.switch-track{box-shadow:var(--focus-ring)}@media(prefers-reduced-motion:reduce){.switch-track,.switch-track:after{transition:none}}.input{display:block;width:100%;min-height:var(--control-h);padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);font:inherit;font-size:var(--fs-input);line-height:var(--lh-ui);outline:none;transition:border-color .15s}.input:focus{border-color:var(--text)}.input:disabled{opacity:.6;cursor:not-allowed}.input::placeholder{color:var(--text-secondary)}textarea.input{resize:vertical}select.input{cursor:pointer}.input--sm{width:auto;min-height:var(--control-h-sm);padding:4px 8px;font-size:var(--fs-small)}.search-field{display:flex;align-items:center;gap:8px;min-height:var(--control-h);padding:0 12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text-secondary);transition:border-color .15s}.search-field:focus-within{border-color:var(--text)}.search-field input{flex:1;min-width:0;padding:0;border:0;outline:0;background:transparent;color:var(--text);font:inherit;font-size:var(--fs-input)}.search-field input::placeholder{color:var(--text-secondary)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}.card--raised{box-shadow:var(--shadow-sm)}.card--sunk{background:var(--surface-sunk);border-color:transparent}.card--primary{background:var(--primary);border-color:var(--primary);color:var(--on-primary)}.card--nav-active{background:var(--nav-active-bg);border-color:var(--nav-active-border);color:var(--nav-active-ink);box-shadow:inset 0 0 0 calc(var(--nav-active-border-width) - 1px) var(--nav-active-border),var(--nav-active-shadow)}.card.is-selected{border-color:var(--text)}.card--link{cursor:pointer}html[data-layout=desktop] .card--link{transition:transform .14s ease,box-shadow .14s ease,border-color .14s ease}html[data-layout=desktop] .card--link:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:var(--text-secondary)}html[data-layout=desktop] .card--link.card--primary:hover{border-color:var(--primary)}html[data-layout=desktop] .card--link.card--nav-active:hover{border-color:var(--nav-active-border);box-shadow:inset 0 0 0 calc(var(--nav-active-border-width) - 1px) var(--nav-active-border),var(--shadow-md)}html[data-layout=desktop] .card--link:active{transform:translateY(0)}@media(prefers-reduced-motion:reduce){html[data-layout=desktop] .card--link:hover{transform:none}}.app-header{background:var(--header-bg);color:var(--header-ink)}.app-header-title{font-size:var(--fs-title);font-weight:700;letter-spacing:var(--ls-tight);color:inherit}.dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--overlay);display:flex;align-items:center;justify-content:center;z-index:100;padding:16px}.dialog{background:var(--surface);border-radius:var(--radius);width:100%;max-width:360px;padding:20px;text-align:center;box-shadow:var(--shadow-lg)}.dialog h3{font-size:var(--fs-subheading);font-weight:700;margin-bottom:8px}.dialog p{font-size:var(--fs-body);color:var(--text-secondary);margin-bottom:16px}.dialog-actions{display:flex;gap:8px}.dialog-actions .btn{flex:1}.dialog-backdrop.is-sheet{align-items:flex-end;padding:0}.dialog-backdrop.is-sheet .dialog{max-width:var(--frame-max);width:100%;border-radius:var(--radius-lg) var(--radius-lg) 0 0;padding:22px 20px calc(20px + env(safe-area-inset-bottom));animation:dialog-sheet-up .22s .15s}.dialog-backdrop.is-sheet .dialog:before{content:"";display:block;width:36px;height:4px;border-radius:var(--radius-pill);background:var(--border);margin:-8px auto 14px}.dialog-backdrop.is-locked .dialog:before{display:none}.dialog-sheet-head{display:flex;align-items:center;gap:8px;margin-bottom:10px}.dialog-sheet-head h3{flex:1;margin:0}@keyframes dialog-sheet-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.dialog-backdrop.is-sheet .dialog{animation:none}}.sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:var(--overlay);display:flex;align-items:flex-end;justify-content:center}.sheet-panel--bottom{background:var(--surface);width:100%;max-width:var(--frame-max);border-radius:var(--radius-lg) var(--radius-lg) 0 0;padding:20px}html[data-layout=desktop] .dialog-backdrop.is-sheet,html[data-layout=desktop] .sheet-backdrop{align-items:center;padding:16px}html[data-layout=desktop] .dialog-backdrop.is-sheet .dialog{max-width:420px;border-radius:var(--radius);padding:22px 20px 20px;animation:none}html[data-layout=desktop] .dialog-backdrop.is-sheet .dialog:before{display:none}html[data-layout=desktop] .sheet-panel--bottom{max-width:420px;border-radius:var(--radius)}.dialog--list{display:flex;flex-direction:column;max-width:400px;max-height:80vh;padding:0;text-align:left}.dialog-head{display:flex;align-items:center;gap:8px;padding:12px 14px;border-bottom:1px solid var(--border)}.dialog-body{overflow-y:auto;padding:4px 0}.list-row{display:flex;align-items:center;gap:10px;padding:10px 14px}.list-row+.list-row{border-top:1px solid var(--border)}.icon-badge{display:inline-flex;align-items:center;justify-content:center;flex:none;width:56px;height:56px;border-radius:50%;background:var(--surface-sunk);color:var(--text)}.icon-badge--lg{width:88px;height:88px}.icon-badge--success{background:var(--success);color:var(--success-ink)}.icon-badge--inverse{background:var(--on-primary-faint);color:var(--on-primary)}.toast{pointer-events:auto;border:0;cursor:pointer;text-align:center;padding:10px 14px;border-radius:var(--radius);background:var(--surface-sunk);color:var(--text);box-shadow:var(--shadow-sm);font-size:var(--fs-small);font-weight:600;line-height:var(--lh-tight);max-width:100%}.toast--success{background:var(--success);color:var(--success-ink)}.toast--error{background:var(--danger);color:var(--on-primary)}html[data-layout=desktop] .input:not(.input--sm),html[data-layout=desktop] .search-field input{font-size:var(--fs-body)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}button{font-family:inherit}body{font-family:var(--font-body);line-height:var(--lh-text);color:var(--text);background:var(--surface);-webkit-font-smoothing:antialiased}.app{min-height:100vh;display:flex;flex-direction:column}.app--embed{min-height:100vh}.app--embed .main{padding-top:12px}.agent{display:flex;flex-direction:column;flex:1;font-size:80%}.main{flex:1;display:flex;flex-direction:column;max-width:800px;margin:0 auto;width:100%;padding:0 16px 80px}.modal{background:var(--surface);border-radius:var(--radius);padding:24px;width:100%;max-width:400px;position:relative;box-shadow:var(--shadow-lg)}.error-text{color:var(--danger);font-size:var(--fs-small);margin-bottom:8px}.kitchen-banner{padding:14px;margin-bottom:12px}.kitchen-banner p{font-size:var(--fs-small);color:var(--text);margin-bottom:8px}.kitchen-banner-actions{display:flex;gap:8px}.chat-window{flex:1;overflow-y:auto;padding:16px 12px}.chat-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:60px 16px;color:var(--text-secondary)}.chat-empty-icon{width:72px;height:72px;display:flex;align-items:center;justify-content:center;margin-bottom:12px}.chat-empty-icon img{width:100%;height:100%;object-fit:contain}.chat-empty h2{font-size:var(--fs-heading);color:var(--text);margin-bottom:4px}.chat-empty p{font-size:var(--fs-body)}.message{display:flex;gap:8px;margin-bottom:16px}.message-user{justify-content:flex-end}.message-assistant{justify-content:flex-start}.message-avatar{width:24px;height:24px;border-radius:50%;background:var(--text);color:var(--surface-sunk);display:flex;align-items:center;justify-content:center;font-size:var(--fs-micro);font-weight:600;flex-shrink:0;margin-top:8px}.message-bubble{max-width:95%}.bubble-user{background:var(--text);color:var(--on-primary);border-radius:var(--radius) var(--radius) var(--radius-xs) var(--radius);padding:10px 14px}.bubble-assistant{background:transparent;border-radius:var(--radius) var(--radius) var(--radius) var(--radius-xs);padding:10px 0}.bubble-assistant p{font-size:inherit;margin-bottom:8px}.typing-indicator{display:flex;gap:4px;padding:12px 16px}.typing-indicator span{width:8px;height:8px;border-radius:50%;background:var(--border);animation:typing 1.2s infinite}.typing-indicator span:nth-child(2){animation-delay:.2s}.typing-indicator span:nth-child(3){animation-delay:.4s}@keyframes typing{0%,60%,to{opacity:.3;transform:scale(.8)}30%{opacity:1;transform:scale(1)}}.expiring-badge{margin-top:16px;margin-bottom:4px}.expiring-badge-label{font-size:var(--fs-micro);font-weight:600;color:var(--text);text-transform:uppercase;letter-spacing:var(--ls-label)}.expiring-badge-items{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}.recipe-grid{display:flex;flex-direction:column;gap:12px;margin-top:8px}.recipe-card{background:var(--surface-page);overflow:hidden;cursor:pointer;margin-bottom:12px;animation:recipe-card-in .2s ease-out both;transition:transform .14s ease,box-shadow .14s ease,border-color .14s ease}.recipe-card-expanded{border-color:var(--text-secondary)}.recipe-card-header{display:flex;gap:12px;padding:14px}.recipe-card-image{width:72px;height:72px;flex-shrink:0;border-radius:var(--radius-sm);overflow:hidden}.recipe-card-image img{width:100%;height:100%;object-fit:cover}.recipe-card-info{flex:1;min-width:0}.recipe-card-title{font-size:var(--fs-subheading);font-weight:600;color:var(--text);margin-bottom:10px;line-height:var(--lh-tight)}.recipe-card-tags{display:flex;flex-wrap:wrap;gap:6px}.recipe-card-kitchen-count{font-size:var(--fs-micro);color:var(--text);font-weight:600;margin-top:12px;min-height:13px}.recipe-card-kitchen-count-pending{color:var(--text-secondary);font-style:italic}.recipe-skeleton{padding:8px 0 16px}.recipe-skeleton-line{height:12px;border-radius:var(--radius-xs);background:var(--border);margin-bottom:8px;animation:recipe-skeleton-pulse 1.4s infinite ease-in-out}.recipe-skeleton-line:nth-child(1){width:90%}.recipe-skeleton-line:nth-child(2){width:75%;animation-delay:.15s}.recipe-skeleton-line:nth-child(3){width:85%;animation-delay:.3s}.recipe-skeleton-line:nth-child(4){width:60%;animation-delay:.45s}@keyframes recipe-skeleton-pulse{0%,to{opacity:.35}50%{opacity:.75}}.recipe-skeleton-text{font-size:var(--fs-caption);color:var(--text-secondary);font-style:italic;margin-top:4px}.recipe-card-error{font-size:var(--fs-small);color:var(--danger);padding:12px 0}.recipe-card-chevron{display:inline-flex;align-items:center;align-self:center;flex-shrink:0;color:var(--text-secondary);transition:transform .2s ease}.recipe-card-chevron.is-open{transform:rotate(180deg)}.recipe-card:hover .recipe-card-chevron{color:var(--text)}.recipe-card-actions{display:flex;gap:6px;margin-bottom:12px;flex-wrap:wrap}.bulk-actions{display:flex;gap:6px;justify-content:flex-end;margin:16px 0}.bulk-actions-btn{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;gap:4px;white-space:nowrap}.buy-page{min-height:100vh;min-height:100dvh;background:var(--surface-page);display:flex;flex-direction:column;max-width:var(--frame-max);margin:0 auto}.buy-page-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--border)}.buy-page-body{padding:16px;flex:1}.recipe-card-details{padding:10px 14px 14px;background:var(--surface-sunk);border-top:1px solid var(--border)}.recipe-card-desc{font-size:var(--fs-small);color:var(--text-secondary);line-height:var(--lh-text);margin-bottom:28px}.recipe-tabs{display:flex;margin-bottom:12px}.recipe-tab{flex:1;text-align:center}.recipe-tab-content{min-height:60px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:10px 12px}.ingredient-list{list-style:none;font-size:var(--fs-small);padding:0;margin:0}.ingredient-list li{padding:6px 0;display:flex;justify-content:space-between;align-items:center;border-bottom:1px dashed var(--border)}.ingredient-list li:last-child{border-bottom:0}.ingredient-from-kitchen{color:var(--text)}.ingredient-kitchen-tag{flex-shrink:0}.instruction-list{list-style:none;font-size:var(--fs-small);counter-reset:none}.instruction-list li{display:flex;gap:8px;padding:4px 0;align-items:flex-start}.step-number{width:24px;height:24px;border-radius:50%;background:var(--text);color:var(--surface-sunk);display:flex;align-items:center;justify-content:center;font-size:var(--fs-caption);font-weight:600;flex-shrink:0}.nutrition-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.nutrition-item{text-align:center}.nutrition-value{display:block;font-size:var(--fs-body);font-weight:600}.nutrition-label{display:block;font-size:var(--fs-micro);color:var(--text-secondary);text-transform:capitalize}.shopping-list{margin-top:12px;border-radius:var(--radius);overflow:hidden}.shopping-list-header{width:100%;display:flex;justify-content:space-between;padding:12px 16px;background:var(--text);color:var(--surface-page);font-size:var(--fs-body);font-weight:600;border:none;cursor:pointer;letter-spacing:var(--ls-label)}.shopping-list-items{list-style:none;border:1px solid var(--border);border-top:none}.shopping-list-item{display:flex;justify-content:space-between;padding:8px 16px;font-size:var(--fs-small);border-bottom:1px solid var(--border)}.shopping-list-item:last-child{border-bottom:none}.shopping-item-name{color:var(--text)}.shopping-item-right{display:flex;align-items:center;gap:8px}.shopping-item-qty{color:var(--text-secondary);font-weight:400}.shopping-item-delete{width:20px;height:20px;border:none;background:none;color:var(--text-secondary);font-size:16px;cursor:pointer;padding:0;line-height:1;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .15s}.shopping-item-delete:hover{color:var(--danger);background:var(--danger-soft)}.chat-input-wrapper{position:fixed;bottom:0;left:0;right:0;background:var(--surface-page);max-width:832px;margin:0 auto}.chat-input{display:flex;gap:8px;padding:10px 12px;align-items:flex-end;width:100%;box-sizing:border-box}.chat-input-limit{font-size:var(--fs-micro);color:var(--danger);padding:0 16px 8px;margin-top:-4px}.chat-textarea{flex:1 1 auto;width:100%;min-width:0;padding:10px 14px;resize:none;max-height:120px;box-sizing:border-box}.chat-send{flex-shrink:0;display:flex;align-items:center;justify-content:center}.chat-send svg{stroke-width:2.4}.page-bleed{margin:calc(-1 * var(--page-pad)) calc(-1 * var(--page-pad)) 0;padding-bottom:0}:root{--frame-max: 480px;--topbar-h: max(56px, calc(var(--header-logo-h) + 16px));--bottomnav-h: 70px;--page-pad: 16px}body{background:var(--surface-sunk)}.frame{background:var(--surface-page);height:100vh;height:100dvh;max-width:var(--frame-max);margin:0 auto;display:flex;flex-direction:column;position:relative;box-shadow:var(--shadow-sm);overflow:hidden}@media(min-width:900px){body{background:var(--surface-sunk)}.frame{min-height:100vh;border-left:1px solid var(--border);border-right:1px solid var(--border)}}.frame .agent{flex:1;display:flex;flex-direction:column;min-height:0}.frame .agent .main{flex:1;display:flex;flex-direction:column;min-height:0;max-width:none;padding:0}.frame .agent .chat-window{flex:1;overflow-y:auto;padding:16px 12px}.frame .agent .chat-empty{padding:40px 8px}.frame .agent .chat-input-wrapper{position:static;flex-shrink:0;margin:auto 0 0;left:auto;right:auto;max-width:none;width:100%;padding:8px 0;background:var(--surface-page)}.topbar{display:flex;align-items:center;justify-content:space-between;padding:0 16px;height:var(--topbar-h);position:sticky;top:0;z-index:20}.topbar-right{display:flex;align-items:center;gap:8px}.topbar-left{display:flex;align-items:center;gap:10px;min-width:0}.topbar-brand{display:flex;align-items:center;flex:none}.topbar-logo{width:var(--header-logo-w);height:var(--header-logo-h);border-radius:var(--radius-xs);object-fit:contain}html[data-header-layout=split] .topbar{padding-left:0}html[data-header-layout=split] .topbar-left{align-self:stretch}html[data-header-layout=split] .topbar-brand{align-self:stretch;padding:0 12px;background:var(--header-logo-bg)}.topbar-avatar{display:flex;align-items:center;justify-content:center}.profile-wrap{display:flex;align-items:center;gap:8px;min-width:0}.topbar-username{font-size:var(--fs-body);font-weight:600;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-menu{position:absolute;right:12px;top:calc(var(--topbar-h) + 4px);min-width:180px;z-index:30;overflow:hidden}.profile-menu button{display:block;width:100%;text-align:left;padding:10px 14px;background:none;border:0;font-size:var(--fs-body);color:var(--text);cursor:pointer}.profile-menu button:hover{background:var(--surface-sunk)}.profile-menu-divider{height:1px;background:var(--border);margin:4px 0}.page{flex:1;display:flex;flex-direction:column;min-height:0;overflow-y:auto;padding:16px var(--page-pad) 16px}.page>*{flex-shrink:0}.page-section{margin-bottom:20px}.page-section h3{font-size:var(--fs-subheading);font-weight:700;margin-bottom:10px}.onb-col{width:100%;max-width:480px;margin:0 auto;flex:1;display:flex;flex-direction:column}.onb-section{margin-bottom:20px}.onb-section h3{font-size:var(--fs-subheading);font-weight:700;margin-bottom:10px}.onb-title{margin-top:8px}.onb-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.onb-actions{margin-top:auto;margin-bottom:0}.bottomnav{position:sticky;bottom:0;left:0;right:0;height:calc(var(--bottomnav-h) + env(safe-area-inset-bottom,0px));padding-bottom:env(safe-area-inset-bottom,0px);background:var(--bottomnav-bg);border-top:1px solid var(--border);display:flex;z-index:20}.bottomnav-item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;background:none;border:0;cursor:pointer;padding:10px 0 6px;color:var(--bottomnav-ink);font-size:var(--bottomnav-fs);font-weight:var(--bottomnav-fw);text-decoration:none;position:relative}.bottomnav-item.is-active{color:var(--bottomnav-active-ink)}.bottomnav-item.is-active .bottomnav-icon-wrap{background:var(--bottomnav-active-bg);color:var(--bottomnav-active-icon)}.bottomnav-icon-wrap{position:relative;padding:8px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:background .15s}.bottomnav-badge{position:absolute;top:-2px;right:-2px;display:flex;align-items:center;justify-content:center}.bottomnav-label{margin-top:2px}.chip-row{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;padding-bottom:6px;margin-bottom:10px}.chip-row::-webkit-scrollbar{display:none}.hub-cuisine-row{scrollbar-width:none}.hub-cuisine-row::-webkit-scrollbar{display:none}.cb-card{background:var(--surface);margin-bottom:10px;overflow:hidden}.cb-card-head{display:flex;align-items:flex-start;gap:12px;padding:12px 44px 12px 12px;cursor:pointer;position:relative}.cb-card-body{flex:1;min-width:0}.cb-card-title{font-size:var(--fs-subheading);font-weight:600;color:var(--text);display:flex;align-items:center;gap:6px;margin-bottom:4px}.cb-card-meta{display:flex;flex-wrap:wrap;gap:8px;align-items:center;font-size:var(--fs-caption);color:var(--text-secondary);margin-bottom:6px}.cb-card-meta span{display:inline-flex;align-items:center;gap:3px}.cb-card-actions{position:absolute;top:6px;right:6px;display:flex;flex-direction:column;gap:6px;align-items:center;padding:0}.cb-card-iconbtn{display:flex;align-items:center;justify-content:center}.cb-card-expanded{padding:0 14px 14px;border-top:1px solid var(--border);background:var(--surface-sunk)}.cb-card-full-btn{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;margin:12px 0}.cb-ing-section h4{font-size:var(--fs-small);font-weight:700;margin:10px 0 8px}.cb-ing-section.muted h4{color:var(--text-secondary)}.cb-ing-list{list-style:none;padding:0;margin:0}.cb-ing-list li{display:flex;align-items:center;gap:8px;padding:6px 0;font-size:var(--fs-small);border-bottom:1px dashed var(--border)}.cb-ing-list li:last-child{border-bottom:0}.cb-ing-bullet{width:8px;height:8px;border-radius:50%;flex-shrink:0;background:var(--text)}.cb-ing-bullet.muted{background:var(--border)}.cb-ing-name{flex:1}.cb-ing-qty{color:var(--text-secondary);font-size:var(--fs-caption)}.sort-row{display:flex;justify-content:flex-end;margin-bottom:8px}.rd-hero-banner{position:relative;width:100%;aspect-ratio:4 / 3;background:linear-gradient(135deg,var(--text),var(--text));overflow:hidden}.rd-hero-banner>img{width:100%;height:100%;object-fit:cover;display:block}.rd-hero-fallback{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:72px;filter:drop-shadow(0 2px 6px rgba(0,0,0,.25))}.rd-hero-back,.rd-hero-like{position:absolute;top:12px;display:flex;align-items:center;justify-content:center;z-index:2}.rd-hero-back{left:12px}.rd-hero-like{right:12px}.rd-content{padding:16px;padding-bottom:calc(var(--bottomnav-h) + 80px)}.rd-title-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:8px}.rd-meta{display:flex;gap:14px;font-size:var(--fs-small);color:var(--text-secondary);margin-bottom:10px;flex-wrap:wrap}.rd-meta span{display:inline-flex;align-items:center;gap:4px}.rd-section-title{font-size:var(--fs-subheading);font-weight:700;margin:14px 0 8px}.rd-section-title--inline{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.rd-section-title-aside{font-size:var(--fs-caption);font-weight:400;color:var(--text-secondary)}.rd-ing-list{list-style:none;padding:0}.rd-ing-list li{display:flex;align-items:center;gap:8px;padding:10px 0;border-bottom:1px solid var(--border);font-size:var(--fs-body);color:var(--text-secondary)}.rd-ing-qty{font-size:var(--fs-body);color:var(--text-secondary)}.rd-ing-list li:last-child{border-bottom:0}.rd-ing-list li.is-replaced{flex-wrap:wrap}.rd-ing-replaced{color:var(--text-secondary)}.rd-ing-replacement{flex:1 0 100%;display:flex;align-items:center;gap:8px;padding-top:4px}.rd-ing-bullet-spacer{width:8px;flex:0 0 8px}.rd-ing-replaced-by{font-style:italic;color:var(--text-secondary);filter:brightness(.85)}.rd-instructions{padding-left:22px;margin:0}.rd-instructions li{padding:6px 0 6px 4px;font-size:var(--fs-body);color:var(--text-secondary)}.rd-instructions li::marker{color:var(--text-secondary);font-weight:600}.rd-nutrition-list{list-style:none;padding:0;margin:0}.rd-nutrition-row{display:flex;align-items:baseline;justify-content:space-between;gap:8px;padding:10px 0;border-bottom:1px solid var(--border)}.rd-nutrition-row:last-child{border-bottom:0}.rd-nutrition-label{color:var(--text-secondary);font-size:var(--fs-body)}.rd-nutrition-value{font-size:var(--fs-body);font-weight:400;color:var(--text-secondary)}.rd-nutrition-value.is-emphasis{font-weight:400}.rd-actions-spacer{height:80px}.tabs-row{display:flex;border-bottom:1px solid var(--border);margin-bottom:14px}.tab-btn{flex:1;border-bottom:2px solid transparent;white-space:nowrap;text-align:center}.tab-count{display:inline-flex;align-items:center;justify-content:center;margin-left:6px}.tab-btn{display:inline-flex;align-items:center;justify-content:center;gap:5px}.tab-btn-icon{width:13px;height:13px;flex:0 0 auto;opacity:.85}.hub-search{display:flex;align-items:center;gap:8px;margin-bottom:12px}.hub-search-clear{display:flex;align-items:center}.hub-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.hub-card{overflow:hidden;cursor:pointer;padding:0;text-align:left;width:100%;transition:border-color .15s,box-shadow .15s;display:flex;flex-direction:column}.hub-card-image{position:relative;aspect-ratio:16/10;width:100%;background:linear-gradient(135deg,var(--text),var(--text));overflow:hidden;display:flex;align-items:center;justify-content:center}.hub-card-image img{width:100%;height:100%;object-fit:cover;display:block}.hub-card-heart{position:absolute;top:8px;right:8px;display:flex;align-items:center;justify-content:center;z-index:1}.hub-card-image-fallback{font-size:42px;line-height:1;filter:drop-shadow(0 2px 4px rgba(0,0,0,.2))}.hub-card-body{padding:10px 12px}.hub-card-title{font-size:var(--fs-small);font-weight:600;color:var(--text);line-height:var(--lh-tight);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:34px}.hub-card-tags{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}.hub-card-facts{display:flex;flex-wrap:wrap;gap:12px;margin-top:6px;font-size:var(--fs-caption);color:var(--text-secondary)}.hub-card-facts span{display:inline-flex;align-items:center;gap:4px}.hub-card-desc{margin:7px 0 0;font-size:var(--fs-small);line-height:var(--lh-ui);color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hub-card-sentinel{padding:16px;text-align:center;font-size:var(--fs-caption);color:var(--text-secondary)}.shop-category{margin-bottom:16px}.shop-category-head{font-size:var(--fs-caption);font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:var(--ls-label);margin-bottom:6px}.shop-row{display:flex;align-items:center;gap:10px;padding:10px 2px;border-bottom:1px solid var(--border)}.shop-row-name{flex:1;font-size:var(--fs-body)}.shop-row-remove{display:inline-flex;align-items:center;justify-content:center}.saved-detail-remove{padding:6px;margin-left:4px}.shop-row{flex-wrap:wrap}.shop-row.is-expandable{cursor:pointer;align-items:flex-start}.shop-row.is-expandable>*{align-self:center}.shop-row-expand{flex:0 0 100%;display:flex;align-items:center;justify-content:center;background:none;border:0;padding:2px 0 0;cursor:pointer;color:var(--text-secondary);opacity:.5;transition:opacity .15s ease}.shop-row-expand:hover{opacity:.9}.shop-row-expand-icon{display:flex;transition:transform .15s ease}.shop-row-expand.is-open .shop-row-expand-icon{transform:rotate(180deg)}.swap-badge{display:inline-flex;align-items:center}.buyflow-card-meta .swap-badge{margin-left:7px;vertical-align:-2px}.swap-panel{flex:0 0 calc(100% - 28px);box-sizing:border-box;min-width:0;margin:8px 0 4px 28px;padding:4px 10px 2px}.shop-row.is-expanded{border-bottom-color:transparent;padding-bottom:14px}.swap-panel-head{color:var(--text-secondary);font-size:var(--fs-caption);padding:4px 2px 6px}.swap-panel-head strong{font-weight:600;color:var(--text-secondary)}.swap-panel-empty{font-size:var(--fs-caption);color:var(--text-secondary);padding:10px 2px}.swap-option{display:flex;align-items:center;gap:10px;width:100%;background:none;border:0;border-bottom:1px solid var(--border);padding:8px 2px;cursor:pointer;text-align:left;font:inherit;color:inherit}.swap-option{border-bottom-color:var(--border)}.swap-option:last-child{border-bottom:0}.swap-option:hover:not(:disabled){background:var(--surface-sunk)}.swap-option:disabled{opacity:.5;cursor:default}.swap-option-name{font-size:var(--fs-body)}.swap-option-brand{font-size:var(--fs-micro);color:var(--text-secondary)}.swap-option-flag{font-size:var(--fs-micro);font-weight:600}.swap-option-price{font-size:var(--fs-small);font-weight:400;min-width:50px;text-align:right}.swap-option-action-spacer{width:24px;flex:0 0 24px}.shop-total-row{display:flex;align-items:center;gap:10px;margin:4px 0 20px}.shop-total{font-size:var(--fs-heading);font-weight:700;color:var(--text)}.shop-total-row .shop-clear-btn{margin-left:auto}.shop-clear-btn{display:inline-flex;align-items:center;justify-content:center}.branded-tag-best,.branded-tag-waste{display:inline-block;margin-left:6px}.saved-list-card{display:flex;align-items:center;justify-content:space-between;padding:14px;margin-bottom:10px;cursor:pointer}.acct-group{margin-bottom:26px}.acct-group-head{font-size:var(--fs-micro);font-weight:700;text-transform:uppercase;letter-spacing:var(--ls-label);color:var(--text);margin:0 0 6px}.acct-row{display:flex;flex-direction:column;align-items:flex-start;gap:3px;padding:10px 0;border-top:1px solid var(--border)}.acct-row:first-of-type{border-top:0}.acct-row-label{font-size:var(--fs-caption);color:var(--text-secondary)}.acct-row-value{font-size:var(--fs-subheading);font-weight:400;color:var(--text);max-width:100%;overflow-wrap:anywhere}.acct-control{max-width:100%}input.acct-control{width:190px}.empty-state{display:flex;flex-direction:column;align-items:center;text-align:center;padding:56px 32px 64px}.empty-state-badge{display:flex;align-items:center;justify-content:center;margin-bottom:18px}.empty-state-title{font-size:var(--fs-subheading);font-weight:600;color:var(--text-secondary);margin:0 0 6px}.empty-state-hint{font-size:var(--fs-small);line-height:var(--lh-text);color:var(--text-secondary);opacity:.8;max-width:264px;margin:0}.slc-dialog{display:flex;flex-direction:column;max-height:85vh;text-align:left}.slc-title{margin:0 0 12px;font-size:var(--fs-heading);font-weight:700;text-align:center}.slc-matrix{display:flex;flex-direction:column;min-height:0}.slc-row{display:grid;grid-template-columns:1fr auto auto;column-gap:12px;align-items:baseline;padding:9px 4px}.slc-th{font-size:var(--fs-micro);font-weight:400;color:var(--text-secondary);text-align:right;white-space:nowrap;min-width:72px}.slc-scroll{overflow-y:auto;min-height:0}.slc-name{font-size:var(--fs-body);font-weight:400;color:var(--text);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.slc-col-qty{font-size:var(--fs-body);color:var(--text);text-align:right;white-space:nowrap;min-width:72px}.slc-qty-recipe{font-weight:600}.slc-footer{padding-top:14px;flex-shrink:0}.slc-action{display:flex;flex-direction:column;align-items:center;gap:2px;width:100%;padding:10px 12px;margin-bottom:8px;height:auto;line-height:var(--lh-tight)}.slc-action-label{font-size:var(--fs-body);font-weight:600}.slc-action-sub{font-size:var(--fs-micro);opacity:.8;font-weight:400}.slc-note{margin:6px 0 0;text-align:center;font-size:var(--fs-micro);color:var(--text-secondary)}.bring-fab-wrap{position:fixed;left:0;right:0;bottom:calc(var(--bottomnav-h) + 16px);margin:0 auto;max-width:var(--frame-max);padding:0 16px;z-index:20;display:flex;flex-direction:column;align-items:flex-end;gap:10px;pointer-events:none}.bring-fab-wrap>*{pointer-events:auto}.bring-fab{display:inline-flex;align-items:center;gap:8px}.bring-fab-menu{display:flex;flex-direction:column;gap:6px;padding:6px;min-width:190px}.bring-fab-menu-item{display:inline-flex;align-items:center;gap:8px;padding:10px 12px;border-radius:var(--radius-sm);background:transparent;border:0;cursor:pointer;font-size:var(--fs-body);color:var(--text);text-align:left}.bring-fab-menu-item:hover{background:var(--surface-sunk)}.bring-fab-menu-item.is-disabled{color:var(--text-secondary);cursor:not-allowed;opacity:.7}.bring-fab-menu-item.is-disabled:hover{background:transparent}.scrape-page{padding:20px 16px 40px}.scrape-hero{text-align:center;margin-bottom:24px}.scrape-page h2{font-size:var(--fs-title);font-weight:700;margin-bottom:8px;line-height:var(--lh-tight)}.scrape-page p.scrape-lede{font-size:var(--fs-body);color:var(--text-secondary);margin:0 auto 18px;max-width:320px}.scrape-sources{display:flex;justify-content:center;gap:18px;margin-top:8px}.scrape-source{display:flex;flex-direction:column;align-items:center;gap:6px;font-size:var(--fs-micro);font-weight:400;color:var(--text-secondary)}.scrape-source img{width:44px;height:44px;border-radius:var(--radius);object-fit:cover;background:var(--surface);box-shadow:var(--shadow-sm)}.scrape-form{background:transparent;padding:0;margin-bottom:20px}.scrape-label{display:block;font-size:var(--fs-micro);font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:var(--ls-label);margin-bottom:6px}.scrape-input-wrap{position:relative;display:flex;align-items:center}.scrape-input{flex:1;width:100%;padding-right:72px}.scrape-input-paste,.scrape-input-clear{position:absolute;right:6px;display:inline-flex;align-items:center;justify-content:center}.scrape-submit{margin-top:12px;width:100%}.scrape-empty{text-align:center;padding:24px 20px;border:1px dashed var(--border);border-radius:var(--radius);background:transparent}.scrape-empty-icon{font-size:36px;line-height:1;margin-bottom:8px}.scrape-empty-title{font-size:var(--fs-subheading);font-weight:700;color:var(--text);margin-bottom:6px}.scrape-empty-body{font-size:var(--fs-small);color:var(--text-secondary);margin-bottom:4px}.scrape-empty-hint{font-size:var(--fs-caption);color:var(--text-secondary);opacity:.8}.waiting-overlay{position:fixed;top:0;bottom:0;z-index:40;display:flex;align-items:center;justify-content:center;background:var(--overlay);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);max-width:var(--frame-max);margin:0 auto;left:0;right:0}.waiting-card{padding:26px 22px 22px;width:calc(100% - 48px);max-width:320px;text-align:center}.waiting-anim{position:relative;width:120px;height:120px;margin:0 auto 16px;display:flex;align-items:center;justify-content:center}.waiting-anim svg{width:100%;height:100%}.waiting-anim:has(svg) .waiting-ring{display:none}.waiting-status{font-size:var(--fs-subheading);font-weight:600;color:var(--text);margin-bottom:4px}.waiting-sub{font-size:var(--fs-caption);color:var(--text-secondary)}.waiting-ring{position:absolute;top:0;right:0;bottom:0;left:0;display:block}.waiting-ring div{position:absolute;top:50%;left:50%;width:14px;height:14px;margin:-7px 0 0 -7px;border-radius:50%;background:var(--surface-sunk);animation:waiting-bounce 1.1s infinite cubic-bezier(.45,.05,.55,.95)}.waiting-ring div:nth-child(1){transform:translateY(-44px);animation-delay:0s}.waiting-ring div:nth-child(2){transform:translate(44px);animation-delay:.275s}.waiting-ring div:nth-child(3){transform:translateY(44px);animation-delay:.55s}.waiting-ring div:nth-child(4){transform:translate(-44px);animation-delay:.825s}@keyframes waiting-bounce{0%,to{opacity:.25}50%{opacity:1}}.rd-fab-cluster{position:fixed;left:50%;transform:translate(-50%);bottom:calc(var(--bottomnav-h) + 12px);width:calc(100% - 32px);max-width:calc(var(--frame-max) - 32px);display:flex;gap:10px;z-index:15}.rd-fab-cluster .btn{flex:1}.clip-toast-wrap{position:fixed;left:0;right:0;bottom:calc(var(--bottomnav-h) + 78px);margin:0 auto;max-width:var(--frame-max);padding:0 16px;z-index:19;display:flex;justify-content:flex-end;pointer-events:none}.clip-toast{pointer-events:auto;display:flex;align-items:center;gap:8px;padding:10px 12px;color:var(--on-primary);font-size:var(--fs-small);max-width:100%}.clip-toast-copy{flex:1}.pref-servings{display:flex;align-items:center;gap:10px}.pref-chip-row{display:flex;flex-wrap:wrap;gap:6px}.stepper{display:inline-flex;align-items:center;gap:8px;padding:4px 0}.stepper--right{margin-left:auto}.stepper-label{font-size:var(--fs-caption);color:var(--text-secondary)}.stepper-suffix{font-size:var(--fs-caption);color:var(--text-secondary);margin-left:6px}.stepper-value{font-size:var(--fs-subheading);font-weight:600;min-width:18px;text-align:center}.servings-row{display:flex;align-items:center;padding:8px 0;border-top:1px dashed var(--border)}.back-link{display:inline-flex;align-items:center;gap:4px;margin-bottom:8px}.buyflow-header{display:flex;align-items:center;gap:12px;padding:14px 16px}.buyflow-header-logo{width:48px;height:48px;border-radius:var(--radius-sm);background:var(--surface);display:flex;align-items:center;justify-content:center;overflow:hidden;flex-shrink:0}.buyflow-header-logo img{width:100%;height:100%;object-fit:contain}.buyflow-header-body{flex:1;min-width:0}.buyflow-header-title{font-size:var(--fs-heading);font-weight:700;color:var(--text);line-height:var(--lh-tight);margin:0}.buyflow-header .buyflow-swaps-badge{align-self:flex-start}.buyflow-swaps-badge{display:inline-flex;align-items:center;gap:5px;flex-shrink:0;white-space:nowrap}.buyflow-header-total{font-size:var(--fs-title);font-weight:700;color:var(--text);margin-top:2px}.buyflow-card{margin-bottom:10px;overflow:hidden;transition:all .15s}.buyflow-card.is-removed{opacity:.5}.buyflow-card-head{display:flex;align-items:center;gap:12px;padding:12px;cursor:pointer}.buyflow-card-thumb{width:44px;height:44px;border-radius:var(--radius-sm);background:var(--surface);flex-shrink:0;overflow:hidden;display:flex;align-items:center;justify-content:center}.buyflow-card-thumb img{width:100%;height:100%;object-fit:cover}.buyflow-card-body{flex:1;min-width:0}.buyflow-card-title{font-size:var(--fs-body);font-weight:600;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.buyflow-card.is-removed .buyflow-card-title{text-decoration:line-through}.buyflow-card-meta{font-size:var(--fs-caption);color:var(--text-secondary);margin-top:6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.buyflow-card-price{text-align:right;flex-shrink:0}.buyflow-card-price-total{font-size:var(--fs-body);font-weight:700;color:var(--text)}.buyflow-card.is-removed .buyflow-card-price-total{text-decoration:line-through}.buyflow-card-price-detail{font-size:var(--fs-micro);color:var(--text-secondary)}.buyflow-card-iconbtn{display:flex;align-items:center;justify-content:center;flex-shrink:0}.buyflow-card-need{font-size:var(--fs-micro);color:var(--text-secondary);white-space:nowrap}.buyflow-card-stepper{display:flex;align-items:center;gap:4px}.buyflow-card-stepper span{min-width:22px;text-align:center;font-size:var(--fs-small);font-weight:600}.buyflow-card-expand{display:flex;align-items:center;justify-content:center;width:100%;height:26px;padding:0;border:0;border-top:1px solid var(--border);background:transparent;color:var(--text-secondary);cursor:pointer}.buyflow-card-expand .icon{transition:transform .2s ease}.buyflow-card-expand.is-open .icon{transform:rotate(180deg)}.buyflow-card-expanded{padding:0 12px 12px;border-top:1px solid var(--border);background:var(--surface-sunk)}.buyflow-card-controls{display:flex;align-items:center;gap:10px;padding:10px 0}.buyflow-card-controls label{font-size:var(--fs-caption);color:var(--text-secondary)}.buyflow-alts-head{font-size:var(--fs-micro);text-transform:uppercase;letter-spacing:var(--ls-label);color:var(--text-secondary);margin:14px 0 2px}.buyflow-alts-head--swap{text-transform:none;letter-spacing:0;font-size:var(--fs-caption)}.buyflow-alts-head--swap strong{font-weight:600}.buyflow-alt{display:flex;align-items:center;gap:10px;padding:10px 0;border:0;background:transparent;cursor:pointer;text-align:left;width:100%;transition:background .15s}.buyflow-alt+.buyflow-alt{border-top:1px solid var(--border)}.buyflow-alt:hover{background:var(--surface-sunk)}.buyflow-alt-thumb{width:32px;height:32px;border-radius:var(--radius-xs);background:var(--surface);flex-shrink:0;overflow:hidden;display:flex;align-items:center;justify-content:center}.buyflow-alt-thumb img{width:100%;height:100%;object-fit:cover}.buyflow-alt-body{flex:1;min-width:0}.buyflow-alt-name{font-size:var(--fs-small);font-weight:400;color:var(--text)}.buyflow-alt-meta{font-size:var(--fs-micro);color:var(--text-secondary);margin-top:4px}.buyflow-alt-price{font-size:var(--fs-small);font-weight:600;color:var(--text);flex-shrink:0}@keyframes buyflow-spin{to{transform:rotate(360deg)}}@keyframes combo-skel{0%{background-position:100% 0}to{background-position:-100% 0}}.saved-lists-controls{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:10px 0 12px}.saved-lists-control{display:flex;align-items:center;gap:6px}.saved-lists-control label{font-size:var(--fs-caption);color:var(--text-secondary)}.saved-list-card{display:flex;align-items:center;gap:12px;padding:12px;margin-bottom:10px;cursor:pointer;transition:background .15s}.saved-list-card-body{flex:1;min-width:0}.saved-list-card-title{font-size:var(--fs-body);font-weight:600;color:var(--text)}.saved-list-card-meta{font-size:var(--fs-caption);color:var(--text-secondary);margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.saved-list-card-total{font-size:var(--fs-subheading);font-weight:700;color:var(--text);flex-shrink:0}.saved-detail-list{margin-top:6px}.saved-detail-row{display:flex;align-items:center;gap:12px;padding:12px 0}.saved-detail-thumb{width:48px;height:48px;border-radius:var(--radius-sm);background:var(--surface);border:1px solid var(--border);flex-shrink:0;overflow:hidden;display:flex;align-items:center;justify-content:center}.saved-detail-thumb img{width:100%;height:100%;object-fit:cover}.saved-detail-body{flex:1;min-width:0}.saved-detail-name{font-size:var(--fs-body);font-weight:600;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.saved-detail-meta{font-size:var(--fs-caption);color:var(--text-secondary);margin-top:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.saved-detail-price{text-align:right;flex-shrink:0}.saved-detail-total{font-size:var(--fs-body);font-weight:700;color:var(--text)}.saved-detail-units{font-size:var(--fs-micro);color:var(--text-secondary)}.buyflow-pantry{margin-top:16px;padding:14px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}.buyflow-pantry-head{font-size:var(--fs-small);font-weight:700;color:var(--text);margin-bottom:4px}.buyflow-pantry-row{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:6px 0;border-top:1px dashed var(--border);font-size:var(--fs-small)}.buyflow-pantry-row:first-of-type{border-top:0}.buyflow-pantry-name{color:var(--text)}.buyflow-pantry-qty{color:var(--text-secondary);font-size:var(--fs-caption)}.cps-bar-fill{background:var(--text)}.cps-bar-track{background:var(--surface-sunk)}.planner-tab{padding-bottom:32px}.planner-chip-group{display:flex;gap:6px;flex-wrap:wrap}.planner-query{width:100%;resize:vertical}.planner-day{margin-bottom:18px}.planner-day-header{font-size:var(--fs-caption);font-weight:600;letter-spacing:var(--ls-label);color:var(--text-secondary);margin:0 0 8px}.planner-card{margin-bottom:10px;overflow:hidden}.planner-card-row{display:flex;align-items:center;gap:12px;width:100%;padding:10px;background:none;border:0;text-align:left;cursor:pointer}.planner-thumb{width:64px;height:64px;flex:0 0 auto;border-radius:var(--radius-sm);overflow:hidden;background:var(--surface-sunk)}.planner-thumb img{width:100%;height:100%;object-fit:cover;display:block}.planner-thumb-placeholder{width:100%;height:100%}.planner-card-body{flex:1;min-width:0}.planner-card-meta{display:flex;align-items:center;gap:6px;font-size:var(--fs-caption);color:var(--text-secondary);margin-bottom:2px}.planner-slot{font-weight:400}.planner-quick-chip,.planner-ready-chip{display:inline-flex;align-items:center;gap:3px}.planner-card-name{font-size:var(--fs-subheading);font-weight:600;color:var(--text);line-height:var(--lh-tight);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.planner-card-sub{font-size:var(--fs-caption);color:var(--text-secondary);margin-top:2px}.planner-chevron{color:var(--text-secondary);flex:0 0 auto}.planner-card-expand{padding:10px 14px 14px;border-top:1px solid var(--border);background:var(--surface)}.planner-card-why{font-size:var(--fs-small);color:var(--text-secondary);font-style:italic;margin-bottom:10px}.planner-ingredients-title{font-size:var(--fs-micro);font-weight:600;letter-spacing:var(--ls-label);color:var(--text-secondary);margin:0 0 6px;text-transform:uppercase}.planner-ingredients{margin:0 0 12px;padding-left:18px;font-size:var(--fs-small);line-height:var(--lh-text)}.planner-ingredient-qty{font-weight:400;color:var(--text)}.planner-card--composite{padding:0}.planner-composite-shell{display:flex;gap:14px;padding:14px}.planner-composite-body{flex:1;min-width:0}.planner-card--composite .planner-card-sub{margin-top:6px}.buy-page-body--withbar{padding-bottom:calc(96px + env(safe-area-inset-bottom))}.buy-cart-dock{position:fixed;bottom:0;left:50%;transform:translate(-50%);width:100%;max-width:var(--frame-max);z-index:50}.buy-cart-bar{display:flex;flex-direction:column;padding:12px 14px calc(12px + env(safe-area-inset-bottom));background:var(--surface);border-top:1px solid var(--border);border-top-left-radius:var(--radius-lg);border-top-right-radius:var(--radius-lg);box-shadow:var(--shadow-up)}.buy-cart-bar-expand{display:flex;align-items:center;justify-content:center;width:100%;padding:0 0 4px;margin:-2px 0 4px;background:none;border:none;cursor:pointer;color:var(--text-secondary)}.buy-cart-bar-expand:hover{color:var(--text)}.buy-cart-bar-row{display:flex;align-items:stretch;gap:10px}.buy-cart-bar-metric{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:center;gap:4px;border:none;background:none;text-align:left;padding:2px}.buy-cart-bar-metric.is-clickable{cursor:pointer}.buy-cart-bar-line{display:flex;align-items:baseline;gap:6px}.buy-cart-bar-total{font-size:var(--fs-title);font-weight:700;color:var(--text)}.buy-cart-bar-saving{margin-top:2px;font-size:var(--fs-small);font-weight:700;color:var(--text)}.buy-cart-bar-cps{margin-left:auto}.buy-cart-bar-action{flex:0 0 auto;align-self:center}.boost-screen{padding-bottom:8px}.boost-jump-chips{position:sticky;top:0;z-index:5;display:flex;gap:8px;padding:10px 16px;background:var(--surface-page);border-bottom:1px solid var(--border)}.boost-section-block{padding:18px 16px 0}.boost-section-block+.boost-section-block{padding-top:34px}.boost-section-head{position:relative;margin-bottom:10px;padding-right:84px}.boost-section-card{padding:0}.boost-section-title{display:block;font-size:var(--fs-subheading);font-weight:700;color:var(--text)}.boost-section-sub{display:block;font-size:var(--fs-caption);color:var(--text-secondary);margin-top:2px}.boost-seemore{position:absolute;top:0;right:0;display:inline-flex;align-items:center;gap:6px}.boost-recipe-list{display:flex;flex-direction:column;gap:10px}.boost-addall-btn{width:100%}.boost-recipe-row{display:flex;align-items:stretch;gap:10px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:8px}.boost-recipe-row.is-on{border-color:var(--text);box-shadow:inset 0 0 0 1px var(--text)}.boost-recipe-main{flex:1;min-width:0;display:flex;gap:10px;background:none;border:none;text-align:left;padding:0;cursor:pointer}.boost-recipe-thumb{width:56px;height:56px;border-radius:var(--radius-sm);object-fit:cover;flex:0 0 auto}.boost-recipe-thumb.is-empty{background:var(--surface-sunk)}.boost-recipe-body{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:center;gap:2px}.boost-recipe-title{font-size:var(--fs-body);font-weight:700;color:var(--text)}.boost-recipe-meta{font-size:var(--fs-caption);color:var(--text-secondary)}.boost-recipe-reuse{display:inline-flex;align-items:center;gap:4px;font-size:var(--fs-micro);color:var(--text);margin-top:2px}.boost-recipe-toggle{flex:0 0 auto;align-self:center;display:inline-flex}.buy-sheet-head{display:flex;align-items:center;gap:8px;margin-bottom:10px}.buy-sheet-title{flex:1;font-size:var(--fs-subheading);font-weight:700;color:var(--text)}.buy-cart-sheet-head{padding:16px 16px 8px;margin-bottom:12px;border-bottom:1px solid var(--border)}.buy-cart-sheet-total{font-size:var(--fs-subheading);font-weight:700;color:var(--text)}.buy-meter-detail-pct{font-size:var(--fs-small);font-weight:600;color:var(--text);margin-top:10px}.buy-meter-detail-reuse{display:inline-flex;align-items:center;gap:6px;font-size:var(--fs-caption);color:var(--text);margin-top:6px}.buy-payoff{margin:4px 0 12px;padding:14px 16px;background:var(--surface-sunk);border-radius:var(--radius);text-align:center}.buy-payoff-head{font-size:var(--fs-caption);font-weight:700;text-transform:uppercase;letter-spacing:var(--ls-label);color:var(--text);margin-bottom:6px}.buy-payoff-cps{display:flex;align-items:baseline;justify-content:center;gap:8px}.buy-payoff-from{font-size:var(--fs-subheading);color:var(--text-secondary);text-decoration:line-through}.buy-payoff-arrow{color:var(--text-secondary)}.buy-payoff-now{font-size:var(--fs-display);font-weight:700;color:var(--text)}.buy-payoff-sub{font-size:var(--fs-small);color:var(--text);margin-top:4px}.buyflow-group{margin-top:4px}.buyflow-group-head{font-size:var(--fs-micro);font-weight:700;letter-spacing:var(--ls-label);text-transform:uppercase;color:var(--text-secondary);margin:12px 2px 6px}.plan-result-topbar{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:2px 0 6px}.plan-result-selectall{display:flex;justify-content:flex-end;padding:24px 0 8px}.plan-selectall-btn{white-space:nowrap}.plan-card-head{display:flex;align-items:stretch;gap:2px}.plan-card-head .planner-card-row{flex:1;min-width:0}.plan-select{flex:0 0 auto;align-self:center;margin-left:10px;display:inline-flex;align-items:center;justify-content:center}.plan-uses-row{padding:2px 14px 12px;display:flex;flex-direction:column;gap:5px}.plan-uses{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.plan-use-chip{display:inline-flex;align-items:center;gap:4px}.plan-use-more{color:var(--text-secondary);font-size:var(--fs-micro);font-weight:600}.plan-store-count{font-size:var(--fs-caption);color:var(--text-secondary)}.plan-result,.plan-setup-page{padding-bottom:calc(var(--bottomnav-h) + 84px)}.plan-result-footer,.plan-setup-footer{position:fixed;left:0;right:0;z-index:20;bottom:calc(var(--bottomnav-h) + 10px);width:100%;max-width:var(--frame-max);margin:0 auto;padding:0 16px;box-sizing:border-box}.plan-setup{display:flex;flex-direction:column;gap:16px;padding-top:4px}.plan-setup-hint{margin:0 0 4px;font-size:var(--fs-small);color:var(--text-secondary);text-align:center}.plan-setup-toggle-row{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:var(--fs-body);color:var(--text)}.plan-setup-addlink{align-self:flex-start;margin:2px 0 0}.cook-cel-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;display:flex;align-items:center;justify-content:center;padding:24px;background:var(--overlay);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:cook-cel-fade .2s ease}.cook-cel-card{position:relative;width:100%;max-width:300px;padding:24px 22px 18px;text-align:center;overflow:hidden;animation:cook-cel-pop .34s cubic-bezier(.2,.7,.2,1)}.cook-cel-title{font-size:var(--fs-title);font-weight:700;color:var(--text);margin-top:6px}.cook-cel-benefits{display:flex;flex-direction:column;align-items:center;gap:6px;margin-top:14px}.cook-cel-benefit{display:inline-flex;align-items:center;gap:7px;padding:7px 12px;background:var(--success);color:var(--success-ink);border-radius:var(--radius-pill);font-size:var(--fs-small);font-weight:600;text-align:left}.cook-cel-benefit .icon{flex-shrink:0}.cook-cel-actions{display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap}.cook-cel-cta{display:inline-flex;align-items:center;gap:2px;margin-top:14px}.cook-cel-bar{position:absolute;left:0;bottom:0;height:3px;width:100%;transform-origin:left;background:var(--positive);animation:cook-cel-countdown 3s linear forwards}.cook-cel-anim{position:relative;width:96px;height:96px;margin:0 auto}.cook-cel-burst,.cook-cel-lottie{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center}.cook-cel-burst{transition:opacity .2s ease}.cook-cel-anim.has-lottie .cook-cel-burst{opacity:0}.cook-cel-disc{position:relative;z-index:2;width:64px;height:64px;border-radius:50%;background:var(--positive);display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-md);animation:cook-cel-disc-in .4s cubic-bezier(.2,.7,.2,1) both}.cook-cel-tick{stroke-dasharray:40;stroke-dashoffset:40;animation:cook-cel-tick-draw .4s ease .18s forwards}.cook-cel-ring{position:absolute;z-index:1;top:50%;left:50%;margin:-32px 0 0 -32px;width:64px;height:64px;border-radius:50%;border:2.5px solid var(--positive);animation:cook-cel-ring-pulse .7s ease .12s both}.cook-cel-confetti{position:absolute;z-index:0;top:50%;left:50%;width:8px;height:8px;border-radius:var(--radius-xs);background:var(--c, var(--positive));animation:cook-cel-confetti-burst .75s ease both;animation-delay:calc(.14s + var(--i) * 12ms)}@keyframes cook-cel-fade{0%{opacity:0}to{opacity:1}}@keyframes cook-cel-pop{0%{transform:scale(.86);opacity:0}60%{transform:scale(1.02);opacity:1}to{transform:scale(1);opacity:1}}@keyframes cook-cel-countdown{0%{transform:scaleX(1)}to{transform:scaleX(0)}}@keyframes cook-cel-disc-in{0%{transform:scale(.4);opacity:0}to{transform:scale(1);opacity:1}}@keyframes cook-cel-tick-draw{to{stroke-dashoffset:0}}@keyframes cook-cel-ring-pulse{0%{transform:scale(.6);opacity:.8}to{transform:scale(1.7);opacity:0}}@keyframes cook-cel-confetti-burst{0%{transform:translate(0) scale(1);opacity:1}to{transform:rotate(var(--a)) translate(var(--d)) scale(.4);opacity:0}}.cb-check{flex-shrink:0;display:flex;align-items:center;justify-content:center}.cb-check[data-cooking]{animation:cb-check-pop .32s ease}@keyframes cb-check-pop{0%{transform:scale(.7)}55%{transform:scale(1.12)}to{transform:scale(1)}}.cb-card-cols{display:flex;align-items:flex-start;gap:12px;padding-left:6px}.cb-card-cols>.cb-check{margin-top:16px}.cb-card-col{flex:1;min-width:0}.budget-slider{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:22px;background:transparent;cursor:pointer;margin:0}.budget-slider:disabled{cursor:not-allowed;opacity:.6}.budget-slider::-webkit-slider-runnable-track{height:6px;border-radius:var(--radius-pill);background:linear-gradient(to right,var(--primary) 0 var(--budget-fill, 0%),var(--border) var(--budget-fill, 0%) 100%)}.budget-slider::-moz-range-track{height:6px;border-radius:var(--radius-pill);background:linear-gradient(to right,var(--primary) 0 var(--budget-fill, 0%),var(--border) var(--budget-fill, 0%) 100%)}.budget-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:26px;height:26px;margin-top:-10px;border-radius:var(--radius-pill);background:var(--surface);border:2px solid var(--primary);box-shadow:var(--shadow-sm)}.budget-slider::-moz-range-thumb{width:26px;height:26px;border-radius:var(--radius-pill);background:var(--surface);border:2px solid var(--primary);box-shadow:var(--shadow-sm)}.budget-slider:focus-visible{outline:none}.budget-slider:focus-visible::-webkit-slider-thumb{outline:2px solid var(--primary);outline-offset:2px}.budget-slider:focus-visible::-moz-range-thumb{outline:2px solid var(--primary);outline-offset:2px}.recipe-filter{margin:0 0 12px}.recipe-filter-toggle{display:inline-flex;align-items:center;gap:8px}.recipe-filter-count{display:inline-flex;align-items:center;justify-content:center}.recipe-filter-body{margin-top:10px;padding:14px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-sunk);display:flex;flex-direction:column;gap:16px}.recipe-filter-row{display:flex;flex-direction:column;gap:8px}.recipe-filter-label{display:flex;align-items:baseline;justify-content:space-between;gap:10px;font-size:var(--fs-small);font-weight:600;color:var(--text-secondary)}.recipe-filter-value{font-weight:700;color:var(--primary)}.recipe-filter-note{font-size:var(--fs-caption);line-height:var(--lh-ui);color:var(--text-secondary);opacity:.85}.recipe-filter-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:4px}.hub-card-price{position:absolute;left:8px;bottom:8px;display:inline-flex;align-items:baseline;gap:1px}.hub-card--overlay .hub-card-image{aspect-ratio:4 / 3}.hub-card--overlay .hub-card-price{top:8px;bottom:auto}.hub-card--overlay .hub-card-body>:first-child{margin-top:0}.hub-card-price-unit{font-weight:600;font-size:var(--fs-micro);opacity:.8}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.rd-price{display:inline-flex;align-items:center;gap:4px}.rd-price-unit{font-weight:400;opacity:.72;margin-left:1px}.rd-price-help{margin-left:4px;width:16px;height:16px;padding:0;border:1px solid var(--border);border-radius:var(--radius-pill);background:transparent;color:var(--text-secondary);font-size:var(--fs-micro);font-weight:700;line-height:1;cursor:pointer;align-self:center;display:inline-flex;align-items:center;justify-content:center}.rd-price-help:hover{color:var(--text);border-color:var(--text)}.rd-price-help:focus-visible{outline:2px solid var(--text);outline-offset:2px}.offer-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.plan-day{margin-top:10px}.plan-day-header{font-size:var(--fs-caption);font-weight:700;text-transform:capitalize;color:var(--text-secondary);margin:6px 0 4px}.plan-slot{display:flex;flex-direction:column;gap:4px}.plan-meal-tag{align-self:flex-start}@keyframes recipe-card-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.recipe-card{animation:none}}.recipe-card-pending{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:14px;margin-bottom:12px;animation:recipe-card-in .2s ease-out both;min-height:122px;box-sizing:border-box}.recipe-card-pending-title,.recipe-card-pending-tags,.recipe-card-pending-line{height:12px;border-radius:var(--radius-xs);background:var(--border);animation:recipe-skeleton-pulse 1.4s infinite ease-in-out}.recipe-card-pending-title{width:70%;height:19px;margin-bottom:10px}.recipe-card-pending-tags{width:40%;height:17px;animation-delay:.2s}.recipe-card-pending-line{width:55%;height:11px;margin-top:14px;animation-delay:.35s}@media(prefers-reduced-motion:reduce){.recipe-card-pending{animation:none}.recipe-card-pending-title,.recipe-card-pending-tags{animation:none;opacity:.5}}.stack-group+.stack-group{margin-top:14px}.stack-heading{font-size:var(--fs-micro);font-weight:700;letter-spacing:var(--ls-label);text-transform:uppercase;color:var(--text-secondary);margin:0 0 6px}.conv-block{margin-top:12px}.conv-block--aside{border-top:1px solid var(--border);padding-top:10px}.conv-header{font-size:var(--fs-body);font-weight:700;color:var(--text);margin:0 0 8px}.conv-list{display:flex;flex-direction:column;gap:10px}.conv-card{padding:10px 12px}.conv-card-meta{display:flex;align-items:center;flex-wrap:wrap;gap:8px;font-size:var(--fs-caption);color:var(--text-secondary);margin-bottom:10px}.conv-card-title{font-size:var(--fs-subheading);font-weight:600;color:var(--text);line-height:var(--lh-tight);margin-bottom:14px}.conv-items{display:flex;flex-direction:column;gap:14px}.conv-item{display:flex;align-items:flex-start;gap:10px}.conv-item-body{flex:1;min-width:0}.conv-role{font-size:var(--fs-micro);font-weight:700;letter-spacing:var(--ls-label);text-transform:uppercase;color:var(--text-secondary)}.conv-item-name{font-size:var(--fs-body);font-weight:600;color:var(--text);line-height:var(--lh-tight);overflow-wrap:anywhere}.conv-item-sub{display:flex;gap:8px;font-size:var(--fs-caption);color:var(--text-secondary);margin-top:2px}.conv-deal{padding:0 6px;border-radius:var(--radius-pill);background:var(--surface-sunk);color:var(--text);font-weight:700;font-size:var(--fs-micro)}.conv-item-controls{display:flex;align-items:center;gap:10px;margin-top:6px;flex-wrap:wrap}.conv-stepper{display:inline-flex;align-items:center;border:1px solid var(--border);border-radius:var(--radius-pill);overflow:hidden}.conv-step{display:flex;align-items:center;justify-content:center}.conv-step-value{min-width:22px;text-align:center;font-size:var(--fs-small);font-weight:600}.conv-price{display:inline-flex;align-items:baseline;gap:6px;font-size:var(--fs-small)}.conv-price-shelf{color:var(--text-secondary);font-size:var(--fs-caption)}.conv-add{margin-left:auto;flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center}.conv-card-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:14px;padding-top:10px;border-top:1px dashed var(--border)}.conv-total{font-size:var(--fs-small);color:var(--text-secondary)}.conv-total strong{color:var(--text)}.shop-list{display:flex;flex-direction:column}.shop-list>*{flex-shrink:0}.shop-buy-spacer{height:76px}.shop-buy-bar{position:sticky;bottom:0;margin-top:-76px;padding:12px 0 16px;background:linear-gradient(to top,var(--surface) 72%,transparent)}.shop-buy-note{font-size:var(--fs-small);color:var(--text-secondary);text-align:center;margin-bottom:10px;line-height:var(--lh-ui)}.shop-buy-btn{width:100%}.spinner{display:inline-block;border-style:solid;border-color:var(--border);border-top-color:var(--text);border-radius:50%;animation:spinner-rotate .6s linear infinite;vertical-align:middle}@keyframes spinner-rotate{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.spinner{animation-duration:2.4s}}.spinner-block{display:flex;align-items:center;justify-content:center;min-height:60vh;padding:24px 16px}.spinner-inline{display:inline-flex;align-items:center;justify-content:center}.combo-card{overflow:hidden;transition:border-color .15s}.combo-card-head{padding:16px 18px 14px}.combo-card-tags{display:flex;align-items:center;gap:8px}.combo-card-quick{margin-left:auto}.combo-card-title{margin:11px 0 0;font-size:var(--fs-heading);font-weight:700;letter-spacing:var(--ls-tight);line-height:var(--lh-tight)}.combo-card-items{border-top:1px solid var(--surface-sunk)}.combo-row{position:relative;display:flex;gap:12px;padding:12px 18px;border-bottom:1px solid var(--surface-sunk);cursor:pointer;transition:background .15s}.combo-row:hover{background:var(--surface-page)}.combo-row input{position:absolute;top:0;left:0;width:1px;height:1px;opacity:0;pointer-events:none}.combo-row-box{width:19px;height:19px;flex:0 0 19px;margin-top:2px;border:1.5px solid var(--border);border-radius:var(--radius-xs);background:var(--surface);color:transparent;display:flex;align-items:center;justify-content:center;transition:background .15s,border-color .15s,color .15s}.combo-row:not(.is-off) .combo-row-box{background:var(--text);border-color:var(--text);color:var(--on-primary)}.combo-row-thumb{width:42px;height:42px;flex:0 0 42px;border-radius:var(--radius-xs);overflow:hidden;background:var(--surface-sunk)}.combo-row-thumb img{width:100%;height:100%;object-fit:cover;display:block}.combo-row-body{flex:1;min-width:0;display:flex;flex-direction:column}.combo-row-role{font-size:var(--fs-micro);font-weight:700;letter-spacing:var(--ls-label);text-transform:uppercase;color:var(--text-secondary)}.combo-row-name{margin-top:3px;font-size:var(--fs-body);font-weight:600;line-height:var(--lh-tight)}.combo-row-brand{margin-top:2px;font-size:var(--fs-caption);color:var(--text-secondary)}.combo-row-price{flex:0 0 auto;font-size:var(--fs-body);font-weight:700}.combo-card-foot{display:flex;align-items:center;gap:12px;padding:14px 18px}.combo-card-total{font-size:var(--fs-heading);font-weight:700;letter-spacing:var(--ls-tight)}.combo-card-cta{margin-left:auto;white-space:nowrap}.kitchen-toolbar{display:flex;justify-content:flex-end;padding:4px 0 12px}.kitchen-toggle{display:inline-flex;align-items:center;gap:8px;font-size:var(--fs-small);color:var(--text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none}.kitchen-toggle input{cursor:pointer}.kitchen-category{margin-bottom:14px}.kitchen-category-head{width:100%;display:flex;align-items:center;gap:8px;padding:10px 4px;background:transparent;border:0;border-bottom:1px solid var(--border);cursor:pointer;text-align:left}.kitchen-category-name{flex:1;font-size:var(--fs-small);font-weight:700;letter-spacing:var(--ls-label);text-transform:uppercase;color:var(--text)}.kitchen-category-count{font-size:var(--fs-caption);color:var(--text-secondary);padding:2px 8px;background:var(--surface-sunk);border-radius:var(--radius-pill)}.kitchen-row{display:flex;align-items:center;gap:12px;width:100%;padding:10px 4px;border:0;border-bottom:1px solid var(--border);background:transparent;text-align:left;font:inherit;color:inherit;cursor:pointer}.kitchen-row:last-child{border-bottom:0}.kitchen-row:hover{background:var(--surface-sunk)}.kitchen-row-chevron{color:var(--text-secondary);flex-shrink:0}.kitchen-row-thumb{width:44px;height:44px;flex-shrink:0;background:var(--surface-sunk);border-radius:var(--radius-sm);overflow:hidden;display:flex;align-items:center;justify-content:center}.kitchen-row-thumb img{width:100%;height:100%;object-fit:cover;display:block}.kitchen-row-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.kitchen-row-name{font-size:var(--fs-body);font-weight:400;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kitchen-row-meta{font-size:var(--fs-caption);color:var(--text-secondary);display:flex;align-items:center;gap:6px}.kitchen-row-expiry{color:var(--featured-hover);font-weight:400}.kitchen-row-sep{color:var(--text-secondary)}.kitchen-row-qty{color:var(--text)}.kitchen-add-page{padding-bottom:32px}.kitchen-add-searchbar{display:flex;align-items:center;gap:8px;background:transparent;padding:10px 0;margin-bottom:8px}.kitchen-add-search-ic{color:var(--text-secondary);flex:0 0 auto}.kitchen-add-search-input{flex:1 1 auto;padding:10px 12px}.kitchen-add-search-clear{display:inline-flex;align-items:center;justify-content:center}.kitchen-add-hint{color:var(--text-secondary);padding:12px 4px;font-size:var(--fs-body)}.kitchen-add-results{list-style:none;padding:0;margin:0;max-height:60vh;overflow-y:auto;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}.kitchen-add-result-row{display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;background:transparent;border:0;cursor:pointer;text-align:left;color:var(--text);border-bottom:1px solid var(--border)}.kitchen-add-results li:last-child .kitchen-add-result-row{border-bottom:0}.kitchen-add-result-row:hover{background:var(--surface-sunk)}.kitchen-add-result-thumb{width:36px;height:36px;border-radius:var(--radius-sm);background:var(--surface-sunk);overflow:hidden;flex:0 0 auto;display:flex;align-items:center;justify-content:center}.kitchen-add-result-thumb img{width:100%;height:100%;object-fit:cover}.kitchen-add-result-name{font-size:var(--fs-body)}.kitchen-add-pending{margin-top:20px;padding-top:16px;border-top:1px solid var(--border)}.kitchen-add-pending-title{font-size:var(--fs-body);font-weight:600;margin:0 0 10px;color:var(--text)}.kitchen-add-pending-list{list-style:none;padding:0;margin:0 0 12px}.kitchen-add-pending-row{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid var(--border)}.kitchen-add-pending-row:last-child{border-bottom:0}.kitchen-add-pending-thumb{width:32px;height:32px;border-radius:var(--radius-sm);background:var(--surface-sunk);overflow:hidden;flex:0 0 auto}.kitchen-add-pending-thumb img{width:100%;height:100%;object-fit:cover}.kitchen-add-pending-body{flex:1 1 auto;min-width:0}.kitchen-add-pending-name{font-size:var(--fs-body);color:var(--text)}.kitchen-add-pending-meta{font-size:var(--fs-caption);color:var(--text-secondary)}.kitchen-add-confirm{display:block;width:100%}.kitchen-add-detail-topbar{display:flex;align-items:center;padding:6px 0 12px}.kitchen-add-back{display:inline-flex;align-items:center;gap:4px}.kitchen-add-detail-head{display:flex;flex-direction:column;align-items:center;gap:12px;margin-bottom:20px}.kitchen-add-detail-name{font-size:var(--fs-heading);font-weight:600;color:var(--text);text-align:center}.kitchen-add-detail-thumb{width:140px;height:140px;border-radius:var(--radius);background:var(--surface-sunk);overflow:hidden;display:flex;align-items:center;justify-content:center}.kitchen-add-detail-thumb img{width:100%;height:100%;object-fit:cover}.kitchen-add-detail-form{display:flex;flex-direction:column;gap:14px;max-width:420px;margin:0 auto;width:100%}.kitchen-add-field{display:flex;flex-direction:column;gap:6px}.kitchen-add-field-label{font-size:var(--fs-caption);color:var(--text-secondary);text-transform:uppercase;letter-spacing:var(--ls-label)}.kitchen-add-custom-row{display:flex;gap:8px}.kitchen-add-custom-qty{flex:0 0 100px}.kitchen-add-custom-row .kitchen-add-select{flex:1 1 auto}.kitchen-add-stepper{display:inline-flex;align-items:center;gap:12px;align-self:flex-start;padding:4px;border:1px solid var(--border);border-radius:var(--radius-pill)}.kitchen-add-step-btn{display:inline-flex;align-items:center;justify-content:center}.kitchen-add-step-value{min-width:28px;text-align:center;font-size:var(--fs-subheading);font-weight:600;color:var(--text)}.kitchen-add-save{display:block;width:100%;margin-top:8px}@media(min-width:768px){.kitchen-add-results{max-width:520px;margin-left:auto;margin-right:auto}}.kitchen-product-page{padding-bottom:32px;width:100%;max-width:520px;margin:0 auto}.kp-topbar{display:flex;justify-content:flex-start;align-items:center;padding:6px 0 8px}.kp-back{display:inline-flex;align-items:center}.kp-header{display:flex;flex-direction:column;align-items:center;gap:12px;margin-bottom:16px}.kp-name{font-size:var(--fs-heading);font-weight:600;color:var(--text);text-align:center}.kp-image{width:160px;height:160px;border-radius:var(--radius);background:var(--surface-sunk);overflow:hidden;display:flex;align-items:center;justify-content:center}.kp-image img{width:100%;height:100%;object-fit:cover}.kp-expiry{font-size:var(--fs-small);font-weight:400;color:var(--featured-hover)}.kp-qty-row{display:flex;align-items:center;justify-content:center;gap:10px;margin-bottom:8px}.kp-qty{font-size:var(--fs-title);font-weight:600;color:var(--text)}.kp-edit-btn{display:inline-flex;align-items:center}.kp-edit{display:flex;flex-direction:column;align-items:center;gap:10px;margin:4px 0 20px}.kp-bar{position:relative;width:100%;height:16px;background:var(--surface-sunk);border-radius:var(--radius-pill);cursor:pointer;overflow:hidden}.kp-bar-fill{position:absolute;left:0;top:0;bottom:0;background:var(--primary);border-radius:var(--radius-pill);transition:width .12s ease}.kp-bar-stop{position:absolute;top:50%;width:2px;height:8px;transform:translate(-50%,-50%);background:var(--border);pointer-events:none}.kp-bar-hint{font-size:var(--fs-body);color:var(--text-secondary)}.kp-save{width:100%}.kp-recipes{margin:20px 0}.kp-recipes-title{font-size:var(--fs-subheading);font-weight:600;margin:0 0 10px;color:var(--text)}.kp-carousel{display:flex;gap:12px;overflow-x:auto;padding-bottom:6px;-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity;scrollbar-width:none}.kp-carousel::-webkit-scrollbar{display:none}.kp-carousel-card{flex:0 0 160px;width:160px;scroll-snap-align:start}.kp-remove{display:block;width:100%;margin-top:12px}.cleanup-overlay{position:fixed;top:0;bottom:0;left:50%;transform:translate(-50%);width:100%;max-width:var(--frame-max);background:var(--surface);z-index:200;display:flex;flex-direction:column;padding:16px var(--page-pad) calc(20px + env(safe-area-inset-bottom,0px));animation:cleanup-fade-in .2s .15s}@keyframes cleanup-fade-in{0%{opacity:0}to{opacity:1}}@media(prefers-reduced-motion:reduce){.cleanup-overlay{animation:none}}.cleanup-top{display:flex;align-items:center;gap:12px;padding-top:env(safe-area-inset-top,0px)}.cleanup-progress-text{font-size:var(--fs-small);color:var(--text-secondary);white-space:nowrap}.cleanup-progress-track{flex:1;height:6px;border-radius:var(--radius-pill);background:var(--surface-sunk);overflow:hidden}.cleanup-progress-fill{height:100%;background:var(--primary);border-radius:inherit;transition:width .25s .15s}.cleanup-close{flex:none;display:inline-flex;align-items:center;justify-content:center}.cleanup-body{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:16px 4px;overflow-y:auto}.cleanup-title{font-size:var(--fs-title);font-weight:700;color:var(--text);margin:0}.cleanup-subtitle{font-size:var(--fs-body);color:var(--text-secondary);max-width:320px;margin:8px 0 0}.cleanup-image{width:150px;height:150px;border-radius:var(--radius);background:var(--surface-sunk);overflow:hidden;display:flex;align-items:center;justify-content:center;margin:28px 0 12px}.cleanup-image img{width:100%;height:100%;object-fit:cover}.cleanup-product-name{font-size:var(--fs-heading);font-weight:600;color:var(--text)}.cleanup-meta{font-size:var(--fs-body);font-weight:400;color:var(--danger);margin-top:4px}.cleanup-error{margin-top:12px}.cleanup-foot{flex:none;padding-top:12px}.cleanup-actions{display:flex;gap:12px}.cleanup-actions .btn{flex:1;gap:8px}.cleanup-keep{display:block;margin:14px auto 0}.scan-page{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;background:var(--surface-page);color:var(--text);display:flex;flex-direction:column;width:100%;max-width:var(--frame-max);margin:0 auto}.scan-topbar{display:flex;align-items:center;justify-content:space-between;padding:12px 14px}.scan-topbar-title{font-size:var(--fs-subheading);font-weight:600}.scan-iconbtn{display:inline-flex;align-items:center;justify-content:center}.scan-capture{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px 20px;text-align:center}.scan-capture-circle{width:132px;height:132px;border-radius:50%;border:2px dashed var(--border);background:var(--surface);color:var(--text);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s ease,transform .1s ease}.scan-capture-circle:hover{background:var(--surface-sunk)}.scan-capture-circle:active{transform:scale(.97)}.scan-capture-title{font-size:var(--fs-heading);font-weight:700;margin:20px 0 6px}.scan-capture-sub{color:var(--text-secondary);margin:0;max-width:300px}.scan-capture-actions{display:flex;flex-direction:column;gap:10px;margin-top:28px;width:100%;max-width:320px}.scan-review{flex:1;overflow-y:auto;padding:8px 16px 128px}.scan-retailer{color:var(--text-secondary);margin:6px 0 16px;font-size:var(--fs-body)}.scan-retailer strong{color:var(--text)}.scan-section-title{font-size:var(--fs-caption);font-weight:700;letter-spacing:var(--ls-label);text-transform:uppercase;color:var(--text-secondary);margin:18px 0 8px}.scan-list{list-style:none;margin:0;padding:0}.scan-row{display:flex;gap:12px;align-items:flex-start;padding:12px 0;border-bottom:1px solid var(--border)}.scan-row-thumb{width:46px;height:46px;border-radius:var(--radius-sm);flex:0 0 auto;background:var(--surface-sunk);overflow:hidden;display:flex;align-items:center;justify-content:center;color:var(--text-secondary)}.scan-row-thumb img{width:100%;height:100%;object-fit:cover}.scan-row-body{flex:1;min-width:0}.scan-row-name{font-weight:600;font-size:var(--fs-subheading);line-height:var(--lh-tight)}.scan-row-sub{font-size:var(--fs-caption);color:var(--text-secondary);margin-top:2px}.scan-row-qty{font-size:var(--fs-small);color:var(--text);margin-top:3px}.scan-row-actions{display:flex;gap:2px;align-self:flex-start}.scan-row-find{margin-top:8px}.scan-row-select{margin-top:6px;max-width:220px}.scan-footer{position:absolute;left:0;right:0;bottom:0;padding:12px 16px calc(12px + env(safe-area-inset-bottom));background:var(--surface-page);border-top:1px solid var(--border);max-width:var(--frame-max);margin:0 auto;width:100%}.scan-save-btn{display:block;width:100%}.receipt-sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:70;background:var(--overlay);display:flex;align-items:flex-end;justify-content:center}.receipt-sheet{width:100%;max-width:var(--frame-max);height:72vh;background:var(--surface);color:var(--text);border-radius:var(--radius-lg) var(--radius-lg) 0 0;display:flex;flex-direction:column;box-shadow:var(--shadow-up);animation:receipt-sheet-up .22s ease}@keyframes receipt-sheet-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}.receipt-sheet-grabber{width:40px;height:4px;border-radius:var(--radius-pill);background:var(--border);margin:10px auto 2px}.receipt-sheet-head{display:flex;align-items:center;justify-content:space-between;padding:6px 16px 8px}.receipt-sheet-title{font-size:var(--fs-subheading);font-weight:700}.receipt-sheet-search{padding:2px 16px 10px}.receipt-search-box{display:flex;align-items:center;gap:8px}.receipt-sheet-list{flex:1;overflow-y:auto;padding:0 8px 16px}.receipt-result{display:flex;align-items:center;gap:12px;width:100%;padding:11px 8px;cursor:pointer;background:transparent;border:0;text-align:left;color:var(--text);border-bottom:1px solid var(--border);border-radius:var(--radius-sm)}.receipt-result:hover{background:var(--surface-sunk)}.receipt-result-thumb{width:42px;height:42px;border-radius:var(--radius-sm);flex:0 0 auto;background:var(--surface-sunk);overflow:hidden;display:flex;align-items:center;justify-content:center}.receipt-result-thumb img{width:100%;height:100%;object-fit:cover}.receipt-result-name{font-size:var(--fs-subheading);font-weight:400}.receipt-sheet-hint{color:var(--text-secondary);padding:18px 8px;font-size:var(--fs-body);text-align:center}.cb-card-cooked .icon{color:var(--text)}.cb-swipe{position:relative}.cb-swipe-tray{position:absolute;top:0;right:0;bottom:0;width:144px;display:flex}.cb-swipe-action{width:72px;border:0;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;color:var(--surface-page);font-size:var(--fs-caption);font-weight:600}.cb-swipe-action:disabled{opacity:.7;cursor:progress}.cb-swipe-cooked{background:var(--text)}.cb-swipe-delete{background:var(--danger)}.cb-swipe-content{position:relative;z-index:1;background:var(--surface);touch-action:pan-y}@keyframes cb-wobble-kf{0%{transform:translate(0)}18%{transform:translate(-28px)}36%{transform:translate(0)}52%{transform:translate(-14px)}68%{transform:translate(0)}to{transform:translate(0)}}.cb-wobble{animation:cb-wobble-kf 1.1s ease}@media(prefers-reduced-motion:reduce){.cb-wobble{animation:none}}.cb-card-plan{padding:6px 12px 10px}.cb-plan-label{font-size:var(--fs-caption);color:var(--text-secondary);margin-bottom:4px}.cb-plan-summary{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:var(--radius-pill);border:1px solid var(--border);background:var(--surface);color:var(--text);font-size:var(--fs-caption);cursor:pointer}.cb-plan-summary:hover{background:var(--surface-sunk)}.cb-plan-summary .icon{color:var(--text-secondary)}.toast-host{position:fixed;top:calc(var(--topbar-h, 56px) + env(safe-area-inset-top,0px) + 8px);left:50%;transform:translate(-50%);width:100%;max-width:var(--frame-max, 100vw);padding:0 16px;box-sizing:border-box;z-index:60;display:flex;flex-direction:column;align-items:center;gap:8px;pointer-events:none}.toast-action{display:inline;margin-left:6px;padding:0;border:0;background:none;cursor:pointer;color:inherit;font:inherit;font-weight:700;text-decoration:underline;text-underline-offset:2px}html[data-layout=desktop]{--bottomnav-h: 0px;--topbar-h: max(64px, calc(var(--header-logo-h) + 16px));--page-pad: 40px;--content-max: 1360px;--cart-glyph: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><circle cx='9' cy='20' r='1.6'/><circle cx='17' cy='20' r='1.6'/><path d='M3 4h2l2.5 12h11l2-8H7'/></svg>");--rail-w: 372px;--page-col: 760px}html[data-layout=desktop] body{background:var(--surface-page)}.dt-shell{height:100vh;height:100dvh;display:flex;flex-direction:column;overflow:hidden;background:var(--surface-page)}.dt-body{flex:1;min-height:0;display:flex;align-items:stretch}.dt-main{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;position:relative}.dt-header{flex:0 0 auto;height:var(--topbar-h);border-bottom:1px solid var(--border);padding:0 var(--page-pad)}.dt-header-inner{height:100%;max-width:var(--content-max);margin:0 auto;display:flex;align-items:center;gap:16px}.dt-header-brand{display:flex;align-items:center;flex:none}.dt-header-main{flex:1;min-width:0;height:100%;display:flex;align-items:center;gap:16px}.dt-logo{width:var(--header-logo-w);height:var(--header-logo-h);flex:none;border-radius:var(--radius-sm);background:var(--primary);color:var(--on-primary);display:flex;align-items:center;justify-content:center;font-size:var(--fs-subheading);font-weight:700;letter-spacing:var(--ls-tight);overflow:hidden}.dt-logo:has(img){background:var(--surface)}.dt-logo img{width:100%;height:100%;object-fit:contain}.dt-header-divider{width:1px;height:20px;background:var(--border);flex:0 0 1px}.dt-header-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dt-header-actions{margin-left:auto;display:flex;align-items:center;gap:10px}html[data-header-layout=split] .dt-header{padding:0}html[data-header-layout=split] .dt-header-inner{max-width:none;gap:0}html[data-header-layout=split] .dt-header-brand{align-self:stretch;min-width:300px;padding:0 var(--page-pad);box-sizing:border-box;background:var(--header-logo-bg)}html[data-header-layout=split] .dt-header-main{padding:0 var(--page-pad)}html[data-header-layout=split] .dt-header-divider{display:none}html[data-header-layout=split] .dt-logo:has(img){background:transparent}.dt-remai-toggle{display:inline-flex;align-items:center;gap:8px}.dt-nav{flex:0 0 auto;background:var(--surface-page);padding:14px var(--page-pad) 10px}.dt-nav-inner{max-width:var(--content-max);margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(0,1fr));gap:12px}.dt-nav-card{display:flex;align-items:center;gap:12px;padding:15px 14px;text-align:left;color:var(--text);cursor:pointer;font-family:inherit;text-decoration:none;transition:transform .12s,box-shadow .12s,background .15s,border-color .15s}.dt-nav-card:hover{transform:translateY(-1px)}.dt-nav-card.is-active{color:var(--nav-active-ink)}.dt-nav-card-icon{width:36px;height:36px;flex:0 0 36px;display:flex;align-items:center;justify-content:center;color:inherit}.dt-nav-card-text{min-width:0;flex:1}.dt-nav-card-line{display:flex;align-items:center;gap:8px}.dt-nav-card-label{font-size:var(--fs-subheading);font-weight:600;letter-spacing:var(--ls-tight)}.dt-nav-card-sub{display:block;margin-top:2px;font-size:var(--fs-caption);color:var(--text-secondary)}.dt-nav-card.is-active .dt-nav-card-sub{color:var(--nav-active-ink-secondary)}.dt-nav-card-badge{display:inline-flex;align-items:center;justify-content:center}html[data-layout=desktop] .frame--focused{max-width:none;margin:0}html[data-layout=mobile] .page:has(.buy-page){padding:0}html[data-layout=desktop] .page-col{width:100%;max-width:var(--page-col);margin:0 auto;padding-bottom:44px;display:flex;flex-direction:column}html[data-layout=desktop] .page[data-page-width=medium] .page-col{max-width:1100px}html[data-layout=desktop] .page-col:has(>.checkout-result){flex:1 0 auto}html[data-layout=desktop] .page[data-page-width=wide] .page-col{max-width:var(--content-max)}.dt-rail{align-self:stretch;min-height:0;background:var(--surface);display:flex;flex-direction:column;flex:0 0 auto;width:0;overflow:hidden;transition:width .3s cubic-bezier(.22,.61,.36,1)}.dt-rail.is-open{width:var(--rail-w)}.dt-rail-inner{width:var(--rail-w);flex:1;min-height:0;display:flex;flex-direction:column;border-left:1px solid var(--border)}html[data-layout=desktop] .dt-rail .agent{flex:1;display:flex;flex-direction:column;min-height:0}html[data-layout=desktop] .dt-rail .agent .main{flex:1;display:flex;flex-direction:column;min-height:0;max-width:none;padding:0}html[data-layout=desktop] .dt-rail .agent .chat-window{flex:1;overflow-y:auto;padding:16px 12px}html[data-layout=desktop] .dt-rail .agent .chat-empty{padding:40px 8px}html[data-layout=desktop] .dt-rail .agent .chat-input-wrapper{position:static;flex-shrink:0;margin:auto 0 0;left:auto;right:auto;max-width:none;width:100%;padding:8px 8px 12px;background:var(--surface)}.dt-footer{flex:0 0 auto;background:var(--footer-bg);color:var(--footer-ink)}.dt-footer-bar-inner,.dt-footer-panel-inner{max-width:var(--content-max);margin:0 auto;padding-left:var(--page-pad);padding-right:var(--page-pad)}.dt-footer-bar-inner{height:46px;display:flex;align-items:center;gap:22px;font-size:var(--fs-caption);color:var(--footer-ink-secondary)}.dt-footer-more{display:inline-flex;align-items:center;gap:7px;background:none;border:0;padding:0;font:inherit;color:inherit;cursor:pointer;white-space:nowrap}.dt-footer-more:hover{color:var(--footer-ink-secondary)}.dt-footer-quicklinks{display:flex;align-items:center;gap:18px;min-width:0;overflow:hidden}.dt-footer-powered{margin-left:auto;white-space:nowrap}.dt-footer-text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--footer-fs);color:var(--footer-ink)}.dt-footer-powered strong{color:var(--footer-ink-secondary);font-weight:600}.dt-footer-panel{border-bottom:1px solid var(--footer-ink-faint)}.dt-footer-panel-inner{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:40px;padding-top:34px;padding-bottom:28px}.dt-footer-brand{display:flex;align-items:center;gap:11px;margin-bottom:14px}.dt-footer-logo{width:32px;height:32px;border-radius:var(--radius-sm);background:var(--surface);color:var(--text);display:flex;align-items:center;justify-content:center;font-size:var(--fs-body);font-weight:700;overflow:hidden}.dt-footer-logo img{width:100%;height:100%;object-fit:contain}.dt-footer-name{font-size:var(--fs-subheading);font-weight:700}.dt-footer-blurb{margin:0;max-width:280px;font-size:var(--fs-small);line-height:var(--lh-text);color:var(--footer-ink-secondary)}.dt-footer-socials{display:flex;gap:9px;margin-top:18px}.dt-footer-social{width:34px;height:34px;border-radius:var(--radius-pill);border:1px solid var(--footer-ink-faint);display:flex;align-items:center;justify-content:center;font-size:var(--fs-micro);font-weight:600;color:var(--footer-ink-secondary)}.dt-footer-col-head{margin-bottom:15px;font-size:var(--fs-micro);font-weight:700;text-transform:uppercase;letter-spacing:var(--ls-label);color:var(--footer-ink-secondary)}.dt-footer-links{display:flex;flex-direction:column;gap:11px}.dt-footer-link{font-size:var(--fs-small);color:var(--footer-ink-secondary);text-decoration:none;white-space:nowrap}a.dt-footer-link:hover{color:var(--footer-ink)}html[data-layout=desktop] .onb-page{padding-top:48px;padding-bottom:40px}html[data-layout=desktop] .onb-col{max-width:680px}html[data-layout=desktop] .onb-title{font-size:var(--fs-display-lg);margin:0 0 8px}html[data-layout=desktop] .onb-grid{grid-template-columns:repeat(3,1fr);gap:16px}html[data-layout=desktop] .onb-actions{margin-top:12px;max-width:360px;width:100%;align-self:center}html[data-layout=desktop] .page{padding:14px var(--page-pad) 0;min-width:0}html[data-layout=desktop] .toast-host{max-width:420px}html[data-layout=desktop] .auth-screen{left:0;right:0;transform:none;max-width:none}html[data-layout=desktop] .waiting-overlay{max-width:none;margin:0}html[data-layout=desktop] .receipt-sheet-backdrop{align-items:center}html[data-layout=desktop] .receipt-sheet{max-width:520px;height:70vh;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);animation:none}html[data-layout=desktop] .receipt-sheet-grabber{display:none}html[data-layout=desktop] .cleanup-overlay{top:50%;bottom:auto;transform:translate(-50%,-50%);max-width:560px;max-height:80vh;overflow-y:auto;border-radius:var(--radius);box-shadow:var(--shadow-lg);padding:20px 24px 24px;animation:none}html[data-layout=desktop] .rd-fab-cluster{position:static;transform:none;width:auto;max-width:none;margin-top:8px;z-index:auto}html[data-layout=desktop] .plan-setup-footer{position:static;max-width:none;padding:0;margin-top:20px}html[data-layout=desktop] .plan-result-footer{position:sticky;left:auto;right:auto;max-width:none;margin:0;padding:12px 0 16px;background:linear-gradient(to top,var(--surface-page) 72%,transparent)}html[data-layout=desktop] .plan-result,html[data-layout=desktop] .plan-setup-page{padding-bottom:0}html[data-layout=desktop] .bring-fab-wrap{position:absolute;left:auto;right:var(--page-pad);bottom:20px;max-width:none;margin:0;padding:0;align-items:flex-end;pointer-events:auto}html[data-layout=desktop] .kitchen-toolbar .bring-fab-wrap{position:relative;right:auto;bottom:auto;display:inline-flex;z-index:30}html[data-layout=desktop] .kitchen-toolbar .bring-fab-menu{position:absolute;top:calc(100% + 8px);right:0;margin:0;min-width:220px}html[data-layout=desktop] .clip-toast-wrap{left:auto;right:24px;bottom:24px;max-width:380px;margin:0;padding:0}html[data-layout=desktop] .tabs-row{border-bottom:0;gap:4px;width:max-content;margin-bottom:22px}html[data-layout=desktop] .tab-btn{flex:0 0 auto;border-bottom:0}html[data-layout=desktop] .tab-btn{gap:7px}html[data-layout=desktop] .tab-btn-hint{font-size:var(--fs-caption);font-weight:400;color:var(--text-secondary)}html[data-layout=desktop] .hub-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px 20px}html[data-layout=desktop] .hub-card-body{padding:13px 14px 15px}html[data-layout=desktop] .hub-card-title{font-size:var(--fs-subheading);min-height:39px}html[data-layout=desktop] .hub-card--overlay:not(.hub-card--skeleton) .hub-card-body{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px}html[data-layout=desktop] .hub-card--overlay:not(.hub-card--skeleton) .hub-card-facts{margin-top:0}html[data-layout=desktop] .hub-card--overlay:not(.hub-card--skeleton) .hub-card-desc{flex-basis:100%;min-width:0;margin-top:1px}html[data-layout=desktop] .hub-search{max-width:420px}html[data-layout=desktop] .hub-card--skeleton{cursor:default;box-shadow:none}html[data-layout=desktop] .sk-block,html[data-layout=desktop] .sk-line,html[data-layout=desktop] .sk-pill{background:var(--surface-sunk);background-image:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.65) 50%,transparent 100%);background-size:240px 100%;background-repeat:no-repeat;animation:sk-shimmer 1.25s ease-in-out infinite}html[data-layout=desktop] .hub-card--skeleton .sk-block{aspect-ratio:4 / 3}html[data-layout=desktop] .sk-line{height:13px;border-radius:var(--radius-xs);margin-bottom:7px}html[data-layout=desktop] .sk-line--short{width:62%}html[data-layout=desktop] .sk-pill{display:inline-block;width:58px;height:18px;border-radius:var(--radius-pill)}@keyframes sk-shimmer{0%{background-position:-240px 0}to{background-position:calc(100% + 240px) 0}}html[data-layout=desktop] .page-bleed{margin:0}html[data-layout=desktop] .rd-hero-banner{aspect-ratio:5 / 4;border-radius:var(--radius);margin-bottom:26px}html[data-layout=desktop] .rd-content{max-width:638px}html[data-layout=desktop] .rd-body{display:flex;align-items:flex-start;justify-content:center;gap:36px}html[data-layout=desktop] .rd-content{flex:1;min-width:0;padding:26px 0 0}html[data-layout=desktop] .rd-actions-spacer{display:none}html[data-layout=desktop] .rd-rail{flex:0 0 330px;width:330px;position:sticky;top:0;margin-top:26px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:18px}html[data-layout=desktop] .rd-fab-cluster{flex-direction:column;gap:9px}html[data-layout=desktop] .rd-fab-cluster .btn{flex:0 0 auto;width:100%}html[data-layout=desktop] .crumbs{display:flex;align-items:center;gap:10px;padding:0 0 16px;font-size:var(--fs-small);color:var(--text-secondary)}html[data-layout=desktop] .crumb-back{display:inline-flex;align-items:center;gap:6px}html[data-layout=desktop] .crumb-here{color:var(--text)}html[data-layout=desktop] .rd-meta{font-size:var(--fs-body);gap:16px;margin-bottom:16px;align-items:center}html[data-layout=desktop] .rd-description{margin:0 0 26px;max-width:620px;font-size:var(--fs-subheading);line-height:var(--lh-text);color:var(--text-secondary)}html[data-layout=desktop] .rd-ing-list li{font-size:var(--fs-body);padding:11px 0}html[data-layout=desktop] .rd-instructions{list-style:none;padding-left:0;counter-reset:rd-step}html[data-layout=desktop] .rd-instructions li{display:flex;gap:16px;padding:0 0 22px;max-width:620px;font-size:var(--fs-subheading);line-height:var(--lh-text);color:var(--text-secondary)}html[data-layout=desktop] .rd-instructions li:before{counter-increment:rd-step;content:counter(rd-step);flex:0 0 27px;width:27px;height:27px;margin-top:2px;border-radius:var(--radius-pill);background:var(--primary);color:var(--on-primary);font-size:var(--fs-small);font-weight:700;line-height:27px;text-align:center}html[data-layout=desktop] .rd-ing-split{display:grid;grid-template-columns:1fr 1fr;gap:26px}html[data-layout=desktop] .rd-ing-col-title{margin-bottom:6px;font-size:var(--fs-caption);font-weight:700;text-transform:uppercase;letter-spacing:var(--ls-label);color:var(--text-secondary)}html[data-layout=desktop] .rd-rail-title{font-size:var(--fs-caption);font-weight:700;text-transform:uppercase;letter-spacing:var(--ls-label);color:var(--text-secondary);margin-bottom:14px}html[data-layout=desktop] .rd-rail-servings{display:flex;align-items:center;gap:12px;margin-bottom:16px}html[data-layout=desktop] .rd-rail-servings-label{flex:1;font-size:var(--fs-body);color:var(--text-secondary)}html[data-layout=desktop] .rd-rail-figures{display:flex;align-items:baseline;justify-content:space-between;gap:10px}html[data-layout=desktop] .rd-rail-count{font-size:var(--fs-body);color:var(--text-secondary)}html[data-layout=desktop] .rd-rail-total{font-size:var(--fs-display);font-weight:700;letter-spacing:var(--ls-tight)}html[data-layout=desktop] .rd-rail-priced{margin-top:2px;font-size:var(--fs-small);color:var(--text-secondary)}html[data-layout=desktop] .rd-rail .rd-fab-cluster{margin-top:16px;padding-top:16px;border-top:1px solid var(--surface-sunk)}html[data-layout=desktop] .plan-setup{max-width:640px}html[data-layout=desktop] .plan-result-days{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;align-items:start}html[data-layout=desktop] .planner-day-header{margin-top:0}html[data-layout=desktop] .plan-setup--desktop{max-width:none;gap:18px}html[data-layout=desktop] .plan-setup-top{display:flex;align-items:center;justify-content:flex-end}html[data-layout=desktop] .plan-setup-generate{margin-left:auto;flex:0 0 auto;width:auto;padding:0 26px;height:46px;white-space:nowrap}html[data-layout=desktop] .plan-setup-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px}html[data-layout=desktop] .plan-setup-card{padding:18px 20px}html[data-layout=desktop] .plan-setup-card-title{margin:0 0 14px;font-size:var(--fs-caption);font-weight:700;text-transform:uppercase;letter-spacing:var(--ls-label);color:var(--text-secondary)}html[data-layout=desktop] .plan-setup--desktop .planner-chip-group{margin:0}html[data-layout=desktop] .plan-setup--desktop .plan-setup-addlink{display:inline-block;margin-top:12px}html[data-layout=desktop] .plan-result--desktop{padding-bottom:0}html[data-layout=desktop] .plan-summary-sticky{position:sticky;top:0;z-index:6;background:var(--surface-page);margin:0 calc(var(--page-pad) * -1);padding:4px var(--page-pad) 12px}html[data-layout=desktop] .plan-summary{display:flex;align-items:center;gap:22px;flex-wrap:wrap;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:14px 20px}html[data-layout=desktop] .plan-summary-head{min-width:0}html[data-layout=desktop] .plan-summary-title{margin:0;font-size:var(--fs-heading);font-weight:700;letter-spacing:var(--ls-tight)}html[data-layout=desktop] .plan-summary-change{margin-top:2px}html[data-layout=desktop] .plan-summary-actions{margin-left:auto;display:flex;align-items:center;gap:10px;flex-wrap:wrap}html[data-layout=desktop] .plan-summary-btn{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}html[data-layout=desktop] .plan-summary-cta{white-space:nowrap}html[data-layout=desktop] .plan-board-bar{display:inline-flex;align-items:center;gap:9px;flex:0 0 auto;height:40px;margin-bottom:0;padding:6px 12px 6px 8px;border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--surface);font:inherit;cursor:pointer;transition:border-color .15s}html[data-layout=desktop] .plan-board-count{font-size:var(--fs-small);font-weight:600;color:var(--text-secondary)}html[data-layout=desktop] .plan-board-bar:hover .plan-board-count{color:var(--text)}html[data-layout=desktop] .plan-board-scroll{overflow:visible}html[data-layout=desktop] .plan-board{--plan-day-col: 104px;--plan-gap: 12px;display:grid;grid-template-columns:var(--plan-day-col) repeat(var(--plan-slots),minmax(0,1fr));gap:var(--plan-gap);align-items:stretch}html[data-layout=desktop] .plan-board[data-slots="1"]{grid-template-columns:var(--plan-day-col) minmax(0,calc((100% - var(--plan-day-col) - var(--plan-gap)) / 2))}html[data-layout=desktop] .plan-board-corner{align-self:end;padding-bottom:4px;font-size:var(--fs-micro);font-weight:600;letter-spacing:var(--ls-label);text-transform:uppercase;color:var(--text-secondary)}html[data-layout=desktop] .plan-board-slot{display:flex;align-items:baseline;gap:8px;align-self:end;padding:0 2px 4px;min-width:0}html[data-layout=desktop] .plan-board-slot-name{font-size:var(--fs-caption);font-weight:700;letter-spacing:var(--ls-label);text-transform:uppercase;white-space:nowrap}html[data-layout=desktop] .plan-board-day{display:flex;flex-direction:column;align-self:start;gap:2px;padding-top:12px;min-width:0}html[data-layout=desktop] .plan-board-day-name{font-size:var(--fs-body);font-weight:700}html[data-layout=desktop] .plan-board-day-date{font-size:var(--fs-caption);color:var(--text-secondary)}html[data-layout=desktop] .plan-board-week{grid-column:1 / -1;display:flex;align-items:center;gap:12px;margin:12px 0 2px;font-size:var(--fs-micro);font-weight:700;letter-spacing:var(--ls-label);text-transform:uppercase;color:var(--text-secondary)}html[data-layout=desktop] .plan-board-week:after{content:"";flex:1;height:1px;background:var(--border)}html[data-layout=desktop] .plan-board-cell{display:flex;flex-direction:column;align-items:stretch;gap:10px;min-width:0}html[data-layout=desktop] .plan-board-cell.is-first{padding-top:4px}html[data-layout=desktop] .plan-board-empty{display:flex;align-items:center;justify-content:center;min-height:92px;border:1px dashed var(--border);border-radius:var(--radius);font-size:var(--fs-small);color:var(--text-secondary)}html[data-layout=desktop] .plan-board-cell .card.is-selected{border-color:var(--border)}html[data-layout=desktop] .plan-board-cell .combo-card{flex:1;display:flex;flex-direction:column}html[data-layout=desktop] .plan-board-cell .combo-card-items{flex:1}html[data-layout=desktop] .plan-tile{flex:1;display:grid;--plan-thumb: 124px;grid-template-columns:minmax(0,var(--plan-thumb)) minmax(0,1fr) auto;align-items:start;grid-template-rows:auto 1fr;column-gap:14px;min-height:132px;padding:0;overflow:hidden;transition:border-color .14s ease}html[data-layout=desktop] .plan-tile.is-openable{cursor:pointer}html[data-layout=desktop] .plan-tile-thumb{grid-column:1;grid-row:1 / -1;align-self:stretch;width:100%;height:100%;flex:none;border-radius:0;overflow:hidden}html[data-layout=desktop] .plan-tile-thumb img{width:100%;height:100%;object-fit:cover;display:block}html[data-layout=desktop] .plan-tile-body{grid-column:2;grid-row:1;min-width:0;padding:12px 0}html[data-layout=desktop] .plan-tile-name{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:var(--fs-subheading);font-weight:600;line-height:var(--lh-tight);color:var(--text)}html[data-layout=desktop] .plan-tile-meta{display:flex;align-items:center;flex-wrap:wrap;gap:6px 14px;margin-top:7px}html[data-layout=desktop] .plan-tile-fact{display:inline-flex;align-items:center;gap:4px;font-size:var(--fs-caption);color:var(--text-secondary)}html[data-layout=desktop] .plan-tile-why{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;margin:11px 0 0;font-size:var(--fs-small);line-height:var(--lh-ui);color:var(--text-secondary)}html[data-layout=desktop] .plan-tile-head{grid-column:3;grid-row:1;flex:none;display:flex;flex-direction:column;align-items:center;gap:8px;padding:12px 12px 0 0;border-bottom:0}html[data-layout=desktop] .plan-tile-check{display:inline-flex;align-items:center;padding:0;border:0;background:none;cursor:pointer}html[data-layout=desktop] .plan-tile-ingredients{width:26px;height:26px;padding:0;border:1px solid var(--border);border-radius:50%;background:var(--surface);color:var(--text-secondary);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:border-color .15s,color .15s,background .15s}html[data-layout=desktop] .plan-tile-ingredients:hover{border-color:var(--text);color:var(--text);background:var(--surface-sunk)}html[data-layout=desktop] .plan-tile-foot{grid-column:2 / -1;grid-row:2;align-self:end;display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-top:8px;padding:0 12px 12px 0;min-width:0}html[data-layout=desktop] .plan-tile-foot .plan-tile-ingredients{margin-right:auto}html[data-layout=desktop] .plan-tile-uses{align-items:flex-end;margin:0;padding:0;display:flex;flex-direction:column;gap:4px;min-width:0;overflow:hidden}html[data-layout=desktop] .plan-tile-uses .plan-uses{flex-wrap:nowrap;justify-content:flex-end;overflow:hidden}html[data-layout=desktop] .plan-tile-uses .plan-use-chip{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:130px}html[data-layout=desktop] .plan-tile-uses .plan-store-count{font-size:var(--fs-caption)}html[data-layout=desktop] .plan-pick-dialog{max-width:520px;width:100%;text-align:left;max-height:80vh;overflow-y:auto}html[data-layout=desktop] .plan-pick-dialog-head{display:flex;align-items:flex-start;gap:12px;margin-bottom:14px}html[data-layout=desktop] .plan-pick-dialog-title{margin:0;font-size:var(--fs-heading);font-weight:700;line-height:var(--lh-tight)}html[data-layout=desktop] .plan-pick-dialog .dialog-sheet-close{margin-left:auto}html[data-layout=desktop] .myplan-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:start}html[data-layout=desktop] .cb-tile{margin-bottom:0;display:flex;flex-direction:column}html[data-layout=desktop] .cb-tile-media{position:relative;cursor:pointer}html[data-layout=desktop] .cb-tile-cuisine{position:absolute;top:8px;left:8px}html[data-layout=desktop] .cb-tile-remove{position:absolute;top:8px;right:8px;display:flex;align-items:center;justify-content:center}html[data-layout=desktop] .cb-tile-body{display:flex;flex-direction:column;flex:1;min-width:0;padding:12px 14px 10px}html[data-layout=desktop] .cb-tile-headline{display:block;width:100%;padding:0;border:0;background:none;font:inherit;color:inherit;text-align:left;cursor:pointer}html[data-layout=desktop] .cb-tile-metarow{display:flex;align-items:center;gap:12px}html[data-layout=desktop] .cb-tile-metarow .cb-card-meta{margin-bottom:0;min-width:0}html[data-layout=desktop] .cb-tile-tobuy{margin-left:auto;flex:0 0 auto;font-size:var(--fs-caption);font-weight:600;color:var(--text-secondary);white-space:nowrap}html[data-layout=desktop] .cb-tile-cookbtn{display:inline-flex;align-items:center;justify-content:center;gap:7px;flex:1;min-width:0;white-space:nowrap}html[data-layout=desktop] .cb-tile-foot{display:flex;flex-direction:column;align-items:stretch;gap:14px;padding-top:10px}html[data-layout=desktop] .cb-tile-foot .cb-card-plan{padding:0}html[data-layout=desktop] .cb-tile-actions{display:flex;align-items:center;gap:8px;padding-bottom:6px}html[data-layout=desktop] .kitchen-categories{columns:300px 3;column-gap:20px}html[data-layout=desktop] .kitchen-category{margin-bottom:20px;break-inside:avoid;-webkit-column-break-inside:avoid;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:4px 14px 8px}html[data-layout=desktop] .kitchen-toolbar{align-items:center;gap:14px}html[data-layout=desktop] .kitchen-toolbar .kitchen-toggle{margin-right:auto}html[data-layout=desktop] .kitchen-toolbar .bring-fab-wrap{margin:0;width:auto}html[data-layout=desktop] .rd-tabs{display:flex;gap:26px;border-bottom:1px solid var(--border);margin:22px 0}html[data-layout=desktop] .rd-tab{border-bottom:2px solid transparent}html[data-layout=desktop] .acct-group,html[data-layout=desktop] .page-section{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:6px 22px 10px;margin-bottom:20px}html[data-layout=desktop] .page-section{padding:20px 22px}html[data-layout=desktop] .acct-group-head{padding:16px 0 10px;border-bottom:1px solid var(--border)}html[data-layout=desktop] .acct-row{padding:15px 0;gap:20px}html[data-layout=desktop] .acct-row-label{font-size:var(--fs-body)}html[data-layout=desktop] .profile-menu{right:0;top:46px;min-width:216px}html[data-layout=desktop] .acct-control{min-width:220px}html[data-layout=desktop] .pref-chip-row{gap:10px}html[data-layout=desktop] .buy-reuse-card{cursor:default}@media(prefers-reduced-motion:reduce){.dt-rail{transition:none}html[data-layout=desktop] .sk-block,html[data-layout=desktop] .sk-line,html[data-layout=desktop] .sk-pill{animation:none}}html[data-layout=desktop] .hub-toolbar{display:flex;align-items:flex-start;gap:12px;margin-bottom:14px}html[data-layout=desktop] .hub-toolbar .recipe-filter{position:relative;flex:0 0 auto;margin:0}html[data-layout=desktop] .hub-toolbar .hub-search{flex:1;min-width:0;margin:0}html[data-layout=desktop] .hub-toolbar .recipe-filter-body{position:absolute;top:calc(100% + 8px);left:0;z-index:12;width:600px;max-width:calc(100vw - 2 * var(--page-pad));margin:0;padding:20px;border-color:transparent;border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-lg)}.chip-scroller{display:flex;align-items:flex-start;gap:6px}.chip-scroller>.hub-cuisine-row{flex:1;min-width:0}.chip-scroller-arrow{flex:0 0 32px;margin-top:4px;display:inline-flex;align-items:center;justify-content:center}html[data-layout=desktop] .buy-reuse .chip-scroller,html[data-layout=desktop] .buy-ready .chip-scroller{display:block;position:relative}html[data-layout=desktop] .buy-reuse .chip-scroller-arrow,html[data-layout=desktop] .buy-ready .chip-scroller-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:2;margin-top:0}html[data-layout=desktop] .buy-reuse .chip-scroller-arrow.is-start,html[data-layout=desktop] .buy-ready .chip-scroller-arrow.is-start{left:8px}html[data-layout=desktop] .buy-reuse .chip-scroller-arrow.is-end,html[data-layout=desktop] .buy-ready .chip-scroller-arrow.is-end{right:8px}html[data-layout=desktop] .buy-reuse .chip-scroller-arrow:disabled,html[data-layout=desktop] .buy-ready .chip-scroller-arrow:disabled{opacity:0;pointer-events:none}html[data-layout=desktop] .shop-list{display:grid;grid-template-columns:minmax(0,1fr) 330px;column-gap:26px;align-items:start}html[data-layout=desktop] .shop-groups{grid-column:1;grid-row:1 / span 4}html[data-layout=desktop] .shop-category{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;margin-bottom:16px}html[data-layout=desktop] .shop-category-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0;padding:13px 18px;border-bottom:1px solid var(--border);font-size:var(--fs-caption);font-weight:700;letter-spacing:var(--ls-label);text-transform:uppercase;color:var(--text)}html[data-layout=desktop] .shop-row{gap:14px;padding:13px 18px;border-bottom:1px solid var(--border)}html[data-layout=desktop] .shop-category .shop-row:last-of-type{border-bottom:0}html[data-layout=desktop] .shop-row-name{font-size:var(--fs-body);font-weight:400}html[data-layout=desktop] .shop-summary-card{grid-column:2;grid-row:1;background:var(--surface);border:1px solid var(--border);border-bottom:0;border-radius:var(--radius) var(--radius) 0 0;padding:20px 20px 0;margin:0}html[data-layout=desktop] .shop-summary-card.is-alone{border-bottom:1px solid var(--border);border-radius:var(--radius);padding-bottom:20px}html[data-layout=desktop] .shop-summary-head{font-size:var(--fs-caption);font-weight:700;text-transform:uppercase;letter-spacing:var(--ls-label);color:var(--text-secondary);margin-bottom:14px}html[data-layout=desktop] .shop-summary-figures{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:4px}html[data-layout=desktop] .shop-summary-count{font-size:var(--fs-body);color:var(--text-secondary)}html[data-layout=desktop] .shop-summary-total{font-size:var(--fs-display);font-weight:700;letter-spacing:var(--ls-tight);font-variant-numeric:tabular-nums}html[data-layout=desktop] .shop-buy-spacer{display:none}html[data-layout=desktop] .shop-buy-bar{grid-column:2;grid-row:2;position:static;margin:0;padding:0 20px 20px;background:var(--surface);border:1px solid var(--border);border-top:0;border-radius:0 0 var(--radius) var(--radius)}html[data-layout=desktop] .shop-buy-btn{display:inline-flex;align-items:center;justify-content:center;gap:9px}html[data-layout=desktop] .shop-buy-btn:before{content:"";width:17px;height:17px;flex:0 0 17px;background:currentColor;-webkit-mask:var(--cart-glyph) center / contain no-repeat;mask:var(--cart-glyph) center / contain no-repeat}html[data-layout=desktop] .shop-total-row{display:none}html[data-layout=desktop] .shop-list-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px;min-height:30px}html[data-layout=desktop] .shop-list-head .buyflow-swaps-badge{margin-right:auto}html[data-layout=desktop] .shop-list-head .shop-clear-btn{margin-left:auto}html[data-layout=desktop] .saved-lists-controls{margin-bottom:14px}html[data-layout=desktop] .saved-list-card{gap:18px;padding:18px 20px;margin-bottom:14px}html[data-layout=desktop] .saved-list-card-title{font-size:var(--fs-subheading);font-weight:600}html[data-layout=desktop] .saved-list-card-meta{display:flex;align-items:center;gap:8px;margin-top:5px;font-size:var(--fs-small);color:var(--text-secondary)}html[data-layout=desktop] .saved-list-card-total{font-size:var(--fs-subheading);font-weight:700;font-variant-numeric:tabular-nums}html[data-layout=mobile] .saved-detail-page{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;max-width:var(--frame-max);margin:0 auto;overflow-y:auto;background:var(--surface-page)}html[data-layout=desktop] .saved-detail-page{min-height:0;max-width:none;width:100%}html[data-layout=desktop] .saved-detail-page .buyflow-header{padding:0 0 14px;align-items:center}html[data-layout=desktop] .saved-detail-page .crumbs{padding:0;flex:1;min-width:0}html[data-layout=desktop] .saved-detail-page .buyflow-header-total{margin-left:auto;font-size:var(--fs-title);font-weight:700;letter-spacing:var(--ls-tight)}html[data-layout=desktop] .saved-detail-page .buy-page-body{padding:0}html[data-layout=desktop] .saved-detail-group{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;margin-bottom:16px}html[data-layout=desktop] .saved-detail-group-heading{margin:0!important;padding:13px 18px;border-bottom:1px solid var(--border)}html[data-layout=desktop] .saved-detail-row{padding:13px 18px}.dialog--menu{max-width:720px;padding:0;text-align:left;overflow:hidden}.mpd{display:flex;flex-direction:column;max-height:82vh;text-align:left}.mpd-head{display:flex;align-items:flex-start;gap:14px;padding:26px 28px 18px}.mpd-head-text{flex:1;min-width:0;padding-top:2px}.mpd-title{margin:0;font-size:var(--fs-title);font-weight:700;line-height:var(--lh-tight);letter-spacing:var(--ls-tight);color:var(--text)}.mpd-meta{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:6px;font-size:var(--fs-small);color:var(--text-secondary)}.mpd-meta>span+span:before{content:"·";margin-right:10px;color:var(--border)}.mpd-close{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center}.mpd-controls{display:flex;align-items:center;gap:12px;padding:0 28px 18px;border-bottom:1px solid var(--border)}.mpd-controls-label{font-size:var(--fs-small);color:var(--text-secondary)}.mpd-controls-aside{margin-left:auto;font-size:var(--fs-small);color:var(--text-secondary)}.mpd-body{flex:1;min-height:0;overflow-y:auto;scrollbar-gutter:stable;padding:22px 20px 22px 28px}.mpd-empty{margin:0;font-size:var(--fs-small);color:var(--text-secondary)}.mpd-cols{display:grid;grid-template-columns:1fr 1fr;gap:12px 34px;align-items:start}.mpd-cols.is-single{grid-template-columns:1fr}.mpd-col{min-width:0}.mpd-col-head{margin:0 0 4px;font-size:var(--fs-caption);font-weight:700;text-transform:uppercase;letter-spacing:var(--ls-label);color:var(--text-secondary)}.mpd-col-empty{margin:8px 0 0;font-size:var(--fs-small);color:var(--text-secondary)}.mpd-list{list-style:none;margin:0;padding:0}.mpd-list li{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--border);font-size:var(--fs-body)}.mpd-list li:last-child{border-bottom:0}.mpd-dot{flex:0 0 7px;width:7px;height:7px;border-radius:var(--radius-pill);background:var(--primary)}.mpd-dot.is-muted{background:none;border:1px solid var(--text-secondary)}.mpd-name{flex:1;min-width:0}.mpd-name.is-muted{color:var(--text-secondary)}.mpd-qty{flex:0 0 auto;font-size:var(--fs-small);color:var(--text-secondary);font-variant-numeric:tabular-nums;white-space:nowrap}.mpd-qty.is-have{color:var(--positive);font-weight:400}.mpd-foot{display:flex;align-items:center;gap:16px;padding:16px 28px 22px;border-top:1px solid var(--border)}.mpd-link{display:inline-flex;align-items:center;gap:4px;white-space:nowrap}.mpd-actions{margin-left:auto;display:flex;align-items:center;gap:10px}.mpd-btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;white-space:nowrap}html[data-layout=desktop] .buy-page{max-width:none;min-height:0;background:transparent}html[data-layout=desktop] .buy-page-body{padding:0}html[data-layout=desktop] .buy-page-body--withbar{padding-bottom:0}html[data-layout=desktop] .buyflow-header{padding:0 0 18px}html[data-layout=desktop] .buyflow-header-title{font-size:var(--fs-title);letter-spacing:var(--ls-tight)}html[data-layout=desktop] .buy-one{display:grid;grid-template-columns:minmax(0,1fr) 372px;column-gap:22px;align-items:start}html[data-layout=desktop] .buy-one>.buy-recipe-card{grid-column:1;grid-row:1}html[data-layout=desktop] .buy-one-main{grid-column:1;grid-row:2;min-width:0}html[data-layout=desktop] .buy-one-aside{grid-column:2;grid-row:2;position:sticky;top:0;min-width:0}html[data-layout=desktop] .buy-one-main .boost-screen{padding:0}html[data-layout=desktop] .buy-section-title{margin:0;font-size:var(--fs-body);font-weight:700;letter-spacing:var(--ls-tight)}html[data-layout=desktop] .buy-section-title--lead{font-size:var(--fs-title);letter-spacing:var(--ls-tight);line-height:var(--lh-tight)}html[data-layout=desktop] .buy-exit{margin-bottom:16px}html[data-layout=desktop] .buy-exit-btn{position:static}html[data-layout=desktop] .buy-recipe-card{display:flex;justify-self:start;gap:16px;max-width:100%;padding:14px;margin-bottom:24px}html[data-layout=desktop] .buy-recipe-card-thumb{width:118px;height:88px;flex:0 0 118px;border-radius:var(--radius-sm);object-fit:cover;background:var(--surface-sunk)}html[data-layout=desktop] .buy-recipe-card-body{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:flex-start;gap:10px}html[data-layout=desktop] .buy-recipe-card-title{margin:0;font-size:var(--fs-heading);font-weight:700;letter-spacing:var(--ls-tight);line-height:var(--lh-tight)}html[data-layout=desktop] .buy-recipe-card-titlerow{display:flex;align-items:center;gap:10px;flex-wrap:wrap}html[data-layout=desktop] .buy-recipe-card-facts{display:flex;gap:16px;flex-wrap:wrap;font-size:var(--fs-body);color:var(--text-secondary)}html[data-layout=desktop] .buy-recipe-card-facts span{display:inline-flex;align-items:center;gap:5px}html[data-layout=desktop] .buy-reuse{margin-bottom:30px}html[data-layout=desktop] .buy-reuse-head,html[data-layout=desktop] .buy-ready-head{display:flex;align-items:center;gap:14px;margin-bottom:14px}html[data-layout=desktop] .buy-reuse-addall,html[data-layout=desktop] .buy-ready-more{margin-left:auto;white-space:nowrap}html[data-layout=desktop] .buy-reuse-strip{display:flex;gap:12px;overflow-x:auto;scrollbar-width:none;padding:10px 0 14px;margin:-10px 0 -14px}html[data-layout=desktop] .buy-reuse-strip::-webkit-scrollbar{display:none}html[data-layout=desktop] .buy-reuse-card{width:172px;flex:0 0 172px;display:flex;flex-direction:column;overflow:hidden}html[data-layout=desktop] .buy-reuse-media{position:relative;display:block;width:100%;aspect-ratio:1 / 1;padding:0;border:0;background:var(--surface-sunk);cursor:pointer}html[data-layout=desktop] .buy-reuse-media img{width:100%;height:100%;object-fit:cover;display:block}html[data-layout=desktop] .buy-reuse-tick{position:absolute;top:8px;right:8px;width:24px;height:24px;border-radius:var(--radius-xs);border:1.5px solid var(--text);background:var(--surface);color:transparent;display:flex;align-items:center;justify-content:center;transition:background .15s,border-color .15s,color .15s}html[data-layout=desktop] .buy-reuse-card.is-selected .buy-reuse-tick{background:var(--text);border-color:var(--text);color:var(--on-primary)}html[data-layout=desktop] .buy-reuse-cost{position:absolute;left:8px;bottom:8px;padding:3px 9px;border-radius:var(--radius-pill);border:1px solid var(--text);background:var(--surface);color:var(--text);font-size:var(--fs-caption);font-weight:700}html[data-layout=desktop] .buy-reuse-body{padding:10px 11px 12px}html[data-layout=desktop] .buy-reuse-title{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:34px;font-size:var(--fs-small);font-weight:600;line-height:var(--lh-tight)}html[data-layout=desktop] .buy-reuse-reuse{display:flex;align-items:center;gap:5px;margin-top:3px;font-size:var(--fs-caption);color:var(--text-secondary)}html[data-layout=desktop] .buy-reuse-link{margin-top:8px}html[data-layout=desktop] .buy-products-head{display:flex;align-items:flex-end;gap:14px;margin-bottom:16px;border-bottom:1px solid var(--border)}html[data-layout=desktop] .buy-products-head .buy-section-title{padding-bottom:12px}html[data-layout=desktop] .buy-products-head .buyflow-swaps-badge{margin:0 0 10px auto}html[data-layout=desktop] .buy-products-tabs{display:flex;gap:22px}html[data-layout=desktop] .buy-products-tab{display:inline-flex;align-items:center;gap:7px;border-bottom:2px solid transparent;margin-bottom:-1px}html[data-layout=desktop] .buy-products-count{font-weight:400;color:var(--text-secondary)}html[data-layout=desktop] .buyflow-row{display:flex;align-items:flex-start;gap:10px}html[data-layout=desktop] .buy-products .buyflow-row{margin-bottom:10px}html[data-layout=desktop] .buyflow-row .buyflow-card{flex:1;min-width:0;margin-bottom:0}html[data-layout=desktop] .buyflow-row>.buyflow-card-iconbtn{margin-top:20px}html[data-layout=desktop] .buyflow-card-titlerow{display:flex;align-items:center;gap:10px;min-width:0}html[data-layout=desktop] .buyflow-card-titlerow .buyflow-card-title{min-width:0}html[data-layout=desktop] .buyflow-card-units{display:flex;flex-direction:row;align-items:center;gap:10px;flex:0 0 auto}html[data-layout=desktop] .buyflow-card-need{min-width:92px;text-align:right}html[data-layout=desktop] .buyflow-card-price{min-width:74px}html[data-layout=desktop] .buyflow-card-expander{display:inline-flex;align-items:center;gap:6px;flex:0 0 auto}html[data-layout=desktop] .buyflow-card-expander .icon{transition:transform .2s ease}html[data-layout=desktop] .buyflow-card-expander.is-open .icon{transform:rotate(180deg)}html[data-layout=desktop] .buy-close-card{padding:20px}html[data-layout=desktop] .buy-close-card{padding:22px}html[data-layout=desktop] .buy-close-head{display:block}html[data-layout=desktop] .buy-close-title{display:block;font-size:var(--fs-subheading);font-weight:700;letter-spacing:var(--ls-tight);line-height:var(--lh-tight)}html[data-layout=desktop] .buy-close-total{display:block;text-align:right;margin-top:10px;font-size:var(--fs-display-lg);font-weight:700;letter-spacing:var(--ls-tight);line-height:1;white-space:nowrap}html[data-layout=desktop] .buy-close-cta{width:100%;margin-top:24px}html[data-layout=desktop] .buy-close-save{margin-top:20px;padding-top:16px;border-top:1px solid var(--border)}html[data-layout=desktop] .buy-close-save-head{font-size:var(--fs-micro);font-weight:700;text-transform:uppercase;letter-spacing:var(--ls-label);color:var(--text-secondary)}html[data-layout=desktop] .buy-close-save-claim{margin-top:5px;font-size:var(--fs-subheading);font-weight:700;letter-spacing:var(--ls-tight);line-height:var(--lh-tight);color:var(--text)}html[data-layout=desktop] .buy-meter{margin-top:52px}html[data-layout=desktop] .buy-meter-track{position:relative;height:8px;border-radius:var(--radius-pill);background:var(--surface-sunk)}html[data-layout=desktop] .buy-meter-fill{height:100%;border-radius:var(--radius-pill);background:var(--primary);transition:width .35s cubic-bezier(.4,0,.2,1)}html[data-layout=desktop] .buy-meter-thumb{position:absolute;top:-5px;width:18px;height:18px;margin-left:-9px;border-radius:var(--radius-pill);background:var(--surface);border:3px solid var(--primary);box-shadow:var(--shadow-sm);transition:left .35s cubic-bezier(.4,0,.2,1)}html[data-layout=desktop] .buy-meter-bubble{position:absolute;bottom:18px;white-space:nowrap;padding:3px 9px;border-radius:var(--radius-xs);background:var(--primary);color:var(--on-primary);font-size:var(--fs-small);font-weight:700;transition:left .35s cubic-bezier(.4,0,.2,1)}html[data-layout=desktop] .buy-meter-ends{display:flex;justify-content:space-between;margin-top:12px;font-size:var(--fs-caption);color:var(--text-secondary)}html[data-layout=desktop] .buy-ready{margin-bottom:30px}html[data-layout=desktop] .buy-ready-strip{display:flex;align-items:stretch;gap:14px;overflow-x:auto;scrollbar-width:none;padding:10px 0 14px;margin:-10px 0 -14px}html[data-layout=desktop] .buy-ready-strip::-webkit-scrollbar{display:none}html[data-layout=desktop] .buy-ready-strip>*{width:300px;flex:0 0 300px}html[data-layout=desktop] .buy-ready-strip .combo-card{align-self:stretch;display:flex;flex-direction:column}html[data-layout=desktop] .buy-ready-strip .combo-card-items{flex:1}html[data-layout=desktop] .combo-card-head{padding:13px 14px 11px}html[data-layout=desktop] .combo-card-title{margin-top:9px;font-size:var(--fs-subheading)}html[data-layout=desktop] .combo-row{gap:10px;padding:10px 14px}html[data-layout=desktop] .combo-row-box{width:17px;height:17px;flex:0 0 17px}html[data-layout=desktop] .combo-row-thumb{width:36px;height:36px;flex:0 0 36px}html[data-layout=desktop] .combo-row-role{font-size:var(--fs-micro)}html[data-layout=desktop] .combo-row-name{font-size:var(--fs-small)}html[data-layout=desktop] .combo-row-brand{font-size:var(--fs-micro)}html[data-layout=desktop] .combo-row-price{font-size:var(--fs-small)}html[data-layout=desktop] .combo-card-foot{gap:10px;padding:12px 14px}html[data-layout=desktop] .combo-card-total{font-size:var(--fs-heading)}html[data-layout=desktop] .buy-cart-dock{position:sticky;left:auto;transform:none;max-width:none;border-radius:var(--radius);margin-bottom:12px}
