:root{--bg:#f3f4f6;--text:#0f172a;--muted:#6b7280;--border:rgba(15,23,42,0.08);--accent:#111111;--accent-strong:#111111;--success:#1d7a46;--shadow-md:0 18px 40px rgba(15,23,42,0.08);--content-width:960px;--bg-cloud-a:rgba(15,23,42,0.07);--bg-cloud-b:rgba(15,23,42,0.05);--bg-top:#fafafa;--bg-bottom:#f3f4f6;--surface-bg:rgba(255,255,255,0.88);--surface-strong-bg:rgba(255,255,255,0.8);--surface-border:rgba(255,255,255,0.7);--control-bg:rgba(255,255,255,0.92);--control-border:rgba(15,23,42,0.08);--tab-bg:rgba(255,255,255,0.86);--tab-border:rgba(255,255,255,0.7);--tab-active-bg:#111111;--tab-active-text:#ffffff;--button-soft-bg:rgba(15,23,42,0.06);--button-ghost-bg:rgba(15,23,42,0.04);--composer-bg:rgba(15,23,42,0.04);--composer-border:rgba(15,23,42,0.04);--composer-btn-bg:rgba(15,23,42,0.06);--composer-btn-text:rgba(15,23,42,0.5);--voice-btn-bg:#111111;--voice-btn-text:#ffffff;--category-bg:rgba(15,23,42,0.025);--category-text:#334155;--category-icon:rgba(15,23,42,0.68);--item-bg:rgba(255,255,255,0.96);--item-selected-bg:rgba(17,17,17,0.03);--meta-separator:rgba(15,23,42,0.24);--bubble-bg:rgba(152,153,52,0.96);--bubble-text:#efffda;--shopopo-badge-bg:transparent;--shopopo-plate-shadow:rgba(152,153,52,0.42);--store-badge-bg:#e8eef5;--store-badge-text:#334155;--interactive-soft-bg:rgba(15,23,42,0.05);--interactive-soft-border:rgba(15,23,42,0.08);--interactive-soft-text:rgba(15,23,42,0.74);--interactive-strong-bg:#111111;--interactive-strong-text:#ffffff;--recording-bg:#cc1020;--recording-ring:rgba(204,16,32,0.12)}body[data-shopopo-theme=yogi]{--accent:#7f9f2f;--accent-strong:#486215;--bg-cloud-a:rgba(120,184,109,0.16);--bg-cloud-b:rgba(214,238,163,0.2);--bg-top:#fbfff2;--bg-bottom:#eefad9;--surface-bg:rgba(248,255,241,0.9);--surface-strong-bg:rgba(245,255,234,0.84);--surface-border:rgba(231,247,190,0.9);--control-bg:rgba(250,255,243,0.94);--control-border:rgba(133,164,74,0.16);--tab-bg:rgba(247,255,237,0.9);--tab-border:rgba(227,245,183,0.9);--tab-active-bg:#7f9f2f;--tab-active-text:#f8ffe8;--button-soft-bg:rgba(126,164,56,0.12);--button-ghost-bg:rgba(126,164,56,0.08);--composer-bg:rgba(126,164,56,0.08);--composer-border:rgba(126,164,56,0.1);--composer-btn-bg:rgba(126,164,56,0.14);--composer-btn-text:rgba(72,98,21,0.72);--voice-btn-bg:#7f9f2f;--voice-btn-text:#f8ffe8;--category-bg:rgba(126,164,56,0.08);--category-text:#4b5d1c;--category-icon:rgba(75,93,28,0.72);--item-bg:rgba(253,255,247,0.98);--item-selected-bg:rgba(126,164,56,0.08);--meta-separator:rgba(126,164,56,0.3);--bubble-bg:rgba(126,164,56,0.94);--bubble-text:#efffda;--shopopo-badge-bg:transparent;--shopopo-plate-shadow:rgba(152,153,52,0.42);--store-badge-bg:#dceeb3;--store-badge-text:#5e741f;--interactive-soft-bg:rgba(126,164,56,0.1);--interactive-soft-border:rgba(126,164,56,0.16);--interactive-soft-text:rgba(72,98,21,0.8);--interactive-strong-bg:#7f9f2f;--interactive-strong-text:#f8ffe8;--recording-bg:#8baf2c;--recording-ring:rgba(139,175,44,0.18)}body[data-shopopo-theme=pumper]{--accent:#4f94a1;--accent-strong:#2d646f;--bg-cloud-a:rgba(79,148,161,0.18);--bg-cloud-b:rgba(182,232,214,0.22);--bg-top:#f4fffd;--bg-bottom:#dff6ee;--surface-bg:rgba(242,252,249,0.9);--surface-strong-bg:rgba(235,250,245,0.86);--surface-border:rgba(191,232,219,0.86);--control-bg:rgba(247,253,251,0.95);--control-border:rgba(79,148,161,0.16);--tab-bg:rgba(239,251,248,0.92);--tab-border:rgba(191,232,219,0.86);--tab-active-bg:#4f94a1;--tab-active-text:#effcf9;--button-soft-bg:rgba(79,148,161,0.12);--button-ghost-bg:rgba(79,148,161,0.08);--composer-bg:rgba(79,148,161,0.08);--composer-border:rgba(79,148,161,0.1);--composer-btn-bg:rgba(79,148,161,0.14);--composer-btn-text:rgba(45,100,111,0.72);--voice-btn-bg:#4f94a1;--voice-btn-text:#effcf9;--category-bg:rgba(79,148,161,0.08);--category-text:#2d646f;--category-icon:rgba(45,100,111,0.72);--item-bg:rgba(250,255,254,0.98);--item-selected-bg:rgba(79,148,161,0.08);--meta-separator:rgba(79,148,161,0.28);--bubble-bg:rgba(79,148,161,0.96);--bubble-text:#effcf9;--shopopo-badge-bg:transparent;--shopopo-plate-shadow:rgba(79,148,161,0.3);--store-badge-bg:#d8f0e8;--store-badge-text:#2d646f;--interactive-soft-bg:rgba(79,148,161,0.1);--interactive-soft-border:rgba(79,148,161,0.16);--interactive-soft-text:rgba(45,100,111,0.8);--interactive-strong-bg:#4f94a1;--interactive-strong-text:#effcf9;--recording-bg:#5caa92;--recording-ring:rgba(92,170,146,0.18)}body[data-shopopo-theme=couch]{--accent:#d95a3a;--accent-strong:#8e3421;--bg-cloud-a:rgba(222,83,56,0.16);--bg-cloud-b:rgba(255,196,132,0.2);--bg-top:#fff7f2;--bg-bottom:#ffe8da;--surface-bg:rgba(255,249,245,0.9);--surface-strong-bg:rgba(255,244,237,0.86);--surface-border:rgba(255,216,192,0.86);--control-bg:rgba(255,252,249,0.94);--control-border:rgba(222,83,56,0.14);--tab-bg:rgba(255,248,242,0.92);--tab-border:rgba(255,216,192,0.86);--tab-active-bg:#d95a3a;--tab-active-text:#fff7f2;--button-soft-bg:rgba(217,90,58,0.12);--button-ghost-bg:rgba(217,90,58,0.08);--composer-bg:rgba(217,90,58,0.08);--composer-border:rgba(217,90,58,0.1);--composer-btn-bg:rgba(217,90,58,0.14);--composer-btn-text:rgba(142,52,33,0.72);--voice-btn-bg:#d95a3a;--voice-btn-text:#fff7f2;--category-bg:rgba(217,90,58,0.08);--category-text:#8f3723;--category-icon:rgba(143,55,35,0.74);--item-bg:rgba(255,252,249,0.98);--item-selected-bg:rgba(217,90,58,0.08);--meta-separator:rgba(217,90,58,0.28);--bubble-bg:rgba(191,66,36,0.94);--bubble-text:#fff2e9;--shopopo-badge-bg:transparent;--shopopo-plate-shadow:rgba(217,90,58,0.28);--store-badge-bg:#ffe0d1;--store-badge-text:#8f3723;--interactive-soft-bg:rgba(217,90,58,0.1);--interactive-soft-border:rgba(217,90,58,0.16);--interactive-soft-text:rgba(143,55,35,0.82);--interactive-strong-bg:#d95a3a;--interactive-strong-text:#fff7f2;--recording-bg:#e56d48;--recording-ring:rgba(229,109,72,0.18)}body[data-shopopo-theme=balance]{--accent:#b88448;--accent-strong:#7d5627;--bg-cloud-a:rgba(184,132,72,0.16);--bg-cloud-b:rgba(240,221,178,0.22);--bg-top:#fffdf9;--bg-bottom:#f6ead4;--surface-bg:rgba(255,252,246,0.9);--surface-strong-bg:rgba(253,247,238,0.86);--surface-border:rgba(243,226,195,0.86);--control-bg:rgba(255,252,248,0.94);--control-border:rgba(184,132,72,0.14);--tab-bg:rgba(255,250,242,0.92);--tab-border:rgba(243,226,195,0.86);--tab-active-bg:#b88448;--tab-active-text:#fff9ef;--button-soft-bg:rgba(184,132,72,0.12);--button-ghost-bg:rgba(184,132,72,0.08);--composer-bg:rgba(184,132,72,0.08);--composer-border:rgba(184,132,72,0.1);--composer-btn-bg:rgba(184,132,72,0.14);--composer-btn-text:rgba(125,86,39,0.72);--voice-btn-bg:#b88448;--voice-btn-text:#fff9ef;--category-bg:rgba(184,132,72,0.08);--category-text:#7d5627;--category-icon:rgba(125,86,39,0.72);--item-bg:rgba(255,253,249,0.98);--item-selected-bg:rgba(184,132,72,0.08);--meta-separator:rgba(184,132,72,0.28);--bubble-bg:rgba(184,132,72,0.94);--bubble-text:#fff9ef;--shopopo-badge-bg:transparent;--shopopo-plate-shadow:rgba(184,132,72,0.28);--store-badge-bg:#f1ddc0;--store-badge-text:#7d5627;--interactive-soft-bg:rgba(184,132,72,0.1);--interactive-soft-border:rgba(184,132,72,0.16);--interactive-soft-text:rgba(125,86,39,0.8);--interactive-strong-bg:#b88448;--interactive-strong-text:#fff9ef;--recording-bg:#c5955c;--recording-ring:rgba(197,149,92,0.18)}body[data-shopopo-theme=gollum]{--accent:#9a63d7;--accent-strong:#65388f;--bg-cloud-a:rgba(153,88,215,0.14);--bg-cloud-b:rgba(232,216,255,0.2);--bg-top:#fbf8ff;--bg-bottom:#efe7ff;--surface-bg:rgba(252,249,255,0.9);--surface-strong-bg:rgba(247,241,255,0.86);--surface-border:rgba(227,212,255,0.86);--control-bg:rgba(253,251,255,0.94);--control-border:rgba(153,88,215,0.14);--tab-bg:rgba(250,246,255,0.92);--tab-border:rgba(227,212,255,0.86);--tab-active-bg:#9a63d7;--tab-active-text:#faf5ff;--button-soft-bg:rgba(154,99,215,0.12);--button-ghost-bg:rgba(154,99,215,0.08);--composer-bg:rgba(154,99,215,0.08);--composer-border:rgba(154,99,215,0.1);--composer-btn-bg:rgba(154,99,215,0.14);--composer-btn-text:rgba(90,52,140,0.72);--voice-btn-bg:#9a63d7;--voice-btn-text:#faf5ff;--category-bg:rgba(154,99,215,0.08);--category-text:#65388f;--category-icon:rgba(101,56,143,0.72);--item-bg:rgba(253,252,255,0.98);--item-selected-bg:rgba(154,99,215,0.08);--meta-separator:rgba(154,99,215,0.28);--bubble-bg:rgba(122,70,187,0.96);--bubble-text:#f7f1ff;--shopopo-badge-bg:transparent;--shopopo-plate-shadow:rgba(154,99,215,0.28);--store-badge-bg:#eadcfb;--store-badge-text:#65388f;--interactive-soft-bg:rgba(154,99,215,0.1);--interactive-soft-border:rgba(154,99,215,0.16);--interactive-soft-text:rgba(101,56,143,0.8);--interactive-strong-bg:#9a63d7;--interactive-strong-text:#faf5ff;--recording-bg:#a76ce5;--recording-ring:rgba(167,108,229,0.18)}@font-face{font-family:Noto Sans;src:url(/fonts/NotoSans-Regular.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Noto Sans;src:url(/fonts/NotoSans-Medium.ttf) format("truetype");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Noto Sans;src:url(/fonts/NotoSans-SemiBold.ttf) format("truetype");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:Noto Sans;src:url(/fonts/NotoSans-Bold.ttf) format("truetype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Barriecito;src:url(/fonts/Barriecito-Regular.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html{background:radial-gradient(circle at top left,var(--bg-cloud-a),transparent 28%),radial-gradient(circle at top right,var(--bg-cloud-b),transparent 24%),linear-gradient(180deg,var(--bg-top) 0,var(--bg-bottom) 100%);min-height:100%}body{margin:0;min-height:100vh;color:var(--text);font-family:Noto Sans,Segoe UI,-apple-system,BlinkMacSystemFont,sans-serif;background:linear-gradient(180deg,var(--bg-top) 0,var(--bg-bottom) 100%);overscroll-behavior-y:contain;padding-bottom:calc(108px + env(safe-area-inset-bottom))}a{color:inherit;text-decoration:none}.inline-link{text-decoration:underline;text-underline-offset:.14em}button,input,select,textarea{font:inherit}button{cursor:pointer;-moz-appearance:none;appearance:none;-webkit-appearance:none;color:inherit}input,select,textarea{width:100%;border:1px solid var(--control-border);border-radius:16px;background:var(--control-bg);padding:.95rem 1rem;color:var(--text)}select{appearance:none;-webkit-appearance:none;-moz-appearance:none;padding-right:2.75rem;background-image:linear-gradient(45deg,transparent 42%,currentColor 0,currentColor 54%,transparent 0),linear-gradient(-45deg,transparent 42%,currentColor 0,currentColor 54%,transparent 0);background-position:calc(100% - 20px) calc(50% - 1px),calc(100% - 14px) calc(50% - 1px);background-size:8px 8px,8px 8px;background-repeat:no-repeat}textarea{resize:vertical}.material-symbols-outlined{font-family:Material Symbols Outlined,sans-serif!important;font-weight:400;font-style:normal;font-size:20px;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;font-variation-settings:"FILL" 0,"wght" 400,"GRAD" 0,"opsz" 24;font-feature-settings:"liga";-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.login-page{min-height:100vh;display:grid;place-items:center;padding:24px 16px}.login-card,.panel{border-radius:28px;background:var(--surface-bg);border:1px solid var(--surface-border);box-shadow:var(--shadow-md)}.list-card,.login-card,.panel{backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.list-card{border-radius:0 0 22px 22px;overflow:hidden;background:var(--surface-strong-bg);border:none;box-shadow:none}.shopopo-stage{position:relative;min-height:132px;overflow:visible;display:flex;align-items:center;justify-content:center;background:transparent}.shopopo-svg{width:min(100%,208px);height:auto;overflow:visible}.shopopo-shadow{fill:rgba(15,23,42,.055)}.shopopo-badge-avatar{width:220px;height:220px;display:flex;align-items:center;justify-content:center}.shopopo-badge-avatar .shopopo-svg{width:148px}.shopopo-cutout-avatar{position:relative;width:100%;aspect-ratio:1/1;overflow:visible;animation:shopopoFloatA 6.8s ease-in-out infinite}.shopopo-cutout-avatar.is-balance{transform:translateY(4px)}.shopopo-cutout-avatar.is-pumper{transform:translateY(2px)}.shopopo-cutout-avatar.is-couch{transform:translateY(8px)}.shopopo-cutout-avatar.is-gollum{transform:translateY(5px)}.shopopo-cutout-layer{position:absolute}.shopopo-cutout-layer-extra,.shopopo-cutout-layer-hair{animation:shopopoFloatB 6.1s ease-in-out infinite}.shopopo-cutout-layer-eye-left,.shopopo-cutout-layer-eye-right,.shopopo-cutout-layer-nose{animation:shopopoFloatC 5.7s ease-in-out infinite}.shopopo-cutout-layer img{display:block;width:100%;height:auto;object-fit:contain}.shopopo-cutout-layer-plate img{filter:drop-shadow(0 14px 26px var(--shopopo-plate-shadow))}.shopopo-bubble-card{margin:8px 0 18px;overflow:visible;background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;border-radius:0}.shopopo-bubble{position:relative;margin-left:112px;margin-top:-26px;padding:16px 18px;border-radius:24px;background:var(--bubble-bg);box-shadow:0 16px 36px color-mix(in srgb,var(--bubble-bg) 26%,transparent);border:1px solid rgba(95,107,29,.22)}.shopopo-bubble:before{content:"";position:absolute;left:28px;top:-8px;width:18px;height:18px;background:inherit;border-radius:3px;transform:rotate(45deg);box-shadow:-2px -2px 8px rgba(95,107,29,.1)}.shopopo-bubble p{margin:0;font-family:Barriecito,Noto Sans,cursive;font-size:1.08rem;line-height:1.38;font-weight:400;letter-spacing:.005em;color:var(--bubble-text)}.shopopo-bubble-card-inline{margin:0}.shopopo-bubble-card-inline .shopopo-bubble{margin-top:0;margin-left:0;width:-moz-fit-content;width:fit-content;max-width:min(100%,720px)}.shopopo-face-piece,.shopopo-float{transform-box:fill-box;transform-origin:center}.shopopo-cutout{filter:url(#shopopo-cutout-shadow)}.shopopo-cutout>*{stroke:#ffffff;stroke-width:5px;stroke-linejoin:round;paint-order:stroke fill}.shopopo-cutout path[fill=none]{stroke-width:8px}.shopopo-plate{filter:drop-shadow(0 10px 18px rgba(148,163,184,.14))}.shopopo-float-1{animation:shopopoFloatA 4.8s ease-in-out infinite}.shopopo-float-2{animation:shopopoFloatB 5.6s ease-in-out infinite}.shopopo-float-3{animation:shopopoFloatC 6.2s ease-in-out infinite}@keyframes shopopoFloatA{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes shopopoFloatB{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}@keyframes shopopoFloatC{0%,to{transform:translateY(0)}50%{transform:translateY(-2px)}}.login-card{width:min(100%,420px);padding:28px}.eyebrow,.household-switcher span,.login-form label span,.stack-form label span{font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.muted{color:var(--muted)}.error-text{color:#be123c}.success-text{color:#15803d}.honeypot-input{position:absolute;left:-9999px;width:1px;height:1px;opacity:0;pointer-events:none}.login-card h1{margin:8px 0 4px;font-size:clamp(1.9rem,4vw,2.4rem);line-height:1;letter-spacing:-.04em}.login-form,.stack-form{display:grid;grid-gap:14px;gap:14px;margin-top:18px}.login-form label,.stack-form label{display:grid;grid-gap:8px;gap:8px}.app-shell{width:min(100%,var(--content-width));margin:0 auto;padding:calc(14px + env(safe-area-inset-top)) 16px 20px;display:grid;grid-gap:14px;gap:14px}.topbar{justify-content:space-between}.brand-row,.topbar{display:flex;align-items:center;gap:12px}.brand-row{min-width:0;flex:1 1}.brand-badge{width:50px;height:50px;border-radius:16px;background:#111111;color:#ffffff;display:inline-flex;align-items:center;justify-content:center;box-shadow:var(--shadow-md);flex:0 0 auto}.brand-badge .material-symbols-outlined{font-size:24px}.brand-copy h1{margin:0;font-size:clamp(1.8rem,3vw,2.35rem);line-height:1;letter-spacing:-.04em;white-space:nowrap}.topbar-actions{display:flex;gap:8px;flex-wrap:nowrap;justify-content:flex-end;align-items:center;flex:0 0 auto}.household-switcher{display:grid;grid-gap:4px;gap:4px;min-width:210px}.household-switcher.is-compact{min-width:0}.household-switcher select,.refresh-btn{min-height:44px;padding:.85rem 1rem;border-radius:16px;background-color:var(--control-bg);color:var(--text);display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--control-border)}.household-switcher select{padding-right:36px}.refresh-btn{width:36px;padding:0;border:none;color:rgba(15,23,42,.72)}.account-menu{position:relative}.account-menu[open] .account-menu-trigger{background:#111111;color:#ffffff}.account-menu-trigger{list-style:none;width:36px;height:36px;min-height:36px;padding:0;border-radius:999px;background:transparent;color:var(--text);display:inline-flex;align-items:center;gap:8px;border:1px solid transparent;justify-content:center;cursor:pointer}.account-menu-trigger::-webkit-details-marker{display:none}.account-menu-avatar{width:34px;height:34px;border-radius:999px;background:color-mix(in srgb,var(--control-bg) 88%,#ffffff);color:var(--accent-strong);display:inline-flex;align-items:center;justify-content:center;font-size:.9rem;font-weight:800}.account-menu-avatar.is-large{width:42px;height:42px;font-size:1rem}.account-menu-panel{position:absolute;top:calc(100% + 10px);right:0;width:min(360px,calc(100vw - 28px));padding:14px;border-radius:24px;background:rgba(15,23,42,.94);color:#f8fafc;box-shadow:0 22px 48px rgba(15,23,42,.28);border:1px solid rgba(255,255,255,.08);display:grid;grid-gap:14px;gap:14px;z-index:30}.status-alert{margin-top:14px;padding:12px 14px;border-radius:16px;display:grid;grid-gap:4px;gap:4px}.status-alert strong{font-size:.94rem}.status-alert span{font-size:.9rem}.status-alert.is-danger{background:rgba(190,24,93,.09);border:1px solid rgba(225,29,72,.22);color:#9f1239}.account-menu-header,.account-menu-section{display:grid;grid-gap:10px;gap:10px}.account-menu-header-main{gap:12px}.account-menu-header-main,.account-menu-list-header{display:flex;align-items:center;justify-content:space-between}.account-menu-list-header{gap:10px}.account-menu-identity{display:flex;align-items:center;gap:12px}.account-settings-link{width:34px;height:34px;border-radius:12px;background:rgba(255,255,255,.08);color:#f8fafc;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}.account-settings-link .material-symbols-outlined{font-size:18px}.account-menu-copy{display:grid;grid-gap:2px;gap:2px}.account-menu-copy strong{font-size:1.05rem}.account-menu-copy span,.account-menu-label{color:rgba(241,245,249,.68)}.account-menu-label{margin:0;font-size:.75rem;letter-spacing:.08em;text-transform:uppercase}.account-menu-count{color:rgba(241,245,249,.6);font-size:.78rem}.account-menu-divider{height:1px;background:rgba(255,255,255,.08)}.account-menu .household-switcher select{min-height:44px;background-color:rgba(255,255,255,.1);color:#f8fafc;border-color:rgba(255,255,255,.14);box-shadow:inset 0 0 0 1px rgba(255,255,255,.02)}.menu-item{width:100%;min-height:56px;padding:0 12px;border-radius:16px;border:none;background:transparent;color:#f8fafc;display:grid;grid-template-columns:22px minmax(0,1fr) auto;align-items:center;grid-gap:12px;gap:12px;text-align:left}.menu-item:hover:not(:disabled){background:rgba(255,255,255,.06);transform:none}.menu-item:disabled{opacity:1;cursor:default}.menu-item-copy{display:block}.menu-item-copy strong{font-size:.98rem;font-weight:700}.menu-chevron{width:14px;height:8px;background-image:linear-gradient(45deg,transparent 42%,currentColor 0,currentColor 54%,transparent 0),linear-gradient(-45deg,transparent 42%,currentColor 0,currentColor 54%,transparent 0);background-position:0 0,7px 0;background-size:7px 7px,7px 7px;background-repeat:no-repeat;transform:rotate(0deg);color:rgba(248,250,252,.96);flex:0 0 auto;margin-right:1px;transition:transform .18s ease}.menu-chevron.is-expanded{transform:rotate(180deg)}.menu-soon-badge{min-height:24px;padding:0 8px;border-radius:999px;background:rgba(255,255,255,.08);color:rgba(248,250,252,.86);display:inline-flex;align-items:center;justify-content:center;font-size:.72rem;font-weight:700}.logout-menu-item{color:#ffffff}.member-list,.pending-invite-list{display:grid;grid-gap:8px;gap:8px}.member-row,.pending-invite-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;grid-gap:10px;gap:10px;min-height:52px;padding:8px 10px;border-radius:14px;background:rgba(255,255,255,.05)}.member-avatar{width:34px;height:34px;border-radius:999px;background:rgba(255,255,255,.09);color:#f8fafc;display:inline-flex;align-items:center;justify-content:center;font-size:.86rem;font-weight:800}.member-copy,.pending-invite-copy{display:grid;grid-gap:2px;gap:2px;min-width:0}.member-copy strong,.pending-invite-copy strong{font-size:.94rem}.member-copy span,.pending-invite-copy span{color:rgba(241,245,249,.66);font-size:.8rem;word-break:break-word}.favorite-stores-form,.favorite-stores-panel,.invite-form,.invite-panel,.invite-result,.invite-stack{display:grid;grid-gap:10px;gap:10px}.favorite-stores-panel{padding:0 12px 4px}.favorite-stores-feedback,.favorite-stores-hint{font-size:.82rem}.favorite-store-grid{display:flex;flex-wrap:wrap;gap:8px}.favorite-store-groups{display:grid;grid-gap:12px;gap:12px}.favorite-store-group{display:grid;grid-gap:8px;gap:8px}.favorite-store-chip{position:relative;display:inline-flex;align-items:center;min-height:32px;padding:0 12px;border-radius:999px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);color:rgba(241,245,249,.78);font-size:.82rem;font-weight:600;cursor:pointer}.favorite-store-chip input{position:absolute;inset:0;opacity:0;pointer-events:none}.favorite-store-chip.is-active{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.2);color:#ffffff}.invite-panel{padding:10px 12px 0}.account-panel{padding-top:4px}.account-form{padding-bottom:4px}.sub-menu-item{min-height:46px;padding-inline:10px;border-radius:14px;background:rgba(255,255,255,.04)}.sub-menu-item.is-danger{color:#fecaca}.danger-form{padding-top:2px}.danger-submit{background:#991b1b}.account-settings-grid,.account-settings-panel{display:grid;grid-gap:14px;gap:14px}.danger-panel{border-color:rgba(153,27,27,.15)}.danger-secondary-button{color:#991b1b;background:rgba(153,27,27,.08)}.invite-form label{display:grid;grid-gap:6px;gap:6px}.invite-form span,.invite-result span{font-size:.78rem;color:rgba(241,245,249,.72)}.invite-form input,.invite-result input{min-height:44px;background:rgba(255,255,255,.08);color:#f8fafc;border-color:rgba(255,255,255,.08)}.invite-result{padding:10px 12px;border-radius:16px;background:rgba(255,255,255,.05)}.invite-result-copy{display:grid;grid-gap:2px;gap:2px}.pending-invite-actions{flex-wrap:wrap;justify-content:flex-end}.member-inline-confirm,.pending-invite-actions{display:inline-flex;align-items:center;gap:6px}.member-remove-button{width:28px;height:28px;border-radius:999px;border:1px solid rgba(248,113,113,.28);background:rgba(127,29,29,.14);color:#fecaca;display:inline-flex;align-items:center;justify-content:center}.member-remove-button .material-symbols-outlined{font-size:16px}.inline-action-button{min-height:30px;padding:0 10px;border-radius:999px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.06);color:#f8fafc;font-size:.74rem;font-weight:700}.inline-action-button.is-danger{color:#fecaca;border-color:rgba(248,113,113,.35);background:rgba(127,29,29,.2)}.invite-link-row{display:grid;grid-gap:8px;gap:8px;grid-template-columns:minmax(0,1fr) auto}.invite-feedback{margin:0}.invite-card{gap:12px}.invite-link-button{justify-self:start;display:inline-flex;align-items:center;text-decoration:none}.invite-dual-actions{display:flex;flex-wrap:wrap;gap:10px}.view-tabs{position:fixed;left:12px;right:12px;bottom:8px;z-index:19;width:min(calc(100% - 24px),var(--content-width));margin:0 auto;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:4px;gap:4px;padding:10px 8px calc(10px + env(safe-area-inset-bottom));border-radius:0;background:var(--tab-bg);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:none;box-shadow:0 -10px 28px rgba(15,23,42,.08)}.view-tab{border:none;min-height:72px;padding:2px 8px 0;border-radius:18px;background:transparent;color:rgba(15,23,42,.64);font-weight:500;display:inline-flex;flex-direction:column;justify-content:center;gap:6px}.view-tab.is-active{color:var(--accent-strong)}.view-tab-icon-shell{width:68px;height:68px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;color:currentColor}.view-tab.is-active .view-tab-icon-shell{background:rgba(15,23,42,.6);color:#ffffff}.view-tab .material-symbols-outlined{font-size:31px}.view-tab-label{font-size:.82rem;line-height:1}.content,.page-grid{display:grid;grid-gap:16px;gap:16px}.recipes-grid{grid-template-columns:minmax(0,1.35fr) minmax(320px,400px)}.section-shell{display:grid;grid-gap:16px;gap:16px}.list-card,.panel{padding:16px}.recipe-editor-panel{align-self:start}.recipe-editor-stack{display:grid;grid-gap:16px;gap:16px;align-self:start;max-width:860px}.recipe-import-box{display:grid;grid-gap:12px;gap:12px;padding:18px;border-radius:24px;background:rgba(255,255,255,.86);border:1px solid rgba(15,23,42,.06)}.recipe-import-row{display:grid;grid-template-columns:1fr auto;grid-gap:10px;gap:10px}.recipe-import-row-images input[type=file]{border:1px solid var(--border);border-radius:16px;background:rgba(255,255,255,.92);padding:.7rem .85rem;color:var(--text)}.recipe-import-row-images input[type=file]::-webkit-file-upload-button{margin-right:10px;min-height:36px;padding:0 12px;border:none;border-radius:12px;background:rgba(15,23,42,.08);color:var(--text);font:inherit;font-weight:700;cursor:pointer}.recipe-import-row-images input[type=file]::file-selector-button{margin-right:10px;min-height:36px;padding:0 12px;border:none;border-radius:12px;background:rgba(15,23,42,.08);color:var(--text);font:inherit;font-weight:700;cursor:pointer}.recipe-create-page .section-shell{max-width:920px}.recipe-import-origin{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border-radius:16px;background:rgba(15,23,42,.04);border:1px solid rgba(15,23,42,.06)}.recipe-import-origin .material-symbols-outlined{font-size:18px;margin-top:2px;color:rgba(15,23,42,.64)}.recipe-import-origin p,.recipe-import-origin strong{margin:0}.recipe-import-origin p{color:var(--muted);word-break:break-word}.recipe-editor-actions{display:flex;flex-wrap:wrap;gap:10px}.recipe-fieldset{display:grid;grid-gap:14px;gap:14px}.recipe-fieldset-head{display:flex;align-items:flex-start;gap:14px}.recipe-fieldset-head>div{display:grid;grid-gap:4px;gap:4px}.recipe-field-list{display:grid;grid-gap:12px;gap:12px}.recipe-field-card{padding:12px;border-radius:16px;background:rgba(15,23,42,.03);border:1px solid rgba(15,23,42,.08);display:grid;grid-gap:10px;gap:10px}.recipe-field-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.recipe-grid{display:grid;grid-gap:8px;gap:8px}.recipe-grid-ingredient{grid-template-columns:minmax(0,1fr) 140px}.recipe-grid-span-full{grid-column:1/-1}.recipe-grid-span-ingredient-name{grid-column:span 1}.recipe-add-divider{width:100%;padding:0;border:0;background:transparent;display:flex;align-items:center;gap:12px;color:var(--muted);cursor:pointer}.recipe-add-divider-line{height:1px;flex:1 1 auto;background:rgba(15,23,42,.08)}.recipe-add-divider-action{min-height:34px;padding:0 12px;border-radius:999px;background:rgba(15,23,42,.04);color:var(--accent-strong);display:inline-flex;align-items:center;gap:6px;font-size:.92rem;font-weight:600}.recipe-add-divider-action .material-symbols-outlined{font-size:18px}.panel-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.panel-header h2,.recipe-card h3{margin:0;font-size:1.15rem;letter-spacing:-.02em}.settings-page .section-shell,.shopop-page .section-shell{gap:18px}.shopop-hero{display:grid;grid-gap:18px;gap:18px;padding:22px}.shopop-hero-main{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));align-items:end;grid-gap:18px;gap:18px}.shopop-avatar-shell{grid-column:span 5;width:100%;min-height:280px;display:flex;align-items:center;justify-content:center}.shopop-avatar-shell .shopopo-badge-avatar{width:min(100%,320px);height:min(100%,320px)}.shopop-hero-copy{grid-column:span 7;display:grid;grid-gap:8px;gap:8px;align-content:end}.shopop-hero-copy h2{margin:0;font-size:clamp(1.45rem,4vw,2rem);line-height:1.02;letter-spacing:-.035em}.shopop-hero-copy .muted{max-width:52ch}.shopop-badge-row{display:flex;flex-wrap:wrap;gap:8px}.shopop-chip{min-height:30px;padding:0 12px;border-radius:999px;background:rgba(15,23,42,.05);color:rgba(15,23,42,.72);display:inline-flex;align-items:center;font-size:.82rem;font-weight:700}.shopop-metrics-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-gap:12px;gap:12px}.shopop-stat-card{grid-column:span 3;display:grid;grid-gap:4px;gap:4px;min-height:132px}.shopop-stat-card strong{font-size:clamp(1.2rem,3vw,1.7rem);line-height:1.05;letter-spacing:-.03em}.shopop-insight-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-gap:12px;gap:12px}.shopop-insight-card{grid-column:span 6;display:grid;grid-gap:14px;gap:14px}.shopop-insight-grid>.shopop-insight-card:first-child{grid-column:span 5}.shopop-insight-grid>.shopop-insight-card:nth-child(2){grid-column:span 7}.shopop-insight-card-wide{grid-column:1/-1}.shopop-rank-list,.shopop-score-list{display:grid;grid-gap:12px;gap:12px}.shopop-score-row{display:grid;grid-gap:8px;gap:8px}.shopop-rank-row,.shopop-score-label-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.shopop-rank-row strong,.shopop-score-label-row strong{font-size:.96rem}.shopop-rank-row span,.shopop-score-label-row span{color:var(--muted);font-size:.88rem}.shopop-score-track{width:100%;height:10px;border-radius:999px;background:rgba(15,23,42,.06);overflow:hidden}.shopop-score-fill{height:100%;border-radius:inherit;background:#64748b}.shopop-score-fill.is-fresh{background:#8db44c}.shopop-score-fill.is-protein{background:#4f94a1}.shopop-score-fill.is-snacks{background:#d56b4b}.shopop-score-fill.is-carbs{background:#b88448}.shopop-product-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:10px;gap:10px}.shopop-product-pill{min-height:78px;padding:12px 14px;border-radius:18px;background:rgba(15,23,42,.04);display:grid;grid-gap:4px;gap:4px}.shopop-product-pill strong{font-size:.92rem;line-height:1.2}.shopop-product-pill span{color:var(--muted);font-size:.82rem}.list-shopopo-mini{display:flex;justify-content:flex-start;margin:0 0 10px}.list-shopopo-mini .shopopo-badge-avatar{width:96px;height:96px}.filter-bar,.list-composer{display:grid;grid-gap:10px;gap:10px;grid-template-columns:minmax(240px,2fr) 110px 100px 1fr 1fr auto}.filter-bar{grid-template-columns:minmax(240px,2fr) minmax(190px,1fr) auto}.complete-check,.ghost-button,.icon-button,.primary-button,.secondary-button{border:none;transition:transform .2s ease,box-shadow .2s ease,opacity .2s ease,background .2s ease}.complete-check:hover,.ghost-button:hover,.icon-button:hover,.primary-button:hover,.refresh-btn:hover,.secondary-button:hover{transform:translateY(-1px)}.primary-button{min-height:44px;padding:0 16px;border-radius:14px;background:var(--accent);color:#ffffff;font-weight:700}.ghost-button,.secondary-button{min-height:44px;padding:0 14px;border-radius:14px;background:var(--button-soft-bg);color:var(--accent-strong);font-weight:600}.ghost-button{background:var(--button-ghost-bg)}.catalog-list,.ingredient-preview,.item-list,.recipe-list,.store-list{display:grid;grid-gap:0;gap:0;padding:0;margin:0;list-style:none}.catalog-list{list-style:none;margin:0;padding:0}.store-block{padding:0;overflow:hidden}.store-header{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:16px 10px 0 0;min-height:38px;background:var(--bg)}.store-badge{display:inline-flex;align-items:center;min-height:34px;max-width:min(100%,220px);padding:0 14px;background:var(--store-badge-bg);color:var(--store-badge-text);font-size:.8rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;border-radius:0 12px 0 0;box-shadow:inset 0 0 0 1px rgba(255,255,255,.18);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.store-block>.store-header:first-child{padding-top:8px}.category-block+.category-block{border-top:1px solid rgba(15,23,42,.05)}.category-title{margin:0;padding:8px 16px 8px 12px;font-size:.84rem;font-weight:650;color:var(--category-text);background:var(--category-bg);display:flex;align-items:center;gap:8px;letter-spacing:-.01em}.category-title .material-symbols-outlined{font-size:18px;color:var(--category-icon)}.catalog-row,.item-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;background:var(--item-bg)}.catalog-list>li+li.catalog-row,.item-list>li+li .item-row{border-top:1px solid rgba(15,23,42,.06)}.item-copy{min-width:0;display:flex;flex-direction:column;gap:2px}.item-copy-grow{flex:1 1}.item-copy strong{font-size:.98rem;line-height:1.25;letter-spacing:-.01em;font-weight:650}.item-headline{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px;min-width:0}.item-note{margin:0;font-size:.76rem}.item-note,.meta-inline{color:var(--muted);line-height:1.2}.meta-inline{flex:0 0 auto;font-size:.8rem;font-weight:600;white-space:nowrap}.meta-inline:before{content:"|";margin-right:8px;color:var(--meta-separator)}.item-row.is-selected{background:var(--item-selected-bg)}.catalog-row .muted,.ingredient-preview li,.recipe-card .muted{margin:6px 0 0}.catalog-add-btn{width:32px;height:32px;min-width:32px;min-height:32px;padding:0;border:none;border-radius:11px;background:var(--tab-active-bg);color:#ffffff;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}.catalog-add-btn .material-symbols-outlined{font-size:19px}.catalog-add-btn.is-success{background:var(--interactive-strong-bg);color:#ffffff}.complete-check,.icon-button{width:28px;height:28px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;background:var(--interactive-soft-bg);color:var(--interactive-soft-text);border:1px solid var(--interactive-soft-border);box-shadow:none;padding:0}.complete-check .material-symbols-outlined,.icon-button .material-symbols-outlined{font-size:16px}.icon-button.is-accent{background:var(--interactive-strong-bg);color:var(--interactive-strong-text)}.voice-action-btn:disabled{opacity:.38}.voice-action-btn.is-recording{background:var(--recording-bg);color:#ffffff;box-shadow:0 0 0 6px var(--recording-ring)}.complete-check{background:var(--interactive-soft-bg)}.item-row.is-selected .complete-check{background:var(--interactive-strong-bg);color:var(--interactive-strong-text)}.store-select-btn{width:30px;height:30px;border:1px solid var(--interactive-soft-border);border-radius:10px;background:rgba(255,255,255,.72);color:rgba(15,23,42,.72);display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}.store-select-btn .material-symbols-outlined{font-size:17px}.store-select-btn.is-active{background:#111111;color:#ffffff;border-color:#111111}.edit-icon-button{width:28px;height:28px;border-radius:8px;background:rgba(15,23,42,.06);border:1px solid rgba(15,23,42,.08);color:var(--text);display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}.edit-icon-button .material-symbols-outlined{font-size:16px;opacity:.78}.edit-icon-button:disabled{opacity:.5}.inline-editor-row{padding:0 12px 12px;background:rgba(255,255,255,.9)}.inline-editor-card{border-radius:18px;border:1px solid rgba(15,23,42,.08);background:rgba(15,23,42,.03);padding:12px}.inline-edit-form{display:flex;flex-direction:column;gap:12px}.inline-editor-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:0}.inline-editor-copy{display:flex;flex-direction:column;gap:2px;min-width:0}.inline-editor-title{font-size:.98rem;line-height:1.2}.inline-editor-subtitle{font-size:.78rem;color:var(--muted)}.inline-editor-head-actions{display:inline-flex;align-items:center;gap:8px;flex:0 0 auto}.inline-editor-close,.inline-editor-save{border:1px solid rgba(15,23,42,.08);border-radius:10px;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;padding:0;box-sizing:border-box}.inline-editor-save{width:30px;height:30px;min-width:30px;min-height:30px;background:#111111;color:#ffffff}.inline-editor-save:disabled{opacity:.45}.inline-editor-close{width:32px;height:32px;min-width:32px;min-height:32px;background:rgba(255,255,255,.9);color:var(--text)}.inline-editor-close .material-symbols-outlined,.inline-editor-save .material-symbols-outlined{font-size:18px;line-height:1}.inline-edit-quantity-row{display:flex;align-items:flex-end;gap:10px}.inline-edit-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px}.inline-edit-field{display:flex;flex-direction:column;gap:6px;min-width:0}.inline-edit-field span{font-size:.76rem;font-weight:700;color:var(--muted)}.inline-edit-field-quantity{width:110px;flex:0 0 auto}.inline-edit-field-unit{width:96px;flex:0 0 auto}.inline-edit-field input,.inline-edit-field select,.inline-edit-field textarea{width:100%;min-width:0;padding:11px 12px;border:1px solid rgba(15,23,42,.1);border-radius:12px;background:#ffffff;color:var(--text);font-size:16px}.inline-edit-field textarea{resize:vertical}.inline-edit-field input:focus,.inline-edit-field select:focus,.inline-edit-field textarea:focus{outline:2px solid rgba(15,23,42,.12);border-color:rgba(15,23,42,.24)}.inline-editor-actions{display:flex;align-items:center;justify-content:space-between;gap:12px}.bulk-bar{position:fixed;left:0;right:0;bottom:calc(64px + env(safe-area-inset-bottom));z-index:18;padding:12px 12px 0;background:linear-gradient(180deg,rgba(243,244,246,0),rgba(243,244,246,.96) 36%)}.bulk-inner{width:min(100%,var(--content-width));margin:0 auto;padding:12px;border-radius:22px;display:flex;align-items:center;gap:12px;background:rgba(255,255,255,.92);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border:1px solid rgba(255,255,255,.75);box-shadow:0 20px 42px rgba(15,23,42,.14)}.bulk-copy{min-width:0;flex:1 1;display:flex;flex-direction:column;gap:2px}.bulk-copy strong{font-size:.95rem}.bulk-copy span{color:var(--muted);font-size:.78rem}.bulk-controls{display:flex;align-items:center;gap:8px;flex:0 1 auto}.bulk-controls select{min-width:0;padding:11px 12px;border:1px solid rgba(15,23,42,.1);border-radius:12px;background:#ffffff;color:var(--text);font-size:16px}.undo-bar{position:fixed;left:0;right:0;bottom:calc(152px + env(safe-area-inset-bottom));z-index:21;padding:0 12px;border:none;background:transparent}.undo-inner{width:min(100%,var(--content-width));margin:0 auto;min-height:60px;padding:10px 12px;border-radius:18px;background:rgba(17,17,17,.96);color:#ffffff;display:flex;align-items:center;justify-content:space-between;gap:12px;box-shadow:0 18px 36px rgba(15,23,42,.18)}.undo-copy{display:grid;grid-gap:2px;gap:2px}.undo-copy span{color:rgba(255,255,255,.72);font-size:.9rem}.undo-btn{width:36px;height:36px;border-radius:12px;border:none;background:rgba(255,255,255,.08);color:#ffffff;display:inline-flex;align-items:center;justify-content:center}.bottom-bar{position:fixed;left:0;right:0;bottom:calc(64px + env(safe-area-inset-bottom));z-index:20;padding:12px 12px 0;background:linear-gradient(180deg,rgba(243,244,246,0),rgba(243,244,246,.96) 36%)}.bottom-inner{width:min(100%,var(--content-width));margin:0 auto;padding:12px;gap:12px;border-radius:22px;background:var(--surface-bg);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border:1px solid var(--surface-border);box-shadow:0 20px 42px rgba(15,23,42,.14)}.bottom-inner,.composer{display:flex;align-items:center}.composer{flex:1 1;min-width:0;gap:10px;padding:8px 12px;border-radius:16px;background:var(--composer-bg);border:1px solid var(--composer-border)}.composer-input{flex:1 1;min-width:0;border:none;background:transparent;outline:none;box-shadow:none;padding:10px 6px;font-size:16px}.composer-input:focus{outline:none}.composer-input::placeholder{color:var(--muted)}.composer-add-btn{width:40px;height:40px;border-radius:12px;background:var(--composer-btn-bg);color:var(--composer-btn-text);display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}.composer-add-btn.is-pending{opacity:.5}.voice-action-btn{width:52px;height:52px;border-radius:16px;background:var(--voice-btn-bg);color:var(--voice-btn-text);display:inline-flex;align-items:center;justify-content:center;box-shadow:0 16px 30px rgba(15,23,42,.18);flex:0 0 auto}.voice-action-btn .material-symbols-outlined{font-size:22px}.refresh-btn.is-syncing .material-symbols-outlined{animation:spinRefresh .9s linear infinite}@keyframes spinRefresh{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.recipe-card{display:grid;grid-gap:14px;gap:14px}.recipe-card-compact{gap:12px;padding:18px}.recipe-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.recipe-header-actions{gap:12px;justify-content:flex-end;margin-left:auto}.recipe-card-actions,.recipe-header-actions{display:flex;align-items:center;flex-wrap:wrap}.recipe-card-actions{gap:8px}.recipe-card-actions-compact{justify-content:flex-end}.recipe-card-header-compact{align-items:flex-start}.recipe-card-preview{flex:0 0 74px;display:flex;align-items:center;justify-content:center}.recipe-card-preview,.recipe-card-preview .shopopo-badge-avatar{width:74px;height:74px}.recipe-card-title-block{flex:1 1 auto;min-width:0;display:grid;grid-gap:8px;gap:8px}.recipe-card-title-block h3{line-height:1.18}.recipe-author-chip{display:inline-flex;align-items:center;gap:8px;min-width:0}.recipe-author-avatar{width:26px;height:26px;border-radius:999px;background:rgba(15,23,42,.08);color:var(--accent-strong);display:inline-flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:800;flex:0 0 auto}.recipe-author-name{font-size:.92rem;font-weight:600;color:var(--muted)}.recipe-action-button{display:inline-flex;align-items:center;gap:8px;min-height:38px;padding:0 12px;border-radius:14px;font-size:.98rem;line-height:1;white-space:nowrap}.recipe-icon-button{width:38px;min-width:38px;padding:0;justify-content:center;gap:0}.recipe-action-button .material-symbols-outlined{font-size:16px}.recipe-action-button.is-success{background:#15803d}.recipe-toolbar-button{min-height:38px;padding:0 14px;border-radius:16px}.recipe-page-cta{display:inline-flex;align-items:center;justify-content:center;min-height:38px;border-radius:14px;font-size:.94rem;line-height:1;font-weight:700;white-space:nowrap;flex:0 0 auto}.recipe-meta{display:grid;grid-gap:2px;gap:2px}.recipe-meta a{color:inherit}.recipe-section{display:grid;grid-gap:10px;gap:10px}.recipe-section-collapsible{gap:8px}.recipe-section-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.recipe-section-toggle{display:flex;align-items:center;justify-content:space-between;gap:14px;width:100%;padding:0;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer}.recipe-section-toggle-copy{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex:1 1 auto;min-width:0}.recipe-section-toggle-icon{color:var(--muted);font-size:20px;flex:0 0 auto}.recipe-selection-backdrop{position:fixed;inset:0;z-index:80;background:rgba(15,23,42,.28);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:grid;place-items:center;padding:24px}.recipe-selection-dialog{width:min(640px,100%);display:grid;grid-gap:16px;gap:16px;padding:20px}.recipe-selection-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.ghost-icon-button{width:38px;height:38px;border:0;border-radius:14px;background:rgba(15,23,42,.06);color:var(--accent-strong);display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.recipe-selection-group,.recipe-selection-summary{display:grid;grid-gap:10px;gap:10px}.recipe-selection-summary-pill{min-height:36px;padding:0 12px;border-radius:999px;background:rgba(15,23,42,.05);color:var(--muted);display:inline-flex;align-items:center;gap:8px;font-size:.9rem;font-weight:600}.recipe-selection-summary-pill .material-symbols-outlined{font-size:18px}.recipe-selection-list{list-style:none;margin:0;padding:0;display:grid}.recipe-selection-row{padding:10px 0;border-top:1px solid rgba(15,23,42,.06)}.recipe-selection-row.is-static{display:flex;align-items:center;justify-content:space-between;gap:14px}.recipe-selection-check{display:flex;align-items:flex-start;gap:12px;cursor:pointer}.recipe-selection-check input{position:absolute;opacity:0;pointer-events:none}.recipe-selection-check-modern{align-items:center;min-height:42px}.recipe-selection-checkmark{color:var(--muted);font-size:22px;flex:0 0 auto}.recipe-selection-copy{min-width:0;display:grid;grid-gap:2px;gap:2px}.recipe-selection-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap}.ingredient-preview-detailed{gap:0}.ingredient-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0}.ingredient-row-compact{gap:10px;padding:8px 0}.ingredient-row-static{justify-content:flex-start}.ingredient-row-inline{align-items:baseline}.ingredient-row+.ingredient-row{border-top:1px solid rgba(15,23,42,.06)}.ingredient-copy{min-width:0;display:grid;grid-gap:2px;gap:2px}.ingredient-copy-inline{width:100%;display:flex;align-items:baseline;justify-content:flex-start;flex-wrap:wrap;gap:8px}.ingredient-copy-inline .muted{flex:0 1 auto;text-align:left}.ingredient-inline-separator{flex:0 0 auto}.ingredient-inline-meta{min-width:0}.recipe-item-add-btn{flex:0 0 auto}.recipe-step-preview{margin:0;padding-left:18px;display:grid;grid-gap:8px;gap:8px;color:var(--muted)}.recipe-card-compact .ingredient-row{padding:8px 0}.recipe-card-compact .ingredient-copy strong{font-size:.96rem}.recipe-card-compact .ingredient-copy .muted,.recipe-card-compact .muted,.recipe-card-compact .recipe-step-preview{font-size:.84rem}.recipe-card-compact .recipe-card-actions{gap:8px}.recipe-header-actions .muted{white-space:nowrap}.recipe-detail-grid{display:grid;grid-gap:18px;gap:18px;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);align-items:start}.recipe-detail-grid-refined{grid-template-columns:minmax(280px,.78fr) minmax(0,1.12fr);gap:24px}.recipe-detail-summary{gap:16px}.cook-mode-shell{display:grid;grid-gap:16px;gap:16px}.cook-mode-shell-refined{gap:18px}.cook-mode-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.cook-mode-step-counter{min-height:36px;padding:0 14px;border-radius:999px;background:rgba(15,23,42,.05);color:var(--accent-strong);font-weight:700;display:inline-flex;align-items:center}.cook-mode-step-card{padding:22px;border-radius:22px;background:rgba(15,23,42,.04);border:1px solid rgba(15,23,42,.08);min-height:230px;display:grid;align-content:start}.cook-mode-step-label{margin:0 0 10px;color:var(--muted);font-size:.8rem;text-transform:uppercase;letter-spacing:.08em}.cook-mode-step-text{margin:0;font-size:1.2rem;line-height:1.5;font-weight:650}.cook-mode-actions{display:flex;flex-wrap:wrap;gap:10px}.cook-mode-actions-refined{align-items:center}.cook-mode-step-list{margin:0;padding-left:18px;display:grid;grid-gap:10px;gap:10px}.cook-mode-step-list li{color:var(--muted)}.cook-mode-step-list li.is-active{color:var(--text);font-weight:700}.recipe-step-preview-compact{gap:6px}.recipe-step-preview-compact li{line-height:1.45}.recipe-plan-title{margin:0;padding:8px 16px 8px 12px;font-size:.84rem;font-weight:700;color:#334155;background:rgba(15,23,42,.025);display:flex;align-items:center;gap:8px;letter-spacing:-.01em}.recipe-plan-title .material-symbols-outlined{font-size:18px;color:rgba(15,23,42,.68)}.recipe-plan-inline{padding:4px 12px 6px}.recipe-plan-title-inline{border-radius:14px;padding:8px 12px}.ingredient-preview li+li{margin-top:6px}.empty-state{text-align:center;color:var(--muted);padding:26px 18px}.empty-state-actions{margin-top:14px;display:flex;justify-content:center}@media (max-width:980px){.recipe-detail-grid,.recipes-grid{grid-template-columns:1fr}.list-composer{grid-template-columns:1fr 100px 90px}.recipe-grid-ingredient,.recipe-import-row{grid-template-columns:1fr}}@media (max-width:820px){body{padding-bottom:calc(188px + env(safe-area-inset-bottom))}.app-shell{padding:calc(10px + env(safe-area-inset-top)) 14px 16px}.shopop-hero-main,.shopop-insight-grid,.shopop-metrics-grid{grid-template-columns:repeat(12,minmax(0,1fr))}.shopop-avatar-shell,.shopop-hero-copy,.shopop-insight-card,.shopop-insight-grid>.shopop-insight-card:first-child,.shopop-insight-grid>.shopop-insight-card:nth-child(2),.shopop-stat-card{grid-column:1/-1}.shopop-avatar-shell{min-height:220px}.shopop-avatar-shell .shopopo-badge-avatar{width:min(100%,260px);height:min(100%,260px)}.shopop-product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cook-mode-header,.panel-header,.recipe-card-header,.topbar{align-items:center}.recipe-card-compact{padding:16px}.recipe-card-header{gap:10px}.recipe-card-preview{flex-basis:64px}.recipe-card-preview,.recipe-card-preview .shopopo-badge-avatar{width:64px;height:64px}.recipe-header-actions{width:100%;justify-content:space-between}.topbar-actions{justify-content:flex-end}.household-switcher{min-width:0;flex:1 1}.filter-bar,.list-composer{grid-template-columns:1fr}.cook-mode-actions,.recipe-card-actions,.recipe-editor-actions{width:100%}.recipe-card-actions{width:auto;gap:6px}.view-tabs{width:calc(100% - 24px);left:12px;right:12px;padding-inline:4px}.view-tab{min-height:64px;padding-inline:4px}.view-tab-icon-shell{width:56px;height:56px}.view-tab .material-symbols-outlined{font-size:26px}.view-tab-label{font-size:.76rem}.catalog-row,.item-row{padding:12px 14px}.item-copy strong{font-size:.95rem}.category-title{padding:8px 12px}.inline-editor-row{padding:0 10px 10px}.inline-editor-card{padding:10px}.inline-edit-grid,.inline-edit-quantity-row{grid-template-columns:1fr;display:grid}.inline-edit-field-quantity,.inline-edit-field-unit{width:auto}.inline-editor-actions{flex-direction:column;align-items:stretch}.bulk-bar{bottom:calc(62px + env(safe-area-inset-bottom))}.bottom-inner,.bulk-inner{padding:10px}.bulk-inner{flex-direction:column;align-items:stretch}.bulk-controls{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px;gap:8px}.bulk-controls button,.bulk-controls select{width:100%;min-height:42px}.undo-bar{bottom:calc(148px + env(safe-area-inset-bottom))}}