@font-face{font-family:Libre Caslon Text;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/05ba3ff6b3078756-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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:Libre Caslon Text;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/bde84f5436717993-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Libre Caslon Text;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/d8fc89f1baf4fe9c-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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:Libre Caslon Text;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/dbdc01c23a00f505-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Libre Caslon Text Fallback;src:local("Times New Roman");ascent-override:82.44%;descent-override:22.10%;line-gap-override:0.00%;size-adjust:117.66%}.__className_05bd2e{font-family:Libre Caslon Text,Libre Caslon Text Fallback;font-style:normal}.__variable_05bd2e{--font-headline-loaded:"Libre Caslon Text","Libre Caslon Text Fallback"}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/cd79e1ff94fa521b-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/89362aa296165c6d-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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:Be Vietnam Pro;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/e11f95d95ac59fa4-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/00f4982f357db61e-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/62a3c74fa0e47362-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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:Be Vietnam Pro;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/8201559e247ad180-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/9ddf1512dbee9c99-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/8247d8d2a376ae43-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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:Be Vietnam Pro;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/e270c9fc4fe96f5a-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Be Vietnam Pro Fallback;src:local("Arial");ascent-override:90.61%;descent-override:24.01%;line-gap-override:0.00%;size-adjust:110.36%}.__className_12a4f4{font-family:Be Vietnam Pro,Be Vietnam Pro Fallback;font-style:normal}.__variable_12a4f4{--font-body-loaded:"Be Vietnam Pro","Be Vietnam Pro Fallback"}:root{--color-surface:#fcf9f4;--color-surface-bright:#fcf9f4;--color-surface-container-low:#f6f3ee;--color-surface-container:#f0ede9;--color-surface-container-high:#ebe8e3;--color-surface-container-lowest:#ffffff;--color-surface-variant:#e5e2dd;--color-on-surface:#1c1c19;--color-on-surface-variant:#414845;--color-primary:#16342b;--color-on-primary:#ffffff;--color-primary-container:#2d4b41;--color-on-primary-container:#99baad;--color-secondary:#974723;--color-tertiary-fixed:#d8e8ca;--color-on-tertiary-fixed:#131f0d;--color-paper-shadow:#e6e1d6;--color-outline-variant:#c1c8c4;--color-ink:#1a1918;--font-headline:var(--font-headline-loaded),"Libre Caslon Text",serif;--font-body:var(--font-body-loaded),"Be Vietnam Pro",sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--color-surface);color:var(--color-ink);font-family:var(--font-body)}h1,h2,h3{font-family:var(--font-headline);color:var(--color-primary);margin:0}a{color:inherit}.site-header{display:none}@media (min-width:768px){.site-header{display:flex;align-items:center;justify-content:space-between;padding:0 24px;height:64px;position:-webkit-sticky;position:sticky;top:0;background:var(--color-surface);z-index:40}}.site-header .brand{display:flex;align-items:center;gap:12px}.site-header .brand-name{font-family:var(--font-headline);font-size:24px;font-weight:600;color:var(--color-primary)}.avatar{width:32px;height:32px;border-radius:9999px;background:var(--color-surface-container-high);border:1px solid var(--color-paper-shadow)}.hero{padding:48px 20px}@media (min-width:768px){.hero{padding:64px 48px}}@media (min-width:1024px){.hero{padding:96px}}.hero-grid{display:grid;grid-template-columns:1fr;grid-gap:32px;gap:32px;align-items:center;max-width:1280px;margin:0 auto}@media (min-width:1024px){.hero-grid{grid-template-columns:1fr 1fr}}.hero-copy h1{font-size:26px;line-height:32px;font-weight:700;max-width:32rem}@media (min-width:768px){.hero-copy h1{font-size:32px;line-height:40px}}.hero-copy p{margin-top:24px;font-size:18px;line-height:28px;color:var(--color-on-surface-variant);max-width:28rem}.btn-primary{display:inline-flex;align-items:center;justify-content:center;margin-top:24px;padding:0 24px;height:48px;border-radius:8px;background:var(--color-primary);color:var(--color-on-primary);text-decoration:none;font-weight:500;font-size:14px;border:none;cursor:pointer;transition:background-color .15s,color .15s}.btn-primary:hover{background:var(--color-primary-container);color:var(--color-on-primary-container)}.hero-mockup{position:relative;height:400px;border-radius:12px;overflow:hidden;border:1px solid var(--color-paper-shadow);display:flex;box-shadow:0 4px 12px rgba(26,25,24,.08);background:var(--color-surface)}@media (min-width:768px){.hero-mockup{height:500px}}.hero-mockup-sidebar{width:64px;height:100%;background:var(--color-surface-container-low);border-right:1px solid var(--color-paper-shadow);display:flex;flex-direction:column;align-items:center;padding:24px 0;gap:24px;flex-shrink:0}.hero-mockup-sidebar .icon-tile{width:32px;height:32px;border-radius:6px;background:var(--color-surface-variant);color:var(--color-on-surface-variant);display:flex;align-items:center;justify-content:center;font-size:16px}.hero-mockup-sidebar .icon-tile.active{background:var(--color-primary-container);color:var(--color-on-primary-container)}.hero-mockup-main{flex:1 1;min-width:0;height:100%;padding:24px;display:flex;flex-direction:column;gap:24px;background:var(--color-surface-bright)}.hero-mockup-toolbar{display:flex;justify-content:space-between;align-items:center}.skeleton-bar{height:24px;width:33%;background:var(--color-surface-variant);border-radius:6px}.skeleton-pill{height:32px;width:96px;background:color-mix(in srgb,var(--color-primary-container) 20%,transparent);border-radius:9999px}.hero-mockup-cards{display:grid;grid-template-columns:1fr 1fr;grid-gap:16px;gap:16px;flex:1 1;min-height:0}.mockup-card{background:var(--color-surface-container-lowest);border-radius:8px;border:1px solid var(--color-outline-variant);padding:12px;display:flex;flex-direction:column;gap:12px;box-shadow:0 1px 2px rgba(26,25,24,.06)}.mockup-card-image{height:96px;border-radius:6px;width:100%;background:linear-gradient(135deg,#6fc9a8,#2fb6c4)}.mockup-card-image.alt{background:linear-gradient(135deg,#16342b,#4fd1e0)}.mockup-card-title{height:16px;width:75%;background:color-mix(in srgb,var(--color-on-surface) 80%,transparent);border-radius:4px}.mockup-card-tags{display:flex;gap:8px}.mockup-card-tags span{height:12px;width:48px;background:var(--color-surface-variant);border-radius:9999px}.mockup-scan-cta{grid-column:span 2;background:var(--color-surface-container-low);border-radius:8px;padding:16px;display:flex;align-items:center;justify-content:center;border:2px dashed var(--color-outline-variant);gap:8px;color:var(--color-primary);font-size:14px;font-weight:500}.features{padding:48px 20px;max-width:1280px;margin:0 auto}@media (min-width:768px){.features{padding:48px}}@media (min-width:1024px){.features{padding:48px 96px}}.features h2{font-size:24px;line-height:30px;font-weight:600;margin-bottom:32px}.bento-grid{display:grid;grid-template-columns:1fr;grid-gap:16px;gap:16px}@media (min-width:768px){.bento-grid{grid-template-columns:repeat(3,1fr)}}.bento-card{border-radius:12px;padding:24px;border:1px solid var(--color-paper-shadow);box-shadow:0 1px 2px rgba(26,25,24,.05);display:flex;flex-direction:column;justify-content:space-between}.bento-card.span-2{grid-column:span 1}@media (min-width:768px){.bento-card.span-2{grid-column:span 2}}.bento-card.dark{background:var(--color-primary-container);color:var(--color-on-primary-container)}.bento-card.neutral{background:var(--color-surface-container-high);color:var(--color-ink)}.bento-card.tertiary{background:var(--color-tertiary-fixed);color:var(--color-on-tertiary-fixed)}.bento-card .icon{font-size:32px;margin-bottom:16px;display:block}.bento-card h3{font-size:20px;line-height:26px;font-weight:600;margin-bottom:8px;color:inherit}.bento-card p{margin:0;font-size:14px;line-height:20px;opacity:.9}.bento-card.dark p{font-size:16px;line-height:24px;max-width:32rem}.bento-card-demo{margin-top:24px;height:128px;border-radius:8px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.15);display:flex;align-items:center;justify-content:center;gap:16px;font-size:22px;opacity:.6}.bento-fridge{display:flex;flex-direction:column;gap:24px}@media (min-width:768px){.bento-fridge{flex-direction:row;align-items:center}}.bento-fridge-copy{flex:1 1}.bento-fridge-copy p{font-size:16px;line-height:24px;max-width:32rem}.bento-fridge-visual{width:100%;height:96px;border-radius:8px;background:rgba(255,255,255,.4);border:1px solid rgba(0,0,0,.08);display:flex;align-items:center;justify-content:center;font-size:32px;opacity:.6;flex-shrink:0}@media (min-width:768px){.bento-fridge-visual{width:33%}}.recent-recipes{padding:0 20px 64px;max-width:1280px;margin:0 auto}@media (min-width:768px){.recent-recipes{padding:0 48px 64px}}@media (min-width:1024px){.recent-recipes{padding:0 96px 64px}}.recent-recipes h2{font-size:24px;font-weight:600;margin-bottom:16px}.recipe-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));grid-gap:16px;gap:16px}.recipe-card{display:block;border:1px solid var(--color-paper-shadow);border-radius:12px;padding:16px;text-decoration:none;background:var(--color-surface-container-lowest)}.recipe-card h3{font-size:18px;color:var(--color-ink)}.recipe-card p{margin-top:4px;font-size:14px}.empty-state,.recipe-card p{color:var(--color-on-surface-variant)}