@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_c15e96cb-module__0bjUvq__className{font-family:Inter,Inter Fallback;font-style:normal}.inter_c15e96cb-module__0bjUvq__variable{--font-inter:"Inter", "Inter Fallback"}
@font-face{font-family:Playfair Display;font-style:normal;font-weight:400 900;font-display:swap;src:url(../media/65c558afe41e89d6-s.3jppgd0xzx-0d.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Playfair Display;font-style:normal;font-weight:400 900;font-display:swap;src:url(../media/14e23f9b59180572-s.0t8ljjjn9wtsx.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:Playfair Display;font-style:normal;font-weight:400 900;font-display:swap;src:url(../media/b49b0d9b851e4899-s.2zyohmvb-ks7f.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:Playfair Display;font-style:normal;font-weight:400 900;font-display:swap;src:url(../media/2a65768255d6b625-s.3u4lli0-axodc.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:Playfair Display Fallback;src:local(Times New Roman);ascent-override:97.25%;descent-override:22.56%;line-gap-override:0.0%;size-adjust:111.26%}.playfair_display_18e22812-module__8Y5JuG__className{font-family:Playfair Display,Playfair Display Fallback;font-style:normal}.playfair_display_18e22812-module__8Y5JuG__variable{--font-playfair:"Playfair Display", "Playfair Display Fallback"}
html{height:100%}html,body{max-width:100vw;overflow-x:hidden}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;flex-direction:column;min-height:100%;display:flex}*{box-sizing:border-box;margin:0;padding:0}a{color:inherit;text-decoration:none}
*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--background:#f8f6f1;--surface:#fff;--surface-elevated:#f1eee7;--border:#ded9cf;--primary:#c54424;--primary-hover:#a9361b;--primary-subtle:#fbe9e1;--herb:#246b55;--herb-subtle:#e6f1ec;--text-primary:#211c18;--text-secondary:#665f57;--success:#237a52;--warning:#a86408;--error:#b42318;--pro:#6a3d72;--pro-hover:#583160;--pro-subtle:#f1e8f3;--text-on-primary:#fff;--text-on-pro:#fff;--text-on-danger:#fff;--surface-glass:#ffffffd1;--chrome-background:#f8f6f1f5;--shadow-color:#211c181f;--shadow-default:0 1px 2px #211c180d, 0 8px 24px #211c1812;--shadow-hover:0 16px 38px #211c181f;--font-display:var(--font-playfair), Georgia, "Times New Roman", serif;--font-sans:var(--font-inter,Inter), system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-mono:"SFMono-Regular", ui-monospace, Menlo, Consolas, monospace;--font-weight-regular:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--text-h1:3rem;--leading-h1:3.25rem;--text-h2:2rem;--leading-h2:2.375rem;--text-h3:1.375rem;--leading-h3:1.75rem;--text-body:1rem;--leading-body:1.5625rem;--text-small:.875rem;--leading-small:1.25rem;--text-caption:.75rem;--leading-caption:1.0625rem;--macro-protein:#b24735;--macro-carbs:#b97a20;--macro-fat:#65753a;--macro-fiber:#28705c;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--space-8:64px;--space-9:96px;--radius-sm:8px;--radius-control:10px;--radius-card:14px;--radius-hero:18px;--radius-pill:999px;--radius-circle:50%;--control-height-compact:44px;--control-height:48px;--control-height-mobile:52px;--content-width-app:1200px;--content-width-chrome:1240px;--content-width-chat:820px;--content-width-reading:68ch;--ratio-recipe-card:4 / 3;--ratio-featured:16 / 10;--ratio-detail-hero:4 / 3;--topbar-height:72px;--ease-standard:cubic-bezier(.4, 0, .2, 1);--duration-fast:.15s;--duration-standard:.2s;--duration-slow:.3s;--transition-theme:background-color .3s var(--ease-standard), color .2s var(--ease-standard);--transition-interactive:background-color var(--duration-standard) var(--ease-standard), border-color var(--duration-fast) var(--ease-standard), color var(--duration-fast) var(--ease-standard), box-shadow var(--duration-standard) var(--ease-standard), transform var(--duration-fast) var(--ease-standard);--focus-ring:0 0 0 3px color-mix(in srgb, var(--primary) 32%, transparent);--bg:var(--background);--bg-gradient:var(--background);--fg:var(--text-primary);--text:var(--text-primary);--muted:var(--text-secondary);--hairline:var(--border);--card-bg:var(--surface);--surface-1:var(--surface);--surface-2:var(--surface-elevated);--surface-3:var(--herb-subtle);--shadow:var(--shadow-color);--primary-dark:var(--primary-hover);--accent:var(--herb);--brand-green:var(--herb);--brand-saffron:#f2b84b;--brand-tomato:var(--primary);--brand-tomato-hover:var(--primary-hover);--brand-tomato-deep:var(--primary-hover);--brand-plum:var(--pro);--brand-plum-hover:var(--pro-hover);--pro-soft:var(--pro-subtle);--text-on-brand:var(--text-on-primary);--topbar-bg:var(--chrome-background);--input-bg:var(--surface);--input-text:var(--text-primary);--bot:var(--surface-elevated);--bot-text:var(--text-primary);--user:var(--primary);--user-text:var(--text-on-primary);--link:var(--primary-hover);--install:var(--primary);--danger:var(--error);--danger-hover:color-mix(in srgb, var(--error) 84%, black);--elev-card-shadow:var(--shadow-default);--elev-hover-shadow:var(--shadow-hover);--glow-primary:0 10px 22px color-mix(in srgb, var(--primary) 24%, transparent);--glow-pro:0 12px 24px color-mix(in srgb, var(--pro) 24%, transparent);--radius:var(--radius-control);--radius-lg:var(--radius-control);--radius-xl:var(--radius-card);--max-app-width:var(--content-width-app);--max-chat-width:var(--content-width-chat);--dur-fast:var(--duration-fast);--dur:var(--duration-standard);--dur-slow:var(--duration-slow);--t-bg:var(--transition-theme);--t-card:var(--transition-interactive)}@media (max-width:640px){:root{--text-h1:2.25rem;--leading-h1:2.5rem;--text-h2:1.75rem;--leading-h2:2.125rem;--text-h3:1.25rem;--leading-h3:1.625rem;--leading-body:1.5rem}}@media (min-width:1400px){:root{--content-width-app:1400px}}@media (min-width:1600px){:root{--content-width-app:1500px}}@media (min-width:1920px){:root{--content-width-app:1600px}}[hidden]{display:none!important}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--background:#f8f6f1;--surface:#fff;--surface-elevated:#f1eee7;--border:#ded9cf;--primary:#c54424;--primary-hover:#a9361b;--primary-subtle:#fbe9e1;--herb:#246b55;--herb-subtle:#e6f1ec;--text-primary:#211c18;--text-secondary:#665f57;--success:#237a52;--warning:#a86408;--error:#b42318;--pro:#6a3d72;--pro-hover:#583160;--pro-subtle:#f1e8f3;--text-on-primary:#fff;--text-on-pro:#fff;--text-on-danger:#fff;--surface-glass:#ffffffd1;--chrome-background:#f8f6f1f5;--shadow-color:#211c181f;--shadow-default:0 1px 2px #211c180d, 0 8px 24px #211c1812;--shadow-hover:0 16px 38px #211c181f}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--background:#11110f;--surface:#191815;--surface-elevated:#23211d;--border:#34312b;--primary:#f0744b;--primary-hover:#ff8963;--primary-subtle:#3a2118;--herb:#68b398;--herb-subtle:#18342b;--text-primary:#f5f1ea;--text-secondary:#b8b0a7;--success:#6cc392;--warning:#e7b254;--error:#ff8178;--pro:#c095c8;--pro-hover:#d1a8d8;--pro-subtle:#342638;--text-on-primary:#211c18;--text-on-pro:#211c18;--text-on-danger:#211c18;--surface-glass:#191815d6;--chrome-background:#11110ff0;--shadow-color:#0000006b;--shadow-default:0 1px 2px #00000047, 0 8px 24px #00000052;--shadow-hover:0 18px 42px #00000075}@media (prefers-color-scheme:dark){:root:not([data-theme]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--background:#11110f;--surface:#191815;--surface-elevated:#23211d;--border:#34312b;--primary:#f0744b;--primary-hover:#ff8963;--primary-subtle:#3a2118;--herb:#68b398;--herb-subtle:#18342b;--text-primary:#f5f1ea;--text-secondary:#b8b0a7;--success:#6cc392;--warning:#e7b254;--error:#ff8178;--pro:#c095c8;--pro-hover:#d1a8d8;--pro-subtle:#342638;--text-on-primary:#211c18;--text-on-pro:#211c18;--text-on-danger:#211c18;--surface-glass:#191815d6;--chrome-background:#11110ff0;--shadow-color:#0000006b;--shadow-default:0 1px 2px #00000047, 0 8px 24px #00000052;--shadow-hover:0 18px 42px #00000075}}*{box-sizing:border-box}html{height:100%;overflow-x:hidden}body{min-height:100%;font-family:var(--font-sans);color:var(--text-primary);background:var(--background);transition:var(--transition-theme);-moz-text-size-adjust:100%;text-size-adjust:100%;background-repeat:no-repeat;background-size:100% 100%;background-attachment:fixed;margin:0;overflow-x:hidden}a{color:var(--primary-hover)}.app{flex-direction:column;width:100%;max-width:none;min-height:100vh;margin:0 auto;display:flex}.btn{min-height:var(--control-height);align-items:center;gap:var(--space-2);border-radius:var(--radius-control);font-size:var(--text-small);font-weight:var(--font-weight-semibold);cursor:pointer;transition:var(--transition-interactive);border:none;justify-content:center;padding:10px 18px;text-decoration:none;display:inline-flex}@media (max-width:640px){.btn{min-height:var(--control-height-mobile)}}.btn-primary{background:var(--primary);color:var(--text-on-primary);box-shadow:0 10px 22px color-mix(in srgb, var(--primary) 24%, transparent)}.btn-primary:hover{background:var(--primary-hover);transform:translateY(-1px)}.btn-secondary{background:var(--surface-glass);color:var(--text-primary);border:1px solid var(--border)}.btn-secondary:hover{background:var(--surface);border-color:color-mix(in srgb, var(--primary) 32%, var(--border))}.btn-pro{background:var(--pro);color:var(--text-on-pro);box-shadow:0 12px 24px color-mix(in srgb, var(--pro) 24%, transparent)}.btn-pro:hover{background:var(--pro-hover);transform:translateY(-1px)}.btn-danger{background:var(--error);color:#fff}.btn-danger:hover{background:color-mix(in srgb, var(--error) 84%, black)}.btn:active,.nav-btn:active,.install:active{transform:translateY(0)scale(.98)}.btn:focus-visible,.nav-btn:focus-visible,.install:focus-visible,.theme-toggle:focus-visible,.burger-btn:focus-visible,.nav-sidebar-close:focus-visible{box-shadow:var(--focus-ring);outline:none}.ui-button{isolation:isolate;min-width:0;min-height:var(--control-height);border-radius:var(--radius-control);color:var(--text-primary);font:inherit;font-size:var(--text-small);font-weight:var(--font-weight-semibold);text-align:center;cursor:pointer;-webkit-user-select:none;user-select:none;transition:var(--transition-interactive);background:0 0;border:1px solid #0000;grid-template-areas:"control";place-items:center;line-height:1.2;text-decoration:none;display:inline-grid;position:relative}.ui-button__content,.ui-button__spinner{grid-area:control}.ui-button__content{justify-content:center;align-items:center;gap:var(--space-2);min-width:0;display:inline-flex}.ui-button__content[aria-hidden=true]{visibility:hidden}.ui-button__label{min-width:0}.ui-button__icon,.ui-button__icon>svg,.ui-icon-button__icon,.ui-icon-button__icon>svg{flex:none;width:1.125rem;height:1.125rem}.ui-button__icon,.ui-icon-button__icon{justify-content:center;align-items:center;display:inline-flex}.ui-button__spinner{border-radius:var(--radius-circle);border:2px solid;border-right-color:#0000;width:1.125rem;height:1.125rem;animation:.7s linear infinite spin}.ui-button--small{min-height:var(--control-height-compact);padding:var(--space-2) var(--space-3)}.ui-button--default{min-height:var(--control-height);padding:10px 18px}.ui-button--large{min-height:var(--control-height-mobile);padding:12px var(--space-5);font-size:var(--text-body)}.ui-button--full-width{width:100%}.ui-button--primary{background:var(--primary);color:var(--text-on-primary);box-shadow:var(--glow-primary)}.ui-button--primary:hover:not(:disabled):not([aria-disabled=true]){background:var(--primary-hover);transform:translateY(-1px)}.ui-button--secondary{border-color:var(--border);background:var(--surface);color:var(--text-primary)}.ui-button--secondary:hover:not(:disabled):not([aria-disabled=true]){border-color:color-mix(in srgb, var(--primary) 36%, var(--border));background:var(--surface-elevated)}.ui-button--tertiary{background:var(--primary-subtle);color:var(--primary-hover)}.ui-button--tertiary:hover:not(:disabled):not([aria-disabled=true]){background:color-mix(in srgb, var(--primary) 18%, var(--primary-subtle))}.ui-button--ghost{color:var(--text-secondary)}.ui-button--ghost:hover:not(:disabled):not([aria-disabled=true]){background:var(--surface-elevated);color:var(--text-primary)}.ui-button--danger{background:var(--error);color:var(--text-on-danger)}.ui-button--danger:hover:not(:disabled):not([aria-disabled=true]){background:var(--danger-hover);transform:translateY(-1px)}.ui-button--pro{background:var(--pro);color:var(--text-on-pro);box-shadow:var(--glow-pro)}.ui-button--pro:hover:not(:disabled):not([aria-disabled=true]){background:var(--pro-hover);transform:translateY(-1px)}.ui-button:active:not(:disabled):not([aria-disabled=true]){transform:translateY(0)scale(.98)}.ui-button:focus-visible{box-shadow:var(--focus-ring);outline:none}.ui-button:disabled,.ui-button[aria-disabled=true]{opacity:.58;cursor:not-allowed;box-shadow:none}.ui-icon-button{width:var(--control-height);padding:0}.ui-icon-button.ui-button--small{width:var(--control-height-compact)}.ui-icon-button.ui-button--large{width:var(--control-height-mobile)}@media (max-width:640px){.ui-button--primary:not(.ui-button--small),.ui-button--danger:not(.ui-button--small),.ui-button--pro:not(.ui-button--small){min-height:var(--control-height-mobile)}.ui-icon-button.ui-button--primary:not(.ui-button--small),.ui-icon-button.ui-button--danger:not(.ui-button--small),.ui-icon-button.ui-button--pro:not(.ui-button--small){width:var(--control-height-mobile)}}@media (prefers-reduced-motion:reduce){.ui-button{transition:none}}.spinner{animation:1s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.error-state,.empty-state{align-items:center;gap:var(--space-4);padding:var(--space-8) var(--space-5);text-align:center;color:var(--text-secondary);flex-direction:column;display:flex}.error-state p,.empty-state p{margin:0}.topbar{background:var(--chrome-background);-webkit-backdrop-filter:blur(18px);border-bottom:1px solid var(--border);height:calc(var(--topbar-height,72px) + env(safe-area-inset-top));padding:env(safe-area-inset-top) max(20px,(100vw - var(--content-width-chrome))/2 + var(--space-6)) 0;align-items:center;gap:var(--space-5);box-shadow:none;z-index:100;grid-template-columns:auto 1fr auto;display:grid;position:fixed;top:0;left:0;right:0}.brand{align-items:center;gap:12px;min-width:0;display:flex}.brand-link{align-items:center;gap:10px;min-width:0;text-decoration:none;display:flex;position:relative}.brand-link:after{content:attr(data-tooltip);z-index:10;border-radius:var(--radius-sm);background:var(--fg);color:var(--surface-1);opacity:0;pointer-events:none;padding:5px 8px;font-size:11px;font-weight:650;line-height:1;transition:opacity .12s .35s,transform .12s .35s;position:absolute;top:calc(100% + 10px);left:50%;transform:translate(-50%,-3px)}.brand-link:hover:after,.brand-link:focus-visible:after{opacity:1;transform:translate(-50%)}.icon{object-fit:cover;border-radius:10px;width:38px;height:38px;box-shadow:0 8px 20px #1f1c181a}.brand h1{font-family:var(--font-inter),system-ui,sans-serif;letter-spacing:0;color:var(--fg);font-size:17px;font-weight:800}.subtitle{color:var(--muted);margin-top:2px;font-size:11px}.theme-toggle,.install,.nav-btn{border-radius:var(--radius-pill);cursor:pointer;justify-content:center;align-items:center;gap:6px;height:42px;font-size:14px;font-weight:600;text-decoration:none;transition:background .2s,color .2s;display:flex}.theme-toggle{background:var(--surface-1);border:1px solid var(--hairline);border-radius:var(--radius-circle);width:40px;height:40px;color:var(--text);padding:0}.theme-toggle:hover{background:var(--surface-1);border-color:color-mix(in srgb, var(--primary) 26%, var(--hairline))}.theme-toggle i{width:18px;height:18px}[data-theme=light] .theme-toggle svg,:root:not([data-theme]) .theme-toggle svg{stroke:#60a5fa;color:#60a5fa}@media (prefers-color-scheme:light){:root:not([data-theme]) .theme-toggle svg{stroke:#60a5fa;color:#60a5fa}}[data-theme=dark] .theme-toggle svg{stroke:#fbbf24;color:#fbbf24}@media (prefers-color-scheme:dark){:root:not([data-theme]) .theme-toggle svg{stroke:#fbbf24;color:#fbbf24}}.install{background:var(--install);color:#fff;border-radius:var(--radius-lg);min-height:44px;box-shadow:0 10px 22px color-mix(in srgb, var(--install) 22%, transparent);border:1px solid #0000;padding:0 16px}.install:hover{filter:brightness(.98);transform:translateY(-1px)}.install i,.install svg{flex-shrink:0;width:18px;height:18px}.pwa-install-wrap{align-items:center;gap:6px;display:none;position:relative}.pwa-install-dismiss{border:1px solid var(--hairline);border-radius:var(--radius-circle);background:var(--surface-1);width:28px;height:28px;color:var(--muted);justify-content:center;align-items:center;display:inline-flex}.pwa-install-dismiss:hover{color:var(--fg)}.pwa-install-tip{z-index:20;border:1px solid var(--hairline);background:var(--surface-1);width:min(260px,100vw - 32px);box-shadow:var(--elev-card-shadow);color:var(--fg);border-radius:12px;align-items:flex-start;gap:8px;padding:10px 12px;font-size:.82rem;line-height:1.35;display:inline-flex;position:absolute;top:calc(100% + 10px);right:0}.pwa-install-sidebar{flex-direction:column;align-items:stretch;display:flex}.pwa-install-sidebar .pwa-install-tip{width:100%;margin-top:6px;position:static}.nav-btn{background:var(--primary);color:#fff;border-radius:var(--radius-pill);box-shadow:var(--glow-primary);border:1px solid #0000;padding:0 20px}.nav-btn:hover{background:var(--primary-dark);transform:translateY(-1px)}.nav-btn i{flex-shrink:0;width:18px;height:18px}.topbar-nav{width:fit-content;max-width:100%;min-height:40px;box-shadow:none;background:0 0;border:0;border-radius:999px;justify-content:center;justify-self:center;align-items:center;gap:4px;padding:0;display:inline-flex}.topbar-nav .nav-link{border-radius:var(--radius);white-space:nowrap;padding:6px 8px;font-size:14px;text-decoration:none;transition:background .15s,color .15s}.topbar-nav .nav-link:hover{background:#7f7f7f14}.topbar-nav-link{color:var(--muted);white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:8px 14px;font-size:14px;font-weight:500;line-height:1;text-decoration:none;transition:background .15s,color .15s;display:flex}.topbar-nav-link:hover{background:color-mix(in srgb, var(--surface-2) 72%, transparent);color:var(--fg)}.topbar-nav-link.active,.topbar-nav-link[aria-current=page]{background:color-mix(in srgb, var(--primary) 10%, transparent);color:var(--primary);font-weight:600}.topbar-nav-link svg{flex-shrink:0;width:16px;height:16px}.burger-btn{background:var(--surface-glass);border:1px solid var(--hairline);border-radius:var(--radius);cursor:pointer;width:44px;height:44px;color:var(--fg);flex-shrink:0;justify-content:center;align-items:center;display:none}.burger-btn svg{width:20px;height:20px}.topbar-actions{justify-content:flex-end;align-items:center;gap:12px;min-width:0;display:flex}.topbar-actions-desktop{align-items:center;display:flex}.mobile-header-menu{display:none}.nav-sidebar-backdrop{z-index:200;opacity:0;background:#0006;transition:opacity .25s;display:none;position:fixed;inset:0}.nav-sidebar-backdrop.open{opacity:1;display:block}.nav-sidebar{background:var(--surface-1);border-right:1px solid var(--hairline);z-index:201;flex-direction:column;width:280px;max-width:85vw;padding:0;transition:transform .25s cubic-bezier(.4,0,.2,1);display:flex;position:fixed;top:0;bottom:0;left:0;transform:translate(-100%);box-shadow:18px 0 54px #1f1c182e}.nav-sidebar.open{transform:translate(0)}.nav-sidebar-header{padding:16px;padding-top:calc(16px + env(safe-area-inset-top));border-bottom:1px solid var(--hairline);justify-content:space-between;align-items:center;display:flex}.nav-sidebar-title{font-family:var(--font-inter),system-ui,sans-serif;letter-spacing:-.02em;color:var(--fg);font-size:18px;font-weight:800}.nav-sidebar-close{background:var(--surface-2);border:1px solid var(--hairline);border-radius:var(--radius);cursor:pointer;width:44px;height:44px;color:var(--fg);justify-content:center;align-items:center;display:flex}.nav-sidebar-close svg{width:18px;height:18px}.nav-sidebar-links{flex-direction:column;flex:1;gap:2px;padding:12px 8px;display:flex;overflow-y:auto}.nav-sidebar-link{border-radius:var(--radius);color:var(--fg);align-items:center;gap:12px;padding:12px;font-size:15px;font-weight:500;text-decoration:none;transition:background .15s,color .15s;display:flex}.nav-sidebar-link:hover{background:#7f7f7f14}.nav-sidebar-link.active,.nav-sidebar-link[aria-current=page]{background:color-mix(in srgb, var(--primary) 11%, var(--surface-1));color:var(--primary);font-weight:800}.nav-sidebar-link svg{flex-shrink:0;width:20px;height:20px}.nav-sidebar-divider{background:var(--hairline);height:1px;margin:8px}.nav-sidebar-actions{padding:12px 8px;padding-bottom:calc(12px + env(safe-area-inset-bottom));flex-direction:column;gap:8px;display:flex}.nav-sidebar-theme-row{justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.nav-sidebar-actions .theme-toggle,.nav-sidebar-actions .install{justify-content:flex-start;width:100%;height:42px;padding:0 12px}.nav-sidebar-actions .install span{display:inline!important}@media (max-width:640px){.nav-btn .nav-text{display:none}.theme-toggle,.install,.nav-btn{height:44px;padding:0 10px}.topbar-nav,.topbar-actions-desktop{display:none}.burger-btn{display:flex}.topbar{padding:env(safe-area-inset-top) 14px 0;box-sizing:border-box;max-width:100vw}.brand h1{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}}.content{max-width:var(--content-width-app);width:100%;margin:0 auto;margin-top:calc(72px + env(safe-area-inset-top));flex:1;padding:40px 20px}.cards{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px;margin-bottom:64px;display:grid}.card{background:linear-gradient(180deg, color-mix(in srgb, var(--surface-1) 94%, var(--brand-saffron)), var(--surface-1));box-shadow:var(--elev-card-shadow);border:1px solid var(--hairline);border-radius:var(--radius-xl);color:var(--fg);transition:var(--t-card);cursor:pointer;flex-direction:column;gap:12px;padding:32px 24px;text-decoration:none;display:flex}.card:hover{box-shadow:var(--elev-hover-shadow);border-color:color-mix(in srgb, var(--primary) 34%, var(--hairline));transform:translateY(-4px)}.card-icon{margin-bottom:8px;font-size:48px}[data-theme=dark] .card-icon img{filter:brightness(1.3)contrast(1.1)}@media (prefers-color-scheme:dark){:root:not([data-theme]) .card-icon img{filter:brightness(1.3)contrast(1.1)}}.card h3{font-family:var(--font-inter),system-ui,sans-serif;letter-spacing:-.02em;color:var(--fg);font-size:22px;font-weight:800}.card p{color:var(--muted);flex:1;font-size:14px;line-height:1.6}.card-action{color:var(--primary);margin-top:8px;font-size:14px;font-weight:600}.footer{background:var(--surface-elevated);border-top:1px solid var(--border);padding:var(--space-7) var(--space-5) var(--space-5)}.footer-content{gap:var(--space-6);max-width:var(--content-width-app);margin:0 auto var(--space-6);grid-template-columns:1.5fr repeat(4,1fr);display:grid}@media (max-width:768px){.footer-content{text-align:center;grid-template-columns:1fr}}.footer-brand{gap:var(--space-2);flex-direction:column;display:flex}.footer-brand .footer-logo{object-fit:contain;width:48px;height:48px}.footer-brand h3{font-size:var(--text-body);font-weight:var(--font-weight-bold);color:var(--text-primary)}.footer-brand p{overflow-wrap:anywhere}.footer-links{display:contents}.footer-column{flex-direction:column;gap:10px;display:flex}.footer-column h4{text-transform:uppercase;letter-spacing:.5px;color:var(--muted);margin-bottom:4px;font-size:13px;font-weight:700}.footer-column a{color:var(--fg);font-size:14px;text-decoration:none}.footer-column a:hover{color:var(--primary)}.footer-bottom{text-align:center;border-top:1px solid var(--hairline);max-width:var(--max-app-width,1200px);margin:0 auto;padding-top:24px}.footer p{color:var(--muted);font-size:12px}@media (max-width:768px){.topbar{padding:env(safe-area-inset-top) 16px 0;gap:8px}.brand h1{font-size:14px}.subtitle{display:none}.icon{width:40px;height:40px}.content{margin-top:calc(60px + env(safe-area-inset-top));padding:24px 16px}.cards{grid-template-columns:1fr;gap:16px}}button,select{cursor:pointer}select.just-cleared{outline:2px solid var(--primary)}.footer .social-links{flex-direction:column;align-items:flex-start;gap:8px;margin-top:8px;display:flex}.footer .social-links a{align-items:center;gap:6px;text-decoration:none;display:inline-flex}.footer .social-links a:hover,.footer .social-links a:focus{text-decoration:underline}.social-icon{width:20px;height:20px;display:inline-block}@media (max-width:560px){.footer{padding-inline:18px}.footer-content{text-align:center;justify-items:center;gap:26px}.footer-brand{align-items:center}.footer-brand .footer-logo{margin-inline:auto}.footer-links{grid-template-columns:1fr;justify-items:center;gap:22px;width:100%;display:grid}.footer-column,.footer .social-links{align-items:center}}.share-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.share-btn{border-radius:var(--radius);border:1px solid var(--hairline);background:var(--surface-1);color:var(--muted);cursor:pointer;align-items:center;gap:4px;padding:5px 10px;font-size:12px;font-weight:500;line-height:1;text-decoration:none;transition:background .2s,color .2s,border-color .2s;display:inline-flex}.share-btn:hover{color:var(--fg);border-color:var(--primary)}.share-btn svg{flex-shrink:0;width:14px;height:14px}.share-btn.copied{background:var(--accent);color:#fff;border-color:var(--accent)}.faq-section{background:var(--surface-1);border:1px solid var(--hairline);border-radius:var(--radius-xl);box-shadow:var(--elev-card-shadow);margin-top:56px;padding:40px 32px}.faq-header{align-items:center;gap:12px;margin-bottom:24px;display:flex}.faq-icon{font-size:28px;line-height:1}.faq-heading{font-family:var(--font-inter),system-ui,sans-serif;letter-spacing:-.02em;color:var(--fg);font-size:26px;font-weight:800}.faq-list{flex-direction:column;gap:10px;display:flex}.faq-item{background:var(--surface-2);border:1px solid var(--hairline);border-radius:var(--radius);transition:box-shadow .2s,border-color .2s;overflow:hidden}.faq-item[open]{box-shadow:0 4px 16px var(--shadow);border-color:var(--primary)}.faq-question{color:var(--fg);cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;gap:16px;padding:18px 22px;font-size:15px;font-weight:500;list-style:none;transition:color .2s,background .15s;display:flex}.faq-question::-webkit-details-marker{display:none}.faq-question:after{content:"";background:#e8651a1f url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' fill='none' stroke='%23E8651A' stroke-width='2.5' stroke-linecap='round'%3E%3Cpath d='M7 2v10M2 7h10'/%3E%3C/svg%3E") 50% no-repeat;border-radius:50%;flex-shrink:0;width:28px;height:28px;transition:transform .25s,background-color .2s}.faq-item[open] .faq-question:after{background-color:#e8651a33;transform:rotate(45deg)}.faq-question:hover{color:var(--primary);background:#e8651a0a}.faq-answer{color:var(--muted);padding:0 22px 20px;font-size:14px;font-weight:300;line-height:1.8}.faq-answer a{color:var(--primary);text-decoration:underline}.faq-answer a:hover{text-decoration:none}.cs-wrap{flex-direction:column;display:inline-flex;position:relative}.cs-trigger{border-radius:var(--radius,10px);border:1px solid var(--hairline);background:var(--input-bg,#fff);width:100%;color:var(--fg);font-family:var(--font-inter),system-ui,sans-serif;cursor:pointer;text-align:left;white-space:nowrap;outline:none;justify-content:space-between;align-items:center;gap:8px;transition:border-color .2s,box-shadow .2s;display:flex}.cs-trigger:hover{border-color:var(--primary)}.cs-trigger:focus-visible,.cs-open .cs-trigger{border-color:var(--primary);box-shadow:0 0 0 3px #e8651a1f}.cs-value{text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.cs-arrow{color:var(--muted);flex-shrink:0;align-items:center;transition:transform .2s;display:flex}.cs-arrow svg{width:14px;height:14px;display:block}.cs-open .cs-arrow{transform:rotate(180deg)}.cs-list{background:var(--surface-1,#fff);border:1px solid var(--hairline);border-radius:var(--radius,10px);z-index:300;min-width:100%;max-height:240px;margin:0;padding:4px;list-style:none;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto;box-shadow:0 4px 20px #00000024}.cs-option{cursor:pointer;font-family:var(--font-inter),system-ui,sans-serif;color:var(--fg);white-space:nowrap;border-radius:6px;outline:none;justify-content:space-between;align-items:center;gap:12px;padding:9px 12px;font-size:14px;transition:background .1s,color .1s;display:flex}.cs-option:hover,.cs-option:focus{color:var(--primary);background:#e8651a14}.cs-option.cs-selected{color:var(--primary);font-weight:600}.cs-option.cs-selected:after{content:"";border:2px solid;border-width:0 2px 2px 0;flex:none;width:5px;height:9px;transform:rotate(45deg)}.controls.cs-overflow{overflow:visible}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@keyframes skeleton-shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton{background:linear-gradient(90deg, var(--surface-2) 25%, color-mix(in srgb, var(--surface-3) 60%, var(--surface-1)) 50%, var(--surface-2) 75%);background-size:200% 100%;border-radius:6px;animation:1.5s linear infinite skeleton-shimmer}.skeleton-card{background:var(--surface-1);border:1px solid var(--hairline);border-radius:var(--radius-lg);box-shadow:var(--elev-card-shadow);flex-direction:column;display:flex;overflow:hidden}.skeleton-img{aspect-ratio:16/9;width:100%}.skeleton-body{flex-direction:column;gap:10px;padding:14px 16px 16px;display:flex}.skeleton-title{width:80%;height:18px}.skeleton-title-short{width:55%;height:18px}.skeleton-line{width:40%;height:12px}.grecaptcha-badge{visibility:hidden!important}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}.theme-toggle-label{font-size:13px;font-weight:600;line-height:1}html[data-auth=true] .topbar-nav-link[href=\/history],html[data-auth=true] .nav-sidebar-link[href=\/history],html[data-auth=true] .auth-dropdown-item[href=\/history],html[data-auth=true] .topbar-nav-link[href=\/cookbook],html[data-auth=true] .nav-sidebar-link[href=\/cookbook]{display:flex!important}.profile-menu{position:relative}.profile-menu__trigger{width:var(--control-height-compact);height:var(--control-height-compact);border:2px solid var(--primary);border-radius:var(--radius-circle);background:var(--primary);color:var(--text-on-primary);font-size:var(--text-small);font-weight:var(--font-weight-bold);cursor:pointer;flex:none;justify-content:center;align-items:center;padding:0;display:flex;overflow:hidden}.profile-menu__avatar{object-fit:cover;width:100%;height:100%;display:block}.profile-menu__trigger:focus-visible{box-shadow:var(--focus-ring);outline:none}.profile-dropdown{z-index:1000;gap:var(--space-1);min-width:160px;margin-top:var(--space-2);padding:var(--space-2);border:1px solid var(--border);border-radius:var(--radius-control);background:var(--chrome-background);box-shadow:var(--shadow-default);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:grid;position:absolute;top:100%;right:0}.profile-dropdown-link,.profile-dropdown-btn{justify-items:start;width:100%}.topbar-create{white-space:nowrap}.mobile-bottom-nav{display:none}@media (max-width:1024px){.mobile-bottom-nav{z-index:190;min-height:calc(64px + env(safe-area-inset-bottom));padding:6px 6px env(safe-area-inset-bottom);border-top:1px solid var(--hairline);background:var(--chrome-background);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);grid-template-columns:repeat(5,minmax(0,1fr));display:grid;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -8px 28px #1f1c1814}.mobile-bottom-nav__item{border-radius:var(--radius);min-width:0;min-height:52px;color:var(--muted);font:inherit;background:0 0;border:0;flex-direction:column;justify-content:center;align-items:center;gap:3px;padding:4px 2px;font-size:11px;font-weight:650;text-decoration:none;display:flex}.mobile-bottom-nav__item .material-symbols-outlined{font-size:23px}.mobile-bottom-nav__item.active{color:var(--primary)}.mobile-bottom-nav__create .material-symbols-outlined{border-radius:var(--radius-pill);background:var(--primary);width:34px;height:30px;color:var(--text-on-primary);place-items:center;display:grid}.app>main:not(.admin-main){padding-bottom:calc(72px + env(safe-area-inset-bottom))}.app>main.admin-main{padding-bottom:0}.topbar-create{display:none}}@media (max-width:768px){.topbar-actions-desktop{display:none}.nav-sidebar{top:auto;right:8px;bottom:calc(70px + env(safe-area-inset-bottom));border:1px solid var(--hairline);border-radius:var(--radius-xl);width:auto;max-width:none;max-height:min(680px,100dvh - 90px);left:8px;transform:translateY(calc(100% + 90px));box-shadow:0 18px 54px #1f1c1838}.nav-sidebar.open{transform:translateY(0)}.nav-sidebar-links{flex:0 auto}}.mobile-bottom-nav :is(a,button):focus-visible{outline:3px solid var(--primary);outline-offset:-3px}@media (max-width:480px){.topbar{padding-right:max(12px,env(safe-area-inset-right));padding-left:max(12px,env(safe-area-inset-left));grid-template-columns:auto minmax(0,1fr) auto;gap:10px}.mobile-header-menu{display:inline-flex}.topbar-search{display:none}.brand-link{gap:8px;max-width:100%}.brand-link .icon{flex:0 0 34px;width:34px;height:34px}.brand-link .subtitle{display:none}.brand-link h1{text-overflow:clip;white-space:nowrap;font-size:1rem;overflow:visible}.topbar-actions{gap:0}}.access-preview{box-sizing:border-box;border:1px solid var(--hairline);border-radius:var(--radius-xl);background:var(--surface-1);min-width:0;max-width:980px;box-shadow:var(--elev-card-shadow);color:var(--fg);grid-template-columns:minmax(0,1fr);gap:22px;margin:0 auto;padding:clamp(22px,4vw,42px);display:grid}.access-preview--pro{border-color:color-mix(in srgb, var(--pro) 32%, var(--hairline));background:linear-gradient(135deg, color-mix(in srgb, var(--pro) 8%, var(--surface-1)), var(--surface-1) 45%)}.access-preview__copy{max-width:680px}.access-preview__eyebrow{color:var(--pro);letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:7px;font-size:.78rem;font-weight:800;display:inline-flex}.access-preview--account .access-preview__eyebrow{color:var(--accent)}.access-preview h1{font-family:var(--font-playfair),Georgia,serif;margin:8px 0 10px;font-size:clamp(2rem,4vw,3.1rem);font-weight:400;line-height:1.08}.access-preview__copy>p{color:var(--muted);line-height:1.6}.access-preview__note{border-left:3px solid var(--pro);margin-top:10px;padding-left:12px;font-size:.9rem}.access-preview__example{border:1px solid var(--hairline);border-radius:var(--radius-lg);background:color-mix(in srgb, var(--surface-2) 62%, var(--surface-1));min-width:0;padding:clamp(15px,3vw,22px)}.access-preview-list{gap:9px;display:grid}.access-preview-list__label{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:.76rem;font-weight:800}.access-preview-list article{border:1px solid var(--hairline);border-radius:var(--radius);background:var(--surface-1);align-items:center;gap:11px;min-height:58px;padding:10px 12px;display:flex}.access-preview-list article>svg{color:var(--accent);flex:none}.access-preview-list article div{gap:3px;min-width:0;display:grid}.access-preview-list article strong{color:var(--fg);font-size:.95rem}.access-preview-list article span{color:var(--muted);font-size:.82rem}.access-preview__actions,.nav-auth-actions,.nav-sidebar-auth-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.access-preview__actions a,.access-preview__actions button,.nav-signin-btn:not(.ui-button),.nav-sidebar-auth-actions button:not(.ui-button){border:1px solid var(--hairline);border-radius:var(--radius-pill);background:var(--surface-1);min-height:42px;color:var(--fg);font:inherit;cursor:pointer;justify-content:center;align-items:center;gap:7px;padding:0 16px;font-size:.9rem;font-weight:750;text-decoration:none;display:inline-flex}.access-preview__actions a:hover,.access-preview__actions button:hover,.nav-signin-btn:not(.ui-button):hover,.nav-sidebar-auth-actions button:not(.ui-button):hover{border-color:color-mix(in srgb, var(--primary) 48%, var(--hairline));color:var(--primary)}.access-preview__actions a:focus-visible,.access-preview__actions button:focus-visible,.nav-signin-btn:not(.ui-button):focus-visible,.nav-sidebar-auth-actions button:not(.ui-button):focus-visible{box-shadow:var(--focus-ring);outline:none}.access-preview__create-action,.nav-btn--signup{background:var(--primary)!important;border-color:var(--primary)!important;color:#fff!important}.access-preview__pro-action{background:var(--pro)!important;border-color:var(--pro)!important;color:#fff!important}.access-preview__create-action:hover,.nav-btn--signup:hover{background:var(--primary-hover)!important}.access-preview__pro-action:hover{background:var(--pro-hover)!important}.nav-auth-actions{justify-content:flex-end}.nav-sidebar-auth-actions{padding:0 8px 8px}.nav-sidebar-auth-actions button{width:100%}@media (max-width:1440px){.topbar{grid-template-columns:auto 1fr auto;gap:14px}.topbar-nav{display:none}.burger-btn{display:flex}}@media (max-width:640px){.nav-auth-actions .nav-signin-btn{display:none}.nav-btn--signup{width:44px;min-width:44px;padding:0}.nav-btn--signup .ui-button__label{display:none}.access-preview{padding:22px 17px}.access-preview__actions>*{width:100%}}@media (prefers-reduced-motion:reduce){.access-preview *,.nav-auth-actions *,.nav-sidebar-auth-actions *{transition:none!important}}.access-preview__checking{min-height:42px;color:var(--muted);align-items:center;font-size:.9rem;font-weight:650;display:inline-flex}@media (min-width:1025px){.topbar{grid-template-columns:auto minmax(0,1fr) auto;gap:16px;padding-inline:clamp(20px,2vw,40px)}.topbar-nav{scrollbar-width:thin;justify-content:safe center;width:100%;min-width:0;overflow-x:auto}}.topbar :is(button,a):focus-visible,.nav-sidebar :is(button,a):focus-visible{outline:3px solid var(--primary);outline-offset:3px}.access-preview h2{font-family:var(--font-display);margin:8px 0 10px;font-size:clamp(1.6rem,3vw,2.3rem);line-height:1.15}.nutrition-locked button{color:var(--primary);cursor:pointer;font:inherit;background:0 0;border:0;text-decoration:underline}@keyframes route-section-fade-in{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:no-preference){.app>main>:not(.home-shell)>:where(header,section,article,nav,div,form,h1,h2,p,a,aside):not(.recipes-browser,[hidden],[role=dialog],[aria-modal=true],[class*=modal],[class*=backdrop],script,style),.app>main>.home-shell>.home-main>section:not(:first-child){animation:.3s ease-out .24s backwards route-section-fade-in}.app>main>:not(.home-shell)>:where(header,section,article,nav,div,form,h1,h2,p,a,aside):not(.recipes-browser,[hidden],[role=dialog],[aria-modal=true],[class*=modal],[class*=backdrop],script,style):nth-child(1 of :not([hidden],script,style,[role=dialog],[aria-modal=true],[class*=modal],[class*=backdrop])){animation-delay:40ms}.app>main>.home-shell>.home-main>section:not(:first-child):nth-child(1 of :not([hidden],script,style,[role=dialog],[aria-modal=true],[class*=modal],[class*=backdrop])){animation-delay:40ms}.app>main>:not(.home-shell)>:where(header,section,article,nav,div,form,h1,h2,p,a,aside):not(.recipes-browser,[hidden],[role=dialog],[aria-modal=true],[class*=modal],[class*=backdrop],script,style):nth-child(2 of :not([hidden],script,style,[role=dialog],[aria-modal=true],[class*=modal],[class*=backdrop])){animation-delay:60ms}.app>main>.home-shell>.home-main>section:not(:first-child):nth-child(2 of :not([hidden],script,style,[role=dialog],[aria-modal=true],[class*=modal],[class*=backdrop])){animation-delay:60ms}.app>main>:not(.home-shell)>:where(header,section,article,nav,div,form,h1,h2,p,a,aside):not(.recipes-browser,[hidden],[role=dialog],[aria-modal=true],[class*=modal],[class*=backdrop],script,style):nth-child(3 of :not([hidden],script,style,[role=dialog],[aria-modal=true],[class*=modal],[class*=backdrop])){animation-delay:80ms}.app>main>.home-shell>.home-main>section:not(:first-child):nth-child(3 of :not([hidden],script,style,[role=dialog],[aria-modal=true],[class*=modal],[class*=backdrop])){animation-delay:80ms}.app>main>:not(.home-shell)>:where(header,section,article,nav,div,form,h1,h2,p,a,aside):not(.recipes-browser,[hidden],[role=dialog],[aria-modal=true],[class*=modal],[class*=backdrop],script,style):nth-child(4 of :not([hidden],script,style,[role=dialog],[aria-modal=true],[class*=modal],[class*=backdrop])){animation-delay:.1s}.app>main>.home-shell>.home-main>section:not(:first-child):nth-child(4 of :not([hidden],script,style,[role=dialog],[aria-modal=true],[class*=modal],[class*=backdrop])){animation-delay:.1s}.app>main>:not(.home-shell)>:where(header,section,article,nav,div,form,h1,h2,p,a,aside):not(.recipes-browser,[hidden],[role=dialog],[aria-modal=true],[class*=modal],[class*=backdrop],script,style):nth-child(5 of :not([hidden],script,style,[role=dialog],[aria-modal=true],[class*=modal],[class*=backdrop])){animation-delay:.12s}.app>main>.home-shell>.home-main>section:not(:first-child):nth-child(5 of :not([hidden],script,style,[role=dialog],[aria-modal=true],[class*=modal],[class*=backdrop])){animation-delay:.12s}.app>main>:not(.home-shell)>:where(header,section,article,nav,div,form,h1,h2,p,a,aside):not(.recipes-browser,[hidden],[role=dialog],[aria-modal=true],[class*=modal],[class*=backdrop],script,style):nth-child(6 of :not([hidden],script,style,[role=dialog],[aria-modal=true],[class*=modal],[class*=backdrop])){animation-delay:.14s}.app>main>.home-shell>.home-main>section:not(:first-child):nth-child(6 of :not([hidden],script,style,[role=dialog],[aria-modal=true],[class*=modal],[class*=backdrop])){animation-delay:.14s}.app>main>:not(.home-shell)>:where(header,section,article,nav,div,form,h1,h2,p,a,aside):not(.recipes-browser,[hidden],[role=dialog],[aria-modal=true],[class*=modal],[class*=backdrop],script,style):nth-child(7 of :not([hidden],script,style,[role=dialog],[aria-modal=true],[class*=modal],[class*=backdrop])){animation-delay:.16s}.app>main>.home-shell>.home-main>section:not(:first-child):nth-child(7 of :not([hidden],script,style,[role=dialog],[aria-modal=true],[class*=modal],[class*=backdrop])){animation-delay:.16s}.app>main>:not(.home-shell)>:where(header,section,article,nav,div,form,h1,h2,p,a,aside):not(.recipes-browser,[hidden],[role=dialog],[aria-modal=true],[class*=modal],[class*=backdrop],script,style):nth-child(8 of :not([hidden],script,style,[role=dialog],[aria-modal=true],[class*=modal],[class*=backdrop])){animation-delay:.18s}.app>main>.home-shell>.home-main>section:not(:first-child):nth-child(8 of :not([hidden],script,style,[role=dialog],[aria-modal=true],[class*=modal],[class*=backdrop])){animation-delay:.18s}.app>main>:not(.home-shell)>:where(header,section,article,nav,div,form,h1,h2,p,a,aside):not(.recipes-browser,[hidden],[role=dialog],[aria-modal=true],[class*=modal],[class*=backdrop],script,style):nth-child(9 of :not([hidden],script,style,[role=dialog],[aria-modal=true],[class*=modal],[class*=backdrop])){animation-delay:.2s}.app>main>.home-shell>.home-main>section:not(:first-child):nth-child(9 of :not([hidden],script,style,[role=dialog],[aria-modal=true],[class*=modal],[class*=backdrop])){animation-delay:.2s}.app>main>:not(.home-shell)>:where(header,section,article,nav,div,form,h1,h2,p,a,aside):not(.recipes-browser,[hidden],[role=dialog],[aria-modal=true],[class*=modal],[class*=backdrop],script,style):nth-child(10 of :not([hidden],script,style,[role=dialog],[aria-modal=true],[class*=modal],[class*=backdrop])){animation-delay:.22s}.app>main>.home-shell>.home-main>section:not(:first-child):nth-child(10 of :not([hidden],script,style,[role=dialog],[aria-modal=true],[class*=modal],[class*=backdrop])){animation-delay:.22s}}:root{--app-sidebar-width:232px;--app-sidebar-width-collapsed:76px}.app-sidebar{display:none}@media (min-width:1025px){.app-sidebar{top:calc(var(--topbar-height,72px) + env(safe-area-inset-top));width:var(--app-sidebar-width);background:var(--surface-1);border-right:1px solid var(--hairline);z-index:90;transition:width .2s var(--ease-standard,ease);flex-direction:column;display:flex;position:fixed;bottom:0;left:0;overflow:visible}.app-sidebar.no-transition{transition:none}.app-sidebar.collapsed{width:var(--app-sidebar-width-collapsed)}.app>main:not(.admin-main){margin-left:var(--app-sidebar-width);transition:margin-left .2s var(--ease-standard,ease)}.app-sidebar.collapsed~main:not(.admin-main){margin-left:var(--app-sidebar-width-collapsed)}.topbar-nav{display:none!important}}.app-sidebar-links{flex-direction:column;flex:1;gap:2px;padding:16px 10px;display:flex;overflow:hidden auto}.app-sidebar-link{border-radius:var(--radius);color:var(--fg);white-space:nowrap;align-items:center;gap:12px;padding:11px 12px;font-size:14px;font-weight:600;text-decoration:none;transition:background .15s,color .15s;display:flex}.app-sidebar-link svg{flex-shrink:0}.app-sidebar-link:hover{background:#7f7f7f14}.app-sidebar-link.active,.app-sidebar-link[aria-current=page]{background:color-mix(in srgb, var(--primary) 11%, var(--surface-1));color:var(--primary);font-weight:800}.app-sidebar-link-label{text-overflow:ellipsis;overflow:hidden}.app-sidebar.collapsed .app-sidebar-link{justify-content:center;padding-inline:0}.app-sidebar.collapsed .app-sidebar-link-label{display:none}.app-sidebar-section-label{color:var(--muted);letter-spacing:.02em;margin:22px 12px 7px;font-size:11px;font-weight:750}.app-sidebar-tools{gap:2px;display:grid}.app-sidebar.collapsed .app-sidebar-section-label{background:var(--hairline);color:#0000;height:1px;margin:18px 8px 8px;overflow:hidden}.app-sidebar-toggle{border:1px solid var(--hairline);border-radius:var(--radius-circle);background:var(--surface-1);width:26px;height:26px;color:var(--muted);box-shadow:var(--elev-card-shadow);cursor:pointer;justify-content:center;align-items:center;padding:0;transition:background .15s,color .15s,transform .15s;display:flex;position:absolute;top:24px;right:-13px}.app-sidebar-toggle:hover{color:var(--primary);background:var(--surface-2);transform:scale(1.08)}.app-sidebar :is(a,button):focus-visible{outline:3px solid var(--primary);outline-offset:-3px}.search-bar{flex:1;width:100%;min-width:0;max-width:560px;margin:0 auto;position:relative}.search-input-wrap{border-radius:var(--radius-pill);background:var(--input-bg);border:1px solid var(--hairline);align-items:center;gap:8px;height:44px;padding:0 12px;display:flex;position:relative}.search-input-wrap:focus-within{border-color:color-mix(in srgb, var(--primary) 45%, var(--hairline));box-shadow:var(--focus-ring)}.search-input-icon{color:var(--muted);flex-shrink:0}.search-input-wrap input{min-width:0;color:var(--input-text);background:0 0;border:none;outline:none;flex:1;height:100%;font-size:14px}.search-input-wrap input::-webkit-search-cancel-button{display:none}.search-input-clear{width:24px;height:24px;color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.search-input-clear:hover{color:var(--fg);background:#7f7f7f1f}.search-dropdown{background:var(--surface-1);border:1px solid var(--hairline);border-radius:var(--radius-lg);box-shadow:var(--elev-hover-shadow);z-index:150;flex-direction:column;max-height:min(480px,70vh);display:flex;position:absolute;top:calc(100% + 8px);left:0;right:0;overflow:hidden}.search-dropdown-results{padding:8px;overflow-y:auto}.search-dropdown-status,.search-dropdown-empty{color:var(--muted);align-items:center;gap:8px;padding:14px 12px;font-size:13px;display:flex}.search-dropdown-section+.search-dropdown-section{margin-top:6px}.search-dropdown-section-label{text-transform:uppercase;letter-spacing:.5px;color:var(--muted);padding:8px 10px 4px;font-size:11px;font-weight:700}.search-result-row{border-radius:var(--radius);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:10px;width:100%;padding:8px 10px;display:flex}.search-result-row:hover,.search-result-row.active{background:#7f7f7f14}.search-result-thumb{border-radius:var(--radius-sm);object-fit:cover;background:var(--surface-2);flex-shrink:0;width:40px;height:40px}.search-result-text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.search-result-title{color:var(--fg);text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:600;overflow:hidden}.search-result-meta{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.search-result-external{color:var(--muted);flex-shrink:0}.search-generate-ai{border:none;border-top:1px solid var(--hairline);background:var(--surface-2);width:100%;color:var(--primary);cursor:pointer;flex-shrink:0;justify-content:center;align-items:center;gap:8px;padding:13px 12px;font-size:14px;font-weight:700;display:flex}.search-generate-ai:hover,.search-generate-ai.active{background:color-mix(in srgb, var(--primary) 10%, var(--surface-2))}.search-generate-ai--primary{background:var(--primary);color:#fff}.search-generate-ai--primary:hover{background:var(--primary-hover)}.search-spinner{animation:.8s linear infinite search-spin}@keyframes search-spin{to{transform:rotate(360deg)}}@media (max-width:640px){.search-bar{max-width:none}}.topbar-search{flex:1;min-width:0;display:flex}@media (max-width:768px){.topbar-search{display:none}}.nav-sidebar-search{border-bottom:1px solid var(--hairline);padding:12px 16px}.nav-sidebar-search .search-bar{max-width:none}.nav-sidebar-search .search-dropdown{max-height:min(360px,60vh)}.material-symbols-outlined{letter-spacing:normal;text-transform:none;white-space:nowrap;word-wrap:normal;-webkit-font-smoothing:antialiased;font-variation-settings:"FILL" 0,"wght" 400,"GRAD" 0,"opsz" 24;direction:ltr;font-family:Material Symbols Outlined;font-style:normal;font-weight:400;line-height:1;display:inline-block}.app-sidebar-link .material-symbols-outlined,.nav-sidebar-link .material-symbols-outlined{flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;display:inline-flex}.app-sidebar-link>span:last-child,.nav-sidebar-link>span:last-child{line-height:20px}
.auth-modal-overlay{z-index:300;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0000008c;justify-content:center;align-items:center;padding:20px;animation:.2s ease-out authFadeIn;display:flex;position:fixed;inset:0}.auth-modal-overlay[hidden]{display:none}@keyframes authFadeIn{0%{opacity:0}to{opacity:1}}@keyframes authSlideUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.auth-modal{border-radius:var(--radius,12px);width:100%;max-width:400px;padding:32px 28px;position:relative}.auth-modal-close{width:44px;height:44px;padding:0;position:absolute;top:12px;right:12px}.auth-modal-logo{border-radius:12px;width:48px;height:48px;margin:0 auto 16px;display:block}.auth-modal-title{text-align:center;color:var(--fg);margin-bottom:4px;font-family:Playfair Display,Georgia,serif;font-size:22px;font-weight:700}.auth-modal-title>span{display:block}.auth-modal-subtitle{text-align:center;color:var(--muted);margin-bottom:24px;font-size:13px}.auth-tabs{border-bottom:2px solid var(--hairline);margin-bottom:20px;display:flex}.auth-tab{color:var(--muted);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;flex:1;margin-bottom:-2px;padding:10px;font-family:Inter,system-ui,sans-serif;font-size:14px;font-weight:600;transition:color .15s,border-color .15s}.auth-tab.active{color:var(--primary);border-bottom-color:var(--primary)}.auth-field{margin-bottom:14px}.auth-field label{color:var(--muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:5px;font-size:12px;font-weight:600;display:block}.auth-field input{border-radius:var(--radius,10px);border:1px solid var(--hairline);background:var(--input-bg,#fff);width:100%;color:var(--input-text,var(--fg));outline:none;padding:11px 14px;font-family:Inter,system-ui,sans-serif;font-size:14px;transition:border-color .2s,box-shadow .2s}.auth-field input:focus{border-color:var(--primary);box-shadow:0 0 0 3px #e8651a1f}.auth-submit-btn{margin-top:4px}.auth-divider{color:var(--muted);align-items:center;gap:12px;margin:16px 0;font-size:12px;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:var(--hairline);flex:1;height:1px}.auth-google-btn{gap:10px}.auth-error{color:#d32f2f;text-align:center;min-height:18px;margin:10px 0 0;font-size:13px}.auth-forgot{text-align:right;margin-top:-8px;margin-bottom:10px}.auth-forgot a{color:var(--muted);font-size:12px;text-decoration:none}.auth-forgot a:hover{color:var(--primary);text-decoration:underline}.auth-sign-in-btn{background:var(--primary);color:#fff;border-radius:var(--radius,10px);cursor:pointer;border:1px solid #0000;justify-content:center;align-items:center;gap:6px;height:38px;padding:0 16px;font-family:Inter,system-ui,sans-serif;font-size:14px;font-weight:600;transition:background .2s;display:inline-flex}.auth-sign-in-btn svg{flex-shrink:0;width:18px;height:18px}.auth-sign-in-btn:hover{background:var(--primary-hover)}.auth-sign-in-btn[hidden]{display:none}@media (max-width:640px){.auth-sign-in-btn .btn-text{display:none}.auth-sign-in-btn{height:34px;padding:0 10px}.auth-avatar-btn{height:34px;padding:0}.auth-avatar{width:30px;height:30px}}.auth-avatar-btn{cursor:pointer;border-radius:var(--radius,10px);background:0 0;border:1px solid #0000;align-items:center;gap:8px;height:38px;padding:0 4px;transition:background .15s;display:inline-flex;position:relative}.auth-avatar-btn:hover{background:var(--hairline)}.auth-avatar{background:var(--primary);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;font-family:Inter,system-ui,sans-serif;font-size:12px;font-weight:700;display:flex;overflow:hidden}.auth-avatar img{object-fit:cover;width:100%;height:100%}.auth-dropdown{background:var(--surface-1,#fff);border:1px solid var(--hairline);border-radius:var(--radius,10px);z-index:100;min-width:180px;padding:6px;animation:.15s ease-out authSlideUp;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 8px 24px #0000001f}.auth-dropdown[hidden]{display:none}.auth-dropdown-name{color:var(--fg);border-bottom:1px solid var(--hairline);white-space:nowrap;text-overflow:ellipsis;margin-bottom:4px;padding:8px 12px 4px;font-size:13px;font-weight:600;overflow:hidden}.auth-dropdown-item{width:100%;color:var(--fg);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:8px;align-items:center;gap:8px;padding:9px 12px;font-family:Inter,system-ui,sans-serif;font-size:13px;font-weight:500;text-decoration:none;transition:background .12s;display:flex}.auth-dropdown-item:hover{background:var(--hairline)}.auth-dropdown-item--danger{color:#d32f2f}.onboarding-overlay{z-index:300;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0000008c;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.onboarding-overlay[hidden]{display:none}.onboarding-modal{background:var(--surface-1,#fff);border-radius:var(--radius,12px);width:100%;max-width:480px;padding:32px 28px;animation:.25s ease-out authSlideUp;box-shadow:0 20px 60px #0000004d}.onboarding-progress{gap:6px;margin-bottom:24px;display:flex}.onboarding-progress-dot{background:var(--hairline);border-radius:2px;flex:1;height:4px;transition:background .2s}.onboarding-progress-dot.active{background:var(--primary)}.onboarding-step-label{color:var(--muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px;font-size:12px;font-weight:600}.onboarding-title{color:var(--fg);margin-bottom:20px;font-family:Playfair Display,Georgia,serif;font-size:22px;font-weight:700}.onboarding-chips{flex-wrap:wrap;gap:8px;margin-bottom:24px;display:flex}.onboarding-chip{border:1.5px solid var(--hairline);background:var(--surface-1);color:var(--fg);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:20px;padding:8px 16px;font-family:Inter,system-ui,sans-serif;font-size:13px;font-weight:500;transition:border-color .15s,background .15s,color .15s}.onboarding-chip.selected{border-color:var(--primary);background:color-mix(in srgb, var(--primary) 12%, transparent);color:var(--primary);font-weight:600}.onboarding-actions{justify-content:space-between;align-items:center;gap:12px;display:flex}.onboarding-skip{color:var(--muted);cursor:pointer;background:0 0;border:none;padding:8px;font-family:Inter,system-ui,sans-serif;font-size:13px;text-decoration:underline}.onboarding-skip:hover{color:var(--fg)}.onboarding-next-btn{background:var(--primary);color:#fff;border-radius:var(--radius,10px);cursor:pointer;border:none;padding:12px 28px;font-family:Inter,system-ui,sans-serif;font-size:14px;font-weight:600;transition:background .2s}.onboarding-next-btn:hover{background:var(--primary-hover)}.profile-loading{text-align:center;color:var(--muted);padding:60px 20px;font-size:15px}.profile-form{flex-direction:column;gap:32px;max-width:560px;margin:0 auto;display:flex}.pref-section-title{color:var(--fg);margin-bottom:14px;font-family:Playfair Display,Georgia,serif;font-size:18px;font-weight:600}.profile-save-row{align-items:center;gap:16px;display:flex}.profile-save-msg{color:var(--accent,#2a6049);font-size:13px}
.ThemeToggle-module-scss-module__dHZAwW__toggle{background:var(--surface-1);border:1px solid var(--hairline);cursor:pointer;width:40px;height:40px;transition:background var(--dur,.2s),border-color var(--dur,.2s),color var(--dur,.2s),transform var(--dur-fast,.15s);border-radius:50%;justify-content:center;align-items:center;padding:0;display:flex}.ThemeToggle-module-scss-module__dHZAwW__toggle:hover{background:var(--surface-2,#f7f4ed);border-color:var(--primary,#e8651a)}.ThemeToggle-module-scss-module__dHZAwW__toggle:focus-visible{box-shadow:var(--focus-ring,0 0 0 3px #e8651a2e);outline:none}.ThemeToggle-module-scss-module__dHZAwW__icon{width:18px;height:18px;color:var(--fg,#1a1a18);transition:transform .3s}.ThemeToggle-module-scss-module__dHZAwW__toggle:hover .ThemeToggle-module-scss-module__dHZAwW__icon{transform:rotate(15deg)scale(1.1)}@media (max-width:640px){.ThemeToggle-module-scss-module__dHZAwW__toggle{width:40px;height:40px}}
