@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-vietnamese-wght-normal-CnvboYUG.woff2) format("woff2-variations");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:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-latin-ext-wght-normal-Ca2vKHc0.woff2) format("woff2-variations");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:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-latin-wght-normal-ukD16Tqj.woff2) format("woff2-variations");unicode-range:U+0000-00FF,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:Fraunces Variable;font-style:italic;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-vietnamese-wght-italic-BicUS2cM.woff2) format("woff2-variations");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:Fraunces Variable;font-style:italic;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-latin-ext-wght-italic-BfTTTDIL.woff2) format("woff2-variations");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:Fraunces Variable;font-style:italic;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-latin-wght-italic-Py8at3oI.woff2) format("woff2-variations");unicode-range:U+0000-00FF,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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2) format("woff2-variations");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-wght-normal-CkhJZR-_.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2) format("woff2-variations");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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2) format("woff2-variations");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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-normal-Dx4kXJAl.woff2) format("woff2-variations");unicode-range:U+0000-00FF,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}:root{--ink: #171916;--cream: #F7F5F0;--beige: #E8DFD0;--gold: #C6A779;--sage: #89947E;--grey: #888982;--bg: #F7F5F0;--surface: #FFFFFF;--surface-2: #EFEAE1;--raised: #FFFFFF;--text: #171916;--muted: #626459;--faint: #8A8B83;--line: rgba(23, 25, 22, .1);--line-strong: rgba(23, 25, 22, .18);--accent: #5E6A54;--accent-soft: #E2E6DC;--gold-ink: #8A6B3E;--gold-soft: #F1E8D8;--danger: #A2463A;--danger-soft: #F6E3DF;--tab-bg: rgba(247, 245, 240, .86);--shadow: 0 1px 2px rgba(23, 25, 22, .06), 0 8px 24px -12px rgba(23, 25, 22, .18);--font-display: "Fraunces Variable", "Fraunces", Georgia, serif;--font-body: "Inter Variable", "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--r-sm: 10px;--r-md: 16px;--r-lg: 24px;--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--tabbar-h: 62px;color-scheme:light}:root[data-theme=dark]{--bg: #171916;--surface: #20231F;--surface-2: #2A2D28;--raised: #262924;--text: #F7F5F0;--faint: #81827B;--line: rgba(247, 245, 240, .09);--line-strong: rgba(247, 245, 240, .18);--accent: #B3BDA7;--accent-soft: #2D332A;--gold-ink: #D8BD90;--gold-soft: #332C21;--danger: #E28C7F;--danger-soft: #3A2421;--tab-bg: rgba(23, 25, 22, .86);--shadow: 0 1px 2px rgba(0, 0, 0, .3), 0 10px 28px -14px rgba(0, 0, 0, .6);color-scheme:dark}:root[data-theme=dark]{--muted: #AAABA3}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;height:100%}body{margin:0;min-height:100%;background:var(--bg);color:var(--text);font-family:var(--font-body);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;overscroll-behavior-y:none}#root{min-height:100dvh}img{max-width:100%;display:block}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}:focus-visible{outline:2px solid var(--gold);outline-offset:2px;border-radius:6px}.num{font-variant-numeric:tabular-nums}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.cover{position:relative;width:100%;height:100%;display:block}.app{max-width:640px;margin:0 auto;min-height:100dvh;position:relative}.page{padding:calc(var(--safe-top) + 12px) 20px calc(var(--tabbar-h) + var(--safe-bottom) + 28px);animation:page-in .22s ease-out}.page.no-tabbar{padding-bottom:calc(var(--safe-bottom) + 28px)}@keyframes page-in{0%{opacity:0;transform:translateY(6px)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}.topbar{display:flex;align-items:center;gap:10px;min-height:44px;margin-bottom:8px}.topbar h1{margin:0;flex:1;font-family:var(--font-display);font-weight:560;font-size:1.25rem;letter-spacing:-.01em}.page-title{font-family:var(--font-display);font-weight:520;font-size:2.1rem;line-height:1.08;letter-spacing:-.02em;margin:6px 0 4px;font-variation-settings:"opsz" 96,"SOFT" 50}.page-sub{color:var(--muted);margin:0 0 18px}.icon-btn{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;border:0;background:var(--surface);box-shadow:var(--shadow);color:var(--text);flex:none}.icon-btn.ghost{background:transparent;box-shadow:none}.icon-btn.active{color:var(--gold-ink)}.icon{width:22px;height:22px;flex:none}.icon.sm{width:18px;height:18px}.tabbar{position:fixed;left:0;right:0;bottom:0;z-index:40;padding:6px 8px calc(var(--safe-bottom) + 4px);background:var(--tab-bg);backdrop-filter:saturate(160%) blur(18px);-webkit-backdrop-filter:saturate(160%) blur(18px);border-top:1px solid var(--line)}.tabbar-inner{max-width:640px;margin:0 auto;display:grid;grid-template-columns:repeat(5,1fr)}.tab{display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 0 4px;color:var(--faint);font-size:.68rem;font-weight:550;letter-spacing:.01em;position:relative;min-height:48px;transition:color .15s}.tab .icon{width:24px;height:24px}.tab.active{color:var(--text)}.tab.active:after{content:"";position:absolute;top:-6px;width:22px;height:2px;border-radius:2px;background:var(--gold)}.status-pill{position:fixed;top:calc(var(--safe-top) + 8px);left:50%;transform:translate(-50%);z-index:60;display:flex;align-items:center;gap:6px;padding:6px 12px;border-radius:99px;background:var(--ink);color:var(--cream);font-size:.8rem;box-shadow:var(--shadow)}.section{margin-top:30px}.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:12px}.section-head h2{margin:0;font-family:var(--font-display);font-weight:540;font-size:1.35rem;letter-spacing:-.01em}.section-head a,.link{color:var(--accent);font-size:.9rem;font-weight:550}.muted{color:var(--muted)}.small{font-size:.86rem}.prose p{margin:0 0 10px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 20px;border-radius:99px;border:1px solid transparent;font-weight:600;font-size:.97rem;transition:transform .12s,background .15s}.btn:active{transform:scale(.98)}.btn.primary{background:var(--ink);color:var(--cream)}:root[data-theme=dark] .btn.primary{background:var(--gold);color:var(--ink)}.btn.secondary{background:var(--surface);border-color:var(--line-strong);color:var(--text)}.btn.gold{background:var(--gold);color:var(--ink)}.btn.danger{background:var(--danger-soft);color:var(--danger)}.btn.block{width:100%}.btn.small{min-height:38px;padding:0 14px;font-size:.88rem}.btn:disabled{opacity:.45;pointer-events:none}.row{display:flex;gap:10px;align-items:center}.row.wrap{flex-wrap:wrap}.grow{flex:1;min-width:0}.stack{display:grid;gap:10px}.chips{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;margin:0 -20px;padding:2px 20px}.chips::-webkit-scrollbar{display:none}.chips.wrap{flex-wrap:wrap;overflow:visible;margin:0;padding:0}.chip{flex:none;display:inline-flex;align-items:center;gap:6px;min-height:38px;padding:0 14px;border-radius:99px;border:1px solid var(--line-strong);background:transparent;font-size:.9rem;font-weight:520;white-space:nowrap}.chip.on{background:var(--ink);border-color:var(--ink);color:var(--cream)}:root[data-theme=dark] .chip.on{background:var(--cream);color:var(--ink);border-color:var(--cream)}.tag{display:inline-flex;align-items:center;gap:4px;padding:3px 9px;border-radius:99px;background:var(--accent-soft);color:var(--accent);font-size:.78rem;font-weight:600}.tag.gold{background:var(--gold-soft);color:var(--gold-ink)}.tag.danger{background:var(--danger-soft);color:var(--danger)}.field{display:grid;gap:6px}.field>span{font-size:.86rem;font-weight:600;color:var(--muted)}.input,.select,.textarea{width:100%;min-height:48px;padding:12px 14px;border-radius:var(--r-sm);border:1px solid var(--line-strong);background:var(--surface);font-size:16px}.textarea{min-height:96px;resize:vertical;line-height:1.45}.input:focus,.select:focus,.textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.search{display:flex;align-items:center;gap:10px;padding:0 16px;min-height:52px;border-radius:99px;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);color:var(--muted)}.search input{border:0;background:transparent;outline:none;flex:1;min-width:0;font-size:16px;color:var(--text);height:50px}.segmented{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;padding:4px;border-radius:99px;background:var(--surface-2);gap:4px}.segmented button{border:0;background:transparent;min-height:38px;border-radius:99px;font-weight:600;font-size:.88rem;color:var(--muted);padding:0 8px}.segmented button.on{background:var(--surface);color:var(--text);box-shadow:var(--shadow)}.check{width:26px;height:26px;border-radius:50%;border:1.5px solid var(--line-strong);display:grid;place-items:center;flex:none;background:var(--surface);transition:background .15s,border-color .15s}.check.on{background:var(--accent);border-color:var(--accent);color:var(--surface)}.switch{position:relative;width:50px;height:30px;border-radius:99px;background:var(--line-strong);border:0;flex:none;transition:background .2s}.switch:after{content:"";position:absolute;top:3px;left:3px;width:24px;height:24px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #00000040;transition:transform .2s}.switch.on{background:var(--accent)}.switch.on:after{transform:translate(20px)}.card{background:var(--surface);border-radius:var(--r-md);box-shadow:var(--shadow)}.list{background:var(--surface);border-radius:var(--r-md);box-shadow:var(--shadow);overflow:hidden}.list-item{display:flex;align-items:center;gap:14px;padding:14px 16px;min-height:56px;border-bottom:1px solid var(--line);width:100%;text-align:left;background:transparent;border-left:0;border-right:0;border-top:0}.list-item:last-child{border-bottom:0}.list-item .icon{color:var(--muted)}.list-label{flex:1;min-width:0}.list-label small{display:block;color:var(--muted);font-size:.82rem}.hero{position:relative;display:block;border-radius:var(--r-lg);overflow:hidden;aspect-ratio:4 / 5;max-height:470px;width:100%;box-shadow:var(--shadow)}.hero .cover{position:absolute;top:0;right:0;bottom:0;left:0}.hero-body{position:absolute;left:0;right:0;bottom:0;padding:70px 22px 22px;color:#f7f5f0;background:linear-gradient(to top,rgba(17,19,16,.86),rgba(17,19,16,.45) 55%,transparent)}.hero-body h3{font-family:var(--font-display);font-weight:520;font-size:2rem;line-height:1.05;margin:6px 0 10px;letter-spacing:-.02em}.hero-meta{display:flex;flex-wrap:wrap;gap:14px;font-size:.86rem;opacity:.92}.hero-meta span{display:inline-flex;align-items:center;gap:5px}.eyebrow{font-size:.84rem;color:var(--gold);font-weight:600}.rail{display:grid;grid-auto-flow:column;grid-auto-columns:62%;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;margin:0 -20px;padding:4px 20px 10px;scrollbar-width:none}.rail::-webkit-scrollbar{display:none}.rail>*{scroll-snap-align:start}.tile{display:block}.tile .cover{aspect-ratio:1 / 1;border-radius:var(--r-md);overflow:hidden;box-shadow:var(--shadow)}.tile h4{margin:10px 0 2px;font-weight:620;font-size:.98rem;line-height:1.3}.tile p{margin:0;color:var(--muted);font-size:.83rem}.recipe-row{display:flex;gap:14px;align-items:center;padding:10px;border-radius:var(--r-md);background:var(--surface);box-shadow:var(--shadow)}.recipe-row .cover{width:84px;height:84px;border-radius:12px;overflow:hidden;flex:none}.recipe-row h4{margin:0 0 4px;font-size:1rem;font-weight:620;line-height:1.3}.recipe-row p{margin:0;color:var(--muted);font-size:.83rem;display:flex;gap:10px;flex-wrap:wrap}.country-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.country-card{position:relative;border-radius:var(--r-md);overflow:hidden;aspect-ratio:5 / 4;display:flex;align-items:flex-end;padding:14px;color:#f7f5f0;box-shadow:var(--shadow)}.country-card .cover{position:absolute;top:0;right:0;bottom:0;left:0}.country-card strong{position:relative;font-family:var(--font-display);font-weight:540;font-size:1.15rem;line-height:1.1}.country-card small{position:relative;display:block;opacity:.8;font-size:.76rem}.country-card:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to top,rgba(17,19,16,.65),transparent 60%)}.country-card>div{position:relative;z-index:1}.idea-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.idea{padding:16px;border-radius:var(--r-md);background:var(--surface);box-shadow:var(--shadow);display:grid;gap:10px;min-height:104px}.idea .icon{color:var(--gold-ink)}.idea strong{font-weight:620}.idea small{color:var(--muted);display:block;font-size:.8rem}.empty{text-align:center;padding:36px 20px;display:grid;justify-items:center;gap:10px}.empty .icon{width:36px;height:36px;color:var(--gold-ink)}.empty h3{margin:4px 0 0;font-family:var(--font-display);font-weight:540;font-size:1.3rem}.empty p{margin:0;color:var(--muted);max-width:32ch}.recipe-cover{position:relative;margin:calc(-1 * (var(--safe-top) + 12px)) -20px 0;height:min(64vh,440px)}.recipe-cover .cover{position:absolute;top:0;right:0;bottom:0;left:0}.recipe-cover .float-bar{position:absolute;top:calc(var(--safe-top) + 10px);left:16px;right:16px;display:flex;justify-content:space-between;gap:8px;z-index:2}.recipe-cover .float-bar .icon-btn{background:#f7f5f0e0;color:var(--ink);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.recipe-sheet{position:relative;margin:-28px -20px 0;padding:26px 20px 0;border-radius:28px 28px 0 0;background:var(--bg)}.recipe-title{font-family:var(--font-display);font-weight:520;font-size:2.3rem;line-height:1.04;letter-spacing:-.025em;margin:8px 0 12px;font-variation-settings:"opsz" 120,"SOFT" 30}.origin{color:var(--accent);font-weight:600;font-size:.92rem}.facts{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border-radius:var(--r-md);overflow:hidden;margin:20px 0}.facts div{background:var(--surface);padding:12px 6px;text-align:center}.facts strong{display:block;font-size:1rem;font-weight:650;font-variant-numeric:tabular-nums}.facts span{font-size:.74rem;color:var(--muted)}.servings{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-radius:var(--r-md);background:var(--ink);color:var(--cream);margin:0 0 14px}:root[data-theme=dark] .servings{background:var(--surface-2)}.servings-label{font-size:.86rem;opacity:.8}.servings-value{font-family:var(--font-display);font-size:1.9rem;font-weight:520;line-height:1;font-variant-numeric:tabular-nums}.servings .icon-btn{width:42px;height:42px;background:#f7f5f01f;box-shadow:none;color:var(--cream)}.portion-picks{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;margin-bottom:18px}.portion-picks::-webkit-scrollbar{display:none}.portion-picks button{flex:none;min-width:44px;height:40px;border-radius:12px;border:1px solid var(--line-strong);background:transparent;font-weight:600;font-variant-numeric:tabular-nums}.portion-picks button.on{background:var(--gold);border-color:var(--gold);color:var(--ink)}.ing-group h3{font-size:.95rem;font-weight:650;color:var(--muted);margin:18px 0 6px}.ing{display:flex;gap:14px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line);width:100%;background:none;border-left:0;border-right:0;border-top:0;text-align:left}.ing.done .ing-text{color:var(--faint);text-decoration:line-through;text-decoration-color:var(--line-strong)}.ing-qty{font-weight:680;font-variant-numeric:tabular-nums;min-width:76px}.ing-text{flex:1;min-width:0}.ing-text small{display:block;color:var(--muted);font-size:.82rem}.ing-exact{color:var(--gold-ink);font-size:.78rem;display:block;font-weight:500}.steps{list-style:none;padding:0;margin:0;counter-reset:step}.steps li{counter-increment:step;display:grid;grid-template-columns:36px 1fr;gap:12px;padding:16px 0;border-bottom:1px solid var(--line)}.steps li:before{content:counter(step);font-family:var(--font-display);font-size:1.5rem;font-weight:500;color:var(--gold-ink);line-height:1.1}.steps p{margin:0 0 8px}.step-meta{display:flex;flex-wrap:wrap;gap:8px}.tip{margin-top:8px;padding:10px 12px;border-radius:12px;background:var(--gold-soft);color:var(--text);font-size:.9rem;border-left:3px solid var(--gold)}.tips-block h3{font-family:var(--font-display);font-weight:540;font-size:1.1rem;margin:22px 0 8px}.tips-block ul{margin:0;padding-left:20px}.tips-block li{margin-bottom:6px}.stars{display:flex;gap:4px}.stars button{border:0;background:none;padding:4px;color:var(--line-strong)}.stars button.on{color:var(--gold)}.sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;background:#11131073;display:flex;align-items:flex-end;justify-content:center;animation:fade .18s ease-out}.sheet{width:100%;max-width:640px;max-height:88dvh;overflow-y:auto;background:var(--bg);border-radius:24px 24px 0 0;padding:10px 20px calc(var(--safe-bottom) + 20px);animation:rise .24s cubic-bezier(.2,.8,.2,1)}.sheet-grip{width:40px;height:5px;border-radius:3px;background:var(--line-strong);margin:0 auto 12px}.sheet h2{font-family:var(--font-display);font-weight:540;font-size:1.4rem;margin:0 0 14px}@keyframes fade{0%{opacity:0}}@keyframes rise{0%{transform:translateY(40px);opacity:.6}}.toast{position:fixed;left:50%;transform:translate(-50%);bottom:calc(var(--tabbar-h) + var(--safe-bottom) + 16px);z-index:90;background:var(--ink);color:var(--cream);padding:12px 18px;border-radius:14px;box-shadow:var(--shadow);font-size:.92rem;max-width:calc(100% - 40px);animation:rise .2s ease-out}:root[data-theme=dark] .toast{background:var(--cream);color:var(--ink)}.timer-dock{position:fixed;left:0;right:0;bottom:calc(var(--tabbar-h) + var(--safe-bottom) + 8px);z-index:39;padding:0 12px;pointer-events:none}.timer-dock.cooking{bottom:calc(var(--safe-bottom) + 96px)}.timer-dock-inner{max-width:616px;margin:0 auto;display:flex;gap:8px;overflow-x:auto;pointer-events:auto;scrollbar-width:none}.timer-chip{flex:none;display:flex;align-items:center;gap:8px;padding:8px 8px 8px 14px;border-radius:99px;background:var(--ink);color:var(--cream);box-shadow:var(--shadow);font-size:.88rem}:root[data-theme=dark] .timer-chip{background:var(--surface-2)}.timer-chip.ring{background:var(--gold);color:var(--ink);animation:pulse 1s ease-in-out infinite}.timer-chip button{border:0;background:#f7f5f024;color:inherit;width:32px;height:32px;border-radius:50%;display:grid;place-items:center}.timer-time{font-variant-numeric:tabular-nums;font-weight:700}@keyframes pulse{50%{transform:scale(1.04)}}.timer-card{padding:16px;display:grid;gap:12px}.timer-big{font-family:var(--font-display);font-size:2.6rem;font-weight:480;font-variant-numeric:tabular-nums;line-height:1}.cook{min-height:100dvh;display:flex;flex-direction:column;padding:calc(var(--safe-top) + 8px) 20px calc(var(--safe-bottom) + 16px);background:var(--bg)}.cook-progress{height:4px;border-radius:4px;background:var(--line);overflow:hidden;margin:8px 0 18px}.cook-progress div{height:100%;background:var(--gold);transition:width .3s}.cook-step-num{font-family:var(--font-display);color:var(--gold-ink);font-size:1.05rem}.cook-text{font-size:1.45rem;line-height:1.45;font-weight:450;margin:10px 0 18px;letter-spacing:-.005em}.cook-body{flex:1;overflow-y:auto;padding-bottom:120px}.cook-nav{position:fixed;left:0;right:0;bottom:0;padding:12px 20px calc(var(--safe-bottom) + 14px);background:linear-gradient(to top,var(--bg) 70%,transparent);z-index:30}.cook-nav-inner{max-width:600px;margin:0 auto;display:grid;grid-template-columns:1fr 2fr;gap:12px}.cook-nav .btn{min-height:64px;font-size:1.05rem;border-radius:20px}.big-chip{display:inline-flex;align-items:center;gap:8px;min-height:52px;padding:0 18px;border-radius:16px;border:1px solid var(--line-strong);background:var(--surface);font-weight:650;font-size:1rem}.stat-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.stat{padding:16px;border-radius:var(--r-md);background:var(--surface);box-shadow:var(--shadow)}.stat strong{display:block;font-family:var(--font-display);font-size:2rem;font-weight:500;line-height:1.1;font-variant-numeric:tabular-nums}.stat span{color:var(--muted);font-size:.84rem}.bar{height:8px;border-radius:6px;background:var(--surface-2);overflow:hidden}.bar div{height:100%;background:var(--sage);border-radius:6px}.table{width:100%;border-collapse:collapse;font-size:.92rem}.table td,.table th{padding:10px 8px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}.table th{color:var(--muted);font-weight:600;font-size:.82rem}.notice{padding:14px 16px;border-radius:var(--r-md);background:var(--accent-soft);color:var(--text);font-size:.92rem}.notice.warn{background:var(--gold-soft)}.notice.error{background:var(--danger-soft);color:var(--danger)}.aisle-title{font-size:.86rem;color:var(--muted);font-weight:650;margin:22px 0 8px}.shop-item{display:flex;align-items:center;gap:12px;padding:12px 14px;border-bottom:1px solid var(--line)}.shop-item:last-child{border-bottom:0}.shop-item.done .grow{color:var(--faint);text-decoration:line-through}.qty-input{width:84px;min-height:40px;padding:6px 10px;text-align:right}.logo-mark{color:var(--gold-ink)}.brand{display:flex;align-items:center;gap:10px}.brand-word{font-family:var(--font-display);font-weight:560;letter-spacing:.16em;font-size:1.05rem}.editor-row{display:grid;grid-template-columns:74px 110px 1fr 40px;gap:6px;align-items:start;margin-bottom:8px}.editor-row .input,.editor-row .select{min-height:42px;padding:8px 10px}@media(min-width:700px){.rail{grid-auto-columns:38%}.country-grid,.idea-grid,.stat-grid{grid-template-columns:repeat(3,1fr)}}@media print{:root{--bg: #fff;--surface: #fff;--text: #111;--muted: #444;--shadow: none}body{background:#fff}.tabbar,.timer-dock,.float-bar,.status-pill,.toast,.no-print,.icon-btn,.step-meta button{display:none!important}.page{padding:0!important;animation:none}.recipe-cover{height:180px;margin:0 0 12px;border-radius:12px;overflow:hidden}.recipe-sheet{margin:0;padding:0}.servings{background:#fff!important;color:#111!important;border:1px solid #ccc}.steps li,.ing{break-inside:avoid}.section{margin-top:18px}}:root{--ease-out: cubic-bezier(.22, 1, .36, 1);--ease-spring: cubic-bezier(.34, 1.36, .64, 1);--ease-in-out: cubic-bezier(.65, 0, .35, 1);--dur-1: .16s;--dur-2: .28s;--dur-3: .46s;--shadow: 0 1px 1px rgba(23, 25, 22, .03), 0 6px 20px -10px rgba(23, 25, 22, .16);--shadow-lift: 0 2px 4px rgba(23, 25, 22, .04), 0 18px 40px -18px rgba(23, 25, 22, .32);--r-md: 18px;--r-lg: 26px}:root[data-theme=dark]{--shadow: 0 1px 1px rgba(0, 0, 0, .25), 0 8px 24px -12px rgba(0, 0, 0, .55);--shadow-lift: 0 2px 4px rgba(0, 0, 0, .3), 0 22px 44px -18px rgba(0, 0, 0, .7)}html{scroll-behavior:smooth}body{text-rendering:optimizeLegibility;font-feature-settings:"kern","liga","calt"}::selection{background:var(--gold-soft)}.page{animation:page-in var(--dur-3) var(--ease-out) both}@keyframes page-in{0%{opacity:0;transform:translate3d(0,14px,0)}to{opacity:1;transform:none}}.page .stack>*,.page .rail>*,.page .country-grid>*,.page .idea-grid>*,.page .stat-grid>*,.page .list>*,.page .chips.wrap>*{animation:rise-in var(--dur-3) var(--ease-out) both}@keyframes rise-in{0%{opacity:0;transform:translate3d(0,12px,0) scale(.985)}to{opacity:1;transform:none}}.page :is(.stack,.rail,.country-grid,.idea-grid,.stat-grid,.list,.chips.wrap)>:nth-child(1){animation-delay:30ms}.page :is(.stack,.rail,.country-grid,.idea-grid,.stat-grid,.list,.chips.wrap)>:nth-child(2){animation-delay:70ms}.page :is(.stack,.rail,.country-grid,.idea-grid,.stat-grid,.list,.chips.wrap)>:nth-child(3){animation-delay:.11s}.page :is(.stack,.rail,.country-grid,.idea-grid,.stat-grid,.list,.chips.wrap)>:nth-child(4){animation-delay:.15s}.page :is(.stack,.rail,.country-grid,.idea-grid,.stat-grid,.list,.chips.wrap)>:nth-child(5){animation-delay:.19s}.page :is(.stack,.rail,.country-grid,.idea-grid,.stat-grid,.list,.chips.wrap)>:nth-child(6){animation-delay:.23s}.page :is(.stack,.rail,.country-grid,.idea-grid,.stat-grid,.list,.chips.wrap)>:nth-child(n+7){animation-delay:.26s}.section{animation:rise-in var(--dur-3) var(--ease-out) both}.btn,.chip,.icon-btn,.tile,.hero,.recipe-row,.country-card,.idea,.card,.list-item,.portion-picks button,.segmented button,.tab,.search,.big-chip,.check{transition:transform var(--dur-1) var(--ease-out),background-color var(--dur-2) var(--ease-out),color var(--dur-2) var(--ease-out),box-shadow var(--dur-2) var(--ease-out),border-color var(--dur-2) var(--ease-out),opacity var(--dur-2);-webkit-user-select:none;user-select:none}:is(.btn,.chip,.icon-btn,.portion-picks button,.big-chip):active{transform:scale(.95)}:is(.tile,.hero,.recipe-row,.country-card,.idea,a.card,button.card,.search):active{transform:scale(.975)}.list-item:active{background:var(--surface-2)}@media(hover:hover){:is(.recipe-row,.country-card,.idea,a.card):hover{box-shadow:var(--shadow-lift);transform:translateY(-2px)}.tile:hover .cover,.hero:hover .cover svg{transform:scale(1.03)}}.tile .cover,.hero .cover svg,.country-card .cover svg{transition:transform .7s var(--ease-out)}.card,.list,.recipe-row,.idea,.stat{box-shadow:var(--shadow);border:1px solid var(--line)}.recipe-row{padding:10px 14px 10px 10px;gap:16px}.recipe-row .cover{width:76px;height:76px;border-radius:14px}.recipe-row h4{font-family:var(--font-display);font-weight:520;font-size:1.08rem;letter-spacing:-.01em}.tile .cover{border-radius:20px;box-shadow:var(--shadow-lift)}.tile h4{font-family:var(--font-display);font-weight:520;font-size:1.05rem;margin-top:12px;letter-spacing:-.01em}.hero{border-radius:30px;box-shadow:var(--shadow-lift)}.hero-body h3{font-size:2.3rem;letter-spacing:-.03em}.country-card{border-radius:20px}.idea{border-radius:20px;padding:18px}.section{margin-top:38px}.section-head h2{font-size:1.45rem;letter-spacing:-.02em}.page-title{font-size:2.35rem;letter-spacing:-.035em;line-height:1.04}.search{border-radius:18px;box-shadow:none;background:var(--surface-2);border-color:transparent}:root[data-theme=dark] .search{background:var(--surface)}.chip{border-color:var(--line-strong);min-height:40px}.cover img{opacity:0;transition:opacity .5s var(--ease-out)}.cover img.loaded{opacity:1}.tabbar{border-top:0;box-shadow:0 -1px 0 var(--line)}.tabbar-inner{position:relative}.tab-pill{position:absolute;top:4px;height:52px;width:calc(20% - 8px);left:4px;border-radius:16px;background:var(--surface-2);transform:translate(calc(var(--i, 0) * (100% + 8px)));transition:transform .42s var(--ease-spring),opacity .2s;z-index:0}:root[data-theme=dark] .tab-pill{background:var(--surface)}.tab{z-index:1}.tab .icon{transition:transform .36s var(--ease-spring)}.tab.active .icon{transform:translateY(-1px) scale(1.08);color:var(--gold-ink)}.tab:active .icon{transform:scale(.85)}.sheet-backdrop{animation:fade var(--dur-2) var(--ease-out);backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)}.sheet-backdrop.closing{animation:fade-out var(--dur-2) var(--ease-out) forwards}.sheet{animation:sheet-up .42s var(--ease-out);border-radius:28px 28px 0 0;will-change:transform;touch-action:pan-y}.sheet.closing{animation:sheet-down var(--dur-2) var(--ease-in-out) forwards}.sheet-grip{width:44px;height:5px;margin-bottom:16px;cursor:grab}@keyframes sheet-up{0%{transform:translate3d(0,100%,0)}to{transform:none}}@keyframes sheet-down{to{transform:translate3d(0,100%,0)}}@keyframes fade-out{to{opacity:0}}.check.on{animation:pop .32s var(--ease-spring)}@keyframes pop{0%{transform:scale(.7)}60%{transform:scale(1.12)}to{transform:scale(1)}}.servings-value{display:inline-block;animation:tick .38s var(--ease-spring)}@keyframes tick{0%{transform:translateY(8px) scale(.85);opacity:.2}to{transform:none;opacity:1}}.ing-qty{transition:color var(--dur-2)}.ing .ing-qty,.ing .ing-text{transition:opacity var(--dur-2),color var(--dur-2)}.ing.done .ing-qty{color:var(--faint)}.toast{animation:toast-in .42s var(--ease-spring);border-radius:16px;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}@keyframes toast-in{0%{transform:translate(-50%,20px) scale(.96);opacity:0}to{transform:translate(-50%);opacity:1}}.icon-btn.active .icon{animation:pop .38s var(--ease-spring)}.cook-text{animation:rise-in var(--dur-3) var(--ease-out)}.cook-progress div{transition:width .5s var(--ease-out)}.timer-chip{animation:rise-in var(--dur-2) var(--ease-spring)}.recipe-cover .cover svg,.recipe-cover .cover img{transform:translate3d(0,calc(var(--scroll, 0) * .35px),0) scale(calc(1 + var(--pull, 0) * .0015));transform-origin:center bottom}.recipe-sheet{box-shadow:0 -12px 30px -18px #00000059}.recipe-title{font-size:2.55rem;letter-spacing:-.035em}.compact-bar{position:fixed;top:0;left:0;right:0;z-index:45;padding:calc(var(--safe-top) + 6px) 16px 8px;background:var(--tab-bg);backdrop-filter:saturate(160%) blur(18px);-webkit-backdrop-filter:saturate(160%) blur(18px);box-shadow:0 1px 0 var(--line);transform:translate3d(0,-100%,0);opacity:0;transition:transform .38s var(--ease-out),opacity .24s}.compact-bar.show{transform:none;opacity:1}.compact-bar-inner{max-width:640px;margin:0 auto;display:flex;align-items:center;gap:10px}.compact-bar strong{flex:1;font-family:var(--font-display);font-weight:540;font-size:1.05rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.compact-bar .icon-btn{width:38px;height:38px;box-shadow:none;background:var(--surface-2)}.dropzone{display:grid;place-items:center;gap:8px;text-align:center;padding:34px 20px;border-radius:24px;border:1.5px dashed var(--line-strong);background:var(--surface);width:100%;transition:border-color var(--dur-2),background var(--dur-2),transform var(--dur-2) var(--ease-spring)}.dropzone.over{border-color:var(--gold);background:var(--gold-soft);transform:scale(1.015)}.dropzone .icon{width:34px;height:34px;color:var(--gold-ink)}.skeleton{border-radius:18px;background:linear-gradient(90deg,var(--surface-2) 0%,var(--surface) 50%,var(--surface-2) 100%);background-size:200% 100%;animation:shimmer 1.4s linear infinite}@keyframes shimmer{to{background-position:-200% 0}}.quick-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:16px}.quick{display:grid;justify-items:center;gap:8px;padding:14px 6px;border-radius:20px;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);font-size:.82rem;font-weight:600;text-align:center}.quick .icon{color:var(--gold-ink)}@media(prefers-reduced-motion:reduce){.recipe-cover .cover svg,.recipe-cover .cover img{transform:none!important}.tab-pill{transition:none}}.country-card:after{background:linear-gradient(to top,#111310d1,#11131059 48%,#11131000 75%)}.country-card strong,.hero-body h3{text-shadow:0 1px 12px rgba(0,0,0,.25)}.hero-body{background:linear-gradient(to top,rgba(17,19,16,.9),rgba(17,19,16,.5) 55%,transparent)}.gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:18px 14px}.gallery .tile h4{font-size:.98rem}@media(min-width:700px){.gallery{grid-template-columns:repeat(3,1fr)}}.tile>.cover{height:auto;aspect-ratio:1 / 1}.recipe-row>.cover{height:76px}.cover>svg.cover,.cover>img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;aspect-ratio:auto}:root[data-accent=sauge]{--gold: #89947E;--gold-ink: #5A6A4E;--gold-soft: #E3E8DC}:root[data-accent=terracotta]{--gold: #C9775A;--gold-ink: #9A4B31;--gold-soft: #F4E1D8}:root[data-accent=ocean]{--gold: #5E8BA0;--gold-ink: #34647A;--gold-soft: #DDE9EF}:root[data-accent=prune]{--gold: #9A6B8E;--gold-ink: #74476A;--gold-soft: #EEE0EB}:root[data-text=grand]{font-size:112.5%}:root[data-text=tres-grand]{font-size:125%}:root[data-text=grand] body{font-size:1.06rem}:root[data-text=tres-grand] body{font-size:1.12rem}:root[data-motion=reduites] *,:root[data-motion=reduites] *:before,:root[data-motion=reduites] *:after{animation:none!important;transition:none!important}.onboard{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:var(--bg);overflow-y:auto;padding:calc(var(--safe-top) + 24px) 24px calc(var(--safe-bottom) + 24px);display:flex;flex-direction:column;animation:fade .4s var(--ease-out)}.onboard-inner{max-width:520px;width:100%;margin:0 auto;flex:1;display:flex;flex-direction:column}.onboard-step{flex:1;animation:rise-in .52s var(--ease-out)}.onboard h1{font-family:var(--font-display);font-weight:520;font-size:2.4rem;line-height:1.05;letter-spacing:-.03em;margin:18px 0 12px}.onboard-dots{display:flex;gap:6px;justify-content:center;margin:20px 0}.onboard-dots span{width:6px;height:6px;border-radius:3px;background:var(--line-strong);transition:width .36s var(--ease-spring),background .3s}.onboard-dots span.on{width:22px;background:var(--gold)}.onboard-logo{width:96px;height:96px;border-radius:26px;display:grid;place-items:center;background:radial-gradient(circle at 50% 30%,#2e362b,#171916);color:#c6a779;box-shadow:var(--shadow-lift);animation:logo-in .9s var(--ease-spring) both}@keyframes logo-in{0%{transform:scale(.6) rotate(-8deg);opacity:0}to{transform:none;opacity:1}}.swatches{display:flex;gap:12px;flex-wrap:wrap}.swatch{width:46px;height:46px;border-radius:50%;border:3px solid transparent;box-shadow:inset 0 0 0 1px #0000001a;transition:transform .3s var(--ease-spring),border-color .2s}.swatch.on{border-color:var(--text);transform:scale(1.08)}.celebrate{position:fixed;top:0;right:0;bottom:0;left:0;z-index:95;pointer-events:none;overflow:hidden}.celebrate i{position:absolute;top:-20px;width:9px;height:14px;border-radius:3px;animation:confetti 1.8s var(--ease-out) forwards}@keyframes confetti{to{transform:translate3d(var(--dx),110vh,0) rotate(var(--r));opacity:.2}}.qr{background:#fff;padding:14px;border-radius:20px;display:inline-block;box-shadow:var(--shadow)}.qr svg{display:block;width:200px;height:200px}.onboard-logo .icon{width:58px;height:58px}.store-mode .shop-item{padding:18px 16px;font-size:1.15rem}.store-mode .shop-item .check{width:34px;height:34px}.store-mode .shop-item.done{opacity:.45;order:2}.store-mode .list{display:flex;flex-direction:column}.store-mode .shop-item .small{display:none}:root{--paper: #fbf8f1;--paper-edge: rgba(118, 98, 66, .18);--editorial-shadow: 0 14px 34px rgba(53, 43, 29, .075);--editorial-radius: 22px}:root[data-theme=dark]{--paper: #242720;--paper-edge: rgba(232, 223, 208, .14);--editorial-shadow: 0 14px 34px rgba(0,0,0,.22)}.recipe-page{--recipe-accent: #556349;--recipe-tint: #e9eee4}.recipe-theme-patisserie,.recipe-theme-desserts,.recipe-theme-gateaux,.recipe-theme-tartes,.recipe-theme-entremets{--recipe-accent: #8e4f5b;--recipe-tint: #f4e8e9}.recipe-theme-sauces,.recipe-theme-techniques{--recipe-accent: #7e5a2e;--recipe-tint: #f2eadc}.recipe-theme-poissons,.recipe-theme-fruits-de-mer{--recipe-accent: #3f6a74;--recipe-tint: #e4eff0}.recipe-theme-soupes{--recipe-accent: #8f5130;--recipe-tint: #f5e9de}.recipe-theme-salades,.recipe-theme-legumes{--recipe-accent: #4f6b43;--recipe-tint: #e8efe3}.recipe-page .recipe-sheet{isolation:isolate}.recipe-page .recipe-sheet:before{content:"";position:absolute;z-index:-1;inset:0 10px auto;height:100%;min-height:300px;border:1px solid var(--paper-edge);border-bottom:0;border-radius:28px 28px 0 0;background:linear-gradient(135deg,var(--paper),var(--bg) 65%);pointer-events:none}.recipe-kicker{display:flex;align-items:center;gap:10px;margin:0 0 14px;color:var(--recipe-accent);font-size:.66rem;font-weight:800;letter-spacing:.16em}.recipe-kicker-mark{width:8px;height:8px;border-radius:2px;background:var(--recipe-accent);transform:rotate(45deg)}.recipe-kicker-line{height:1px;flex:1;background:var(--paper-edge)}.recipe-page .origin{color:var(--recipe-accent);font-size:.78rem;font-weight:750;letter-spacing:.045em;text-transform:uppercase}.recipe-page .recipe-title{max-width:18ch;font-size:clamp(2.2rem,8vw,3.15rem);line-height:.98;letter-spacing:-.045em;text-wrap:balance}.recipe-page .facts{gap:2px;padding:5px;background:var(--paper-edge);border:1px solid var(--paper-edge);border-radius:18px;box-shadow:var(--editorial-shadow)}.recipe-page .facts div{border-radius:12px;background:var(--surface);padding:13px 5px}.recipe-page .facts strong{color:var(--recipe-accent);font-family:var(--font-display);font-size:1.12rem}.recipe-page .section{position:relative;padding:18px 16px 20px;margin:22px 0 0;border:1px solid var(--paper-edge);border-radius:20px;background:var(--surface);box-shadow:0 7px 20px #352b1d09}.recipe-page .section-head{align-items:center;margin-bottom:15px}.recipe-page .section-head h2{display:flex;align-items:center;gap:10px;font-size:1.42rem}.recipe-page .section-head h2:before{content:"";width:4px;height:23px;border-radius:4px;background:var(--recipe-accent)}.recipe-page .servings{padding:12px;border-radius:16px;background:var(--recipe-tint)}.recipe-page .servings-value{color:var(--recipe-accent);font-family:var(--font-display);font-size:2rem;line-height:1.1}.recipe-page .portion-picks button.on{background:var(--recipe-accent);border-color:var(--recipe-accent);color:#fff}.recipe-page .ing-group{margin-top:12px;padding:12px 12px 5px;border-radius:15px;background:color-mix(in srgb,var(--paper) 72%,transparent)}.recipe-page .ing{min-height:54px;border-bottom:1px dashed var(--paper-edge)}.recipe-page .ing:last-child{border-bottom:0}.recipe-page .ing-qty{min-width:74px;color:var(--recipe-accent);font-weight:800;font-variant-numeric:tabular-nums}.recipe-page .ing.done .ing-text{text-decoration:line-through;opacity:.58}.recipe-page .steps li{grid-template-columns:42px 1fr;gap:13px;padding:18px 0}.recipe-page .steps li:before{display:grid;place-items:center;width:36px;height:36px;border:1px solid var(--paper-edge);border-radius:50%;background:var(--recipe-tint);color:var(--recipe-accent);font-size:1.18rem}.recipe-page .steps li>div{padding:2px 0 0}.recipe-page .steps p{line-height:1.65}.recipe-page .step-meta .chip{background:var(--recipe-tint);border-color:transparent}.recipe-page .tip{border-left-color:var(--recipe-accent);background:var(--recipe-tint)}.recipe-page .tips-block>div{padding:13px 14px;margin:10px 0;border-radius:14px;background:var(--recipe-tint)}.recipe-page .tips-block h3{margin-top:0;color:var(--recipe-accent)}.recipe-page .recipe-cover{overflow:hidden}.recipe-page .recipe-cover:after{content:"";position:absolute;inset:auto 0 0;height:26%;background:linear-gradient(transparent,#10120f2e);pointer-events:none}.category-intro{position:relative;overflow:hidden;padding:25px 22px 20px;margin:10px 0 18px;min-height:190px;border:1px solid var(--category-edge, var(--paper-edge));border-radius:24px;background:linear-gradient(135deg,var(--category-paper,var(--paper)),var(--surface));box-shadow:var(--editorial-shadow)}.category-intro .page-title{position:relative;z-index:1;max-width:75%;margin-top:7px}.category-intro .page-sub{position:relative;z-index:1;max-width:75%;margin:8px 0 14px;font-size:.9rem}.category-eyebrow,.country-kicker{color:var(--category-accent,var(--accent));font-size:.65rem;font-weight:800;letter-spacing:.15em}.category-intro-art{position:absolute;top:-38px;right:-25px;width:190px;height:190px;border:1px solid var(--category-edge,var(--paper-edge));border-radius:50%;opacity:.8}.category-intro-art:before,.category-intro-art:after{content:"";position:absolute;border:1px solid var(--category-edge,var(--paper-edge));border-radius:50%;top:19px;right:19px;bottom:19px;left:19px}.category-intro-art:after{top:39px;right:39px;bottom:39px;left:39px}.category-stamp{position:absolute;right:53px;top:57px;display:grid;place-items:center;width:70px;height:70px;border:1px solid var(--category-accent,var(--accent));border-radius:50%;color:var(--category-accent,var(--accent));font-family:var(--font-display);font-size:2.8rem;transform:rotate(10deg)}.category-orbit{position:absolute;width:9px;height:9px;border-radius:50%;background:var(--category-accent,var(--accent));top:22px;left:36px}.category-count{display:inline-flex;align-items:baseline;gap:7px;padding:6px 11px;border-radius:99px;background:var(--category-tint,var(--accent-soft));color:var(--category-accent,var(--accent));font-size:.78rem}.category-count strong{font-family:var(--font-display);font-size:1.1rem}.category-result-label{margin:0 0 12px;font-size:.78rem;letter-spacing:.04em;text-transform:uppercase;font-weight:700}.category-theme-pastry{--category-accent:#8e4f5b;--category-tint:#f4e8e9;--category-paper:#fbf1f0;--category-edge:rgba(166,110,120,.24)}.category-theme-atelier{--category-accent:#7e5a2e;--category-tint:#f2eadc;--category-paper:#f8f1e6;--category-edge:rgba(162,123,75,.25)}.category-theme-ocean{--category-accent:#3f6a74;--category-tint:#e4eff0;--category-paper:#eef5f4;--category-edge:rgba(94,135,144,.25)}.category-theme-garden{--category-accent:#4f6b43;--category-tint:#e8efe3;--category-paper:#f0f4e9;--category-edge:rgba(110,137,98,.25)}.category-theme-kitchen{--category-accent:#556349;--category-tint:#e9eee4;--category-paper:#f3f4ed;--category-edge:rgba(116,129,106,.25)}.country-page>div[style*="height: 180px"]{position:relative;border:1px solid var(--paper-edge)}.country-kicker{margin-top:19px;color:var(--gold-ink)}.country-title{font-size:clamp(2.5rem,9vw,3.5rem)}.country-page .section{padding:17px 14px;border:1px solid var(--paper-edge);border-radius:20px;background:var(--surface)}.country-page .section-head h2{font-family:var(--font-display)}.recipe-page .ing,.recipe-page .portion-picks button,.category-intro,.country-page .country-title{transition:transform .22s cubic-bezier(.2,.8,.2,1),box-shadow .22s ease,background-color .22s ease}.recipe-page .ing:active{transform:scale(.992)}.recipe-page .portion-picks button:active{transform:scale(.94)}.category-intro{animation:editorial-enter .42s cubic-bezier(.2,.8,.2,1) both}.recipe-kicker{animation:editorial-enter .48s 60ms ease both}@keyframes editorial-enter{0%{opacity:0;transform:translateY(9px)}to{opacity:1;transform:translateY(0)}}@media(min-width:700px){.recipe-page .recipe-sheet{padding-left:28px;padding-right:28px}.recipe-page .section{padding:22px 22px 24px}.category-intro{padding:30px 30px 24px}}@media(max-width:380px){.recipe-page .facts div{padding:10px 3px}.recipe-page .facts strong{font-size:.98rem}.category-intro{padding:20px 17px}.category-intro .page-title,.category-intro .page-sub{max-width:82%}}@media print{.recipe-page .recipe-sheet:before{display:none}.recipe-page .section{box-shadow:none;break-inside:avoid}}:root[data-motion=reduites] .category-intro,:root[data-motion=reduites] .recipe-kicker{animation:none!important}:root{--faint: #6E6F68;--gold-ink: #7A5C30}:root[data-theme=dark]{--faint: #9A9B93}.tab{font-size:.72rem}.chip-empty{border-style:dashed;color:var(--muted)}.past-day .section-head h2:after{content:" · passé";color:var(--muted);font-family:var(--font-body);font-size:.8rem;font-weight:500}:root[data-theme=dark] .recipe-page{--recipe-accent: #b3bda7;--recipe-tint: #2d332a}:root[data-theme=dark] :is(.recipe-theme-patisserie,.recipe-theme-desserts,.recipe-theme-gateaux,.recipe-theme-tartes,.recipe-theme-entremets){--recipe-accent: #e3a9b4;--recipe-tint: #3a2a2e}:root[data-theme=dark] :is(.recipe-theme-sauces,.recipe-theme-techniques){--recipe-accent: #d9b07c;--recipe-tint: #352b1f}:root[data-theme=dark] :is(.recipe-theme-poissons,.recipe-theme-fruits-de-mer){--recipe-accent: #93c1ca;--recipe-tint: #20313a}:root[data-theme=dark] .recipe-theme-soupes{--recipe-accent: #e0a27c;--recipe-tint: #3a2a21}:root[data-theme=dark] :is(.recipe-theme-salades,.recipe-theme-legumes){--recipe-accent: #a9c49c;--recipe-tint: #263023}:root[data-theme=dark] .category-theme-pastry{--category-accent: #e3a9b4;--category-tint: #3a2a2e;--category-paper: #2b2326}:root[data-theme=dark] .category-theme-atelier{--category-accent: #d9b07c;--category-tint: #352b1f;--category-paper: #2a251d}:root[data-theme=dark] .category-theme-ocean{--category-accent: #93c1ca;--category-tint: #20313a;--category-paper: #1f282b}:root[data-theme=dark] .category-theme-garden{--category-accent: #a9c49c;--category-tint: #263023;--category-paper: #222a20}:root[data-theme=dark] .category-theme-kitchen{--category-accent: #b3bda7;--category-tint: #2d332a;--category-paper: #232720}@media(min-width:900px){.app{max-width:1120px}.page{padding-left:40px;padding-right:40px}.recipe-cover{margin-left:-40px;margin-right:-40px;height:420px}.recipe-sheet{margin-left:-40px;margin-right:-40px;padding:30px 40px 0;display:grid;grid-template-columns:minmax(320px,400px) 1fr;column-gap:48px;grid-auto-flow:row dense}.recipe-sheet>*{grid-column:1 / -1}.recipe-sheet>.sec-ingredients{grid-column:1;align-self:start;position:sticky;top:80px}.recipe-sheet>.sec-steps{grid-column:2}.recipe-sheet>.sec-steps,.recipe-sheet>.sec-ingredients{margin-top:30px}.gallery,.country-grid,.idea-grid,.stat-grid{grid-template-columns:repeat(4,1fr)}.rail{grid-auto-columns:24%}.hero{aspect-ratio:16 / 8;max-height:460px}.cook{max-width:900px;margin:0 auto}.cook-text{font-size:1.7rem}}.recipe-page .servings{color:var(--text)}.recipe-page .servings .servings-label{color:var(--muted);opacity:1}.recipe-page .servings .icon-btn{background:var(--surface);color:var(--text);box-shadow:var(--shadow)}.recipe-page .servings .icon-btn:disabled{opacity:.4}::view-transition-old(root){animation:vt-out .18s var(--ease-in-out) both}::view-transition-new(root){animation:vt-in .3s var(--ease-out) both}@keyframes vt-out{to{opacity:0;transform:translateY(-6px) scale(.995)}}@keyframes vt-in{0%{opacity:0;transform:translateY(10px)}}.tabbar{view-transition-name:tabbar}::view-transition-old(tabbar),::view-transition-new(tabbar){animation:none}.section{animation:none}.page :is(.stack,.rail,.country-grid,.idea-grid,.stat-grid,.list,.chips.wrap,.gallery)>:nth-child(n+9){animation:none}.page :is(.stack,.rail,.country-grid,.idea-grid,.stat-grid,.list,.chips.wrap)>*{animation-duration:.36s}.recipe-row,.gallery>.tile,.country-card,.list-item{content-visibility:auto;contain-intrinsic-size:auto 96px}.gallery>.tile{contain-intrinsic-size:auto 260px}.country-card{contain-intrinsic-size:auto 180px}.cover{contain:paint}.tile .cover,.hero .cover svg,.country-card .cover svg{will-change:auto}.cover-img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .45s var(--ease-out)}.cover-img.loaded{opacity:1}.hero .cover-img,.recipe-cover .cover-img{filter:saturate(1.06) contrast(1.02)}.hero:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none;border-radius:inherit;box-shadow:inset 0 0 0 1px #ffffff14}.hero-body{z-index:2}.tile .cover{box-shadow:0 1px 2px #1719160f,0 14px 30px -18px #17191673}.tile:hover h4{color:var(--gold-ink)}.recipe-row{border:1px solid var(--line)}.recipe-row:active{background:var(--surface-2)}.page-title{text-wrap:balance}.section-head h2{position:relative}.icon-btn{transition:transform var(--dur-1) var(--ease-out),background-color var(--dur-2)}.btn.primary{box-shadow:0 1px 1px #00000014,0 8px 18px -10px #1719168c}:root[data-theme=dark] .btn.primary{box-shadow:0 8px 22px -12px #c6a7798c}.search:focus-within{background:var(--surface);border-color:var(--line-strong);box-shadow:0 0 0 4px var(--gold-soft)}.chip.on{box-shadow:0 6px 16px -10px #17191699}.quick{transition:transform var(--dur-1) var(--ease-out),box-shadow var(--dur-2)}.quick:active{transform:scale(.96)}@media(hover:hover){.quick:hover{box-shadow:var(--shadow-lift);transform:translateY(-2px)}}.tabbar{background:color-mix(in srgb,var(--bg) 82%,transparent)}.tab span{letter-spacing:.01em}.sheet{overscroll-behavior:contain}.cover-art{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;display:block;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.cover img.cover-art{opacity:1;transition:none}.country-card>.cover{z-index:0}.country-card:after{z-index:1;background:linear-gradient(to top,#111310e0,#11131073 45%,#11131000 75%)}.country-card>div{z-index:2}.rc-page{padding-left:14px;padding-right:14px}.rc{position:relative;border-radius:22px;overflow:hidden;padding:22px 16px 26px;color:#3e2a1e;box-shadow:var(--shadow-lift);font-family:Caveat,Segoe Print,cursive}.rc-title{font-family:Dancing Script,Brush Script MT,cursive;font-weight:700;font-size:clamp(2.4rem,11vw,3.4rem);line-height:1;text-align:center;margin:4px 0;color:#4a2c1d;letter-spacing:0;text-wrap:balance}.rc-sub{text-align:center;margin:0 0 14px;font-size:1.15rem;color:#6b4a33}.rc h2{font-family:Caveat,cursive;font-weight:600;font-size:1.75rem;margin:0 0 4px;color:#4a2c1d}.rc ul,.rc ol{margin:0;padding:0;list-style:none;font-size:1.22rem;line-height:1.22}.rc ul li{padding-left:14px;position:relative;margin-bottom:3px}.rc ul li:before{content:"–";position:absolute;left:0}.rc ol{counter-reset:s}.rc ol li{counter-increment:s;padding-left:22px;position:relative;margin-bottom:7px}.rc ol li:before{content:counter(s);position:absolute;left:0;top:0;font-weight:600;color:#b5452f;font-size:1.3rem}.rc-top{display:grid;grid-template-columns:1fr 112px;gap:8px;align-items:start}.rc-middle{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:10px 4px 0}.rc-bottom{margin-top:10px}.rc-doodles{display:flex;flex-direction:column;align-items:center;gap:2px;padding-top:6px}.rc-doodles.small{flex-direction:row;flex-wrap:wrap;justify-content:center;margin-top:4px}.rc-doodle{display:block;filter:drop-shadow(0 2px 2px rgba(60,35,20,.18))}.rc-dish{position:relative;flex:none;width:170px;height:170px;border-radius:50%;overflow:hidden;box-shadow:0 0 0 6px #fffdf8,0 12px 20px -8px #3c231480}.rc-dish .cover{position:absolute;top:0;right:0;bottom:0;left:0}.rc-paper{position:relative;padding:14px 14px 12px;background:linear-gradient(170deg,#fff8e9,#f6e9cf);color:#3e2a1e;clip-path:polygon(0% 2%,6% 0%,14% 1.5%,24% 0%,37% 1.2%,50% 0%,63% 1.5%,76% 0%,88% 1.2%,100% 0%,99% 20%,100% 45%,98.8% 70%,100% 100%,86% 98.6%,72% 100%,58% 98.8%,44% 100%,30% 98.7%,16% 100%,0% 98.5%,1.2% 75%,0% 50%,1% 25%)}.rc-paper-wrap{filter:drop-shadow(0 6px 8px rgba(60,35,20,.25))}.rc-ing{transform:rotate(-1.2deg)}.rc-steps{transform:rotate(.8deg)}.rc-brand{position:absolute;right:16px;bottom:8px;font-family:Dancing Script,cursive;font-weight:700;font-size:1rem;color:#4a2c1d8c}.rc-vichy{background-color:#fbf6f0;background-image:linear-gradient(90deg,rgba(205,72,58,.55) 50%,transparent 50%),linear-gradient(rgba(205,72,58,.55) 50%,transparent 50%);background-size:34px 34px}.rc-vichy .rc-title{color:#3e2418;text-shadow:0 2px 0 #FBF6F0,0 -2px 0 #FBF6F0,2px 0 0 #FBF6F0,-2px 0 0 #FBF6F0,0 4px 10px rgba(255,255,255,.8)}.rc-vichy .rc-sub{display:inline-block;width:100%;color:#3e2418;text-shadow:0 0 6px #FBF6F0,0 0 3px #FBF6F0;font-weight:600}.rc-vichy .rc-paper{box-shadow:none}.rc-vichy .rc-top,.rc-vichy .rc-bottom{filter:drop-shadow(0 6px 8px rgba(60,35,20,.28))}.rc-carnet{background:radial-gradient(circle at 30% 10%,#fff9ec,#f3e6cc 80%);outline:2px solid #9A7350;outline-offset:-12px}.rc-carnet:before{content:"";position:absolute;top:18px;right:18px;bottom:18px;left:18px;border:1px solid rgba(154,115,80,.55);border-radius:14px;pointer-events:none}.rc-carnet .rc-paper{background:transparent;clip-path:none;transform:none;padding:8px 10px}.rc-carnet .rc-title{color:#6b3a20}.rc-carnet .rc-title:after{content:"";display:block;width:90px;height:8px;margin:6px auto 0;background:radial-gradient(circle,#9A7350 1.5px,transparent 2px) 0 0 / 12px 8px repeat-x;opacity:.7}.rc-carnet h2{color:#6b3a20}.rc-carnet .rc-dish{box-shadow:0 0 0 4px #fff9ec,0 0 0 5px #9a735080,0 10px 18px -8px #3c231466}@media(min-width:700px){.rc{max-width:680px;margin:0 auto;padding:30px 28px 34px}.rc-top{grid-template-columns:1fr 160px}.rc-dish{width:230px;height:230px}.rc ul,.rc ol{font-size:1.35rem}}:root[data-text=grand] .rc ul,:root[data-text=grand] .rc ol{font-size:1.3rem}@media print{.rc{box-shadow:none}}.rc-doodles.small{flex:1;justify-content:space-evenly}.rc-view-toggle{margin:calc(var(--safe-top) + 4px) 0 12px}:root{--forest: #1D3A2C;--forest-2: #28503D;--forest-3: #3A6B53;--terra: #B4532E;--terra-soft: #F3DDD1;--caramel: #C98A3B;--cream-paper: #F3EBDD;--bg: #F3EBDD;--surface: #FBF7EF;--surface-2: #EADFCB;--raised: #FFFDF8;--text: #1E1B16;--muted: #625A4C;--faint: #8A8170;--line: rgba(46, 36, 20, .11);--line-strong: rgba(46, 36, 20, .2);--accent: #2C5A43;--accent-soft: #DCE6DA;--gold: #C98A3B;--gold-ink: #8A531C;--gold-soft: #F4E3C9;--danger: #A23E2C;--danger-soft: #F5DED6;--shadow: 0 1px 1px rgba(60, 40, 10, .04), 0 8px 22px -12px rgba(60, 40, 10, .22);--shadow-lift: 0 2px 4px rgba(60, 40, 10, .05), 0 22px 44px -20px rgba(60, 40, 10, .38);--grain: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0.3 0 0 0 0 0.22 0 0 0 0 0.1 0 0 0 .55 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}:root[data-theme=dark]{--forest: #13281E;--forest-2: #1C3729;--forest-3: #2B4E3C;--bg: #0F1712;--surface: #172219;--surface-2: #203026;--raised: #1C2A20;--text: #F3EBDD;--muted: #B9B09F;--faint: #8E8676;--line: rgba(243, 235, 221, .09);--line-strong: rgba(243, 235, 221, .17);--accent: #9CC5AC;--accent-soft: #1F3328;--gold: #D9A04F;--gold-ink: #E6B873;--gold-soft: #33281A;--terra: #E07A55;--terra-soft: #3A2219;--danger: #EE8E78;--danger-soft: #3B221B}:root[data-accent=sauge]{--gold: #89947E;--gold-ink: #55664A;--gold-soft: #E3E8DC}:root[data-accent=terracotta]{--gold: #C9775A;--gold-ink: #94442A;--gold-soft: #F4E1D8}:root[data-accent=ocean]{--gold: #5E8BA0;--gold-ink: #30607A;--gold-soft: #DDE9EF}:root[data-accent=prune]{--gold: #9A6B8E;--gold-ink: #704366;--gold-soft: #EEE0EB}:root[data-theme=dark][data-accent=sauge]{--gold-ink: #B3BDA7;--gold-soft: #2D332A}:root[data-theme=dark][data-accent=terracotta]{--gold-ink: #E4A68E;--gold-soft: #3A2A23}:root[data-theme=dark][data-accent=ocean]{--gold-ink: #9CC2D3;--gold-soft: #22313A}:root[data-theme=dark][data-accent=prune]{--gold-ink: #D3AACA;--gold-soft: #33263A}body{background:var(--bg)}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;background-image:var(--grain);background-size:160px;opacity:.1;transform:translateZ(0)}:root[data-theme=dark] body:before{opacity:.1}#root{position:relative;z-index:1}::selection{background:var(--gold-soft);color:var(--text)}.page-title{font-weight:480;font-variation-settings:"opsz" 144,"SOFT" 100;letter-spacing:-.03em}.page-title em,.masthead-title em,.recipe-title em{font-style:italic;font-weight:420;color:var(--terra)}.topbar h1{font-variation-settings:"opsz" 72,"SOFT" 80}.page{counter-reset:rubrique}.section-head{position:relative;padding-top:14px;border-top:1px solid var(--line-strong);margin-bottom:14px}.section-head h2{counter-increment:rubrique;font-weight:500;font-size:1.42rem;font-variation-settings:"opsz" 96,"SOFT" 60;letter-spacing:-.02em}.section-head h2:before{content:counter(rubrique,decimal-leading-zero);display:block;margin-bottom:4px;font-family:var(--font-body);font-size:.68rem;font-weight:750;letter-spacing:.18em;color:var(--terra)}.section-head a{color:var(--forest-3);font-weight:650;font-size:.86rem}:root[data-theme=dark] .section-head a{color:var(--accent)}.masthead{position:relative;isolation:isolate;overflow:hidden;margin:calc(-1 * (var(--safe-top) + 12px)) -20px 0;padding:calc(var(--safe-top) + 12px) 20px 22px;background:radial-gradient(120% 80% at 100% 0%,rgba(201,138,59,.28),transparent 55%),radial-gradient(90% 70% at 0% 100%,rgba(180,83,46,.22),transparent 60%),linear-gradient(170deg,var(--forest-2),var(--forest));color:#f3ebdd;border-radius:0 0 34px 34px;box-shadow:0 18px 40px -26px #14281ccc}.masthead:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;background-image:var(--grain);background-size:160px;opacity:.16}.masthead:after{content:"";position:absolute;left:20px;right:20px;bottom:12px;height:1px;background:linear-gradient(90deg,transparent,rgba(243,235,221,.25),transparent)}.masthead .brand-word{color:#f3ebdd}.masthead .brand svg,.masthead .brand .icon{color:var(--caramel)}.masthead .icon-btn{background:#f3ebdd1f;color:#f3ebdd;box-shadow:none;border:1px solid rgba(243,235,221,.18)}.masthead-date{margin:26px 0 0;font-size:.74rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#f3ebddb8}.masthead-title{margin:8px 0 0;font-family:var(--font-display);font-weight:460;font-size:2.35rem;line-height:1.04;letter-spacing:-.035em;font-variation-settings:"opsz" 144,"SOFT" 100;color:#f3ebdd;text-wrap:balance}.masthead-title em{color:#e9b776}.masthead-search{margin:20px 0 0;background:#fbf7eff5!important;color:#4a4336;border:0!important;box-shadow:0 10px 26px -14px #0000008c!important}.masthead-search .icon{color:var(--forest-3)}:root[data-theme=dark] .masthead-search{background:#172219e6!important;color:var(--muted)}.masthead .quick-actions{margin-top:14px;gap:8px}.masthead .quick{background:#f3ebdd1a;border:1px solid rgba(243,235,221,.16);box-shadow:none;color:#f3ebdd;font-size:.78rem;font-weight:600;padding:12px 4px;border-radius:18px;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.masthead .quick .icon{color:#e9b776}.tile{position:relative;border-radius:22px;overflow:hidden;box-shadow:var(--shadow-lift);background:var(--forest);isolation:isolate}.tile .cover{aspect-ratio:4 / 5;border-radius:0;box-shadow:none}.tile:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;background:linear-gradient(to top,rgba(14,22,16,.9) 0%,rgba(14,22,16,.45) 38%,transparent 62%);pointer-events:none}.tile h4,.tile p{position:absolute;left:14px;right:14px;z-index:2;color:#f8f2e6;margin:0}.tile h4{bottom:34px;font-size:1.12rem;line-height:1.12;font-weight:520;text-shadow:0 1px 12px rgba(0,0,0,.35);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.tile p{bottom:13px;font-size:.74rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:#f8f2e6c7;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hero{border-radius:30px;box-shadow:var(--shadow-lift);aspect-ratio:4 / 5}.hero-body{padding:90px 22px 24px;background:linear-gradient(to top,rgba(14,22,16,.94),rgba(14,22,16,.5) 52%,transparent)}.hero-body .eyebrow{display:inline-block;padding:5px 11px;border-radius:99px;background:var(--caramel);color:#1e1b16;font-size:.66rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.hero-body h3{font-variation-settings:"opsz" 144,"SOFT" 100;font-weight:480;font-size:2.4rem}.recipe-row{background:var(--surface);border:1px solid var(--line);box-shadow:0 1px #fff9 inset,var(--shadow);border-radius:20px}.recipe-row .cover{width:80px;height:80px;border-radius:14px}.recipe-row h4{font-size:1.1rem;font-weight:520;line-height:1.18}.recipe-row p{flex-wrap:nowrap;gap:8px;white-space:nowrap;overflow:hidden}.recipe-row p>*{overflow:hidden;text-overflow:ellipsis}.recipe-row p>span:not(:first-child):not(.tag):before{content:"·";margin-right:8px;color:var(--faint)}.country-card{border-radius:22px;aspect-ratio:4 / 5;padding:16px;box-shadow:var(--shadow-lift)}.country-card:after{background:linear-gradient(to top,rgba(14,22,16,.86),rgba(14,22,16,.2) 55%,transparent)}.country-card strong{font-size:1.3rem;font-weight:500;font-variation-settings:"opsz" 96,"SOFT" 80}.country-card small{font-size:.7rem;font-weight:650;letter-spacing:.08em;text-transform:uppercase;opacity:.85}.idea{background:var(--surface);border:1px solid var(--line);border-radius:20px;position:relative;overflow:hidden}.idea:after{content:"";position:absolute;right:-18px;bottom:-18px;width:64px;height:64px;border-radius:50%;background:var(--gold-soft);opacity:.7}.idea>*{position:relative;z-index:1}.idea .icon{color:var(--terra)}.idea strong{font-family:var(--font-display);font-weight:540;font-size:1.06rem}.card,.list{background:var(--surface);border:1px solid var(--line)}.btn.primary{background:var(--forest);color:#f3ebdd;box-shadow:0 10px 22px -14px #14281ce6}:root[data-theme=dark] .btn.primary{background:var(--caramel);color:#1e1b16}.btn.gold{background:var(--terra);color:#fff8ee}.btn.secondary{background:var(--surface);border-color:var(--line-strong)}.chip.on{background:var(--forest);border-color:var(--forest);color:#f3ebdd}:root[data-theme=dark] .chip.on{background:var(--cream-paper);border-color:var(--cream-paper);color:#1e1b16}.segmented{background:var(--surface-2)}.segmented button.on{background:var(--raised);color:var(--text)}.search{background:var(--surface);border:1px solid var(--line)}.search input::-webkit-search-cancel-button,.search input::-webkit-search-decoration{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:none}.icon-btn{background:var(--raised)}.tabbar{background:transparent!important;box-shadow:none!important;border:0!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;padding:0 12px calc(var(--safe-bottom) + 10px);pointer-events:none}.tabbar-inner{pointer-events:auto;max-width:520px;padding:5px;border-radius:26px;background:#1d3a2cf0;backdrop-filter:saturate(140%) blur(16px);-webkit-backdrop-filter:saturate(140%) blur(16px);box-shadow:0 16px 36px -14px #0a1910bf,0 0 0 1px #f3ebdd14 inset}:root[data-theme=dark] .tabbar-inner{background:#1c2c22f0;box-shadow:0 16px 36px -14px #000000e6,0 0 0 1px #f3ebdd1a inset}.tab{color:#f3ebdd9e;font-size:.64rem;min-height:50px}.tab.active{color:#f3ebdd}.tab.active .icon{color:#e9b776}.tab.active:after{display:none}.tab-pill{background:#f3ebdd1f!important;box-shadow:none!important;top:5px!important;height:50px!important;border-radius:21px!important}:root{--tabbar-h: 76px}.recipe-sheet{background:var(--bg);border-radius:30px 30px 0 0;box-shadow:0 -18px 30px -24px #1e140580}.recipe-title{font-weight:470;font-variation-settings:"opsz" 144,"SOFT" 100}.origin{color:var(--terra);font-size:.74rem;font-weight:750;letter-spacing:.16em;text-transform:uppercase}:root[data-motion=reduites] body:before{display:none}@media(prefers-reduced-transparency:reduce){body:before{display:none}}.portion-picks{display:flex;flex-wrap:nowrap;gap:5px;overflow:visible}.portion-picks button{flex:1 1 0;min-width:0;padding:0}.country-grid .country-card{aspect-ratio:1 / 1}.tile:hover h4,.tile:focus-visible h4{color:#f8f2e6}.cook-nav .btn,.cooking-nav .btn{white-space:nowrap}:root{--ink: #1E1B16;--cream: #F3EBDD;--beige: #EADFCB;--cook-bg: #13281E;--cook-panel: #1D3A2C;--cook-line: rgba(243, 235, 221, .16);--cook-muted: rgba(243, 235, 221, .72)}:root[data-theme=dark]{--ink: #1E1B16;--cream: #F3EBDD;--beige: #203026;--cook-bg: #0D1B13;--cook-panel: #172B20;--cook-line: rgba(243, 235, 221, .18);--cook-muted: rgba(243, 235, 221, .76)}.editorial-banner{position:relative;isolation:isolate;display:flex;align-items:flex-end;min-height:258px;margin:8px 0 20px;padding:24px 22px 22px;overflow:hidden;border-radius:28px;color:var(--cream);background:linear-gradient(145deg,var(--forest-2),var(--forest));box-shadow:var(--shadow-lift)}.editorial-banner>.cover,.editorial-banner>.cover-art{position:absolute;top:0;right:0;bottom:0;left:0;z-index:-2;width:100%;height:100%}.editorial-banner .cover-img,.editorial-banner .cover-art{object-fit:cover}.editorial-banner-shade{position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;background:linear-gradient(180deg,#0c171014 8%,#0c17106b 48%,#0c1710f0)}.editorial-banner-copy{position:relative;width:100%;max-width:620px}.editorial-eyebrow{display:inline-flex;align-items:center;gap:9px;color:#f3ebddd1;font-size:.66rem;font-weight:800;letter-spacing:.17em;line-height:1.4;text-transform:uppercase}.editorial-eyebrow:before{content:"";width:20px;height:1px;background:var(--caramel)}.editorial-banner h1{max-width:16ch;margin:9px 0 7px;color:var(--cream);font-family:var(--font-display);font-size:clamp(2.2rem,9vw,3.25rem);font-weight:480;letter-spacing:-.045em;line-height:.98;text-wrap:balance}.editorial-banner h1 em{color:#e9b776;font-weight:420}.editorial-banner-copy p{max-width:42ch;margin:0;color:#f3ebdddb;font-size:.91rem;line-height:1.48}.editorial-count{display:inline-flex;margin-top:14px;padding:6px 10px;border:1px solid rgba(243,235,221,.24);border-radius:99px;color:var(--cream);background:#13281e94;font-size:.72rem;font-weight:700;letter-spacing:.04em}.explore-banner{min-height:294px;margin-top:4px}.country-banner,.category-banner{min-height:264px}.category-banner{margin-top:6px}.country-banner{margin-top:8px}.recipe-page .recipe-cover{height:min(72vh,540px);min-height:390px}.recipe-page .recipe-cover-shade{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none;background:linear-gradient(180deg,rgba(10,18,13,.22) 0%,transparent 35%,rgba(10,18,13,.28) 57%,rgba(10,18,13,.92) 100%)}.recipe-page .recipe-cover-caption{position:absolute;z-index:2;left:22px;right:22px;bottom:48px;max-width:700px;color:var(--cream);pointer-events:none}.recipe-page .recipe-cover-origin{display:block;margin-bottom:9px;color:#f3ebddd6;font-size:.7rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase}.recipe-page .recipe-cover-title{margin:0;color:var(--cream);font-family:var(--font-display);font-size:clamp(2.5rem,10vw,4.15rem);font-weight:470;letter-spacing:-.05em;line-height:.98;text-wrap:balance;text-shadow:0 2px 24px rgba(0,0,0,.22)}.recipe-page .recipe-sheet{padding-top:24px}.recipe-page .recipe-sheet>.recipe-kicker{margin-bottom:18px}.recipe-page .section{border-radius:24px}.recipe-page .sec-ingredients .ing-group{padding:14px 14px 6px}.recipe-page .sec-steps .steps li:before{box-shadow:0 4px 12px #1d3a2c1a;font-family:var(--font-display);font-weight:600}.recipe-page .sec-steps .steps li{border-bottom:1px solid var(--paper-edge)}.recipe-page .sec-steps .steps li:last-child{border-bottom:0}.cook{min-height:100dvh;padding:calc(var(--safe-top) + 12px) 20px calc(var(--safe-bottom) + 18px);color:var(--cream);background:radial-gradient(ellipse at 85% 0%,rgba(201,138,59,.15),transparent 42%),linear-gradient(160deg,var(--cook-panel),var(--cook-bg) 62%)}.cook>.row:first-child{min-height:54px}.cook .icon-btn{width:48px;height:48px;border:1px solid var(--cook-line);color:var(--cream);background:#f3ebdd17;box-shadow:none}.cook .muted,.cook .small.muted{color:var(--cook-muted)}.cook-progress{height:7px;margin:17px 0 30px;border:1px solid rgba(243,235,221,.1);border-radius:99px;background:#f3ebdd1f}.cook-progress div{border-radius:inherit;background:linear-gradient(90deg,var(--caramel),#E9B776);box-shadow:0 0 18px #c98a3b38;transition:width .32s cubic-bezier(.2,.8,.2,1)}.cook-body{max-width:720px;width:100%;margin:0 auto;padding:4px 0 150px}.cook-step-num{display:inline-flex;align-items:center;min-height:34px;padding:0 12px;border:1px solid rgba(201,138,59,.34);border-radius:99px;color:#e9b776;background:#c98a3b1a;font-family:var(--font-body);font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.cook-text{max-width:28ch;margin:22px 0 28px;color:var(--cream);font-family:var(--font-display);font-size:clamp(1.7rem,6vw,2.35rem);font-weight:450;letter-spacing:-.025em;line-height:1.28}.cook .big-chip{min-height:54px;padding:0 17px;border:1px solid var(--cook-line);border-radius:17px;color:var(--cream);background:#f3ebdd17}.cook .big-chip .icon{color:#e9b776}.cook .tip{padding:16px 18px;border:1px solid rgba(201,138,59,.22);border-left:3px solid var(--caramel);border-radius:16px;color:var(--cream);background:#c98a3b1a}.cook .card{border:1px solid var(--cook-line);border-radius:20px;color:var(--cream);background:#f3ebdd12;box-shadow:none}.cook .btn.secondary{border-color:var(--cook-line);color:var(--cream);background:#f3ebdd1a}.cook .btn.primary{color:var(--ink);background:var(--caramel)}.cook .btn.gold{color:var(--ink);background:var(--cream)}.cook-nav{padding:14px 20px calc(var(--safe-bottom) + 14px);background:linear-gradient(to top,var(--cook-bg) 76%,rgba(19,40,30,0))}.cook-nav-inner{max-width:720px;grid-template-columns:1fr 1.6fr}.cook-nav .btn{min-height:62px;border-radius:19px;font-size:1rem}.cook .timer-dock.cooking{bottom:calc(var(--safe-bottom) + 98px)}.cook .timer-chip{color:var(--cream);background:#294a37;border:1px solid var(--cook-line)}.cook .sheet{color:var(--text);background:var(--surface)}.cook .sheet .ing{color:var(--text)}.empty{position:relative;isolation:isolate;overflow:hidden;min-height:230px;align-content:center;margin:18px 0;padding:42px 24px 34px;border:1px solid var(--line);border-radius:26px;background:linear-gradient(145deg,var(--surface),var(--surface-2))}.empty:before,.empty:after{content:"";position:absolute;z-index:-1;pointer-events:none;border-radius:50%}.empty:before{width:154px;height:154px;top:-72px;right:-38px;border:1px solid rgba(201,138,59,.32);box-shadow:0 0 0 12px #c98a3b0f,0 0 0 26px #c98a3b0a}.empty:after{width:92px;height:92px;bottom:-52px;left:-30px;background:#b4532e17}.empty>.icon{width:58px;height:58px;padding:15px;border:1px solid rgba(201,138,59,.35);border-radius:21px;color:var(--caramel);background:var(--raised);box-shadow:var(--shadow)}.empty h3{max-width:24ch;font-size:1.55rem;letter-spacing:-.025em}.empty p{max-width:34ch;line-height:1.6}.empty .btn{margin-top:8px}.onboard{background:var(--bg)}.onboard:before{content:"";position:absolute;top:-120px;left:-90px;width:330px;height:330px;border-radius:50%;background:radial-gradient(circle,var(--gold-soft),transparent 68%);pointer-events:none}.onboard-inner{position:relative}.onboard-brand-art{position:relative;display:grid;place-items:center;width:142px;height:142px;margin:10px 0 26px}.onboard-sun{position:absolute;width:126px;height:126px;border:1px solid rgba(201,138,59,.48);border-radius:50%;box-shadow:0 0 0 10px #c98a3b14,0 0 0 22px #c98a3b0b}.onboard-plate{position:absolute;width:94px;height:94px;border:1px solid rgba(243,235,221,.45);border-radius:50%;background:radial-gradient(circle,#28503d,#13281e);box-shadow:0 12px 30px #13281e3d}.onboard-logo{position:relative;width:78px;height:78px;border-radius:24px;color:var(--caramel);background:transparent;box-shadow:none;animation:logo-in .9s var(--ease-spring) both}.onboard-logo .icon{width:48px;height:48px}.onboard h1{max-width:14ch;color:var(--forest);font-size:clamp(2.35rem,9vw,3.1rem)}:root[data-theme=dark] .onboard h1{color:var(--cream-paper)}.onboard input{font-size:16px}.whats-new-intro{display:grid;grid-template-columns:66px 1fr;gap:14px;align-items:center;margin:2px 0 20px;padding:16px;border:1px solid var(--line);border-radius:20px;background:linear-gradient(135deg,var(--surface),var(--gold-soft))}.whats-new-mark{display:grid;place-items:center;width:62px;height:62px;border-radius:19px;color:var(--cream-paper);background:var(--forest);font-family:var(--font-display);font-size:2.1rem;font-style:italic;box-shadow:var(--shadow)}.whats-new-intro .editorial-eyebrow{color:var(--gold-ink);font-size:.6rem}.whats-new-intro h3{margin:4px 0 2px;font-family:var(--font-display);font-size:1.45rem;font-weight:520}.whats-new-intro p{margin:0;color:var(--muted);font-size:.84rem}.whats-new-list{display:grid;gap:10px;margin:0 0 20px;padding:0;list-style:none}.whats-new-list li{position:relative;padding:12px 14px 12px 38px;border:1px solid var(--line);border-radius:15px;background:var(--surface);line-height:1.5}.whats-new-list li:before{content:"✦";position:absolute;left:14px;top:13px;color:var(--terra)}.tile,.country-card,.recipe-row,.editorial-banner,.empty{transition:transform .22s var(--ease-out),opacity .22s var(--ease-out)}.tile:active,.country-card:active,.recipe-row:active{transform:scale(.985)}.editorial-banner{animation:editorial-enter .42s var(--ease-out) both}@media(hover:hover){.tile:hover,.country-card:hover{transform:translateY(-2px)}}@media(max-width:380px){.editorial-banner{min-height:236px;padding:20px 18px;border-radius:23px}.recipe-page .recipe-cover-caption{left:18px;right:18px;bottom:40px}.cook{padding-left:16px;padding-right:16px}.cook-text{font-size:1.58rem}.cook-nav{padding-left:14px;padding-right:14px}}@media(min-width:700px){.editorial-banner{min-height:330px;padding:30px}.explore-banner{min-height:360px}.recipe-page .recipe-cover-caption{left:36px;bottom:56px}}@media(prefers-reduced-motion:reduce){.editorial-banner,.tile,.country-card,.recipe-row,.empty{animation:none!important;transition:none!important}.cook-progress div{transition:none!important}}:root[data-motion=reduites] .editorial-banner{animation:none!important}.page>.topbar{margin-bottom:14px}.page>.section{margin-top:32px}.section-head{gap:14px}.section-head h2{line-height:1.08}.card,.list,.stat,.idea{border-radius:var(--editorial-radius)}.list{border:1px solid var(--line)}.list-item{min-height:60px}.input,.select,.textarea{min-height:48px;border-radius:14px;font-size:16px}.btn{min-height:48px;border-radius:16px}.btn.primary,.btn.gold{font-weight:700}.icon-btn{min-width:44px;min-height:44px}.recipe-row{border-radius:19px}.recipe-row .cover{border-radius:13px}.sheet{border-radius:28px 28px 0 0}@media(min-width:700px){.page>.section{margin-top:38px}.recipe-row{padding:10px}}.gourmet-loading{position:fixed;top:0;right:0;bottom:0;left:0;z-index:65;display:grid;place-items:center;padding:calc(24px + var(--safe-top)) 24px calc(24px + var(--safe-bottom));background:#f3ebddf5;color:#1d3a2c}:root[data-theme=dark] .gourmet-loading{background:#171916f7;color:#f3ebdd}.gourmet-loading-card{display:flex;align-items:center;flex-direction:column;gap:12px;text-align:center;width:min(100%,320px)}.gourmet-loading-mark{position:relative;width:76px;height:76px;display:grid;place-items:center;border:1px solid currentColor;border-radius:50%}.gourmet-loading-mark>svg{width:31px;height:31px}.gourmet-loading-orbit{position:absolute;top:-7px;right:-7px;bottom:-7px;left:-7px;border:1px solid transparent;border-top-color:#b4532e;border-right-color:#b4532e3d;border-radius:50%;animation:gourmet-orbit 1.8s linear infinite}.gourmet-loading-wordmark{font:700 .72rem/1 var(--font-body);letter-spacing:.28em}.gourmet-loading-rule{width:42px;height:1px;background:#b4532e;margin:4px 0}.gourmet-loading-card strong{font:600 1.55rem/1.1 var(--font-display)}.gourmet-loading-detail{font-size:.88rem;color:var(--muted)}.gourmet-loading-dots{display:flex;gap:6px;margin-top:6px}.gourmet-loading-dots i{width:5px;height:5px;border-radius:50%;background:#b4532e;animation:gourmet-pulse 1.1s ease-in-out infinite}.gourmet-loading-dots i:nth-child(2){animation-delay:.14s}.gourmet-loading-dots i:nth-child(3){animation-delay:.28s}@keyframes gourmet-orbit{to{transform:rotate(360deg)}}@keyframes gourmet-pulse{0%,80%,to{opacity:.35;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}@media(prefers-reduced-motion:reduce){.gourmet-loading-orbit,.gourmet-loading-dots i{animation:none!important}}:root[data-motion=reduites] .gourmet-loading-orbit,:root[data-motion=reduites] .gourmet-loading-dots i{animation:none!important}@font-face{font-family:Dancing Script;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/dancing-script-latin-700-normal-CX8AaSVl.woff2) format("woff2"),url(/assets/dancing-script-latin-700-normal-LI5MgW9m.woff) format("woff")}@font-face{font-family:Caveat;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/caveat-latin-400-normal-D6LQsQ_v.woff2) format("woff2"),url(/assets/caveat-latin-400-normal-BzhAQZkN.woff) format("woff")}@font-face{font-family:Caveat;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/caveat-latin-600-normal-zlTlWIYU.woff2) format("woff2"),url(/assets/caveat-latin-600-normal-DUjB8dgm.woff) format("woff")}
