@font-face{font-family:Fraunces;font-style:normal;font-weight:600;font-display:swap;src:url(../media/1e219c03c996efbd-s.2qo5md4hn_gum.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces;font-style:normal;font-weight:600;font-display:swap;src:url(../media/b35b0dbffda7f2c4-s.1d9rlgtqyj_-l.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces;font-style:normal;font-weight:600;font-display:swap;src:url(../media/03bda585a99c6450-s.p.32sris142tqlb.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fraunces;font-style:normal;font-weight:700;font-display:swap;src:url(../media/1e219c03c996efbd-s.2qo5md4hn_gum.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces;font-style:normal;font-weight:700;font-display:swap;src:url(../media/b35b0dbffda7f2c4-s.1d9rlgtqyj_-l.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces;font-style:normal;font-weight:700;font-display:swap;src:url(../media/03bda585a99c6450-s.p.32sris142tqlb.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fraunces Fallback;src:local(Times New Roman);ascent-override:84.71%;descent-override:22.09%;line-gap-override:0.0%;size-adjust:115.45%}.fraunces_25f6ac3b-module__hoXGiq__className{font-family:Fraunces,Fraunces Fallback;font-style:normal}.fraunces_25f6ac3b-module__hoXGiq__variable{--font-display:"Fraunces", "Fraunces Fallback"}
@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2c55a0e60120577a-s.0-dom-5bn10r2.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/9c72aa0f40e4eef8-s.1y4-pdgsjb-pw.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/ad66f9afd8947f86-s.3lvt2whj97whp.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/5476f68d60460930-s.2uwcyprjm3xu3.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2bbe8d2671613f1f-s.0k62hbripvv8p.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/1bffadaabf893a1e-s.3-6t-g6q0vh0a.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/83afe278b6a6bb3c-s.p.2bn3s6zvc0dyp.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter Fallback;src:local(Arial);ascent-override:90.44%;descent-override:22.52%;line-gap-override:0.0%;size-adjust:107.12%}.inter_29be7f46-module__CbPOIa__className{font-family:Inter,Inter Fallback;font-style:normal}.inter_29be7f46-module__CbPOIa__variable{--font-ui:"Inter", "Inter Fallback"}
:root{--bg:#151412;--panel:#211f1b;--surface-2:#2a2721;--surface-3:#353026;--ink:#f6f1e8;--muted:#b7ad9d;--quiet:#7f7669;--text-inverse:#10120e;--line:#f6f1e81a;--line-strong:#f6f1e82e;--line-image:#ffffff1a;--herb:#7f9a5b;--herb-strong:#a7c875;--tomato:#c85d47;--amber:#d3a243;--steel:#aeb3ad;--cream:#fff7e8;--butter:#f2d59a;--paprika:#a8432f;--eggplant:#6b4a5e;--pistachio:#c8d4a7;--honey-glow:linear-gradient(135deg, #d3a243, #f2d59a);--state-success:var(--herb-strong);--state-warning:var(--amber);--state-danger:var(--tomato);--state-info:var(--steel);--state-available:var(--herb-strong);--state-maybe-available:var(--amber);--state-out-of-stock:var(--tomato);--state-needs-review:var(--amber);--state-failed:var(--tomato);--state-queued:var(--amber);--state-synced:var(--herb-strong);--font-display:"Fraunces", Georgia, serif;--font-ui:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-size-display:46px;--font-size-screen-title:26px;--font-size-section-title:16px;--font-size-body:14px;--font-size-supporting:13px;--font-size-meta:11px;--font-size-micro:10px;--font-weight-title:900;--font-weight-body:700;--font-weight-control:900;--line-height-tight:1.08;--line-height-normal:1.45;--line-height-relaxed:1.55;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:14px;--space-5:18px;--space-6:24px;--space-7:32px;--radius-xs:6px;--radius-sm:12px;--radius-md:18px;--radius-lg:28px;--radius-sheet:30px 30px 0 0;--radius-phone:42px;--radius-full:999px;--shadow:0 24px 80px #0006, 0 8px 24px #00000040;--shadow-phone:var(--shadow);--shadow-hero:0 18px 44px #0000003d;--shadow-sheet:0 -24px 70px #00000075;--shadow-action:0 10px 26px #7f9a5b47;--shadow-nav:0 18px 38px #0000005c;--motion-duration-fast:.16s;--motion-duration-normal:.24s;--motion-duration-high-frequency-max:.2s;--motion-duration-daily-moment-max:.8s;--motion-duration-steam-loop:2.5s;--motion-easing-standard:cubic-bezier(.2, 0, 0, 1);--motion-press-scale:.96;--motion-spring-sheet-stiffness:300;--motion-spring-sheet-damping:30;--motion-spring-snappy-stiffness:500;--motion-spring-snappy-damping:40;--motion-spring-gentle-stiffness:170;--motion-spring-gentle-damping:26;--layout-mobile-frame-width:390px;--layout-mobile-app-max-width:430px;--layout-mobile-frame-min-height:844px;--layout-min-hit-area:44px;--layout-primary-button-min-height:44px;--layout-bottom-nav-height:64px;--layout-safe-bottom-action-offset:92px;--layout-shell-bottom-reserve:156px}
*{box-sizing:border-box}html{background:var(--bg);min-height:100%;color:var(--ink);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}body{background:radial-gradient(circle at 50% -10%, color-mix(in srgb, var(--amber) 10%, transparent), transparent 38%), var(--bg);min-height:100vh;color:var(--ink);font-family:var(--font-ui);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;margin:0}a{color:inherit}::selection{background:color-mix(in srgb, var(--amber) 35%, transparent);color:var(--cream)}
.route-shell{min-height:100svh;padding:max(24px, env(safe-area-inset-top)) 18px max(28px, env(safe-area-inset-bottom));place-items:center;display:grid}.route-panel{border:1px solid var(--line);border-radius:var(--radius-lg);background:color-mix(in srgb, var(--panel) 88%, transparent);width:min(100%,420px);max-width:100%;box-shadow:var(--shadow);padding:26px}.auth-shell,.dashboard-shell{place-items:stretch center}.auth-panel,.dashboard-panel{align-self:center;gap:22px;display:grid}.auth-shell{padding:max(16px, env(safe-area-inset-top)) 18px max(22px, env(safe-area-inset-bottom))}.mobile-shell{width:min(100%,430px);height:100svh;min-height:100svh;padding:max(18px, env(safe-area-inset-top)) 16px calc(156px + env(safe-area-inset-bottom));grid-template-rows:auto minmax(0,1fr);margin:0 auto;display:grid;position:relative;overflow:hidden}.mobile-topbar{justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:16px;display:flex}.mobile-topbar-actions{flex:none;justify-items:end;gap:8px;display:grid}.mobile-topbar h1{color:var(--ink);font-family:var(--font-display);text-wrap:balance;margin:6px 0 0;font-size:clamp(2.18rem,12vw,3rem);font-weight:700;line-height:.96}.logout-action{border:1px solid var(--line-strong);border-radius:var(--radius-md);background:color-mix(in srgb, var(--panel) 74%, transparent);min-height:44px;color:var(--ink);cursor:pointer;font:inherit;flex:none;padding:0 13px;font-size:.82rem;font-weight:800;transition:opacity .18s ease-out,transform .15s ease-out,border-color .18s ease-out,background .18s ease-out}.settings-action{border:1px solid var(--line-strong);background:color-mix(in srgb, var(--panel) 76%, transparent);width:44px;height:44px;color:var(--ink);cursor:pointer;border-radius:999px;justify-content:center;align-items:center;transition:opacity .18s ease-out,transform .15s ease-out,border-color .18s ease-out,background .18s ease-out,box-shadow .18s ease-out;display:inline-flex}.settings-action svg{color:var(--herb-strong)}.quick-menu-trigger{right:max(16px,50vw - 199px);bottom:calc(92px + env(safe-area-inset-bottom));z-index:11;border:1px solid color-mix(in srgb, var(--butter) 38%, transparent);background:var(--cream);min-height:50px;color:var(--bg);cursor:pointer;font:inherit;box-shadow:0 18px 42px color-mix(in srgb, var(--amber) 12%, transparent), inset 0 1px 0 color-mix(in srgb, var(--cream) 38%, transparent);border-radius:999px;justify-content:center;align-items:center;gap:7px;padding:0 17px;font-size:.88rem;font-weight:850;transition:opacity .18s ease-out,transform .15s ease-out,border-color .18s ease-out,background .18s ease-out,box-shadow .18s ease-out;display:inline-flex;position:fixed}.quick-menu-trigger svg{flex:none}.quick-menu-trigger span{text-overflow:ellipsis;overflow:hidden}.quick-menu-trigger[aria-expanded=true]{background:color-mix(in srgb, var(--butter) 84%, var(--cream))}.quick-menu-trigger:active,.logout-action:active,.settings-action:active{transform:scale(.97)}.quick-menu-trigger:focus-visible,.logout-action:focus-visible,.settings-action:focus-visible{border-color:var(--herb-strong);box-shadow:0 0 0 4px color-mix(in srgb, var(--herb) 24%, transparent);outline:none}.quick-menu-trigger:disabled,.logout-action:disabled,.settings-action:disabled{cursor:not-allowed;opacity:.72}.quick-menu-trigger[aria-expanded=true]{cursor:not-allowed;opacity:0;pointer-events:none;transform:translateY(8px)scale(.96)}.mobile-shell[data-active-tab=assistant]{padding-bottom:calc(144px + env(safe-area-inset-bottom))}.mobile-shell[data-active-tab=assistant] .mobile-topbar{margin-bottom:8px}.mobile-shell[data-active-tab=assistant] .mobile-topbar h1{max-width:230px;font-size:clamp(1.5rem,7.4vw,1.82rem);line-height:.98}.mobile-shell[data-active-tab=assistant] .shell-status{gap:8px;padding:8px 11px}.mobile-shell[data-active-tab=assistant] .shell-status p{font-size:.75rem;line-height:1.25}.mobile-tab-panel[data-active-tab=assistant]{gap:9px}.logout-action:disabled{cursor:wait}.quick-action-backdrop{z-index:20;background:radial-gradient(circle at 50% 100%, color-mix(in srgb, var(--amber) 12%, transparent), transparent 48%), linear-gradient(180deg, color-mix(in srgb, var(--bg) 58%, transparent) 0%, color-mix(in srgb, var(--bg) 90%, transparent) 42%, color-mix(in srgb, var(--bg) 99%, transparent) 100%);-webkit-backdrop-filter:blur(8px);position:fixed;inset:0}.quick-action-sheet{z-index:30;border:1px solid var(--line-strong);border-radius:var(--radius-lg) var(--radius-lg) 0 0;background:radial-gradient(circle at 18% 4%, color-mix(in srgb, var(--amber) 16%, transparent), transparent 42%), linear-gradient(180deg, color-mix(in srgb, var(--bg) 38%, transparent) 0%, color-mix(in srgb, var(--bg) 42%, transparent) 58%, color-mix(in srgb, var(--bg) 46%, transparent) 100%), color-mix(in srgb, var(--panel) 85%, transparent);-webkit-backdrop-filter:blur(20px);width:min(100%,430px);max-height:min(72svh,600px);box-shadow:inset 0 1px 0 color-mix(in srgb, var(--cream) 8%, transparent), 0 -28px 82px color-mix(in srgb, var(--bg) 78%, transparent), 0 -10px 34px color-mix(in srgb, var(--amber) 10%, transparent);padding:12px 16px calc(18px + env(safe-area-inset-bottom));scrollbar-color:color-mix(in srgb, var(--amber) 46%, transparent) transparent;scrollbar-width:thin;-webkit-overflow-scrolling:touch;isolation:isolate;border-bottom:0;gap:14px;margin:0 auto;display:grid;position:fixed;bottom:0;left:0;right:0;overflow-y:auto}.quick-action-sheet::-webkit-scrollbar{width:7px}.quick-action-sheet::-webkit-scrollbar-thumb{background:color-mix(in srgb, var(--amber) 40%, transparent);border-radius:999px}.quick-action-handle{background:color-mix(in srgb, var(--cream) 22%, transparent);border-radius:999px;width:44px;height:5px;margin:0 auto 2px}.quick-action-heading{justify-content:space-between;align-items:flex-start;gap:12px;padding-bottom:2px;display:flex}.quick-action-heading h2{color:var(--cream);font-family:var(--font-display);text-wrap:balance;margin:5px 0 0;font-size:1.6rem;font-weight:700;line-height:1}.quick-action-close{border:1px solid var(--line);background:color-mix(in srgb, var(--panel) 74%, transparent);min-width:44px;min-height:44px;color:var(--ink);cursor:pointer;border-radius:999px;justify-content:center;align-items:center;transition:transform .15s ease-out,background .15s ease-out,border-color .15s ease-out;display:inline-flex}.quick-action-close:active{transform:scale(.97)}.quick-action-close:focus-visible{border-color:var(--herb-strong);box-shadow:0 0 0 4px color-mix(in srgb, var(--herb) 24%, transparent);outline:none}.quick-action-grid{gap:9px;display:grid}.quick-action-scroll-cue{height:calc(48px + env(safe-area-inset-bottom));padding-bottom:calc(8px + env(safe-area-inset-bottom));pointer-events:none;background:linear-gradient(180deg, transparent 0%, color-mix(in srgb, var(--panel) 42%, transparent) 34%, color-mix(in srgb, var(--bg) 74%, transparent) 100%);justify-content:center;align-items:flex-end;display:flex;position:absolute;bottom:0;left:0;right:0}.quick-action-scroll-cue span{border:1px solid color-mix(in srgb, var(--butter) 28%, transparent);background:color-mix(in srgb, var(--panel) 82%, transparent);width:36px;height:24px;color:var(--butter);box-shadow:0 10px 30px color-mix(in srgb, var(--amber) 12%, transparent), inset 0 1px 0 color-mix(in srgb, var(--cream) 10%, transparent);border-radius:999px;justify-content:center;align-items:center;display:inline-flex}.quick-action-button{border:1px solid var(--line);border-radius:var(--radius-md);background:color-mix(in srgb, var(--bg) 42%, var(--panel));min-height:70px;color:var(--ink);cursor:pointer;font:inherit;text-align:left;grid-template-columns:32px minmax(0,1fr);align-items:center;gap:11px;padding:12px 82px 12px 12px;transition:opacity .18s ease-out,transform .15s ease-out,background .18s ease-out,border-color .18s ease-out;display:grid;position:relative}.quick-action-button svg{color:var(--herb-strong)}.quick-action-button:active{transform:scale(.98)}.quick-action-button:focus-visible{border-color:var(--herb-strong);box-shadow:0 0 0 4px color-mix(in srgb, var(--herb) 24%, transparent);outline:none}.quick-action-button:disabled{cursor:not-allowed;opacity:.74}.quick-action-button:disabled svg{color:var(--quiet)}.quick-action-copy{gap:3px;min-width:0;display:grid}.quick-action-title{color:var(--ink);overflow-wrap:anywhere;font-size:.94rem;font-weight:850;line-height:1.15}.quick-action-description,.quick-action-disabled-reason{color:var(--muted);text-wrap:pretty;font-size:.76rem;font-weight:700;line-height:1.3}.quick-action-disabled-reason{color:var(--amber)}.quick-action-status{border:1px solid color-mix(in srgb, var(--herb-strong) 32%, transparent);color:var(--herb-strong);border-radius:999px;padding:5px 7px;font-size:.62rem;font-weight:850;line-height:1;position:absolute;top:9px;right:10px}.settings-admin-backdrop{z-index:20;background:radial-gradient(circle at 50% 100%, color-mix(in srgb, var(--herb) 12%, transparent), transparent 48%), linear-gradient(180deg, color-mix(in srgb, var(--bg) 58%, transparent) 0%, color-mix(in srgb, var(--bg) 91%, transparent) 52%, color-mix(in srgb, var(--bg) 99%, transparent) 100%);-webkit-backdrop-filter:blur(8px);position:fixed;inset:0}.settings-admin-sheet{z-index:30;border:1px solid var(--line-strong);border-radius:var(--radius-lg) var(--radius-lg) 0 0;background:radial-gradient(circle at 18% 4%, color-mix(in srgb, var(--herb) 18%, transparent), transparent 42%), linear-gradient(180deg, color-mix(in srgb, var(--bg) 38%, transparent) 0%, color-mix(in srgb, var(--bg) 42%, transparent) 58%, color-mix(in srgb, var(--bg) 46%, transparent) 100%), color-mix(in srgb, var(--panel) 85%, transparent);-webkit-backdrop-filter:blur(20px);width:min(100%,430px);max-height:min(78svh,640px);box-shadow:inset 0 1px 0 color-mix(in srgb, var(--cream) 8%, transparent), 0 -28px 82px color-mix(in srgb, var(--bg) 78%, transparent), 0 -10px 34px color-mix(in srgb, var(--herb) 10%, transparent);padding:12px 16px calc(18px + env(safe-area-inset-bottom));scrollbar-color:color-mix(in srgb, var(--herb) 46%, transparent) transparent;scrollbar-width:thin;-webkit-overflow-scrolling:touch;border-bottom:0;gap:14px;margin:0 auto;display:grid;position:fixed;bottom:0;left:0;right:0;overflow-y:auto}.settings-admin-sheet::-webkit-scrollbar{width:7px}.settings-admin-sheet::-webkit-scrollbar-thumb{background:color-mix(in srgb, var(--herb) 40%, transparent);border-radius:999px}.settings-admin-handle{background:color-mix(in srgb, var(--cream) 22%, transparent);border-radius:999px;width:44px;height:5px;margin:0 auto 2px}.settings-admin-heading{grid-template-columns:minmax(0,1fr) 44px;align-items:start;gap:12px;display:grid}.settings-admin-heading h2{color:var(--cream);font-family:var(--font-display);text-wrap:balance;margin:5px 0 0;font-size:1.65rem;font-weight:700;line-height:1}.settings-admin-heading p:not(.eyebrow){color:var(--muted);text-wrap:pretty;margin:8px 0 0;font-size:.82rem;font-weight:650;line-height:1.4}.settings-admin-close{border:1px solid var(--line);background:color-mix(in srgb, var(--panel) 74%, transparent);min-width:44px;min-height:44px;color:var(--ink);cursor:pointer;border-radius:999px;justify-content:center;align-items:center;transition:transform .15s ease-out,background .15s ease-out,border-color .15s ease-out;display:inline-flex}.settings-admin-close:active{transform:scale(.97)}.settings-admin-close:focus-visible{border-color:var(--herb-strong);box-shadow:0 0 0 4px color-mix(in srgb, var(--herb) 24%, transparent);outline:none}.settings-preference-editor{border:1px solid color-mix(in srgb, var(--herb) 32%, var(--line));border-radius:var(--radius-md);background:radial-gradient(circle at 12% 0%, color-mix(in srgb, var(--herb) 16%, transparent), transparent 42%), color-mix(in srgb, var(--panel) 74%, transparent);gap:12px;padding:13px;display:grid}.settings-taxonomy-editor{border:1px solid color-mix(in srgb, var(--amber) 28%, var(--line));border-radius:var(--radius-md);background:radial-gradient(circle at 90% 0%, color-mix(in srgb, var(--amber) 13%, transparent), transparent 42%), color-mix(in srgb, var(--panel) 72%, transparent);gap:10px;padding:13px;display:grid}.settings-taxonomy-editor label{color:var(--muted);font-size:.74rem;font-weight:850}.settings-preference-field{color:var(--muted);margin:0;font-size:.74rem;font-weight:850}.settings-taxonomy-editor input,.settings-taxonomy-editor select,.settings-preference-editor textarea{border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:color-mix(in srgb, var(--bg) 44%, var(--panel));width:100%;min-height:46px;color:var(--ink);font:inherit;outline:none;padding:0 12px;font-size:.92rem;font-weight:700;transition:border-color .18s ease-out,box-shadow .18s ease-out}.settings-preference-editor textarea{resize:vertical;min-height:82px;padding:11px 12px}.settings-taxonomy-editor select{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.settings-taxonomy-editor input:focus-visible,.settings-taxonomy-editor select:focus-visible,.settings-preference-editor textarea:focus-visible{border-color:var(--herb-strong);box-shadow:0 0 0 4px color-mix(in srgb, var(--herb) 20%, transparent)}.settings-taxonomy-editor input:disabled,.settings-taxonomy-editor select:disabled,.settings-preference-editor textarea:disabled{color:var(--quiet);opacity:.72}.settings-macro-group,.settings-macro-grid{gap:8px;display:grid}.settings-macro-toggle{border:1px solid var(--line);border-radius:var(--radius-sm);background:color-mix(in srgb, var(--bg) 28%, transparent);grid-template-columns:22px minmax(0,1fr);align-items:start;gap:10px;min-height:58px;padding:10px;display:grid}.settings-macro-toggle input{width:18px;height:18px;accent-color:var(--herb-strong);margin:2px 0 0}.settings-macro-toggle span{gap:3px;min-width:0;display:grid}.settings-macro-toggle strong{color:var(--ink);font-size:.86rem;font-weight:850;line-height:1.15}.settings-macro-toggle small{color:var(--muted);font-size:.72rem;font-weight:650;line-height:1.25}.settings-preference-heading{grid-template-columns:32px minmax(0,1fr);align-items:start;gap:11px;display:grid}.settings-preference-heading>svg{color:var(--herb-strong);margin-top:2px}.settings-preference-heading h3,.settings-preference-heading p{margin:0}.settings-preference-heading h3{color:var(--cream);font-family:var(--font-display);margin-top:5px;font-size:1.25rem;font-weight:700;line-height:1.05}.settings-preference-heading p:not(.eyebrow){color:var(--muted);text-wrap:pretty;margin-top:6px;font-size:.8rem;font-weight:650;line-height:1.35}.settings-serving-control>div{grid-template-columns:44px minmax(80px,1fr) 44px}.settings-save-action{border:1px solid color-mix(in srgb, var(--herb-strong) 44%, transparent);border-radius:var(--radius-md);background:color-mix(in srgb, var(--herb) 24%, var(--panel));min-height:46px;color:var(--cream);cursor:pointer;font:inherit;justify-content:center;align-items:center;gap:8px;font-size:.9rem;font-weight:850;transition:opacity .18s ease-out,transform .15s ease-out,border-color .18s ease-out,background .18s ease-out,box-shadow .18s ease-out;display:inline-flex}.settings-save-action svg{color:var(--herb-strong)}.settings-save-action:active{transform:scale(.98)}.settings-save-action:focus-visible{border-color:var(--herb-strong);box-shadow:0 0 0 4px color-mix(in srgb, var(--herb) 24%, transparent);outline:none}.settings-save-action:disabled{cursor:wait;opacity:.72}.settings-preference-note,.settings-preference-error{border-radius:var(--radius-sm);margin:0;padding:10px 12px;font-size:.78rem;font-weight:750;line-height:1.35}.settings-preference-note{background:color-mix(in srgb, var(--herb) 14%, transparent);color:var(--pistachio)}.settings-preference-error{background:color-mix(in srgb, var(--tomato) 14%, transparent);color:var(--cream)}.settings-summary-grid{gap:9px;display:grid}.settings-summary-item{border:1px solid var(--line);border-radius:var(--radius-md);background:color-mix(in srgb, var(--bg) 42%, var(--panel));grid-template-columns:34px minmax(0,1fr);align-items:start;gap:12px;min-height:88px;padding:13px;display:grid}.settings-summary-item>svg{color:var(--steel);margin-top:2px}.settings-summary-item-herb>svg{color:var(--herb-strong)}.settings-summary-item-amber>svg{color:var(--amber)}.settings-summary-item p,.settings-summary-item h3,.settings-summary-item span{margin:0}.settings-summary-item p{color:var(--quiet);text-transform:uppercase;font-size:.68rem;font-weight:850;line-height:1}.settings-summary-item h3{color:var(--ink);font-family:var(--font-display);overflow-wrap:anywhere;text-wrap:balance;margin-top:6px;font-size:1.15rem;font-weight:700;line-height:1.08}.settings-summary-item span{color:var(--muted);overflow-wrap:anywhere;text-wrap:pretty;margin-top:5px;font-size:.78rem;font-weight:650;line-height:1.35;display:block}.settings-admin-footer{border:1px solid var(--line);border-radius:var(--radius-md);background:color-mix(in srgb, var(--panel) 78%, transparent);gap:11px;padding:13px;display:grid}.settings-admin-footer p{color:var(--muted);text-wrap:pretty;margin:0;font-size:.8rem;font-weight:650;line-height:1.4}.settings-logout-action{border:1px solid color-mix(in srgb, var(--tomato) 42%, transparent);border-radius:var(--radius-md);background:color-mix(in srgb, var(--tomato) 14%, var(--panel));min-height:46px;color:var(--ink);cursor:pointer;font:inherit;justify-content:center;align-items:center;gap:8px;font-size:.9rem;font-weight:850;transition:opacity .18s ease-out,transform .15s ease-out,border-color .18s ease-out,background .18s ease-out,box-shadow .18s ease-out;display:inline-flex}.settings-logout-action svg{color:var(--tomato)}.settings-logout-action:active{transform:scale(.98)}.settings-logout-action:focus-visible{border-color:var(--tomato);box-shadow:0 0 0 4px color-mix(in srgb, var(--tomato) 24%, transparent);outline:none}.settings-logout-action:disabled{cursor:wait;opacity:.72}.inventory-capture-backdrop{z-index:20;background:radial-gradient(circle at 50% 100%, color-mix(in srgb, var(--herb) 12%, transparent), transparent 48%), linear-gradient(180deg, color-mix(in srgb, var(--bg) 58%, transparent) 0%, color-mix(in srgb, var(--bg) 91%, transparent) 52%, color-mix(in srgb, var(--bg) 99%, transparent) 100%);-webkit-backdrop-filter:blur(8px);position:fixed;inset:0}.inventory-quick-add-backdrop{z-index:20;background:radial-gradient(circle at 50% 100%, color-mix(in srgb, var(--amber) 12%, transparent), transparent 48%), linear-gradient(180deg, color-mix(in srgb, var(--bg) 58%, transparent) 0%, color-mix(in srgb, var(--bg) 91%, transparent) 52%, color-mix(in srgb, var(--bg) 99%, transparent) 100%);-webkit-backdrop-filter:blur(8px);position:fixed;inset:0}.inventory-capture-sheet{z-index:30;border:1px solid var(--line-strong);border-radius:var(--radius-lg) var(--radius-lg) 0 0;background:radial-gradient(circle at 18% 4%, color-mix(in srgb, var(--herb) 20%, transparent), transparent 42%), linear-gradient(180deg, color-mix(in srgb, var(--bg) 38%, transparent) 0%, color-mix(in srgb, var(--bg) 42%, transparent) 58%, color-mix(in srgb, var(--bg) 46%, transparent) 100%), color-mix(in srgb, var(--panel) 85%, transparent);-webkit-backdrop-filter:blur(20px);width:min(100%,430px);max-height:min(94svh,760px);box-shadow:inset 0 1px 0 color-mix(in srgb, var(--cream) 8%, transparent), 0 -28px 82px color-mix(in srgb, var(--bg) 78%, transparent), 0 -10px 34px color-mix(in srgb, var(--herb) 10%, transparent);padding:10px 16px calc(16px + env(safe-area-inset-bottom));scrollbar-color:color-mix(in srgb, var(--herb) 46%, transparent) transparent;scrollbar-width:thin;-webkit-overflow-scrolling:touch;border-bottom:0;gap:10px;margin:0 auto;display:grid;position:fixed;bottom:0;left:0;right:0;overflow-y:auto}.inventory-quick-add-sheet{z-index:30;border:1px solid var(--line-strong);border-radius:var(--radius-lg) var(--radius-lg) 0 0;background:radial-gradient(circle at 18% 4%, color-mix(in srgb, var(--amber) 18%, transparent), transparent 42%), linear-gradient(180deg, color-mix(in srgb, var(--bg) 38%, transparent) 0%, color-mix(in srgb, var(--bg) 42%, transparent) 58%, color-mix(in srgb, var(--bg) 46%, transparent) 100%), color-mix(in srgb, var(--panel) 85%, transparent);-webkit-backdrop-filter:blur(20px);width:min(100%,430px);max-height:min(94svh,760px);box-shadow:inset 0 1px 0 color-mix(in srgb, var(--cream) 8%, transparent), 0 -28px 82px color-mix(in srgb, var(--bg) 78%, transparent), 0 -10px 34px color-mix(in srgb, var(--amber) 10%, transparent);padding:10px 16px calc(18px + env(safe-area-inset-bottom));border-bottom:0;gap:12px;margin:0 auto;display:grid;position:fixed;bottom:0;left:0;right:0;overflow-y:auto}.inventory-capture-sheet::-webkit-scrollbar{width:7px}.inventory-quick-add-sheet::-webkit-scrollbar{width:7px}.inventory-capture-sheet::-webkit-scrollbar-thumb{background:color-mix(in srgb, var(--herb) 40%, transparent);border-radius:999px}.inventory-quick-add-sheet::-webkit-scrollbar-thumb{background:color-mix(in srgb, var(--amber) 40%, transparent);border-radius:999px}.inventory-capture-handle,.inventory-quick-add-handle{background:color-mix(in srgb, var(--cream) 22%, transparent);border-radius:999px;width:44px;height:5px;margin:0 auto}.inventory-capture-heading,.inventory-quick-add-heading{grid-template-columns:minmax(0,1fr) 44px;align-items:start;gap:10px;display:grid}.inventory-capture-heading h2,.inventory-quick-add-heading h2{color:var(--cream);font-family:var(--font-display);text-wrap:balance;margin:3px 0 0;font-size:1.44rem;font-weight:700;line-height:1}.inventory-capture-heading p:not(.eyebrow),.inventory-quick-add-heading p:not(.eyebrow){color:var(--muted);text-wrap:pretty;margin:5px 0 0;font-size:.76rem;font-weight:650;line-height:1.32}.inventory-capture-close,.inventory-quick-add-close{border:1px solid var(--line);background:color-mix(in srgb, var(--panel) 74%, transparent);min-width:44px;min-height:44px;color:var(--ink);cursor:pointer;border-radius:999px;justify-content:center;align-items:center;transition:transform .15s ease-out,background .15s ease-out,border-color .15s ease-out;display:inline-flex}.inventory-capture-close:active,.inventory-quick-add-close:active{transform:scale(.97)}.inventory-capture-close:focus-visible{border-color:var(--herb-strong);box-shadow:0 0 0 4px color-mix(in srgb, var(--herb) 24%, transparent);outline:none}.inventory-quick-add-close:focus-visible{border-color:var(--amber);box-shadow:0 0 0 4px color-mix(in srgb, var(--amber) 24%, transparent);outline:none}.inventory-quick-add-form{gap:10px;display:grid}.inventory-quick-add-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.inventory-quick-add-field{gap:6px;display:grid}.inventory-quick-add-field span{color:var(--quiet);letter-spacing:0;text-transform:uppercase;font-size:.68rem;font-weight:850;line-height:1}.inventory-quick-add-field input,.inventory-quick-add-field select,.inventory-quick-add-field textarea{border:1px solid var(--line);border-radius:var(--radius-md);background:color-mix(in srgb, var(--bg) 44%, var(--panel));width:100%;color:var(--ink);font:inherit;padding:12px;font-size:.88rem;font-weight:650;line-height:1.3}.inventory-quick-add-field textarea{resize:vertical;min-height:78px}.inventory-quick-add-field input::placeholder,.inventory-quick-add-field textarea::placeholder{color:var(--quiet)}.inventory-quick-add-field input:focus,.inventory-quick-add-field select:focus,.inventory-quick-add-field textarea:focus{border-color:var(--amber);box-shadow:0 0 0 4px color-mix(in srgb, var(--amber) 22%, transparent);outline:none}.inventory-quick-add-submit{border:1px solid color-mix(in srgb, var(--cream) 52%, transparent);border-radius:var(--radius-md);background:var(--cream);min-height:48px;color:var(--bg);cursor:pointer;font:inherit;justify-content:center;align-items:center;gap:8px;padding:0 14px;font-size:.9rem;font-weight:900;transition:transform .15s ease-out,border-color .18s ease-out,box-shadow .18s ease-out;display:inline-flex}.inventory-quick-add-submit:active{transform:scale(.98)}.inventory-quick-add-submit:focus-visible{border-color:var(--amber);box-shadow:0 0 0 4px color-mix(in srgb, var(--amber) 24%, transparent);outline:none}.inventory-quick-add-submit:disabled{cursor:wait;opacity:.72}.inventory-quick-add-note,.inventory-quick-add-error{border:1px solid var(--line);border-radius:var(--radius-md);margin:0;padding:10px 12px;font-size:.78rem;font-weight:700;line-height:1.35}.inventory-quick-add-note{border-color:color-mix(in srgb, var(--herb-strong) 30%, transparent);color:var(--herb-strong)}.inventory-quick-add-error{border-color:color-mix(in srgb, var(--tomato) 34%, transparent);color:var(--tomato)}.inventory-capture-input{display:none}.inventory-capture-choice-grid{gap:8px;display:grid}.inventory-file-picker,.inventory-upload-summary,.inventory-upload-ready,.inventory-upload-empty,.inventory-camera-ready,.inventory-upload-diagnostics,.split-batch-note{border:1px solid var(--line);border-radius:var(--radius-md);background:color-mix(in srgb, var(--bg) 42%, var(--panel));color:var(--ink);grid-template-columns:30px minmax(0,1fr);align-items:start;gap:10px;padding:11px;display:grid}.inventory-file-picker{cursor:pointer;min-height:58px;font:inherit;text-align:left;transition:transform .15s ease-out,border-color .18s ease-out,background .18s ease-out,box-shadow .18s ease-out}.inventory-file-picker:disabled{cursor:wait;opacity:.76}.inventory-file-picker svg,.inventory-upload-summary>svg,.inventory-upload-ready>svg,.inventory-upload-empty>svg,.inventory-camera-ready>svg,.inventory-upload-diagnostics>svg,.split-batch-note>svg{color:var(--herb-strong);margin-top:2px}.inventory-file-picker:active{transform:scale(.98)}.inventory-file-picker:focus-visible{border-color:var(--herb-strong);box-shadow:0 0 0 4px color-mix(in srgb, var(--herb) 24%, transparent);outline:none}.inventory-file-picker span,.inventory-upload-summary div,.inventory-upload-ready div,.inventory-upload-empty div,.inventory-camera-ready div,.inventory-upload-diagnostics div,.split-batch-note div{gap:5px;min-width:0;display:grid}.inventory-file-picker span span,.inventory-upload-summary h3,.inventory-upload-ready h3,.inventory-upload-empty h3,.inventory-camera-ready h3,.inventory-upload-diagnostics h3,.split-batch-note h3{color:var(--cream);font-family:var(--font-display);overflow-wrap:anywhere;text-wrap:balance;margin:0;font-size:1.125rem;font-weight:700;line-height:1.08}.inventory-file-picker small,.inventory-upload-summary p,.inventory-upload-summary span:not(.inventory-upload-status),.inventory-upload-ready p,.inventory-upload-ready span,.inventory-upload-empty p,.inventory-camera-ready p,.inventory-camera-ready span,.inventory-upload-diagnostics p,.inventory-upload-diagnostics span,.split-batch-note p,.split-batch-note span{color:var(--muted);text-wrap:pretty;margin:0;font-size:.74rem;font-weight:650;line-height:1.3}.inventory-file-stack{gap:8px;display:grid}.inventory-camera-ready{border-color:color-mix(in srgb, var(--herb-strong) 26%, transparent);background:linear-gradient(180deg, color-mix(in srgb, var(--herb) 12%, transparent), transparent 68%), color-mix(in srgb, var(--bg) 42%, var(--panel))}.inventory-camera-ready p{color:var(--quiet);text-transform:uppercase;font-size:.68rem;font-weight:850;line-height:1}.inventory-camera-recovery{border-color:color-mix(in srgb, var(--amber) 34%, transparent)}.inventory-upload-summary{padding-right:96px;position:relative}.inventory-upload-summary p,.inventory-upload-ready p,.split-batch-note p{color:var(--quiet);text-transform:uppercase;font-size:.68rem;font-weight:850;line-height:1}.inventory-upload-status{border:1px solid color-mix(in srgb, var(--herb-strong) 32%, transparent);color:var(--herb-strong);border-radius:999px;padding:6px 8px;font-size:.64rem;font-weight:850;line-height:1;position:absolute;top:10px;right:12px}.inventory-upload-ready{border-color:color-mix(in srgb, var(--herb-strong) 26%, transparent);background:linear-gradient(180deg, color-mix(in srgb, var(--herb) 12%, transparent), transparent 68%), color-mix(in srgb, var(--bg) 42%, var(--panel))}.inventory-upload-submit{border:1px solid color-mix(in srgb, var(--herb-strong) 42%, transparent);border-radius:var(--radius-md);background:color-mix(in srgb, var(--herb) 20%, var(--panel));width:fit-content;min-height:44px;color:var(--ink);cursor:pointer;font:inherit;justify-content:center;align-items:center;gap:8px;margin-top:3px;padding:0 14px;font-size:.86rem;font-weight:850;transition:transform .15s ease-out,border-color .18s ease-out,background .18s ease-out,box-shadow .18s ease-out;display:inline-flex}.inventory-upload-submit svg{color:var(--herb-strong)}.inventory-upload-submit:active{transform:scale(.98)}.inventory-upload-submit:focus-visible{border-color:var(--herb-strong);box-shadow:0 0 0 4px color-mix(in srgb, var(--herb) 24%, transparent);outline:none}.inventory-upload-submit:disabled{cursor:wait;opacity:.72}.inventory-upload-recovery{border-color:color-mix(in srgb, var(--amber) 34%, transparent)}.inventory-ai-recovery{border-color:color-mix(in srgb, var(--tomato) 36%, transparent)}.inventory-capture-sheet .recovery-state{border-radius:var(--radius-md);gap:10px;padding:12px}.inventory-capture-sheet .recovery-state-heading{grid-template-columns:28px minmax(0,1fr);gap:10px}.inventory-capture-sheet .recovery-state-heading>svg{width:24px;height:24px}.inventory-capture-sheet .recovery-state h3{font-size:1.08rem;line-height:1.06}.inventory-capture-sheet .recovery-state p{margin-top:4px;font-size:.76rem;line-height:1.3}.inventory-capture-sheet .recovery-status{padding:5px 7px;font-size:.62rem}.inventory-capture-sheet .recovery-actions{gap:7px}.inventory-capture-sheet .recovery-action{min-height:44px;padding:0 10px;font-size:.82rem}.inventory-upload-recovery .recovery-actions,.inventory-ai-recovery .recovery-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.inventory-capture-sheet .recovery-action small{font-size:.64rem}.inventory-upload-diagnostics{border-color:color-mix(in srgb, var(--steel) 28%, transparent);background:linear-gradient(180deg, color-mix(in srgb, var(--steel) 10%, transparent), transparent 68%), color-mix(in srgb, var(--bg) 42%, var(--panel))}.inventory-upload-diagnostics p{color:var(--quiet);text-transform:uppercase;font-size:.68rem;font-weight:850;line-height:1}.rejected-file-list{gap:7px;margin:0;padding:0;display:grid}.rejected-file-list li{border:1px solid var(--line);border-radius:var(--radius-sm);background:color-mix(in srgb, var(--panel) 72%, transparent);color:var(--muted);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:9px;padding:10px;font-size:.78rem;font-weight:700;line-height:1.25;list-style:none;display:grid}.rejected-file-list span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.rejected-file-list strong{color:var(--amber);font-size:.7rem;font-weight:850}.split-batch-note{border-color:color-mix(in srgb, var(--amber) 28%, transparent)}.split-batch-note>svg{color:var(--amber)}.mobile-tab-panel{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;gap:16px;min-width:0;min-height:0;padding-top:2px;padding-bottom:4px;display:grid;overflow-y:auto}.shell-status{border:1px solid var(--line);border-radius:var(--radius-md);background:linear-gradient(180deg, color-mix(in srgb, var(--cream) 4%, transparent), transparent 72%), color-mix(in srgb, var(--herb) 9%, var(--panel));box-shadow:inset 0 1px 0 color-mix(in srgb, var(--cream) 7%, transparent);grid-template-columns:9px minmax(0,1fr);align-items:start;gap:10px;padding:10px 14px;display:grid}.shell-status p{color:var(--muted);overflow-wrap:anywhere;margin:0;font-size:.82rem;font-weight:700;line-height:1.45}.status-dot{background:var(--herb-strong);width:9px;height:9px;box-shadow:0 0 18px color-mix(in srgb, var(--herb-strong) 54%, transparent);border-radius:999px;flex:none;margin-top:.35em}.status-dot-danger{background:var(--tomato);box-shadow:0 0 18px color-mix(in srgb, var(--tomato) 50%, transparent)}.recovery-state{border:1px solid var(--line);border-radius:var(--radius-lg);background:radial-gradient(circle at 12% 8%, color-mix(in srgb, var(--tomato) 14%, transparent), transparent 42%), color-mix(in srgb, var(--panel) 88%, transparent);box-shadow:inset 0 1px 0 color-mix(in srgb, var(--cream) 7%, transparent), 0 16px 42px color-mix(in srgb, var(--amber) 5%, transparent);color:var(--muted);gap:14px;padding:16px;display:grid}.recovery-state-warning{background:radial-gradient(circle at 12% 8%, color-mix(in srgb, var(--amber) 18%, transparent), transparent 42%), color-mix(in srgb, var(--panel) 88%, transparent)}.recovery-state-heading{grid-template-columns:34px minmax(0,1fr);align-items:start;gap:12px;display:grid}.recovery-state-heading>svg{color:var(--tomato);margin-top:1px}.recovery-state-warning .recovery-state-heading>svg{color:var(--amber)}.recovery-state-title-row{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.recovery-state h3,.recovery-state p{margin:0}.recovery-state h3{color:var(--ink);font-family:var(--font-display);overflow-wrap:anywhere;text-wrap:balance;font-size:1.32rem;font-weight:700;line-height:1.05}.recovery-state p{color:var(--muted);text-wrap:pretty;margin-top:6px;font-size:.86rem;font-weight:650;line-height:1.4}.recovery-status{border:1px solid var(--line-strong);border-radius:999px;flex:none;padding:6px 8px;font-size:.68rem;font-weight:850;line-height:1}.recovery-status-danger{border-color:color-mix(in srgb, var(--tomato) 42%, transparent);color:var(--tomato)}.recovery-status-warning{border-color:color-mix(in srgb, var(--amber) 42%, transparent);color:var(--amber)}.recovery-actions{gap:8px;display:grid}.recovery-action{border:1px solid var(--line-strong);border-radius:var(--radius-md);background:color-mix(in srgb, var(--panel) 78%, transparent);min-height:46px;color:var(--ink);cursor:pointer;font:inherit;justify-content:center;align-items:center;gap:8px;font-size:.9rem;font-weight:850;transition:transform .15s ease-out,border-color .18s ease-out,background .18s ease-out,box-shadow .18s ease-out;display:inline-flex}.recovery-action-primary{border-color:color-mix(in srgb, var(--tomato) 42%, transparent);background:color-mix(in srgb, var(--tomato) 14%, var(--panel))}.recovery-state-warning .recovery-action-primary{border-color:color-mix(in srgb, var(--amber) 44%, transparent);background:color-mix(in srgb, var(--amber) 13%, var(--panel))}.recovery-action svg{color:var(--tomato)}.recovery-state-warning .recovery-action svg{color:var(--amber)}.recovery-action>span{justify-items:center;gap:3px;min-width:0;display:grid}.recovery-action small{color:var(--muted);text-wrap:balance;font-size:.7rem;font-weight:700;line-height:1.2}.recovery-action:disabled{cursor:not-allowed;opacity:.72}.recovery-action:disabled svg{color:var(--quiet)}.recovery-action:active{transform:scale(.98)}.recovery-action:focus-visible{border-color:var(--tomato);box-shadow:0 0 0 4px color-mix(in srgb, var(--tomato) 24%, transparent);outline:none}.recovery-state-warning .recovery-action:focus-visible{border-color:var(--amber);box-shadow:0 0 0 4px color-mix(in srgb, var(--amber) 24%, transparent)}.tab-stack{gap:14px;display:grid}.assistant-tab-stack{min-height:100%;padding-bottom:calc(10px + env(safe-area-inset-bottom));gap:8px}.landing-focus-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;display:grid}.landing-focus-card{border:1px solid var(--line);border-radius:var(--radius-md);background:radial-gradient(circle at 16% 8%, color-mix(in srgb, var(--herb) 22%, transparent), transparent 48%), color-mix(in srgb, var(--panel) 84%, transparent);min-height:132px;box-shadow:inset 0 1px 0 color-mix(in srgb, var(--cream) 7%, transparent), 0 14px 40px color-mix(in srgb, var(--amber) 5%, transparent);align-content:start;gap:7px;padding:14px;display:grid}.landing-focus-recipe{background:radial-gradient(circle at 16% 8%, color-mix(in srgb, var(--tomato) 18%, transparent), transparent 48%), color-mix(in srgb, var(--panel) 84%, transparent)}.landing-focus-card h3{color:var(--cream);font-family:var(--font-display);overflow-wrap:anywhere;text-wrap:balance;margin:0;font-size:1.13rem;font-weight:700;line-height:1.05}.landing-focus-card p{color:var(--muted);text-wrap:pretty;margin:0;font-size:.82rem;font-weight:700;line-height:1.35}.active-intake-cue{border:1px solid var(--line);border-radius:var(--radius-md);background:radial-gradient(circle at 12% 0%, color-mix(in srgb, var(--amber) 22%, transparent), transparent 48%), color-mix(in srgb, var(--panel) 86%, transparent);box-shadow:inset 0 1px 0 color-mix(in srgb, var(--cream) 8%, transparent), 0 16px 48px color-mix(in srgb, var(--amber) 5%, transparent);grid-template-columns:44px 1fr;align-items:start;gap:12px;padding:14px;display:grid}.active-intake-icon{border:1px solid var(--line);border-radius:var(--radius-sm);background:color-mix(in srgb, var(--amber) 14%, transparent);width:44px;height:44px;color:var(--butter);place-items:center;display:inline-grid}.active-intake-copy{gap:8px;min-width:0;display:grid}.active-intake-heading{justify-content:space-between;align-items:center;gap:8px;display:flex}.active-intake-heading span,.active-intake-meta span{border:1px solid var(--line);background:color-mix(in srgb, var(--cream) 6%, transparent);color:var(--muted);border-radius:999px;padding:7px 9px;font-size:.72rem;font-weight:800;line-height:1}.active-intake-cue h3{color:var(--cream);font-family:var(--font-display);overflow-wrap:anywhere;text-wrap:balance;margin:0;font-size:1.13rem;font-weight:700;line-height:1.05}.active-intake-cue p{color:var(--muted);text-wrap:pretty;margin:0;font-size:.82rem;font-weight:650;line-height:1.38}.active-intake-meta{flex-wrap:wrap;gap:7px;display:flex}.inventory-detail-stack{gap:14px;margin-top:150px;display:grid}.tab-hero,.tab-card{border:1px solid var(--line);border-radius:var(--radius-lg);background:linear-gradient(180deg, color-mix(in srgb, var(--cream) 4%, transparent), transparent 56%), color-mix(in srgb, var(--panel) 90%, transparent);box-shadow:inset 0 1px 0 color-mix(in srgb, var(--cream) 8%, transparent), 0 18px 52px color-mix(in srgb, var(--amber) 6%, transparent);padding:18px}.tab-hero{align-content:end;gap:10px;min-height:194px;display:grid}.assistant-hero{background:radial-gradient(circle at 16% 6%, color-mix(in srgb, var(--eggplant) 34%, transparent), transparent 46%), color-mix(in srgb, var(--panel) 92%, transparent);align-content:start;gap:7px;min-height:124px;padding:13px}.assistant-hero .eyebrow{display:none}.assistant-hero h2{font-size:1.34rem;line-height:1.03}.assistant-hero p:not(.eyebrow){font-size:.78rem;line-height:1.35}.inventory-hero{background:radial-gradient(circle at 18% 8%, color-mix(in srgb, var(--herb) 34%, transparent), transparent 48%), color-mix(in srgb, var(--panel) 92%, transparent)}.recipes-hero{background:radial-gradient(circle at 18% 8%, color-mix(in srgb, var(--tomato) 30%, transparent), transparent 48%), color-mix(in srgb, var(--panel) 92%, transparent)}.grocery-hero{background:radial-gradient(circle at 18% 8%, color-mix(in srgb, var(--amber) 34%, transparent), transparent 48%), color-mix(in srgb, var(--panel) 92%, transparent)}.meals-hero{background:radial-gradient(circle at 18% 8%, color-mix(in srgb, var(--butter) 25%, transparent), transparent 48%), color-mix(in srgb, var(--panel) 92%, transparent)}.tab-hero h2{color:var(--cream);font-family:var(--font-display);text-wrap:balance;margin:0;font-size:2rem;font-weight:700;line-height:1}.tab-hero p{color:var(--muted);margin:0;font-size:.94rem;line-height:1.45}.assistant-draft-field{z-index:2;border:1px solid var(--line-strong);border-radius:var(--radius-lg);background:color-mix(in srgb, var(--panel) 88%, transparent);box-shadow:inset 0 1px 0 color-mix(in srgb, var(--cream) 7%, transparent), 0 12px 34px color-mix(in srgb, var(--amber) 5%, transparent);gap:6px;padding:11px;display:grid;position:relative}.assistant-draft-field label{color:var(--muted);text-transform:uppercase;font-size:.7rem;font-weight:800}.assistant-draft-field textarea{resize:none;border:1px solid var(--line);border-radius:var(--radius-md);background:color-mix(in srgb, var(--bg) 70%, var(--panel));width:100%;min-height:74px;color:var(--ink);font:inherit;padding:10px 12px;font-size:.94rem;line-height:1.35;transition:border-color .18s ease-out,box-shadow .18s ease-out}.assistant-draft-field textarea:focus{border-color:var(--herb-strong);box-shadow:0 0 0 4px color-mix(in srgb, var(--herb) 24%, transparent);outline:none}.assistant-composer-actions{justify-content:space-between;align-items:center;gap:8px;display:flex}.assistant-composer-actions p{min-width:0;color:var(--muted);text-wrap:pretty;flex:1 1 0;margin:0;font-size:.7rem;font-weight:700;line-height:1.25}.assistant-composer-controls{flex:none;align-items:center;gap:8px;display:inline-flex}.assistant-quick-action{border:1px solid var(--line-strong);background:radial-gradient(circle at 28% 18%, color-mix(in srgb, var(--eggplant) 42%, transparent), transparent 58%), color-mix(in srgb, var(--panel) 82%, transparent);width:44px;min-height:44px;color:var(--ink);cursor:pointer;font:inherit;border-radius:999px;flex:0 0 44px;justify-content:center;align-items:center;transition:transform .15s ease-out,border-color .18s ease-out,background .18s ease-out,box-shadow .18s ease-out;display:inline-flex}.assistant-submit-action,.assistant-stop-action,.assistant-thread-retry{border:1px solid color-mix(in srgb, var(--butter) 38%, transparent);background:var(--cream);min-height:44px;color:var(--bg);cursor:pointer;font:inherit;border-radius:999px;flex:none;justify-content:center;align-items:center;gap:7px;padding:0 14px;font-size:.84rem;font-weight:850;transition:opacity .18s ease-out,transform .15s ease-out,border-color .18s ease-out,background .18s ease-out,box-shadow .18s ease-out;display:inline-flex}.assistant-quick-action:active,.assistant-submit-action:active,.assistant-stop-action:active,.assistant-thread-retry:active{transform:scale(.97)}.assistant-quick-action:focus-visible,.assistant-submit-action:focus-visible,.assistant-stop-action:focus-visible,.assistant-thread-retry:focus-visible{border-color:var(--herb-strong);box-shadow:0 0 0 4px color-mix(in srgb, var(--herb) 24%, transparent);outline:none}.assistant-stop-action{border-color:color-mix(in srgb, var(--tomato) 45%, transparent);background:color-mix(in srgb, var(--tomato) 18%, var(--panel));color:var(--ink)}.assistant-submit-action:disabled,.assistant-stop-action:disabled{cursor:not-allowed;opacity:.66}.assistant-thread-card{border:1px solid var(--line);border-radius:var(--radius-lg);background:radial-gradient(circle at 13% 0%, color-mix(in srgb, var(--eggplant) 24%, transparent), transparent 45%), color-mix(in srgb, var(--panel) 86%, transparent);box-shadow:inset 0 1px 0 color-mix(in srgb, var(--cream) 7%, transparent), 0 16px 44px color-mix(in srgb, var(--amber) 5%, transparent);gap:7px;padding:11px;display:grid}.assistant-thread-card-error{border-color:color-mix(in srgb, var(--tomato) 42%, var(--line-strong));background:radial-gradient(circle at 12% 0%, color-mix(in srgb, var(--tomato) 20%, transparent), transparent 45%), color-mix(in srgb, var(--panel) 88%, transparent)}.assistant-thread-heading{align-items:center;gap:8px;display:flex}.assistant-thread-heading>div{flex:auto;min-width:0}.assistant-thread-heading svg{color:var(--eggplant);flex:none}.assistant-thread-card-error .assistant-thread-heading svg{color:var(--tomato)}.assistant-thread-heading h3,.assistant-thread-card p{margin:0}.assistant-thread-heading h3{color:var(--cream);font-family:var(--font-display);font-size:1.13rem;font-weight:700;line-height:1.08}.assistant-thread-card>p,.assistant-thread-saving{color:var(--muted);text-wrap:pretty;font-size:.76rem;font-weight:700;line-height:1.25}.assistant-action-stream{border:1px solid color-mix(in srgb, var(--eggplant) 32%, var(--line));border-radius:var(--radius-md);background:radial-gradient(circle at 12% 0%, color-mix(in srgb, var(--eggplant) 22%, transparent), transparent 46%), color-mix(in srgb, var(--bg) 44%, transparent);gap:9px;padding:11px;display:grid}.assistant-action-stream-heading{align-items:center;gap:8px;display:flex}.assistant-action-stream-heading svg{color:var(--eggplant);flex:none}.assistant-action-stream-heading h4,.assistant-action-stream-heading p{margin:0}.assistant-action-stream-heading h4{color:var(--cream);font-size:.92rem;font-weight:850;line-height:1.1}.assistant-action-stream ol{gap:7px;margin:0;padding:0;list-style:none;display:grid}.assistant-action-stream li{border-top:1px solid var(--line);grid-template-columns:minmax(58px,.28fr) minmax(0,1fr);align-items:start;gap:8px;padding-top:7px;display:grid}.assistant-action-stream li:first-child{border-top:0;padding-top:0}.assistant-action-stream span{color:var(--eggplant);text-transform:uppercase;font-size:.68rem;font-weight:900}.assistant-action-stream p{color:var(--ink);overflow-wrap:anywhere;margin:0;font-size:.78rem;font-weight:750;line-height:1.3}.assistant-message-list{gap:9px;margin:0;padding:0;list-style:none;display:grid}.assistant-message{border:1px solid var(--line);border-radius:var(--radius-md);background:color-mix(in srgb, var(--bg) 42%, transparent);gap:5px;padding:12px;display:grid}.assistant-message span{color:var(--herb-strong);text-transform:uppercase;font-size:.72rem;font-weight:850}.assistant-message p{color:var(--ink);overflow-wrap:anywhere;margin:0;font-size:.94rem;line-height:1.42}.assistant-thread-retry{justify-self:start}.assistant-history-open{border:1px solid var(--line);background:color-mix(in srgb, var(--eggplant) 16%, var(--panel));width:44px;height:44px;color:var(--ink);cursor:pointer;border-radius:999px;flex:none;justify-content:center;align-items:center;transition:transform .15s ease-out,border-color .18s ease-out,background .18s ease-out,box-shadow .18s ease-out;display:inline-flex}.assistant-history-open svg{color:var(--eggplant)}.assistant-history-open:active{transform:scale(.97)}.assistant-history-open:focus-visible{border-color:var(--eggplant);box-shadow:0 0 0 4px color-mix(in srgb, var(--eggplant) 24%, transparent);outline:none}.assistant-history-backdrop{z-index:75;background:radial-gradient(circle at 50% 78%, color-mix(in srgb, var(--eggplant) 22%, transparent), transparent 42%), color-mix(in srgb, var(--bg) 92%, transparent);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);position:fixed;inset:0}.assistant-history-sheet{z-index:85;border:1px solid var(--line-strong);border-radius:var(--radius-lg) var(--radius-lg) 0 0;background:radial-gradient(circle at 18% 0%, color-mix(in srgb, var(--eggplant) 24%, transparent), transparent 44%), color-mix(in srgb, var(--panel) 86%, transparent);max-height:min(82vh,680px);box-shadow:inset 0 1px 0 color-mix(in srgb, var(--cream) 8%, transparent), 0 -24px 70px color-mix(in srgb, var(--amber) 7%, transparent);color:var(--ink);padding:10px 18px calc(20px + env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);-webkit-overflow-scrolling:touch;border-bottom:0;gap:14px;display:grid;position:fixed;bottom:0;left:0;right:0;overflow-y:auto}.assistant-history-sheet::-webkit-scrollbar{width:0}.assistant-history-handle{background:color-mix(in srgb, var(--cream) 28%, transparent);border-radius:999px;justify-self:center;width:44px;height:4px}.assistant-history-heading{grid-template-columns:minmax(0,1fr) 44px;align-items:start;gap:12px;display:grid}.assistant-history-heading h2,.assistant-history-heading p,.assistant-history-error h3,.assistant-history-error p,.assistant-history-empty h3,.assistant-history-empty p,.assistant-action-history-item h3,.assistant-action-history-item p{margin:0}.assistant-history-heading h2{color:var(--cream);font-family:var(--font-display);font-size:1.55rem;font-weight:700;line-height:1.04}.assistant-history-heading p{color:var(--muted);text-wrap:pretty;margin-top:5px;font-size:.84rem;font-weight:700;line-height:1.35}.assistant-history-close,.assistant-action-undo,.assistant-history-error button{border:1px solid var(--line-strong);background:color-mix(in srgb, var(--panel) 76%, transparent);min-height:44px;color:var(--ink);cursor:pointer;font:inherit;border-radius:999px;justify-content:center;align-items:center;gap:7px;padding:0 13px;font-size:.84rem;font-weight:850;transition:opacity .18s ease-out,transform .15s ease-out,border-color .18s ease-out,background .18s ease-out,box-shadow .18s ease-out;display:inline-flex}.assistant-history-close{width:44px;padding:0}.assistant-history-close svg,.assistant-action-undo svg,.assistant-history-error button svg{color:var(--eggplant)}.assistant-history-close:active,.assistant-action-undo:active,.assistant-history-error button:active{transform:scale(.97)}.assistant-history-close:focus-visible,.assistant-action-undo:focus-visible,.assistant-history-error button:focus-visible{border-color:var(--eggplant);box-shadow:0 0 0 4px color-mix(in srgb, var(--eggplant) 24%, transparent);outline:none}.assistant-history-loading{border:1px solid var(--line);border-radius:var(--radius-md);background:color-mix(in srgb, var(--bg) 42%, transparent);gap:9px;padding:14px;display:grid}.assistant-history-error,.assistant-history-empty,.assistant-action-history-item{border:1px solid var(--line);border-radius:var(--radius-md);background:color-mix(in srgb, var(--bg) 44%, transparent);gap:10px;padding:14px;display:grid}.assistant-history-error{grid-template-columns:24px minmax(0,1fr);align-items:start}.assistant-history-error>svg{color:var(--tomato)}.assistant-history-error button{grid-column:1/-1;justify-self:start}.assistant-history-error h3,.assistant-history-empty h3,.assistant-action-history-item h3{color:var(--cream);font-family:var(--font-display);overflow-wrap:anywhere;font-size:1.13rem;font-weight:700;line-height:1.08}.assistant-history-error p,.assistant-history-empty p,.assistant-action-latest,.assistant-action-timestamp,.assistant-action-undo-reason{color:var(--muted);text-wrap:pretty;font-size:.78rem;font-weight:700;line-height:1.35}.assistant-history-empty{grid-template-columns:28px minmax(0,1fr);align-items:start}.assistant-history-empty>svg{color:var(--eggplant)}.assistant-action-history-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.assistant-action-history-item-heading{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:10px;display:grid}.assistant-action-status{border:1px solid color-mix(in srgb, var(--herb-strong) 36%, transparent);color:var(--herb-strong);border-radius:999px;padding:6px 8px;font-size:.68rem;font-weight:850;line-height:1}.assistant-action-history-facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0;display:grid}.assistant-action-history-facts div{border:1px solid var(--line);border-radius:var(--radius-sm);background:color-mix(in srgb, var(--panel) 60%, transparent);min-width:0;padding:9px}.assistant-action-history-facts dt,.assistant-action-history-facts dd{margin:0}.assistant-action-history-facts dt{color:var(--quiet);text-transform:uppercase;font-size:.66rem;font-weight:850}.assistant-action-history-facts dd{color:var(--ink);margin-top:3px;font-size:.88rem;font-weight:850}.assistant-action-undo{justify-self:start}.assistant-action-undo:disabled{cursor:not-allowed;opacity:.66}.context-grid,.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:0;display:grid}.context-grid div,.metric-grid div{border:1px solid var(--line);border-radius:var(--radius-md);background:color-mix(in srgb, var(--panel) 78%, transparent);min-width:0;padding:12px}.context-grid dt,.metric-grid dt{color:var(--quiet);text-transform:uppercase;font-size:.68rem;font-weight:800}.context-grid dd,.metric-grid dd{color:var(--ink);overflow-wrap:anywhere;margin:5px 0 0;font-size:.9rem;font-weight:750;line-height:1.25}.metric-grid dd{font-family:var(--font-display);font-variant-numeric:tabular-nums;font-size:1.44rem;line-height:1}.meal-plan-list{gap:12px;display:grid}.meal-plan-add-form{border:1px solid var(--line);border-radius:var(--radius-lg);background:radial-gradient(circle at 88% 0%, color-mix(in srgb, var(--herb-strong) 13%, transparent), transparent 42%), color-mix(in srgb, var(--panel) 86%, transparent);box-shadow:inset 0 1px 0 color-mix(in srgb, var(--cream) 7%, transparent), 0 18px 52px color-mix(in srgb, var(--amber) 5%, transparent);gap:12px;padding:16px;display:grid}.meal-plan-add-heading{grid-template-columns:30px minmax(0,1fr);align-items:start;gap:10px;display:grid}.meal-plan-add-heading>svg{color:var(--butter);margin-top:2px}.meal-plan-add-heading h3,.meal-plan-add-heading p:not(.eyebrow),.meal-plan-add-status{margin:0}.meal-plan-add-heading h3{color:var(--cream);font-family:var(--font-display);margin-top:4px;font-size:1.18rem;font-weight:700;line-height:1.05}.meal-plan-add-heading p:not(.eyebrow),.meal-plan-add-status{color:var(--muted);font-size:.82rem;font-weight:650;line-height:1.35}.meal-plan-add-field{gap:7px;display:grid}.meal-plan-add-field span{color:var(--quiet);letter-spacing:0;text-transform:uppercase;font-size:.64rem;font-weight:850;line-height:1}.meal-plan-add-field input{border:1px solid var(--line);border-radius:var(--radius-sm);background:color-mix(in srgb, var(--bg) 58%, transparent);width:100%;min-height:46px;color:var(--ink);font:700 .95rem/1.2 var(--font-ui);outline:none;padding:0 12px}.meal-plan-add-field input::placeholder{color:var(--quiet)}.meal-plan-add-field input:focus{border-color:color-mix(in srgb, var(--herb-strong) 58%, transparent);box-shadow:0 0 0 3px color-mix(in srgb, var(--herb-strong) 14%, transparent)}.meal-plan-add-action{border:1px solid color-mix(in srgb, var(--cream) 44%, transparent);border-radius:var(--radius-md);background:var(--cream);min-height:46px;color:var(--bg);font:850 .88rem/1 var(--font-ui);justify-content:center;align-items:center;gap:8px;transition:opacity .15s ease-out,transform .15s ease-out;display:inline-flex}.meal-plan-add-action:active{transform:scale(.98)}.meal-plan-add-action:disabled{cursor:not-allowed;opacity:.56;transform:none}.meal-plan-add-status-error{color:var(--tomato)}.meal-plan-recipe-picker{border:1px solid var(--line);border-radius:var(--radius-md);background:radial-gradient(circle at 6% 0%, color-mix(in srgb, var(--tomato) 10%, transparent), transparent 46%), color-mix(in srgb, var(--bg) 40%, transparent);gap:10px;padding:12px;display:grid}.meal-plan-recipe-picker-heading{grid-template-columns:22px minmax(0,1fr);align-items:start;gap:8px;display:grid}.meal-plan-recipe-picker-heading>svg{color:var(--tomato);margin-top:1px}.meal-plan-recipe-picker-heading p{margin:0}.meal-plan-recipe-picker-heading p:not(.eyebrow){color:var(--muted);font-size:.78rem;font-weight:700;line-height:1.3}.meal-plan-recipe-loading,.meal-plan-recipe-list{gap:8px;display:grid}.meal-plan-recipe-choice,.meal-plan-recipe-retry{border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:color-mix(in srgb, var(--panel) 78%, transparent);min-height:48px;color:var(--ink);cursor:pointer;font:inherit;text-align:left;align-items:center;padding:10px 12px;transition:border-color .18s ease-out,background .18s ease-out,opacity .15s ease-out,transform .15s ease-out;display:grid}.meal-plan-recipe-choice{gap:4px}.meal-plan-recipe-choice:active,.meal-plan-recipe-retry:active{transform:scale(.98)}.meal-plan-recipe-choice:disabled{cursor:not-allowed;opacity:.58;transform:none}.meal-plan-recipe-choice:focus-visible,.meal-plan-recipe-retry:focus-visible{border-color:var(--tomato);box-shadow:0 0 0 3px color-mix(in srgb, var(--tomato) 18%, transparent);outline:none}.meal-plan-recipe-choice span{color:var(--cream);font-size:.9rem;font-weight:850;line-height:1.15}.meal-plan-recipe-choice small{color:var(--muted);font-size:.76rem;font-weight:700;line-height:1.3}.meal-plan-recipe-retry{grid-template-columns:20px minmax(0,1fr);gap:8px}.meal-plan-recipe-retry svg{color:var(--tomato)}.meal-plan-recipe-retry span{font-size:.86rem;font-weight:850;line-height:1.2}.meal-plan-card{border:1px solid var(--line);border-radius:var(--radius-lg);background:radial-gradient(circle at 14% 4%, color-mix(in srgb, var(--butter) 16%, transparent), transparent 44%), color-mix(in srgb, var(--panel) 88%, transparent);box-shadow:inset 0 1px 0 color-mix(in srgb, var(--cream) 7%, transparent), 0 18px 52px color-mix(in srgb, var(--amber) 5%, transparent);gap:13px;padding:16px;display:grid}.meal-plan-card-heading{grid-template-columns:30px minmax(0,1fr) auto;align-items:start;gap:10px;display:grid}.meal-plan-card-heading>svg{color:var(--butter);margin-top:2px}.meal-plan-card-heading h3,.meal-plan-card-heading p:not(.eyebrow),.meal-plan-note{margin:0}.meal-plan-card-heading h3{color:var(--cream);font-family:var(--font-display);overflow-wrap:anywhere;text-wrap:balance;margin-top:4px;font-size:1.18rem;font-weight:700;line-height:1.05}.meal-plan-card-heading p:not(.eyebrow),.meal-plan-note{color:var(--muted);font-size:.82rem;font-weight:650;line-height:1.35}.meal-plan-status{border:1px solid color-mix(in srgb, var(--butter) 42%, transparent);background:color-mix(in srgb, var(--butter) 14%, transparent);color:var(--butter);border-radius:999px;padding:7px 8px;font-size:.66rem;font-weight:850;line-height:1}.meal-plan-facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0;display:grid}.meal-plan-facts div{border:1px solid var(--line);border-radius:var(--radius-sm);background:color-mix(in srgb, var(--panel) 76%, transparent);min-width:0;padding:9px 8px}.meal-plan-facts dt{color:var(--quiet);text-transform:uppercase;font-size:.62rem;font-weight:850;line-height:1}.meal-plan-facts dd{color:var(--ink);overflow-wrap:anywhere;margin:5px 0 0;font-size:.84rem;font-weight:750;line-height:1.22}.meal-plan-actions{gap:9px;display:grid}.meal-plan-manage-actions,.meal-plan-edit-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.meal-plan-edit-form,.meal-plan-remove-confirm{border:1px solid var(--line);border-radius:var(--radius-md);background:color-mix(in srgb, var(--bg) 42%, transparent);gap:10px;padding:12px;display:grid}.meal-plan-remove-confirm p{color:var(--muted);margin:0;font-size:.82rem;font-weight:650;line-height:1.35}.meal-edit-action svg{color:var(--butter)}.meal-remove-action{border-color:color-mix(in srgb, var(--tomato) 45%, transparent);color:var(--cream)}.meal-remove-action svg{color:var(--tomato)}.taxonomy-strip{flex-wrap:wrap;gap:8px;display:flex}.taxonomy-strip span{border:1px solid var(--line);color:var(--muted);border-radius:999px;padding:8px 11px;font-size:.76rem;font-weight:800}.recipe-catalog-state{border:1px solid var(--line);border-radius:var(--radius-lg);background:radial-gradient(circle at 12% 8%, color-mix(in srgb, var(--tomato) 14%, transparent), transparent 42%), color-mix(in srgb, var(--panel) 88%, transparent);box-shadow:inset 0 1px 0 color-mix(in srgb, var(--cream) 7%, transparent), 0 16px 42px color-mix(in srgb, var(--amber) 5%, transparent);gap:14px;padding:16px;display:grid}.recipe-summary-card{isolation:isolate;border-radius:var(--radius-lg);gap:14px;padding:16px;display:grid;position:relative;overflow:hidden}.recipe-continuity-frame{z-index:0;pointer-events:none;position:absolute;inset:0}.recipe-summary-card>:not(.recipe-continuity-frame),.recipe-detail-sheet>:not(.recipe-continuity-frame){z-index:1;position:relative}.recipe-continuity-frame--card{border:1px solid var(--line);border-radius:inherit;background:radial-gradient(circle at 12% 8%, color-mix(in srgb, var(--tomato) 14%, transparent), transparent 42%), color-mix(in srgb, var(--panel) 88%, transparent);box-shadow:inset 0 1px 0 color-mix(in srgb, var(--cream) 7%, transparent), 0 16px 42px color-mix(in srgb, var(--amber) 5%, transparent)}.recipe-continuity-frame--detail{border:1px solid var(--line-strong);border-radius:inherit;background:radial-gradient(circle at 18% 4%, color-mix(in srgb, var(--tomato) 18%, transparent), transparent 42%), linear-gradient(180deg, color-mix(in srgb, var(--bg) 38%, transparent) 0%, color-mix(in srgb, var(--bg) 42%, transparent) 58%, color-mix(in srgb, var(--bg) 46%, transparent) 100%), color-mix(in srgb, var(--panel) 85%, transparent);box-shadow:inset 0 1px 0 color-mix(in srgb, var(--cream) 8%, transparent), 0 -28px 82px color-mix(in srgb, var(--bg) 78%, transparent), 0 -10px 34px color-mix(in srgb, var(--tomato) 10%, transparent);-webkit-backdrop-filter:blur(20px);border-bottom:0}.recipe-catalog-search{border:1px solid var(--line);border-radius:var(--radius-md);background:color-mix(in srgb, var(--panel) 76%, transparent);gap:8px;padding:12px;display:grid}.recipe-catalog-search label{color:var(--muted);text-transform:uppercase;font-size:.74rem;font-weight:850}.recipe-catalog-search-hint,.recipe-catalog-search p{color:var(--quiet);margin:0;font-size:.76rem;font-weight:650;line-height:1.35}.recipe-catalog-search-field{border:1px solid var(--line-strong);border-radius:var(--radius-md);background:color-mix(in srgb, var(--bg) 45%, var(--panel));grid-template-columns:24px minmax(0,1fr) auto;align-items:center;gap:8px;min-height:48px;padding:0 10px;display:grid}.recipe-catalog-search-field>svg{color:var(--amber)}.recipe-catalog-search-field input{min-width:0;color:var(--ink);font:inherit;background:0 0;border:0;outline:none;font-size:.92rem;font-weight:700}.recipe-catalog-search-field input::placeholder{color:var(--quiet)}.recipe-catalog-search-field:focus-within{border-color:color-mix(in srgb, var(--amber) 58%, var(--line-strong));box-shadow:0 0 0 4px color-mix(in srgb, var(--amber) 16%, transparent)}.recipe-catalog-search-field button,.recipe-search-empty button{border:1px solid var(--line);border-radius:var(--radius-sm);background:color-mix(in srgb, var(--amber) 12%, transparent);min-width:44px;min-height:44px;color:var(--ink);cursor:pointer;font:inherit;justify-content:center;align-items:center;gap:8px;font-weight:850;transition:transform .15s ease-out,border-color .18s ease-out,background .18s ease-out,box-shadow .18s ease-out;display:inline-flex}.recipe-catalog-search-field button:active,.recipe-search-empty button:active{transform:scale(.98)}.recipe-catalog-search-field button:focus-visible,.recipe-search-empty button:focus-visible{border-color:var(--amber);box-shadow:0 0 0 4px color-mix(in srgb, var(--amber) 20%, transparent);outline:none}.recipe-search-empty{grid-template-columns:36px minmax(0,1fr);align-items:start}.recipe-search-empty>svg{color:var(--amber)}.recipe-search-empty h3,.recipe-search-empty p{margin:0}.recipe-search-empty h3{color:var(--cream);font-family:var(--font-display);overflow-wrap:anywhere;font-size:1.25rem;font-weight:700;line-height:1.08}.recipe-search-empty p{color:var(--muted);margin-top:6px;font-size:.84rem;font-weight:650;line-height:1.4}.recipe-search-empty button{grid-column:1/-1}.recipe-catalog-error{grid-template-columns:32px minmax(0,1fr);align-items:start}.recipe-catalog-error>svg{color:var(--tomato)}.recipe-catalog-error h3,.recipe-catalog-error p{margin:0}.recipe-catalog-error h3{color:var(--ink);font-family:var(--font-display);text-wrap:balance;font-size:1.35rem;font-weight:700;line-height:1.05}.recipe-catalog-error p{color:var(--muted);text-wrap:pretty;margin-top:6px;font-size:.86rem;font-weight:650;line-height:1.4}.recipe-catalog-error button{border:1px solid color-mix(in srgb, var(--tomato) 42%, transparent);border-radius:var(--radius-md);background:color-mix(in srgb, var(--tomato) 14%, var(--panel));min-height:46px;color:var(--ink);cursor:pointer;font:inherit;grid-column:1/-1;justify-content:center;align-items:center;gap:8px;font-size:.9rem;font-weight:850;transition:transform .15s ease-out,border-color .18s ease-out,background .18s ease-out,box-shadow .18s ease-out;display:inline-flex}.recipe-catalog-error button:active{transform:scale(.98)}.recipe-catalog-error button:focus-visible{border-color:var(--tomato);box-shadow:0 0 0 4px color-mix(in srgb, var(--tomato) 24%, transparent);outline:none}.recipe-catalog-list{gap:12px;display:grid}.recipe-summary-heading{grid-template-columns:36px minmax(0,1fr);align-items:start;gap:12px;display:grid}.recipe-summary-heading>svg{color:var(--tomato);margin-top:2px}.recipe-summary-heading h3,.recipe-summary-heading p:not(.eyebrow){margin:0}.recipe-summary-heading h3{color:var(--cream);font-family:var(--font-display);overflow-wrap:anywhere;text-wrap:balance;margin-top:5px;font-size:1.35rem;font-weight:700;line-height:1.06}.recipe-summary-heading p:not(.eyebrow){color:var(--muted);text-wrap:pretty;margin-top:6px;font-size:.82rem;font-weight:700;line-height:1.35}.recipe-macro-panel{border:1px solid var(--line);border-radius:var(--radius-md);background:linear-gradient(180deg, color-mix(in srgb, var(--amber) 10%, transparent), transparent 62%), color-mix(in srgb, var(--bg) 42%, var(--panel));gap:10px;padding:12px;display:grid}.recipe-macro-heading{color:var(--muted);text-transform:uppercase;justify-content:space-between;align-items:center;gap:8px;font-size:.72rem;font-weight:850;display:flex}.recipe-macro-status{border:1px solid color-mix(in srgb, var(--amber) 42%, transparent);color:var(--amber);text-transform:none;border-radius:999px;padding:5px 8px}.recipe-macro-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin:0;display:grid}.recipe-macro-grid div{border:1px solid var(--line);border-radius:var(--radius-sm);background:color-mix(in srgb, var(--panel) 78%, transparent);min-width:0;padding:9px 7px}.recipe-macro-grid dt{color:var(--quiet);text-transform:uppercase;font-size:.62rem;font-weight:850;line-height:1}.recipe-macro-grid dd{color:var(--butter);font-family:var(--font-ui);font-variant-numeric:tabular-nums;overflow-wrap:anywhere;margin:5px 0 0;font-size:1.05rem;font-weight:850;line-height:1}.recipe-macro-note,.recipe-macro-approx{color:var(--muted);text-wrap:pretty;margin:0;font-size:.78rem;font-weight:650;line-height:1.35}.recipe-macro-approx{color:var(--amber)}.recipe-fit-panel{border:1px solid color-mix(in srgb, var(--herb) 28%, transparent);border-radius:var(--radius-md);background:linear-gradient(180deg, color-mix(in srgb, var(--herb) 11%, transparent), transparent 70%), color-mix(in srgb, var(--bg) 38%, var(--panel));gap:10px;padding:12px;display:grid}.recipe-fit-heading{justify-content:space-between;align-items:flex-start;gap:10px;min-width:0;display:flex}.recipe-fit-heading span,.recipe-fit-grid dt{color:var(--quiet);text-transform:uppercase;font-size:.68rem;font-weight:850;line-height:1}.recipe-fit-heading strong{color:var(--pistachio);text-align:right;font-size:.8rem;font-weight:850;line-height:1.25}.recipe-fit-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:0;display:grid}.recipe-fit-grid div{border:1px solid var(--line);border-radius:var(--radius-sm);background:color-mix(in srgb, var(--panel) 76%, transparent);min-width:0;padding:9px 7px}.recipe-fit-grid dd{color:var(--cream);font-family:var(--font-ui);font-variant-numeric:tabular-nums;margin:5px 0 0;font-size:1.08rem;font-weight:850;line-height:1}.recipe-fit-items{gap:8px;margin:0;padding:0;list-style:none;display:grid}.recipe-fit-items li{border:1px solid var(--line);border-radius:var(--radius-sm);background:color-mix(in srgb, var(--panel) 72%, transparent);justify-content:space-between;align-items:center;gap:10px;min-width:0;padding:10px;display:flex}.recipe-fit-items li>span:first-child{gap:4px;min-width:0;display:grid}.recipe-fit-items strong{color:var(--ink);overflow-wrap:anywhere;font-size:.86rem;font-weight:820;line-height:1.15}.recipe-fit-items em{color:var(--muted);overflow-wrap:anywhere;font-size:.74rem;font-style:normal;font-weight:650;line-height:1.25}.recipe-detail-open{border:1px solid color-mix(in srgb, var(--tomato) 38%, transparent);border-radius:var(--radius-md);background:color-mix(in srgb, var(--tomato) 13%, var(--panel));min-height:46px;color:var(--ink);cursor:pointer;font:inherit;justify-content:center;align-items:center;gap:8px;font-size:.88rem;font-weight:850;transition:transform .15s ease-out,border-color .18s ease-out,background .18s ease-out,box-shadow .18s ease-out;display:inline-flex}.recipe-detail-open svg{color:var(--tomato)}.recipe-detail-open:active{transform:scale(.98)}.recipe-detail-open:focus-visible{border-color:var(--tomato);box-shadow:0 0 0 4px color-mix(in srgb, var(--tomato) 24%, transparent);outline:none}.recipe-detail-backdrop{z-index:20;background:radial-gradient(circle at 50% 100%, color-mix(in srgb, var(--tomato) 12%, transparent), transparent 48%), linear-gradient(180deg, color-mix(in srgb, var(--bg) 58%, transparent) 0%, color-mix(in srgb, var(--bg) 91%, transparent) 52%, color-mix(in srgb, var(--bg) 99%, transparent) 100%);-webkit-backdrop-filter:blur(8px);position:fixed;inset:0}.recipe-detail-sheet{z-index:30;isolation:isolate;border:1px solid var(--line-strong);border-radius:var(--radius-lg) var(--radius-lg) 0 0;background:radial-gradient(circle at 18% 4%, color-mix(in srgb, var(--tomato) 18%, transparent), transparent 42%), linear-gradient(180deg, color-mix(in srgb, var(--cream) 5%, transparent), color-mix(in srgb, var(--bg) 18%, transparent) 78%), color-mix(in srgb, var(--panel) 85%, transparent);-webkit-backdrop-filter:blur(20px);width:min(100%,430px);max-height:min(80svh,660px);box-shadow:inset 0 1px 0 color-mix(in srgb, var(--cream) 8%, transparent), 0 -28px 82px color-mix(in srgb, var(--bg) 78%, transparent), 0 -10px 34px color-mix(in srgb, var(--tomato) 10%, transparent);padding:12px 16px calc(18px + env(safe-area-inset-bottom));scrollbar-color:color-mix(in srgb, var(--tomato) 46%, transparent) transparent;scrollbar-width:thin;-webkit-overflow-scrolling:touch;border-bottom:0;gap:14px;margin:0 auto;display:grid;position:fixed;bottom:0;left:0;right:0;overflow-y:auto}.recipe-detail-sheet::-webkit-scrollbar{width:7px}.recipe-detail-sheet::-webkit-scrollbar-thumb{background:color-mix(in srgb, var(--tomato) 40%, transparent);border-radius:999px}.recipe-detail-handle{background:color-mix(in srgb, var(--cream) 22%, transparent);border-radius:999px;width:44px;height:5px;margin:0 auto 2px}.recipe-detail-heading{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.recipe-detail-heading h2{color:var(--cream);font-family:var(--font-display);overflow-wrap:anywhere;text-wrap:balance;margin:5px 0 0;font-size:1.6rem;font-weight:700;line-height:1}.recipe-detail-heading p:not(.eyebrow){color:var(--muted);text-wrap:pretty;margin:7px 0 0;font-size:.84rem;font-weight:700;line-height:1.35}.recipe-detail-close{border:1px solid var(--line);background:color-mix(in srgb, var(--panel) 74%, transparent);min-width:44px;min-height:44px;color:var(--ink);cursor:pointer;border-radius:999px;justify-content:center;align-items:center;transition:transform .15s ease-out,background .15s ease-out,border-color .15s ease-out;display:inline-flex}.recipe-detail-close:active{transform:scale(.97)}.recipe-detail-close:focus-visible{border-color:var(--tomato);box-shadow:0 0 0 4px color-mix(in srgb, var(--tomato) 24%, transparent);outline:none}.recipe-detail-state,.recipe-detail-content{border:1px solid var(--line);border-radius:var(--radius-md);background:color-mix(in srgb, var(--bg) 42%, var(--panel));gap:12px;padding:13px;display:grid}.recipe-detail-error{grid-template-columns:30px minmax(0,1fr);align-items:start}.recipe-detail-error>svg{color:var(--tomato)}.recipe-detail-error h3,.recipe-detail-error p{margin:0}.recipe-detail-error h3{color:var(--ink);font-family:var(--font-display);text-wrap:balance;font-size:1.22rem;font-weight:700;line-height:1.05}.recipe-detail-error p{color:var(--muted);margin-top:5px;font-size:.82rem;font-weight:650;line-height:1.35}.recipe-detail-error button{border:1px solid color-mix(in srgb, var(--tomato) 42%, transparent);border-radius:var(--radius-md);background:color-mix(in srgb, var(--tomato) 14%, var(--panel));min-height:46px;color:var(--ink);cursor:pointer;font:inherit;grid-column:1/-1;justify-content:center;align-items:center;gap:8px;font-size:.9rem;font-weight:850;transition:transform .15s ease-out,border-color .18s ease-out,background .18s ease-out,box-shadow .18s ease-out;display:inline-flex}.recipe-detail-error button:active{transform:scale(.98)}.recipe-detail-error button:focus-visible{border-color:var(--tomato);box-shadow:0 0 0 4px color-mix(in srgb, var(--tomato) 24%, transparent);outline:none}.recipe-detail-summary{border:1px solid color-mix(in srgb, var(--amber) 26%, transparent);border-radius:var(--radius-md);background:linear-gradient(180deg, color-mix(in srgb, var(--amber) 10%, transparent), transparent 72%), color-mix(in srgb, var(--panel) 76%, transparent);gap:6px;padding:12px;display:grid}.recipe-detail-summary p,.recipe-detail-summary h3,.recipe-detail-summary span,.recipe-detail-section-label{margin:0}.recipe-detail-summary p,.recipe-detail-section-label{color:var(--quiet);text-transform:uppercase;font-size:.68rem;font-weight:850;line-height:1}.recipe-detail-summary h3{color:var(--cream);font-family:var(--font-display);text-wrap:balance;font-size:1.24rem;font-weight:700;line-height:1.05}.recipe-detail-summary span{color:var(--amber);font-size:.78rem;font-weight:700;line-height:1.35}.recipe-serving-planner{border:1px solid color-mix(in srgb, var(--butter) 30%, transparent);border-radius:var(--radius-md);background:radial-gradient(circle at 90% 0%, color-mix(in srgb, var(--butter) 17%, transparent), transparent 48%), color-mix(in srgb, var(--panel) 78%, transparent);box-shadow:inset 0 1px 0 color-mix(in srgb, var(--cream) 7%, transparent), 0 16px 42px color-mix(in srgb, var(--amber) 5%, transparent);gap:12px;padding:12px;display:grid}.recipe-serving-heading{grid-template-columns:28px minmax(0,1fr);align-items:start;gap:10px;display:grid}.recipe-serving-heading>svg{color:var(--butter);margin-top:2px}.recipe-serving-heading h3,.recipe-serving-heading p:not(.eyebrow){margin:0}.recipe-serving-heading h3{color:var(--cream);font-family:var(--font-display);overflow-wrap:anywhere;text-wrap:balance;margin-top:4px;font-size:1.18rem;font-weight:700;line-height:1.05}.recipe-serving-heading p:not(.eyebrow){color:var(--muted);text-wrap:pretty;margin-top:6px;font-size:.82rem;font-weight:650;line-height:1.35}.recipe-serving-control{max-width:212px}.recipe-detail-section{gap:9px;display:grid}.recipe-detail-section-label{margin-bottom:8px}.recipe-detail-list,.recipe-step-list,.recipe-detail-issue-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.recipe-detail-list li,.recipe-step-list li,.recipe-detail-issue-list li{border:1px solid var(--line);border-radius:var(--radius-sm);background:color-mix(in srgb, var(--panel) 74%, transparent);min-width:0;padding:10px}.recipe-detail-list li{justify-content:space-between;align-items:center;gap:10px;display:flex}.recipe-detail-list-main{gap:4px;min-width:0;display:grid}.recipe-detail-list-title{color:var(--ink);overflow-wrap:anywhere;font-weight:820;line-height:1.2}.recipe-detail-list-meta{color:var(--muted);overflow-wrap:anywhere;font-size:.78rem;font-weight:650;line-height:1.3}.recipe-detail-passive-badge{border:1px solid color-mix(in srgb, var(--amber) 34%, transparent);color:var(--amber);border-radius:999px;flex:none;padding:6px 8px;font-size:.68rem;font-weight:850}.recipe-detail-badge-stack{flex-wrap:wrap;flex:none;justify-content:flex-end;gap:6px;display:flex}.recipe-fit-badge{border-color:color-mix(in srgb, var(--steel) 34%, transparent);color:var(--steel)}.recipe-fit-badge--available{border-color:color-mix(in srgb, var(--herb-strong) 42%, transparent);color:var(--herb-strong)}.recipe-fit-badge--maybe_available{border-color:color-mix(in srgb, var(--amber) 44%, transparent);color:var(--amber)}.recipe-fit-badge--missing{border-color:color-mix(in srgb, var(--tomato) 46%, transparent);color:var(--tomato)}.recipe-step-list li{grid-template-columns:30px minmax(0,1fr);align-items:start;gap:10px;display:grid}.recipe-step-number{background:color-mix(in srgb, var(--tomato) 18%, var(--panel));width:30px;height:30px;color:var(--cream);font-family:var(--font-ui);font-variant-numeric:tabular-nums;border-radius:999px;justify-content:center;align-items:center;font-size:.95rem;font-weight:700;line-height:1;display:inline-flex}.recipe-step-list strong,.recipe-step-list span span,.recipe-step-list em{overflow-wrap:anywhere;display:block}.recipe-step-list strong{color:var(--cream);font-family:var(--font-ui);font-size:1.06rem;font-weight:820;line-height:1.1}.recipe-step-list span span{color:var(--muted);margin-top:4px;font-size:.84rem;font-weight:650;line-height:1.4}.recipe-step-list em{color:var(--amber);margin-top:6px;font-size:.72rem;font-style:normal;font-weight:850}.recipe-detail-unclear{border:1px solid color-mix(in srgb, var(--amber) 24%, transparent);border-radius:var(--radius-md);background:color-mix(in srgb, var(--amber) 8%, transparent);padding:11px}.recipe-detail-issue-list li{gap:5px;display:grid}.recipe-detail-issue-list span{color:var(--quiet);text-transform:uppercase;font-size:.66rem;font-weight:850}.recipe-detail-issue-list strong{color:var(--ink);font-size:.82rem;line-height:1.25}.recipe-detail-issue-list em{color:var(--amber);font-size:.76rem;font-style:normal;font-weight:720;line-height:1.3}.recipe-detail-meta{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0;display:grid}.recipe-detail-meta div{border:1px solid var(--line);border-radius:var(--radius-sm);background:color-mix(in srgb, var(--panel) 78%, transparent);min-width:0;padding:9px 8px}.recipe-detail-meta dt{color:var(--quiet);text-transform:uppercase;font-size:.62rem;font-weight:850;line-height:1}.recipe-detail-meta dd{color:var(--ink);overflow-wrap:anywhere;margin:5px 0 0;font-size:.82rem;font-weight:750;line-height:1.22}.cook-mode-panel{border-top:1px solid var(--line);gap:12px;padding-top:12px;display:grid}.cook-mode-heading{grid-template-columns:30px minmax(0,1fr);align-items:start;gap:10px;display:grid}.cook-mode-heading>svg{color:var(--herb-strong);margin-top:2px}.cook-mode-heading h3,.cook-mode-heading p:not(.eyebrow),.cook-mode-start-card p,.cook-mode-note,.cook-cleanup-heading h4,.cook-cleanup-heading p,.cook-step-card h4,.cook-step-card p,.cook-step-card span,.cook-step-kicker{margin:0}.cook-mode-heading h3{color:var(--cream);font-family:var(--font-display);overflow-wrap:anywhere;text-wrap:balance;margin-top:4px;font-size:1.22rem;font-weight:700;line-height:1.05}.cook-mode-heading p:not(.eyebrow),.cook-mode-start-card p,.cook-mode-note,.cook-cleanup-heading p{color:var(--muted);text-wrap:pretty;font-size:.82rem;font-weight:650;line-height:1.35}.cook-mode-error{color:var(--tomato)!important}.cook-mode-start-card,.cook-mode-loading,.cook-mode-active,.cook-step-card,.cook-cleanup-form,.cook-cleanup-heading,.cook-cleanup-list{gap:11px;display:grid}.cook-serving-control{gap:7px;display:grid}.cook-serving-control label{color:var(--quiet);text-transform:uppercase;font-size:.66rem;font-weight:850;line-height:1}.cook-serving-control>div{grid-template-columns:44px minmax(70px,92px) 44px;align-items:center;gap:8px;display:grid}.cook-serving-control button,.cook-serving-control input{border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:color-mix(in srgb, var(--bg) 74%, transparent);min-width:0;min-height:44px;color:var(--ink);font:inherit;font-size:.9rem;font-weight:850;line-height:1}.cook-serving-control button{cursor:pointer;place-items:center;padding:0;transition:transform .15s ease-out,border-color .18s ease-out,background .18s ease-out;display:inline-grid}.cook-serving-control button svg{color:var(--herb-strong)}.cook-serving-control input{text-align:center;padding:0 10px}.cook-serving-control button:active{transform:scale(.96)}.cook-serving-control button:focus-visible,.cook-serving-control input:focus{border-color:var(--herb-strong);box-shadow:0 0 0 4px color-mix(in srgb, var(--herb) 24%, transparent);outline:none}.cook-serving-control button:disabled{cursor:not-allowed;opacity:.58}.cook-mode-start-action,.cook-step-action,.cook-secondary-action{border:1px solid color-mix(in srgb, var(--herb-strong) 42%, transparent);border-radius:var(--radius-md);background:color-mix(in srgb, var(--herb) 20%, var(--panel));width:fit-content;min-height:46px;color:var(--ink);cursor:pointer;font:inherit;justify-content:center;align-items:center;gap:8px;padding:0 14px;font-size:.88rem;font-weight:850;transition:transform .15s ease-out,border-color .18s ease-out,background .18s ease-out,box-shadow .18s ease-out;display:inline-flex}.cook-mode-start-action svg,.cook-step-action svg,.meal-cooked-action svg{color:var(--herb-strong)}.cook-mode-start-action:active,.cook-step-action:active,.cook-secondary-action:active{transform:scale(.98)}.cook-mode-start-action:focus-visible,.cook-step-action:focus-visible,.cook-secondary-action:focus-visible{border-color:var(--herb-strong);box-shadow:0 0 0 4px color-mix(in srgb, var(--herb) 24%, transparent);outline:none}.cook-mode-start-action:disabled,.cook-step-action:disabled,.cook-secondary-action:disabled{cursor:wait;opacity:.72}.cook-secondary-action{border-color:var(--line-strong);background:color-mix(in srgb, var(--panel) 76%, transparent);color:var(--butter)}.cook-mode-facts{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0;display:grid}.cook-mode-facts div{border:1px solid var(--line);border-radius:var(--radius-sm);background:color-mix(in srgb, var(--panel) 78%, transparent);min-width:0;padding:9px 8px}.cook-mode-facts dt,.cook-step-kicker{color:var(--quiet);text-transform:uppercase;font-size:.62rem;font-weight:850;line-height:1}.cook-mode-facts dd{color:var(--ink);overflow-wrap:anywhere;margin:5px 0 0;font-size:.82rem;font-weight:750;line-height:1.22}.cook-ingredient-checklist{gap:9px;display:grid}.cook-ingredient-group{gap:7px;display:grid}.cook-ingredient-group-heading{color:var(--quiet);justify-content:space-between;align-items:center;gap:8px;font-size:.68rem;font-weight:850;line-height:1;display:flex}.cook-ingredient-status{border:1px solid var(--line-strong);border-radius:999px;padding:6px 8px}.cook-ingredient-status-herb{color:var(--herb-strong)}.cook-ingredient-status-amber{color:var(--amber)}.cook-ingredient-status-tomato{color:var(--tomato)}.cook-ingredient-status-steel{color:var(--steel)}.cook-ingredient-group ul{gap:6px;margin:0;padding:0;display:grid}.cook-ingredient-group li{border:1px solid var(--line);border-radius:var(--radius-sm);background:color-mix(in srgb, var(--panel) 72%, transparent);min-width:0;color:var(--muted);justify-content:space-between;align-items:center;gap:10px;padding:10px;font-size:.8rem;font-weight:700;line-height:1.25;list-style:none;display:flex}.cook-ingredient-group li span{overflow-wrap:anywhere;min-width:0}.cook-ingredient-group li strong{color:var(--butter);flex:none;font-size:.78rem;font-weight:850}.cook-step-card{border:1px solid color-mix(in srgb, var(--herb-strong) 26%, transparent);border-radius:var(--radius-md);background:linear-gradient(180deg, color-mix(in srgb, var(--herb) 10%, transparent), transparent 72%), color-mix(in srgb, var(--panel) 76%, transparent);padding:12px}.cook-step-card h4{color:var(--cream);font-family:var(--font-display);overflow-wrap:anywhere;text-wrap:balance;margin-top:6px;font-size:1.18rem;font-weight:700;line-height:1.05}.cook-step-card p{color:var(--muted);text-wrap:pretty;margin-top:7px;font-size:.84rem;font-weight:650;line-height:1.38}.cook-cleanup-form{margin-top:2px}.cook-cleanup-heading h4{color:var(--cream);font-family:var(--font-display);text-wrap:balance;margin-top:6px;font-size:1.125rem;font-weight:700;line-height:1.08}.cook-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;display:grid}.cook-form-grid label,.cook-notes-field,.cook-cleanup-row{gap:7px;min-width:0;display:grid}.cook-form-grid label>span,.cook-notes-field>span,.cook-cleanup-row>span small{color:var(--quiet);text-transform:uppercase;font-size:.66rem;font-weight:850;line-height:1}.cook-form-grid input,.cook-notes-field textarea,.cook-cleanup-row select{border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:color-mix(in srgb, var(--bg) 74%, transparent);width:100%;min-width:0;color:var(--ink);font:inherit;font-size:.86rem;font-weight:700;line-height:1.25}.cook-form-grid input,.cook-cleanup-row select{min-height:44px;padding:0 11px}.cook-notes-field textarea{resize:vertical;min-height:86px;padding:11px}.cook-form-grid input:focus,.cook-notes-field textarea:focus,.cook-cleanup-row select:focus{border-color:var(--herb-strong);box-shadow:0 0 0 4px color-mix(in srgb, var(--herb) 24%, transparent);outline:none}.cook-cleanup-row{border:1px solid var(--line);border-radius:var(--radius-sm);background:color-mix(in srgb, var(--panel) 72%, transparent);grid-template-columns:minmax(0,1fr) minmax(108px,.72fr);align-items:center;padding:9px}.cook-cleanup-row>span{gap:5px;min-width:0;display:grid}.cook-cleanup-row>span strong{color:var(--ink);overflow-wrap:anywhere;font-size:.8rem;font-weight:800;line-height:1.2}.cook-cleanup-actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:9px;display:flex}.cook-step-duration{border:1px solid color-mix(in srgb, var(--amber) 36%, transparent);width:fit-content;color:var(--amber);border-radius:999px;margin-top:9px;padding:6px 8px;font-size:.7rem;font-weight:850;line-height:1;display:inline-flex}.cook-celebration{border:1px solid color-mix(in srgb, var(--butter) 34%, transparent);border-radius:var(--radius-md);background:linear-gradient(135deg, color-mix(in srgb, var(--amber) 18%, transparent), color-mix(in srgb, var(--herb) 10%, transparent)), color-mix(in srgb, var(--panel) 78%, transparent);box-shadow:0 18px 42px color-mix(in srgb, var(--amber) 9%, transparent);gap:10px;padding:13px;display:grid;position:relative;overflow:hidden}.cook-celebration-steam{width:fit-content;color:var(--cream);display:inline-flex}.cook-celebration-steam svg{width:64px;height:42px;overflow:visible}.cook-celebration-steam path{fill:none;stroke:currentColor;stroke-linecap:round;stroke-width:3px;opacity:.38;transform-box:fill-box;transform-origin:50%;animation:cook-celebration-steam var(--motion-duration-steam-loop) ease-in-out infinite}.cook-celebration-steam path:nth-child(2){animation-delay:calc(var(--motion-duration-steam-loop) * -.28)}.cook-celebration-steam path:nth-child(3){animation-delay:calc(var(--motion-duration-steam-loop) * -.54)}.cook-celebration-copy{gap:7px;min-width:0;display:grid}.cook-celebration-copy>span{border:1px solid color-mix(in srgb, var(--butter) 30%, transparent);width:fit-content;color:var(--butter);text-transform:uppercase;border-radius:999px;align-items:center;gap:6px;padding:6px 8px;font-size:.66rem;font-weight:850;line-height:1;display:inline-flex}.cook-celebration-copy>span svg{color:var(--amber)}.cook-celebration-copy h4{color:var(--cream);font-family:var(--font-display);overflow-wrap:anywhere;text-wrap:balance;margin:0;font-size:1.18rem;font-weight:700;line-height:1.05}.cook-celebration-copy p{color:var(--muted);text-wrap:pretty;margin:0;font-size:.84rem;font-weight:650;line-height:1.38}.cook-celebration-meta{flex-wrap:wrap;gap:7px;display:flex}.cook-celebration-meta span{border:1px solid var(--line);color:var(--herb-strong);border-radius:999px;padding:6px 8px;font-size:.68rem;font-weight:850;line-height:1}.empty-tab-state{border:1px solid var(--line);border-radius:var(--radius-lg);background:radial-gradient(circle at 12% 8%, color-mix(in srgb, var(--butter) 14%, transparent), transparent 42%), color-mix(in srgb, var(--panel) 88%, transparent);min-height:182px;color:var(--muted);gap:14px;padding:18px;display:grid}.empty-tab-state>svg{color:var(--herb-strong)}.empty-state-copy{gap:7px;display:grid}.empty-tab-state h3{color:var(--ink);font-family:var(--font-display);text-wrap:balance;margin:0;font-size:1.45rem;font-weight:700;line-height:1.05}.empty-tab-state p{color:var(--muted);text-wrap:pretty;margin:0;font-size:.88rem;font-weight:650;line-height:1.4}.empty-state-actions{gap:8px;display:grid}.empty-state-action{border:1px solid var(--line);border-radius:var(--radius-md);background:color-mix(in srgb, var(--bg) 44%, var(--panel));min-height:58px;color:var(--ink);cursor:pointer;font:inherit;text-align:left;grid-template-columns:28px minmax(0,1fr);align-items:center;gap:10px;padding:10px 12px;transition:opacity .18s ease-out,transform .15s ease-out,background .18s ease-out,border-color .18s ease-out,box-shadow .18s ease-out;display:grid}.empty-state-action svg{color:var(--herb-strong)}.empty-state-action-primary{border-color:color-mix(in srgb, var(--herb-strong) 40%, transparent);background:linear-gradient(180deg, color-mix(in srgb, var(--herb) 22%, transparent), color-mix(in srgb, var(--bg) 34%, var(--panel)));box-shadow:0 14px 32px color-mix(in srgb, var(--herb) 8%, transparent)}.empty-state-action:active{transform:scale(.98)}.empty-state-action:focus-visible{border-color:var(--herb-strong);box-shadow:0 0 0 4px color-mix(in srgb, var(--herb) 24%, transparent);outline:none}.empty-state-action:disabled{cursor:not-allowed;opacity:.72}.empty-state-action:disabled svg{color:var(--quiet)}.empty-state-action-copy{gap:3px;min-width:0;display:grid}.empty-state-action-label{color:var(--ink);overflow-wrap:anywhere;font-size:.9rem;font-weight:850;line-height:1.15}.empty-state-action-description,.empty-state-disabled-reason{color:var(--muted);text-wrap:pretty;font-size:.73rem;font-weight:700;line-height:1.3}.empty-state-disabled-reason{color:var(--amber)}.tab-card-loading{gap:12px;display:grid}.skeleton-line{background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--cream) 10%, transparent), transparent), color-mix(in srgb, var(--cream) 8%, transparent);background-size:220% 100%;border-radius:999px;height:13px;animation:1.4s ease-in-out infinite skeleton-shimmer;overflow:hidden}.skeleton-title{height:24px}.skeleton-short{width:58%}.mobile-tabbar{right:12px;bottom:max(10px, env(safe-area-inset-bottom));z-index:10;border:1px solid var(--line-strong);border-radius:var(--radius-lg);background:color-mix(in srgb, var(--panel) 88%, transparent);width:min(100% - 24px,430px);box-shadow:var(--shadow);grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;margin:0 auto;padding:6px;display:grid;position:fixed;left:12px}.mobile-tab-button{border-radius:var(--radius-md);min-width:0;min-height:56px;color:var(--quiet);cursor:pointer;font:inherit;background:0 0;border:1px solid #0000;flex-direction:column;justify-content:center;align-items:center;gap:3px;transition:color .15s ease-out,transform .15s ease-out,background .15s ease-out,border-color .15s ease-out;display:inline-flex}.mobile-tab-button svg{flex:none;transition:transform .15s ease-out}.mobile-tab-button span{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:.62rem;font-weight:850;line-height:1.1;overflow:hidden}.mobile-tab-button:active{transform:scale(.97)}.mobile-tab-button:focus-visible{border-color:var(--herb-strong);box-shadow:0 0 0 3px color-mix(in srgb, var(--herb) 24%, transparent);outline:none}.mobile-tab-button[aria-current=page]{border-color:color-mix(in srgb, var(--herb-strong) 34%, transparent);background:color-mix(in srgb, var(--herb) 17%, transparent);color:var(--herb-strong)}.mobile-tab-button[aria-current=page] svg{transform:scale(1.08)}@keyframes skeleton-shimmer{0%{background-position:140% 0}to{background-position:-80% 0}}@keyframes cook-celebration-steam{0%{opacity:.12;transform:translateY(5px)scale(.96)}44%{opacity:.56}to{opacity:.1;transform:translateY(-7px)scale(1.04)}}@media (prefers-reduced-motion:reduce){.skeleton-line{animation:none}.cook-celebration-steam path{opacity:.34;animation:none;transform:none}.quick-action-button,.quick-action-close,.settings-admin-close,.recipe-detail-open,.recipe-detail-close,.cook-serving-control button,.cook-mode-start-action,.cook-step-action,.meal-cooked-action,.inventory-capture-close,.inventory-quick-add-close,.inventory-quick-add-submit,.inventory-file-picker,.inventory-upload-submit,.settings-logout-action,.recipe-detail-error button,.recovery-action,.quick-menu-trigger,.logout-action,.settings-action,.empty-state-action,.assistant-draft-field textarea,.mobile-tab-button,.mobile-tab-button svg{transition:none}.mobile-tab-button[aria-current=page] svg{transform:none}}.auth-panel{border-color:var(--line-strong);background:radial-gradient(circle at 18% 8%, color-mix(in srgb, var(--herb) 18%, transparent), transparent 34%), linear-gradient(180deg, color-mix(in srgb, var(--cream) 4%, transparent), transparent 30%), color-mix(in srgb, var(--panel) 92%, transparent);flex-direction:column;justify-content:space-between;align-self:stretch;min-height:calc(100svh - 38px);padding:20px 18px 26px;display:flex;overflow:hidden}.auth-status{color:var(--quiet);font-variant-numeric:tabular-nums;justify-content:space-between;align-items:center;gap:14px;font-size:.76rem;font-weight:800;display:flex}.auth-secure-status{color:var(--muted);align-items:center;gap:7px;display:inline-flex}.auth-secure-status span{background:var(--herb-strong);width:8px;height:8px;box-shadow:0 0 18px color-mix(in srgb, var(--herb-strong) 52%, transparent);border-radius:999px}.auth-stack{gap:14px;margin-top:auto;padding-bottom:min(7svh,58px);display:grid}.auth-hero-card{border:1px solid var(--line-strong);border-radius:var(--radius-lg);background:linear-gradient(145deg, color-mix(in srgb, var(--herb) 22%, var(--panel)), color-mix(in srgb, var(--panel) 88%, transparent));box-shadow:inset 0 1px 0 color-mix(in srgb, var(--cream) 10%, transparent), 0 18px 52px color-mix(in srgb, var(--amber) 8%, transparent);gap:14px;padding:18px;display:grid}.auth-hero-icon{border:1px solid var(--line);background:color-mix(in srgb, var(--bg) 48%, transparent);width:44px;height:44px;color:var(--herb-strong);border-radius:999px;place-items:center;display:inline-grid}.route-copy{gap:12px;display:grid}.route-panel h1{color:var(--ink);font-family:var(--font-display);margin:0;font-size:3.4rem;font-weight:700;line-height:.92}.route-panel p{color:var(--muted);margin:0;font-size:1rem;line-height:1.6}.route-panel .eyebrow{color:var(--herb-strong);letter-spacing:0;text-transform:uppercase;font-size:.76rem;font-weight:700;line-height:1}.route-note{color:var(--quiet);font-size:.92rem}.route-panel .auth-heading{max-width:12ch;font-size:2.34rem;line-height:.98}.auth-note-grid{flex-wrap:wrap;gap:8px 14px;display:flex}.auth-note-grid span{color:var(--muted);align-items:center;padding-left:14px;font-size:.78rem;font-weight:700;display:inline-flex;position:relative}.auth-note-grid span:before{background:var(--amber);content:"";border-radius:999px;width:6px;height:6px;position:absolute;left:0}.session-probe{border:1px solid var(--line);border-radius:var(--radius-md);background:color-mix(in srgb, var(--herb) 10%, transparent);gap:8px;padding:14px;display:grid}.session-probe p{font-size:.92rem}.bootstrap-summary{gap:12px;margin-top:4px;display:grid}.bootstrap-headline{border:1px solid var(--line);border-radius:var(--radius-sm);background:color-mix(in srgb, var(--bg) 42%, transparent);gap:4px;padding:12px;display:grid}.bootstrap-headline span{color:var(--muted);text-transform:uppercase;font-size:.74rem;font-weight:800}.bootstrap-headline strong{color:var(--ink);font-family:var(--font-display);font-size:1.28rem;font-weight:700;line-height:1.05}.bootstrap-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0;display:grid}.bootstrap-grid div{border:1px solid var(--line);border-radius:var(--radius-sm);background:color-mix(in srgb, var(--panel) 74%, transparent);min-width:0;padding:10px}.bootstrap-grid dt{color:var(--quiet);text-transform:uppercase;font-size:.68rem;font-weight:800}.bootstrap-grid dd{color:var(--ink);overflow-wrap:anywhere;margin:4px 0 0;font-size:.86rem;font-weight:700}.bootstrap-status-list{flex-wrap:wrap;gap:8px;display:flex}.bootstrap-status-list span{border:1px solid var(--line);color:var(--muted);border-radius:999px;padding:7px 10px;font-size:.72rem;font-weight:800}.passphrase-form{gap:12px;display:grid}.field-label{color:var(--muted);font-size:.88rem;font-weight:700}.passphrase-input{border:1px solid var(--line-strong);border-radius:var(--radius-md);background:color-mix(in srgb, var(--bg) 72%, var(--panel));width:100%;min-height:52px;color:var(--ink);font:inherit;padding:0 16px;font-size:1rem;transition:border-color .18s ease-out,box-shadow .18s ease-out}.passphrase-input:focus{border-color:var(--herb-strong);box-shadow:0 0 0 4px color-mix(in srgb, var(--herb) 24%, transparent);outline:none}.passphrase-input:disabled{color:var(--quiet)}.primary-action,.secondary-action{border-radius:var(--radius-md);cursor:pointer;min-height:52px;font:inherit;border:1px solid #0000;padding:0 18px;font-weight:800;transition:opacity .18s ease-out,transform .15s ease-out,border-color .18s ease-out,background .18s ease-out}.primary-action{background:var(--cream);color:var(--bg)}.secondary-action{background:color-mix(in srgb, var(--panel) 74%, transparent);border-color:var(--line-strong);color:var(--ink)}.primary-action:active,.secondary-action:active{transform:scale(.97)}.primary-action:disabled,.secondary-action:disabled{cursor:wait;opacity:.72}.form-error{border:1px solid color-mix(in srgb, var(--tomato) 48%, transparent);border-radius:var(--radius-sm);background:color-mix(in srgb, var(--tomato) 12%, transparent);color:var(--ink);padding:12px 14px}@media (max-width:420px){.route-panel{padding:26px 24px}.auth-panel{min-height:calc(100svh - 38px);padding:20px 18px 26px}.auth-stack{padding-bottom:min(6svh,48px)}.route-panel h1{font-size:3rem;line-height:.96}.route-panel .auth-heading{font-size:2.26rem;line-height:.98}}@media (max-width:360px){.route-panel h1{font-size:2.6rem}.route-panel .auth-heading{font-size:2.08rem}}
