@font-face{font-family:Newsreader;font-style:normal;font-display:swap;font-weight:400;src:url(./newsreader-vietnamese-400-normal-DdKr49mV.woff2)format("woff2"),url(./newsreader-vietnamese-400-normal-BekUZro8.woff)format("woff");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:Newsreader;font-style:normal;font-display:swap;font-weight:400;src:url(./newsreader-latin-ext-400-normal-svq1FPys.woff2)format("woff2"),url(./newsreader-latin-ext-400-normal-DYA1XoQK.woff)format("woff");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:Newsreader;font-style:normal;font-display:swap;font-weight:400;src:url(./newsreader-latin-400-normal-BFBkh4jY.woff2)format("woff2"),url(./newsreader-latin-400-normal-gRTjlS2D.woff)format("woff");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:Newsreader;font-style:italic;font-display:swap;font-weight:400;src:url(./newsreader-vietnamese-400-italic-bZegYFuM.woff2)format("woff2"),url(./newsreader-vietnamese-400-italic-QbB8kb5s.woff)format("woff");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:Newsreader;font-style:italic;font-display:swap;font-weight:400;src:url(./newsreader-latin-ext-400-italic-BMTE_bNQ.woff2)format("woff2"),url(./newsreader-latin-ext-400-italic-qdgKLcPG.woff)format("woff");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:Newsreader;font-style:italic;font-display:swap;font-weight:400;src:url(./newsreader-latin-400-italic-CEihAR-f.woff2)format("woff2"),url(./newsreader-latin-400-italic-CNZoH1hn.woff)format("woff");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:Newsreader;font-style:normal;font-display:swap;font-weight:500;src:url(./newsreader-vietnamese-500-normal-CL6a8tp2.woff2)format("woff2"),url(./newsreader-vietnamese-500-normal-BEAbKU8A.woff)format("woff");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:Newsreader;font-style:normal;font-display:swap;font-weight:500;src:url(./newsreader-latin-ext-500-normal-BNHmvKvI.woff2)format("woff2"),url(./newsreader-latin-ext-500-normal-CZruMFou.woff)format("woff");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:Newsreader;font-style:normal;font-display:swap;font-weight:500;src:url(./newsreader-latin-500-normal-B66TYsaK.woff2)format("woff2"),url(./newsreader-latin-500-normal-DFwuUcdu.woff)format("woff");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:Newsreader;font-style:normal;font-display:swap;font-weight:600;src:url(./newsreader-vietnamese-600-normal-CaH84vfx.woff2)format("woff2"),url(./newsreader-vietnamese-600-normal-CVAR0otO.woff)format("woff");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:Newsreader;font-style:normal;font-display:swap;font-weight:600;src:url(./newsreader-latin-ext-600-normal-BXv5iMHi.woff2)format("woff2"),url(./newsreader-latin-ext-600-normal-BrbfzHZ5.woff)format("woff");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:Newsreader;font-style:normal;font-display:swap;font-weight:600;src:url(./newsreader-latin-600-normal-30OJ_TG_.woff2)format("woff2"),url(./newsreader-latin-600-normal-DUnT2r2g.woff)format("woff");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:Shantell Sans;font-style:normal;font-display:swap;font-weight:400;src:url(./shantell-sans-cyrillic-ext-400-normal-CmnrvRWX.woff2)format("woff2"),url(./shantell-sans-cyrillic-ext-400-normal-CRITSbCX.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Shantell Sans;font-style:normal;font-display:swap;font-weight:400;src:url(./shantell-sans-cyrillic-400-normal-Cp5KOPMv.woff2)format("woff2"),url(./shantell-sans-cyrillic-400-normal-yzKE5QnF.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Shantell Sans;font-style:normal;font-display:swap;font-weight:400;src:url(./shantell-sans-vietnamese-400-normal-CRDTjqOo.woff2)format("woff2"),url(./shantell-sans-vietnamese-400-normal-BGbVhMdP.woff)format("woff");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:Shantell Sans;font-style:normal;font-display:swap;font-weight:400;src:url(./shantell-sans-latin-ext-400-normal-Dvojt9UL.woff2)format("woff2"),url(./shantell-sans-latin-ext-400-normal-CtgLysDE.woff)format("woff");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:Shantell Sans;font-style:normal;font-display:swap;font-weight:400;src:url(./shantell-sans-latin-400-normal-CcMlhG-a.woff2)format("woff2"),url(./shantell-sans-latin-400-normal-p77rJlyL.woff)format("woff");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:Shantell Sans;font-style:normal;font-display:swap;font-weight:500;src:url(./shantell-sans-cyrillic-ext-500-normal-CsgtKsSe.woff2)format("woff2"),url(./shantell-sans-cyrillic-ext-500-normal-87WSbqFy.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Shantell Sans;font-style:normal;font-display:swap;font-weight:500;src:url(./shantell-sans-cyrillic-500-normal-CMKNolWb.woff2)format("woff2"),url(./shantell-sans-cyrillic-500-normal--jEg1vCg.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Shantell Sans;font-style:normal;font-display:swap;font-weight:500;src:url(./shantell-sans-vietnamese-500-normal-B3_dS9Jk.woff2)format("woff2"),url(./shantell-sans-vietnamese-500-normal-CcMC92uc.woff)format("woff");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:Shantell Sans;font-style:normal;font-display:swap;font-weight:500;src:url(./shantell-sans-latin-ext-500-normal-BekENWod.woff2)format("woff2"),url(./shantell-sans-latin-ext-500-normal-B63jk-IM.woff)format("woff");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:Shantell Sans;font-style:normal;font-display:swap;font-weight:500;src:url(./shantell-sans-latin-500-normal-prpUF3CD.woff2)format("woff2"),url(./shantell-sans-latin-500-normal-CrgOgF_3.woff)format("woff");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:Shantell Sans;font-style:normal;font-display:swap;font-weight:600;src:url(./shantell-sans-cyrillic-ext-600-normal-DOObjLkB.woff2)format("woff2"),url(./shantell-sans-cyrillic-ext-600-normal-CZe--JJX.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Shantell Sans;font-style:normal;font-display:swap;font-weight:600;src:url(./shantell-sans-cyrillic-600-normal-DC9mHVRa.woff2)format("woff2"),url(./shantell-sans-cyrillic-600-normal-CWjPmpyS.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Shantell Sans;font-style:normal;font-display:swap;font-weight:600;src:url(./shantell-sans-vietnamese-600-normal-CUnmv4Ax.woff2)format("woff2"),url(./shantell-sans-vietnamese-600-normal-8fKbxs7G.woff)format("woff");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:Shantell Sans;font-style:normal;font-display:swap;font-weight:600;src:url(./shantell-sans-latin-ext-600-normal-x48yaNNH.woff2)format("woff2"),url(./shantell-sans-latin-ext-600-normal-LKeW3W4M.woff)format("woff");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:Shantell Sans;font-style:normal;font-display:swap;font-weight:600;src:url(./shantell-sans-latin-600-normal-zKzj4SGr.woff2)format("woff2"),url(./shantell-sans-latin-600-normal-arG0sK9S.woff)format("woff");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}:root{--pantry-crust:#ece5db;--pantry-paper:#fbf8f3;--pantry-linen:#f4eee2;--pantry-white:#fff;--pantry-char:#2f2820;--pantry-char-line:#453b2e;--pantry-ink:#26211c;--pantry-ink-soft:#3a342c;--pantry-body:#514a40;--pantry-muted:#8a8178;--pantry-faint:#a89e8d;--pantry-line:#ece5d8;--pantry-line-strong:#e7e0d5;--pantry-rule:#efe9dd;--pantry-rule-soft:#f2ede3;--pantry-box:#cfc7bb;--pantry-embers:#b45309;--pantry-embers-deep:#8a6114;--pantry-embers-soft:#d8a679;--pantry-embers-edge:#e7d3aa;--pantry-honey:#e0a500;--pantry-honey-off:#dcd4c7;--pantry-butter:#fbf1d8;--pantry-butter-line:#f0e2ba;--pantry-pencil:#a97b2a;--pantry-pencil-rule:#f0d48a;--pantry-herb:#0f766e;--pantry-herb-bg:#eaf3f1;--pantry-herb-line:#cfe6e0;--pantry-berry:#be123c;--pantry-berry-soft:#e39aa9;--pantry-leaf:#15803d;--pantry-amber:#a16207;--pantry-slate:#6b7280;--pantry-clay:#9a6a63;--pantry-clay-bg:#f4e9e7;--pantry-clay-line:#e6d3cf;--pantry-alarm:#b3261e;--pantry-alarm-bg:#fdecea;--pantry-alarm-line:#f5cfc9;--surface-app:var(--pantry-crust);--surface-card:var(--pantry-paper);--surface-raised:var(--pantry-white);--surface-subtle:var(--pantry-linen);--surface-inverse:var(--pantry-char);--text-heading:var(--pantry-ink);--text-body:var(--pantry-body);--text-muted:var(--pantry-muted);--text-faint:var(--pantry-faint);--text-hand:var(--pantry-pencil);--border-base:var(--pantry-line);--border-strong:var(--pantry-line-strong);--accent:var(--pantry-embers);--accent-quiet:var(--pantry-butter);--rating:var(--pantry-honey);--font-display:"Newsreader", Georgia, "Times New Roman", serif;--font-hand:"Shantell Sans", "Segoe Print", cursive;--font-ui:system-ui, -apple-system, "Segoe UI", sans-serif;--text-xs:11px;--text-sm:12.5px;--text-base:15px;--text-md:15.5px;--text-lg:17px;--text-title:20px;--text-h2:24px;--text-display:34px;--text-hero:46px;--leading-tight:1.15;--leading-hand:1.3;--leading-body:1.62;--weight-regular:400;--weight-medium:500;--weight-semibold:600;--weight-bold:700;--eyebrow-size:11px;--eyebrow-tracking:.1em;--space-1:3px;--space-2:6px;--space-3:9px;--space-4:12px;--space-5:16px;--space-6:20px;--space-7:26px;--space-8:32px;--space-9:44px;--gutter-screen:24px;--gutter-card:13px;--gutter-sheet:30px;--measure-read:680px;--measure-app:1180px;--radius-xs:5px;--radius-sm:8px;--radius-md:11px;--radius-lg:13px;--radius-xl:16px;--radius-2xl:20px;--radius-pill:999px;--radius-round:50%;--border-hair:1px;--border-thick:1.5px;--border-rule-hand:3px;--shadow-flat:none;--shadow-raised:0 24px 60px -30px #3c2d1966;--shadow-floating:0 24px 60px -20px #281e0f80;--shadow-toast:0 14px 34px -14px #281e0f99;--shadow-knob:0 1px 2px #0003;--motion-quick:.15s;--motion-ease:cubic-bezier(.32, .72, 0, 1);--pantry-icon-sm:14px;--pantry-icon-md:16px;--pantry-icon-lg:20px;--pantry-icon-xl:24px;--pantry-z-base:0;--pantry-z-sticky:100;--pantry-z-nav:200;--pantry-z-overlay:300;--pantry-z-modal:400;--pantry-z-toast:500;--pantry-focus:var(--pantry-embers)}body{background:var(--surface-app);color:var(--text-heading);font-family:var(--font-ui);-webkit-font-smoothing:antialiased;margin:0}*{box-sizing:border-box}a{color:var(--accent);text-decoration:none}a:hover{color:var(--pantry-embers-deep)}::selection{background:var(--pantry-butter)}.layout-shell{background:var(--surface-app);flex-direction:column;min-height:100dvh;display:flex}.layout-shell-topnav{display:none}.layout-shell-bottom{display:block}.layout-shell-content{flex-direction:column;flex:1;display:flex}.layout-shell-content>:first-child{flex:1}@media (width>=700px){.layout-shell-topnav{display:block}.layout-shell-bottom{display:none}}.layout-shell--wide .layout-shell-topnav{display:block}.layout-shell--wide .layout-shell-bottom,.layout-shell--mobile .layout-shell-topnav{display:none}.layout-shell--mobile .layout-shell-bottom{display:block}.app-footer{justify-content:space-between;align-items:center;gap:var(--space-5);border-top:var(--border-hair) solid var(--border-base);font-size:var(--text-sm);color:var(--text-muted);flex-wrap:wrap;padding:18px 26px;display:flex}.app-footer-note{font-family:var(--font-hand);color:var(--text-hand);font-size:15px;font-weight:500}.app-footer-links{gap:var(--space-5);flex-wrap:wrap;display:inline-flex}.app-footer-link{color:var(--text-muted);text-decoration:none}.app-footer-link:hover{text-decoration:underline}.app-footer-link:focus-visible{outline:2px solid var(--pantry-focus);outline-offset:2px;border-radius:var(--radius-xs)}.icon{vertical-align:-.14em;flex:none;display:inline-block;-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.btn{justify-content:center;align-items:center;gap:var(--space-2);font-family:inherit;font-weight:var(--weight-semibold);white-space:nowrap;cursor:pointer;transition:background-color var(--motion-quick) var(--motion-ease), color var(--motion-quick) var(--motion-ease), border-color var(--motion-quick) var(--motion-ease);border:none;line-height:1.1;display:inline-flex}.btn:focus-visible{outline:2px solid var(--pantry-focus);outline-offset:2px}.btn--sm{border-radius:var(--radius-sm);padding:8px 14px;font-size:13px}.btn--md{border-radius:var(--radius-md);padding:12px 20px;font-size:15px}.btn--lg{border-radius:var(--radius-lg);padding:15px 26px;font-size:16px}.btn--primary{background:var(--pantry-embers);color:#fff}.btn--primary:hover:not(:disabled){filter:brightness(.92)}.btn--secondary{background:var(--pantry-white);color:var(--pantry-embers);border:1.5px solid var(--pantry-embers-edge)}.btn--secondary:hover:not(:disabled){color:var(--pantry-embers-deep);border-color:var(--pantry-embers-deep)}.btn--ghost{color:var(--pantry-embers);background:0 0;border-radius:0;padding:12px 8px}.btn--ghost:hover:not(:disabled){color:var(--pantry-embers-deep)}.btn--danger{background:var(--pantry-berry);color:#fff}.btn--danger:hover:not(:disabled){filter:brightness(.92)}.btn:disabled{cursor:not-allowed;background:var(--pantry-embers-soft);color:#fff;border-color:#0000}.btn--danger:disabled{background:var(--pantry-berry-soft)}.chip{font-family:inherit;font-weight:var(--weight-semibold);white-space:nowrap;align-items:center;display:inline-flex}.chip--tag{border-radius:var(--radius-xs);padding:2px 7px;font-size:11px}.chip--filter{color:var(--pantry-embers-deep);background:var(--pantry-butter);border:1px solid var(--pantry-butter-line);border-radius:var(--radius-pill);padding:5px 12px;font-size:12.5px}.chip--good{color:var(--pantry-herb);background:var(--pantry-herb-bg);border:1px solid var(--pantry-herb-line);border-radius:var(--radius-pill);padding:5px 12px;font-size:12.5px}.chip--bad{color:var(--pantry-clay);background:var(--pantry-clay-bg);border:1px solid var(--pantry-clay-line);border-radius:var(--radius-pill);padding:5px 12px;font-size:12.5px}.chip--skill{color:var(--pantry-amber);background:var(--pantry-butter);border-radius:var(--radius-pill);padding:3px 10px;font-size:12px}.chip--add{color:var(--pantry-embers);border-radius:var(--radius-pill);background:0 0;border:1px dashed #d9c8a6;padding:4px 11px;font-size:13px}.chip-remove{color:inherit;font:inherit;cursor:pointer;opacity:.6;background:0 0;border:none;align-items:center;margin-left:6px;padding:0;display:inline-flex}.chip-remove:hover{opacity:1}.chip-remove:focus-visible{opacity:1;outline:2px solid var(--pantry-focus);outline-offset:2px;border-radius:var(--radius-xs)}.card{background:var(--surface-card);border:1px solid var(--border-strong);border-radius:var(--radius-xl)}.card--flat{box-shadow:var(--shadow-flat)}.card--raised{box-shadow:var(--shadow-raised)}.card--floating{box-shadow:var(--shadow-floating)}.callout{border-radius:var(--radius-md);align-items:flex-start;gap:10px;padding:12px 14px;font-size:13.5px;line-height:1.5;display:flex}.callout__icon{flex:none;align-items:center;padding-top:1px;display:flex}.callout__body{flex:1}.callout--info{color:var(--pantry-body);background:#f3f0ec;border:1px solid #e2dacb}.callout--success{background:var(--pantry-herb-bg);border:1px solid var(--pantry-herb-line);color:#12594e}.callout--warn{background:var(--pantry-butter);border:1px solid var(--pantry-butter-line);color:var(--pantry-embers-deep)}.callout--error{background:var(--pantry-alarm-bg);border:1px solid var(--pantry-alarm-line);color:var(--pantry-alarm)}.dialog-backdrop{padding:var(--gutter-screen);z-index:var(--pantry-z-modal);background:#26211c8c;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.dialog-panel{background:var(--surface-card);border:1px solid var(--border-strong);border-radius:var(--radius-xl);box-shadow:var(--shadow-floating);width:100%;max-width:440px;max-height:calc(100vh - var(--space-8) * 2);padding:var(--gutter-card) var(--gutter-card) var(--space-6);overflow-y:auto}.dialog-panel:focus-visible{outline:none}.dialog-header{justify-content:space-between;align-items:flex-start;gap:var(--space-4);margin-bottom:var(--space-4);display:flex}.dialog-title{font-family:var(--font-display);font-weight:var(--weight-medium);font-size:var(--text-title);color:var(--text-heading);margin:0}.dialog-close{border-radius:var(--radius-sm);width:28px;height:28px;color:var(--pantry-muted);cursor:pointer;background:0 0;border:none;flex:none;justify-content:center;align-items:center;margin:-4px -4px 0 0;padding:0;display:flex}.dialog-close:hover{color:var(--pantry-ink-soft)}.dialog-close:focus-visible{outline:2px solid var(--pantry-focus);outline-offset:2px}.dialog-body{font-size:var(--text-base);line-height:var(--leading-body);color:var(--text-body)}.dialog-actions{justify-content:flex-end;gap:var(--space-3);margin-top:var(--space-6);display:flex}.menu{position:relative}.menu-trigger{border-radius:var(--radius-sm);width:32px;height:32px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;display:flex}.menu-trigger:hover{background:var(--surface-subtle);color:var(--text-heading)}.menu-trigger:focus-visible{outline:2px solid var(--pantry-focus);outline-offset:2px}.menu-list{z-index:var(--pantry-z-base);background:var(--surface-raised);border:1px solid var(--border-base);border-radius:var(--radius-md);min-width:180px;box-shadow:var(--shadow-raised);padding:var(--space-2);flex-direction:column;display:flex;position:absolute;top:calc(100% + 6px);right:0}.menu-item{align-items:center;gap:var(--space-3);border-radius:var(--radius-sm);color:var(--text-body);text-align:left;cursor:pointer;background:0 0;border:none;padding:9px 11px;font-size:14.5px;display:flex}.menu-item:hover{background:var(--surface-subtle)}.menu-item:focus-visible{outline:2px solid var(--pantry-focus);outline-offset:2px}.menu-item--danger{color:var(--pantry-berry)}.menu-divider{background:var(--border-base);height:1px;margin:var(--space-2) var(--space-1)}.skeleton{background:var(--pantry-rule);border-radius:var(--radius-xs);animation:mise-skeleton-pulse 1.4s var(--motion-ease) infinite;display:block}.skeleton--line{width:100%;height:11px}.skeleton-lines{flex-direction:column;gap:9px;width:100%;display:flex}.skeleton-lines .skeleton{height:11px}.skeleton-card{background:var(--surface-raised);border:1px solid var(--border-base);border-radius:var(--radius-lg);width:100%;overflow:hidden}.skeleton-card-media{border-radius:0;height:120px}.skeleton-card-body{flex-direction:column;gap:9px;padding:11px 13px 13px;display:flex}.skeleton-card-title{width:72%;height:15px}.skeleton-card-subtitle{width:44%;height:11px}@keyframes mise-skeleton-pulse{0%,to{opacity:1}50%{opacity:.45}}@media (prefers-reduced-motion:reduce){.skeleton{opacity:.7;animation:none}}.toast{align-items:center;gap:var(--space-4);color:#f4ece0;border-radius:var(--radius-lg);box-shadow:var(--shadow-toast);padding:13px 16px;font-family:inherit;font-size:14px;display:flex}.toast--success{background:var(--pantry-ink)}.toast--undo{background:#3a2420}.toast-disc{border-radius:50%;flex:none;justify-content:center;align-items:center;width:24px;height:24px;display:flex}.toast-disc--success{background:var(--pantry-herb)}.toast-disc--undo{background:conic-gradient(var(--pantry-honey) 200deg, #ffffff2e 0)}.toast-message{flex:1}.toast-action{font:inherit;font-size:13px;font-weight:var(--weight-semibold);color:var(--pantry-honey);cursor:pointer;background:0 0;border:none;flex:none;margin:0;padding:0}.toast-action--undo{font-weight:var(--weight-bold)}.toast-action:focus-visible{outline:2px solid var(--pantry-focus);outline-offset:2px;border-radius:var(--radius-xs)}.tab-bar{background:var(--pantry-white);border-top:var(--border-hair) solid var(--border-base);justify-content:space-around;align-items:center;padding:11px 8px 26px;display:flex}.tab-bar-item{align-items:center;gap:var(--space-1);color:var(--pantry-muted);cursor:pointer;background:0 0;border:none;flex-direction:column;font-family:inherit;display:flex}.tab-bar-item:focus-visible{outline:2px solid var(--pantry-focus);outline-offset:2px}.tab-bar-item[aria-current=page]{color:var(--pantry-embers)}.tab-bar-item[aria-current=page] .tab-bar-label{font-weight:var(--weight-semibold)}.tab-bar-label{font-size:10px}.page-sheet-wrap{max-width:var(--measure-read);padding:var(--gutter-sheet) var(--gutter-screen) var(--gutter-sheet);margin:0 auto}.page-sheet{background:var(--surface-card);border:var(--border-hair) solid var(--border-strong);border-radius:var(--radius-2xl);box-shadow:var(--shadow-raised);overflow:hidden}.storage-warning-banner{padding:var(--space-3) var(--gutter-screen) 0}.storage-warning-banner-row{align-items:flex-start;gap:var(--space-3);flex:1;display:flex}.storage-warning-banner-row>span{flex:1}.storage-warning-banner-dismiss{color:inherit;cursor:pointer;opacity:.7;background:0 0;border:none;flex:none;justify-content:center;align-items:center;margin-top:1px;padding:0;display:flex}.storage-warning-banner-dismiss:hover{opacity:1}.storage-warning-banner-dismiss:focus-visible{outline:2px solid var(--pantry-focus);outline-offset:2px;border-radius:var(--radius-xs)}.topnav{align-items:center;gap:var(--space-5);background:var(--surface-inverse);border-bottom:var(--border-hair) solid var(--pantry-char-line);height:56px;padding:0 18px;display:flex}.topnav-brand{flex:none;align-items:center;gap:9px;display:inline-flex}.topnav-mark{height:16px;display:block}.topnav-wordmark{font-family:var(--font-display);font-weight:var(--weight-medium);color:var(--pantry-paper);letter-spacing:-.01em;font-size:19px}.topnav-links{flex:1;justify-content:center;align-items:center;gap:2px;display:flex}.topnav-link{font-family:inherit;font-size:var(--text-sm);font-weight:var(--weight-medium);cursor:pointer;color:#b8ada0;border-radius:var(--radius-sm);transition:background var(--motion-quick), color var(--motion-quick);background:0 0;border:none;padding:6px 12px}.topnav-link:hover{color:var(--pantry-paper)}.topnav-link:focus-visible{outline:2px solid var(--pantry-focus);outline-offset:2px}.topnav-link[aria-current=page]{font-weight:var(--weight-semibold);color:var(--pantry-paper);background:#ffffff1f}.topnav-actions{flex:none;align-items:center;gap:12px;display:inline-flex}.topnav-search{cursor:pointer;color:#b8ada0;background:0 0;border:none;display:inline-flex}.topnav-search:hover{color:var(--pantry-paper)}.topnav-search:focus-visible{outline:2px solid var(--pantry-focus);outline-offset:2px;border-radius:var(--radius-sm)}.topnav-avatar{border-radius:var(--radius-round);background:var(--pantry-embers);width:30px;height:30px;color:var(--pantry-white);font-size:var(--text-sm);font-weight:var(--weight-bold);letter-spacing:.02em;border:none;justify-content:center;align-items:center;font-family:inherit;display:inline-flex}button.topnav-avatar{cursor:pointer}button.topnav-avatar:focus-visible{outline:2px solid var(--pantry-focus);outline-offset:2px}.checkbox{cursor:pointer;align-items:center;gap:11px;display:inline-flex}.checkbox-input{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.checkbox-box{box-sizing:border-box;border:1.5px solid var(--pantry-box);border-radius:var(--radius-sm);background:var(--pantry-white);flex:none;justify-content:center;align-items:center;width:22px;height:22px;display:flex}.checkbox-input:focus-visible~.checkbox-box{outline:2px solid var(--pantry-focus);outline-offset:2px}.checkbox-fill{background:var(--pantry-embers);border-radius:4px;justify-content:center;align-items:center;width:100%;height:100%;display:flex}.checkbox-label{font-size:var(--text-base);color:var(--pantry-ink-soft)}.checkbox-label--checked{color:var(--text-faint)}.checkbox-label--strike{text-decoration:line-through}.filter-group-label{font-size:var(--eyebrow-size);letter-spacing:var(--eyebrow-tracking);text-transform:uppercase;color:var(--text-faint);margin-bottom:11px;font-weight:700}.filter-group-options{gap:var(--space-3);flex-direction:column;display:flex}.input-field{flex-direction:column;min-width:0;display:flex}.input-label{font-size:var(--eyebrow-size);letter-spacing:var(--eyebrow-tracking);text-transform:uppercase;color:var(--text-faint);margin-bottom:var(--space-3);font-weight:700}.input-required{color:var(--pantry-alarm)}.input-control{color:var(--text-heading);background:var(--pantry-white);border:var(--border-hair) solid var(--border-base);border-radius:var(--radius-sm);width:100%;min-width:0;transition:border-color var(--motion-quick) var(--motion-ease), box-shadow var(--motion-quick) var(--motion-ease);outline:none;padding:8px 11px;font-family:inherit;font-size:14.5px}.input-control::placeholder{color:var(--text-faint)}.input-control:hover:not(:disabled){border-color:var(--pantry-box)}.input-control:focus-visible{outline:2px solid var(--pantry-focus);outline-offset:2px}.input-control--error{border-color:var(--pantry-alarm);background:var(--pantry-alarm-bg)}.input-control--error:focus-visible{outline-color:var(--pantry-alarm)}.input-field--disabled .input-label{opacity:.6}.input-control:disabled{cursor:not-allowed;background:var(--surface-subtle);color:var(--text-muted);border-color:var(--border-base)}.input-message{margin:var(--space-2) 0 0;font-size:var(--text-sm);color:var(--text-muted)}.input-message--error{color:var(--pantry-alarm)}.star-rating{gap:3px;line-height:1;display:inline-flex}.star-rating span,.star-rating button{color:var(--pantry-honey-off);background:0 0;border:none;padding:0;line-height:1}.star-rating button{cursor:pointer}.star-rating button:focus-visible{outline:2px solid var(--pantry-focus);outline-offset:2px}.star-rating .star-rating-star--on{color:var(--pantry-honey)}.star-rating--sm{font-size:16px}.star-rating--md{font-size:22px}.star-rating--lg{font-size:28px}.rating-axes-header{align-items:center;gap:var(--space-6);padding-bottom:var(--space-6);border-bottom:1px solid var(--border-base);margin-bottom:var(--space-6);display:flex}.rating-axes-headline{text-align:center;flex:none}.rating-axes-score{font-family:var(--font-display);font-size:var(--text-hero);font-weight:500;line-height:1}.rating-axes-eyebrow{font-size:var(--eyebrow-size);color:var(--text-faint);letter-spacing:.06em;text-transform:uppercase}.rating-axes-summary{flex:1}.rating-axes-caption{margin-top:var(--space-2);color:var(--text-faint);font-size:13px}.rating-axes-use-derived{font:inherit;color:var(--pantry-embers);cursor:pointer;background:0 0;border:none;margin:0;padding:0}.rating-axes-use-derived:focus-visible{outline:2px solid var(--pantry-focus);outline-offset:2px}.rating-axes-row{justify-content:space-between;align-items:center;gap:var(--space-4);color:var(--pantry-ink-soft);margin-bottom:14px;font-size:15px;display:flex}.rating-axes-row:last-child{margin-bottom:0}.rating-axes-row-label{align-items:baseline;gap:var(--space-2);display:inline-flex}.rating-axes-row-weight{color:var(--text-faint);font-size:12px;font-weight:600}.rating-axes-again-pills{gap:var(--space-3);display:flex}.rating-axes-pill{border-radius:var(--radius-pill);color:var(--text-muted);cursor:pointer;background:#fff;border:1px solid #e2d9c8;padding:7px 15px;font-size:13px;font-weight:600}.rating-axes-pill--selected{background:var(--pantry-herb);border-color:var(--pantry-herb);color:#fff}.rating-axes-pill:focus-visible{outline:2px solid var(--pantry-focus);outline-offset:2px}.textarea-field{flex-direction:column;min-width:0;display:flex}.textarea-label{font-size:var(--eyebrow-size);letter-spacing:var(--eyebrow-tracking);text-transform:uppercase;color:var(--text-faint);margin-bottom:var(--space-2);font-weight:700}.textarea-required{color:var(--pantry-alarm)}.textarea-control{font-family:inherit;font-size:14.5px;line-height:var(--leading-body);color:var(--text-heading);background:var(--pantry-white);border:var(--border-hair) solid var(--border-strong);border-radius:var(--radius-sm);resize:vertical;width:100%;min-width:0;transition:border-color var(--motion-quick) var(--motion-ease);outline:none;padding:9px 11px}.textarea-control::placeholder{color:var(--text-faint)}.textarea-control:hover:not(:disabled){border-color:var(--pantry-box)}.textarea-control:focus-visible{border-color:var(--pantry-embers-edge);outline:2px solid var(--pantry-focus);outline-offset:2px}.textarea-control--error{border-color:var(--pantry-alarm-line)}.textarea-field--disabled .textarea-label{opacity:.6}.textarea-control:disabled{cursor:not-allowed;resize:none;background:var(--surface-subtle);color:var(--text-muted);border-color:var(--border-base)}.textarea-message{margin:var(--space-2) 0 0;font-size:var(--text-sm);color:var(--text-muted)}.textarea-message--error{color:var(--pantry-alarm)}.text-field{flex-direction:column;min-width:0;display:flex}.text-field-label{font-size:var(--eyebrow-size);letter-spacing:var(--eyebrow-tracking);text-transform:uppercase;color:var(--text-faint);margin-bottom:9px;font-weight:700}.text-field-required{color:var(--pantry-alarm)}.text-field-control{color:var(--text-heading);outline:none;width:100%;min-width:0;font-family:inherit}.text-field-control--standard{background:var(--pantry-white);border-radius:var(--radius-sm);border:1px solid #e2d9c8;padding:8px 11px;font-size:14.5px}textarea.text-field-control--standard{resize:vertical;line-height:var(--leading-body)}.text-field-control--display{font-family:var(--font-display);background:0 0;border:none;border-bottom:2px solid #e6ddcc;padding:4px 2px 8px;font-size:26px}.text-field-control:focus-visible{outline:2px solid var(--pantry-focus);outline-offset:2px}.text-field-control--error{border-color:var(--pantry-alarm)}.text-field-error{color:var(--pantry-alarm);margin:6px 0 0;font-size:12.5px}.toggle{border-radius:var(--radius-pill);cursor:pointer;width:42px;height:24px;transition:background var(--motion-quick);background:#d3cabb;border:none;flex:none;padding:0;position:relative}.toggle[data-on]{background:var(--pantry-embers)}.toggle:focus-visible{outline:2px solid var(--pantry-focus);outline-offset:2px}.toggle-knob{width:20px;height:20px;box-shadow:var(--shadow-knob);transition:left var(--motion-quick);background:#fff;border-radius:50%;position:absolute;top:2px;left:2px}.toggle[data-on] .toggle-knob{left:20px}.add-edit-wrap{max-width:820px;padding:var(--gutter-sheet) var(--gutter-screen);margin:0 auto}.add-edit-sheet{background:var(--surface-card);border:var(--border-hair) solid var(--border-strong);border-radius:var(--radius-2xl);box-shadow:var(--shadow-raised);overflow:hidden}.add-edit-header{padding:var(--space-5) var(--space-7);border-bottom:1px solid var(--border-base);justify-content:space-between;align-items:center;display:flex}.add-edit-cancel{color:var(--text-muted);cursor:pointer;background:0 0;border:none;align-items:center;gap:2px;padding:0;font-family:inherit;font-size:14px;display:inline-flex}.add-edit-cancel:focus-visible{outline:2px solid var(--pantry-focus);outline-offset:2px}.add-edit-header-title{font-family:var(--font-display);font-size:var(--text-lg);color:var(--text-heading);font-weight:500}.add-edit-body{padding:var(--space-7) var(--space-8) var(--space-8);gap:var(--space-6);flex-direction:column;display:flex}.add-edit-section-label{font-size:var(--eyebrow-size);letter-spacing:var(--eyebrow-tracking);text-transform:uppercase;color:var(--text-faint);margin-bottom:var(--space-3);font-weight:700}.add-edit-divider{font-family:var(--font-hand);font-weight:500;font-size:var(--text-base);color:var(--pantry-embers);margin:var(--space-2) 0 0}.add-edit-disclosures{border:var(--border-hair) solid var(--border-base);border-radius:var(--radius-lg);overflow:hidden}.add-edit-disclosure+.add-edit-disclosure{border-top:var(--border-hair) solid var(--border-base)}.add-edit-disclosure-header{align-items:center;gap:var(--space-3);width:100%;padding:var(--space-4) var(--space-5);color:var(--text-muted);cursor:pointer;text-align:left;background:0 0;border:none;font-family:inherit;display:flex}.add-edit-disclosure-header:focus-visible{outline:2px solid var(--pantry-focus);outline-offset:-2px}.add-edit-disclosure-label{font-size:var(--text-base);color:var(--text-body);flex:1;font-weight:600}.add-edit-disclosure-subtitle{color:var(--text-faint);font-size:13px}.add-edit-disclosure-body{padding:0 var(--space-5) var(--space-5)}.add-edit-footnote{color:var(--text-muted);margin:0;font-size:13px;line-height:1.6}.add-edit-rows{gap:var(--space-3);flex-direction:column;display:flex}.add-edit-row{gap:var(--space-3);align-items:flex-start;display:flex}.add-edit-row:has(.add-edit-ingredient-meta){gap:var(--space-2) var(--space-3);grid-template-columns:auto 1fr auto;grid-template-areas:"grip name remove"".meta.";display:grid}.add-edit-grip{cursor:grab;flex:none;grid-area:grip;align-items:center;height:38px;display:flex}.add-edit-ingredient-meta{gap:var(--space-3);grid-area:meta;display:flex}@media (width>=700px){.add-edit-row:has(.add-edit-ingredient-meta){grid-template-columns:auto 2fr 68px 78px 1fr auto;grid-template-areas:"grip name qty unit prep remove"}.add-edit-ingredient-meta{display:contents}}.add-edit-step-numeral{border:1.5px solid var(--pantry-honey);width:28px;height:28px;color:var(--pantry-embers);font-family:var(--font-display);font-size:var(--text-base);border-radius:50%;flex:none;justify-content:center;align-items:center;margin-top:4px;font-weight:600;display:flex}.add-edit-step-fields{gap:var(--space-2);flex-direction:column;flex:1;min-width:0;display:flex}.add-edit-remove{width:30px;height:38px;color:var(--text-faint);cursor:pointer;background:0 0;border:none;flex:none;justify-content:center;align-items:center;display:flex}.add-edit-remove:focus-visible{outline:2px solid var(--pantry-focus);outline-offset:2px}.add-edit-remove:hover{color:var(--pantry-alarm)}.add-edit-add-link{margin-top:var(--space-3);color:var(--pantry-embers);cursor:pointer;background:0 0;border:none;align-items:center;gap:4px;padding:0;font-family:inherit;font-size:13px;font-weight:600;display:inline-flex}.add-edit-add-link:hover{color:var(--pantry-embers-deep)}.add-edit-add-link:focus-visible{outline:2px solid var(--pantry-focus);outline-offset:2px}.add-edit-add-link:disabled{color:var(--text-faint);cursor:default}.add-edit-add-actions{align-items:center;gap:var(--space-5);display:flex}.add-edit-row--block{align-items:center}.add-edit-block-fields{justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap;flex:1;min-width:0;display:flex}.add-edit-block-title{align-items:center;gap:var(--space-2);font-size:var(--text-base);color:var(--text-body);font-weight:600;display:flex}.add-edit-block-toggle{align-items:center;gap:var(--space-2);color:var(--text-muted);font-size:13px;display:flex}.add-edit-block-picker-wrap{position:relative}.add-edit-block-picker{z-index:var(--pantry-z-base);background:var(--surface-raised);border:var(--border-hair) solid var(--border-base);border-radius:var(--radius-md);width:260px;box-shadow:var(--shadow-raised);padding:var(--space-3);gap:var(--space-2);flex-direction:column;display:flex;position:absolute;top:calc(100% + 6px);left:0}.add-edit-block-picker-list{flex-direction:column;max-height:220px;display:flex;overflow-y:auto}.add-edit-block-picker-item{width:100%;padding:var(--space-2) var(--space-2);border-radius:var(--radius-sm);color:var(--text-body);text-align:left;cursor:pointer;background:0 0;border:none;font-family:inherit;font-size:14px;display:block}.add-edit-block-picker-item:hover{background:var(--surface-subtle)}.add-edit-block-picker-item:focus-visible{outline:2px solid var(--pantry-focus);outline-offset:2px}.add-edit-block-picker-empty{padding:var(--space-2);color:var(--text-faint);margin:0;font-size:13px}.add-edit-details-row{gap:var(--space-3);flex-wrap:wrap;display:flex}.add-edit-details-row .text-field{flex:140px}.add-edit-tags{flex-wrap:wrap;align-items:center;gap:7px;display:flex}.add-edit-tag-input{font:inherit;color:var(--text-body);background:var(--surface-card);border:var(--border-hair) solid var(--border-base);border-radius:var(--radius-pill);width:120px;padding:4px 11px;font-size:13px}.add-edit-tag-input:focus-visible{outline:2px solid var(--pantry-focus);outline-offset:2px}.collection-card{background:var(--surface-raised);border:1px solid var(--border-base);border-radius:var(--radius-xl);width:100%;font:inherit;color:inherit;text-align:left;appearance:none;flex-direction:column;margin:0;padding:0;display:flex;overflow:hidden}button.collection-card{cursor:pointer}button.collection-card:focus-visible{outline:2px solid var(--pantry-focus);outline-offset:2px}.collection-card-cover{align-items:flex-end;height:96px;padding:14px 16px;display:flex;position:relative}.collection-card-title{font-family:var(--font-display);font-size:var(--text-title);color:#fff;text-shadow:0 1px 4px #0006;font-weight:500}.collection-card-footer{justify-content:space-between;align-items:center;gap:var(--space-3);padding:11px 15px;display:flex}.collection-card-desc{color:var(--text-body);font-size:13px}.collection-card-count{color:var(--text-muted);background:var(--surface-subtle);border-radius:var(--radius-pill);white-space:nowrap;padding:4px 11px;font-size:12px}.cook-log-entry{align-items:center;gap:var(--space-5);border-bottom:1px solid var(--pantry-rule-soft);width:100%;font:inherit;color:inherit;text-align:left;appearance:none;background:0 0;border-top:none;border-left:none;border-right:none;margin:0;padding:13px 0;display:flex}.cook-log-entry--clickable{cursor:pointer}.cook-log-entry--clickable:focus-visible{outline:2px solid var(--pantry-focus);outline-offset:2px}.cook-log-entry-date{text-align:center;flex:none;width:46px}.cook-log-entry-day{font-family:var(--font-display);font-size:22px;font-weight:500;line-height:1}.cook-log-entry-weekday{font-size:var(--eyebrow-size);color:var(--text-faint);text-transform:uppercase;letter-spacing:.04em}.cook-log-entry-thumb{border-radius:var(--radius-md);flex:none;width:56px;height:56px;overflow:hidden}.cook-log-entry-image{object-fit:cover;width:100%;height:100%;display:block}.cook-log-entry-fallback{width:100%;height:100%;font-family:var(--font-display);color:#b79b63;background:linear-gradient(135deg,#efe6d4,#e4d7bf);justify-content:center;align-items:center;font-size:18px;font-weight:500;display:flex}.cook-log-entry-body{flex:1;min-width:0}.cook-log-entry-head{flex-wrap:wrap;align-items:center;gap:4px 10px;display:flex}.cook-log-entry-title{font-family:var(--font-display);font-size:18px;font-weight:500}.cook-log-entry-times{color:var(--text-muted);background:var(--surface-subtle);border-radius:var(--radius-pill);white-space:nowrap;padding:2px 9px;font-size:11.5px}.cook-log-entry-note{font-family:var(--font-hand);font-size:14px;font-weight:500;line-height:var(--leading-hand);color:var(--text-hand);margin-top:4px}.cook-log-entry-rating{text-align:right;flex:none}.cook-log-entry-rating-value{color:var(--text-muted);font-size:12px}.ingredient-row{gap:var(--space-4);border-bottom:1px solid var(--pantry-rule);align-items:flex-start;padding:10px 0;display:flex}.ingredient-row-check{box-sizing:border-box;border:1.5px solid var(--pantry-box);border-radius:var(--radius-sm);background:var(--pantry-white);cursor:pointer;flex:none;justify-content:center;align-items:center;width:22px;height:22px;padding:0;display:flex}.ingredient-row-check:focus-visible{outline:2px solid var(--pantry-focus);outline-offset:2px}.ingredient-row-check-fill{background:var(--pantry-embers);border-radius:4px;justify-content:center;align-items:center;width:100%;height:100%;display:flex}.ingredient-row-body{flex:1;min-width:0}.ingredient-row-head{justify-content:space-between;align-items:baseline;gap:var(--space-4);display:flex}.ingredient-row-label{align-items:center;gap:var(--space-2);font-size:var(--text-md);color:var(--pantry-ink-soft);display:inline-flex}.ingredient-row-label--checked{color:var(--text-faint);text-decoration:line-through}.ingredient-row-trailing{align-items:center;gap:var(--space-3);flex:none;display:flex}.ingredient-row-qty{color:var(--pantry-muted);white-space:nowrap;font-variant-numeric:tabular-nums;flex:none;font-size:13.5px}.ingredient-row-basket{box-sizing:border-box;border:1.5px solid var(--pantry-box);border-radius:var(--radius-sm);background:var(--pantry-white);width:22px;height:22px;color:var(--pantry-muted);cursor:pointer;flex:none;justify-content:center;align-items:center;padding:0;display:flex}.ingredient-row-basket:focus-visible{outline:2px solid var(--pantry-focus);outline-offset:2px}.ingredient-row-basket--filled{border-color:var(--pantry-embers);background:var(--pantry-embers);color:var(--pantry-white)}.ingredient-row-note{font-family:var(--font-hand);font-size:13px;font-weight:500;line-height:var(--leading-hand);color:var(--text-hand);margin:3px 0 0}.recipe-card{background:var(--surface-raised);border:1px solid var(--border-base);border-radius:var(--radius-lg);overflow:hidden}.recipe-card--clickable{cursor:pointer}.recipe-card--clickable:focus-visible{outline:2px solid var(--pantry-focus);outline-offset:2px}.recipe-card-media{height:120px;position:relative}.recipe-card-image{object-fit:cover;width:100%;height:100%;display:block}.recipe-card-fallback{width:100%;height:100%;font-family:var(--font-display);color:#b79b63;background:linear-gradient(135deg,#efe6d4,#e4d7bf);justify-content:center;align-items:center;font-size:22px;font-weight:500;display:flex}.recipe-card-fav{background:#ffffffd9;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;display:flex;position:absolute;top:9px;right:9px}.recipe-card-cook{background:var(--pantry-embers);cursor:pointer;border:2px solid #ffffffe6;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;padding:0;display:flex;position:absolute;bottom:9px;right:9px}.recipe-card-cook:focus-visible{outline:2px solid var(--pantry-focus);outline-offset:2px}.recipe-card-body{padding:11px 13px 13px}.recipe-card-title{font-family:var(--font-display);font-size:var(--text-lg);font-weight:500;line-height:var(--leading-tight);margin-bottom:7px}.recipe-card-tags{margin-bottom:var(--space-3);flex-wrap:wrap;gap:5px;display:flex}.recipe-card-footer{font-size:var(--text-sm);color:var(--text-muted);justify-content:space-between;align-items:center;display:flex}.recipe-card-rating{align-items:center;gap:5px;display:inline-flex}.step-item{gap:15px;display:flex}.step-item-numeral{border:1.5px solid var(--pantry-honey);width:32px;height:32px;color:var(--pantry-embers);font-family:var(--font-display);font-size:var(--text-lg);border-radius:50%;flex:none;justify-content:center;align-items:center;font-weight:600;display:flex}.step-item-body{flex:1;min-width:0}.step-item-title{font-family:var(--font-display);margin:5px 0 6px;font-size:18px;font-weight:500}.step-item-text{font-size:var(--text-base);line-height:var(--leading-body);color:var(--text-body);text-wrap:pretty;margin:0}.step-item-thumb{object-fit:cover;border-radius:var(--radius-sm);border:1px solid #e7e1d8;width:150px;height:100px;margin:12px 0 0;display:block}.step-item-affordances{gap:var(--space-3);flex-wrap:wrap;margin-top:11px;display:flex}.step-item-technique,.step-item-timer,.step-item-temperature{border:1px solid #0000;border-radius:999px;align-items:center;gap:6px;padding:6px 13px;font-family:inherit;font-size:13px;font-weight:600;display:inline-flex}.step-item-technique{color:var(--pantry-embers);background:var(--pantry-butter);border-color:var(--pantry-butter-line)}.step-item-timer{color:var(--pantry-herb);background:var(--pantry-herb-bg);border-color:var(--pantry-herb-line);cursor:pointer}.step-item-temperature{color:var(--pantry-herb);background:var(--pantry-herb-bg);border-color:var(--pantry-herb-line)}.step-item-timer:focus-visible{outline:2px solid var(--pantry-focus);outline-offset:2px}.step-item-note{border-left:3px solid var(--pantry-pencil-rule);margin-top:11px;padding-left:13px}.step-item-note-text{font-family:var(--font-hand);font-weight:500;font-size:var(--text-base);line-height:var(--leading-hand);color:var(--text-hand);margin:0}.sub-recipe-section-header{justify-content:space-between;align-items:center;gap:var(--space-4);margin-bottom:var(--space-4);display:flex}.sub-recipe-section-heading{align-items:baseline;gap:10px;display:flex}.sub-recipe-section-title{font-family:var(--font-display);font-weight:500;font-size:var(--text-title);margin:0}.sub-recipe-section-used-in{color:#b09f88;font-size:12px}.sub-recipe-section-control{align-items:center;gap:var(--space-3);display:flex}.sub-recipe-section-state{color:var(--pantry-muted);font-size:12px;font-weight:600}.sub-recipe-section-state--included{color:var(--pantry-embers)}.sub-recipe-section-note{margin-bottom:14px}.sub-recipe-section-skip{color:#a99f8d;margin:0;padding-left:47px;font-size:14.5px;font-style:italic}.substitution-row{border-bottom:1px solid var(--pantry-rule-soft);gap:13px;padding:13px 0;display:flex}.substitution-row-icon{color:#c9bfae;flex:none;padding-top:3px}.substitution-row-body{flex:1;min-width:0}.substitution-row-head{align-items:center;gap:var(--space-3);margin-bottom:3px;display:flex}.substitution-row-to{font-size:var(--text-lg);color:var(--text-heading);font-weight:600}.substitution-row-recipes{color:var(--text-faint);font-size:12px}.substitution-row-note{font-family:var(--font-hand);font-weight:500;font-size:var(--text-base);line-height:var(--leading-hand);color:var(--text-hand);margin:0}.timer-card{align-items:center;gap:var(--space-5);background:var(--pantry-char);border:1px solid var(--pantry-char-line);border-radius:var(--radius-xl);padding:var(--space-5);box-sizing:border-box;max-width:100%;display:flex}.timer-card-ring{border-radius:50%;flex:none;justify-content:center;align-items:center;width:64px;height:64px;display:flex}.timer-card-remaining{background:var(--pantry-char);width:50px;height:50px;font-family:var(--font-display);font-size:var(--text-lg);color:#fff;font-variant-numeric:tabular-nums;border-radius:50%;justify-content:center;align-items:center;font-weight:600;display:flex}.timer-card-body{flex:1;min-width:0}.timer-card-label{font-size:var(--text-base);color:#fff;font-weight:600}.timer-card-sublabel{color:var(--text-faint);font-size:12px}.timer-card-actions{margin-top:var(--space-3);flex-wrap:wrap;gap:7px;display:flex}.timer-card-toggle,.timer-card-snooze,.timer-card-cancel{border-radius:var(--radius-sm);cursor:pointer;align-items:center;gap:5px;font-family:inherit;font-size:12.5px;font-weight:600;display:inline-flex}.timer-card-toggle{background:var(--pantry-embers);color:#fff;border:none;padding:7px 12px}.timer-card-snooze{color:#f4ece0;background:#ffffff1a;border:none;padding:7px 11px}.timer-card-cancel{color:#c9a6a0;background:0 0;border:1px solid #5a4038;padding:7px 11px;font-weight:500}.timer-card-toggle:focus-visible,.timer-card-snooze:focus-visible,.timer-card-cancel:focus-visible{outline:2px solid var(--pantry-focus);outline-offset:2px}.collection-screen{padding:24px 28px 30px}.collection-header{justify-content:space-between;align-items:flex-end;gap:var(--space-4);margin-bottom:22px;display:flex}.collection-header h1{font-family:var(--font-display);font-weight:var(--weight-medium);font-size:var(--text-display);letter-spacing:-.01em;color:var(--text-heading);margin:0}.collection-subtitle{font-family:var(--font-hand);font-weight:500;font-size:var(--text-lg);color:var(--text-hand);margin:4px 0 0}.collection-grid{gap:var(--space-5);grid-template-columns:repeat(2,1fr);display:grid}@media (width>=700px){.collection-grid{grid-template-columns:repeat(3,1fr)}}.cook-log-screen{padding:24px 28px 30px}.cook-log-header{justify-content:space-between;align-items:center;gap:var(--space-5);border-bottom:1px solid var(--border-strong);margin:-24px -28px 22px;padding:22px 28px;display:flex}.cook-log-header h1{font-family:var(--font-display);font-weight:var(--weight-medium);font-size:var(--text-display);letter-spacing:-.01em;color:var(--text-heading);margin:0}.cook-log-subtitle{color:var(--text-muted);margin:4px 0 0;font-size:13px}.cook-log-stats{gap:var(--space-7);display:flex}.cook-log-stat{text-align:center}.cook-log-stat-value{font-family:var(--font-display);font-weight:var(--weight-medium);font-size:28px}.cook-log-stat-value--streak{color:var(--pantry-embers)}.cook-log-stat-label{font-size:var(--text-xs);letter-spacing:.05em;text-transform:uppercase;color:var(--text-muted)}.cook-log-group-heading{align-items:baseline;gap:var(--space-4);padding:20px 0 6px;display:flex}.cook-log-group-heading h2{font-family:var(--font-display);font-weight:var(--weight-medium);color:#8a7d67;margin:0;font-size:19px}.cook-log-group-rule{background:var(--border-base);flex:1;height:1px}.cook-log-group-count{font-size:var(--text-sm);color:var(--text-faint)}.cook-mode{z-index:var(--pantry-z-overlay);background:var(--pantry-char);color:#fff;font-family:var(--font-ui);flex-direction:column;display:flex;position:fixed;inset:0}.cook-mode-header{justify-content:space-between;align-items:center;gap:var(--space-4);padding:var(--space-5) var(--space-6);border-bottom:1px solid var(--pantry-char-line);flex:none;display:flex}.cook-mode-exit{align-items:center;gap:var(--space-2);color:#f4ece0;border-radius:var(--radius-sm);font-family:inherit;font-size:13px;font-weight:var(--weight-semibold);cursor:pointer;background:#ffffff14;border:none;padding:8px 13px;display:inline-flex}.cook-mode-exit:hover{background:#ffffff24}.cook-mode-exit:focus-visible{outline:2px solid var(--pantry-focus);outline-offset:2px}.cook-mode-header-title{text-align:center;min-width:0;font-family:var(--font-display);font-weight:500;font-size:var(--text-lg);text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.cook-mode-controls{align-items:center;gap:var(--space-4);flex:none;display:inline-flex}.cook-mode-read-aloud{color:#f4ece0;cursor:pointer;background:#ffffff14;border:1px solid #0000;border-radius:50%;flex:none;justify-content:center;align-items:center;width:32px;height:32px;display:inline-flex}.cook-mode-read-aloud:hover{background:#ffffff24}.cook-mode-read-aloud:focus-visible{outline:2px solid var(--pantry-focus);outline-offset:2px}.cook-mode-read-aloud--active{border-color:var(--pantry-honey);background:color-mix(in srgb, var(--pantry-honey) 12%, transparent);color:var(--pantry-honey)}.cook-mode-keep-awake{align-items:center;gap:var(--space-2);color:var(--text-faint);white-space:nowrap;flex:none;font-size:12.5px;display:inline-flex}.cook-mode-progress{padding:0 var(--space-6);margin-top:var(--space-4);flex:none}.cook-mode-progress-track{border-radius:var(--radius-pill);background:var(--pantry-char-line);height:4px;overflow:hidden}.cook-mode-progress-fill{background:var(--pantry-honey);border-radius:var(--radius-pill);height:100%;transition:width var(--motion-ease) .2s}.cook-mode-body{min-height:0;padding:var(--space-6);flex-direction:column;flex:1;justify-content:center;align-items:center;display:flex;overflow-y:auto}.cook-mode-section-label{font-size:var(--eyebrow-size);letter-spacing:var(--eyebrow-tracking);text-transform:uppercase;font-weight:var(--weight-semibold);color:var(--pantry-honey);margin-bottom:var(--space-5)}.cook-mode-step{align-items:flex-start;gap:var(--space-6);max-width:640px;display:flex}.cook-mode-numeral{border:2px solid var(--pantry-honey);width:56px;height:56px;color:var(--pantry-honey);font-family:var(--font-display);font-size:var(--text-h2);border-radius:50%;flex:none;justify-content:center;align-items:center;font-weight:600;display:flex}.cook-mode-step-body{flex:1;min-width:0}.cook-mode-step-text{font-size:clamp(20px,3vw,28px);line-height:var(--leading-body);color:#fff;text-wrap:pretty;margin:0}.cook-mode-temp-badge{margin-top:var(--space-4);border-radius:var(--radius-pill);border:1px solid var(--pantry-honey);background:color-mix(in srgb, var(--pantry-honey) 12%, transparent);color:var(--pantry-honey);font-weight:var(--weight-semibold);font-size:var(--text-base);align-items:center;gap:6px;padding:6px 14px;display:inline-flex}.cook-mode-timer-trigger{margin-top:var(--space-4);border-radius:var(--radius-pill);border:1px solid var(--pantry-honey);background:color-mix(in srgb, var(--pantry-honey) 12%, transparent);color:var(--pantry-honey);font-weight:var(--weight-semibold);font-size:var(--text-base);cursor:pointer;align-items:center;gap:6px;padding:6px 14px;font-family:inherit;display:inline-flex}.cook-mode-timer-trigger:focus-visible{outline:2px solid var(--pantry-focus);outline-offset:2px}.cook-mode-note{margin:var(--space-5) 0 0;border-left:3px solid var(--pantry-honey);font-family:var(--font-hand);font-weight:500;font-size:var(--text-lg);line-height:var(--leading-hand);color:#f4e6c8;padding-left:14px}.cook-mode-count{margin:var(--space-6) 0 0;color:var(--text-faint);font-variant-numeric:tabular-nums;font-size:13px}.cook-mode-empty{justify-content:center;align-items:center;gap:var(--space-4);color:var(--text-faint);text-align:center;padding:var(--space-6);flex-direction:column;flex:1;display:flex}.cook-mode-empty p{font-size:var(--text-base);margin:0}.cook-mode-nav{justify-content:center;gap:var(--space-4);padding:var(--space-6);border-top:1px solid var(--pantry-char-line);flex:none;display:flex}.home-screen{padding:24px 28px 30px}.home-title-block{justify-content:space-between;align-items:flex-end;gap:var(--space-5);margin-bottom:22px;display:flex}.home-title-block h1{font-family:var(--font-display);font-weight:var(--weight-medium);font-size:var(--text-display);letter-spacing:-.01em;color:var(--text-heading);margin:0}.home-subtitle{font-family:var(--font-hand);font-weight:var(--weight-medium);font-size:var(--text-lg);color:var(--text-hand);margin:4px 0 0}.home-hero-row{gap:var(--space-6);margin-top:var(--space-8);grid-template-columns:1fr;align-items:stretch;display:grid}@media (width>=700px){.home-hero-row{grid-template-columns:1.5fr 1fr}}.home-hero{background:var(--pantry-linen);cursor:pointer;min-height:230px;font:inherit;text-align:left;border:none;border-radius:18px;padding:0;position:relative;overflow:hidden}.home-hero:focus-visible{outline:2px solid var(--pantry-focus);outline-offset:2px}.home-hero-image{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.home-hero-scrim{background:linear-gradient(#140e080d,#140e08cc);position:absolute;inset:0}.home-hero-content{color:#fff;position:absolute;bottom:22px;left:24px;right:24px}.home-hero-eyebrow{font-size:var(--eyebrow-size);letter-spacing:.12em;text-transform:uppercase;color:#f0d9a8;margin-bottom:6px;font-weight:600}.home-hero-title{font-family:var(--font-display);font-weight:var(--weight-medium);font-size:30px}.home-hero-note{font-family:var(--font-hand);font-weight:var(--weight-medium);color:#f4e6c8;margin:4px 0 0;font-size:15px}.home-counts-panel{background:var(--surface-subtle);border-radius:var(--radius-xl);padding:22px}.home-counts-headline{font-family:var(--font-display);font-weight:var(--weight-medium);font-size:var(--text-display);color:var(--text-heading)}.home-counts-caption{color:var(--text-muted);margin-top:2px;font-size:13px}.home-counts-divider{background:#e5ddcd;height:1px;margin:14px 0}.home-counts-row{gap:24px;display:flex}.home-counts-number{font-family:var(--font-display);font-weight:var(--weight-medium);color:var(--text-heading);font-size:24px}.home-counts-number--streak{color:var(--pantry-embers)}.home-counts-item-caption{color:var(--text-muted);margin-top:2px;font-size:12px}.home-section{margin-top:var(--space-8)}.home-section-header{margin-bottom:var(--space-5);justify-content:space-between;align-items:baseline;display:flex}.home-section-title{font-family:var(--font-display);font-weight:var(--weight-medium);font-size:var(--text-h2);color:var(--text-heading);margin:0}.home-section-link{color:var(--pantry-embers);cursor:pointer;background:0 0;border:none;padding:0;font-size:13px;font-weight:600}.home-section-link:hover{color:var(--pantry-embers-deep)}.home-section-link:focus-visible{outline:2px solid var(--pantry-focus);outline-offset:2px}.home-jump-back-in-grid{gap:var(--space-5);grid-template-columns:repeat(2,1fr);display:grid}@media (width>=700px){.home-jump-back-in-grid{grid-template-columns:repeat(4,1fr)}}.home-collections-grid{grid-template-columns:repeat(2,1fr);gap:14px;display:grid}@media (width>=700px){.home-collections-grid{grid-template-columns:repeat(3,1fr)}}.library-screen{grid-template-columns:1fr;display:grid}@media (width>=900px){.library-screen{grid-template-columns:230px 1fr}}.library-sidebar{background:var(--surface-subtle);border-right:1px solid #e8e0d2;padding:24px 20px;display:none}@media (width>=900px){.library-sidebar{display:block}}.library-sidebar-heading{margin:0 0 var(--space-4);font-family:var(--font-display);font-size:18px;font-weight:var(--weight-medium);color:var(--text-heading)}.library-scope-list{flex-direction:column;gap:2px;display:flex}.library-scope-group{margin-top:var(--space-5)}.library-scope-group-heading{margin:0 0 var(--space-2) 11px;font-size:12px;font-weight:var(--weight-semibold);letter-spacing:.04em;text-transform:uppercase;color:var(--text-faint)}.library-scope-row{align-items:center;gap:var(--space-3);border-radius:var(--radius-sm);color:#6b6355;text-align:left;cursor:pointer;background:0 0;border:none;width:100%;padding:7px 11px;font-size:14px;display:flex}.library-scope-row:focus-visible{outline:2px solid var(--pantry-focus);outline-offset:2px}.library-scope-row--active{color:var(--pantry-embers);background:var(--pantry-butter);font-weight:600}.library-scope-dot{border-radius:3px;flex-shrink:0;width:10px;height:10px}.library-scope-label{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.library-scope-count{color:var(--text-faint);margin-left:auto;font-size:12px}.library-main{min-width:0;padding:24px 28px 30px}.library-quick-filter{flex:1;min-width:220px;max-width:320px}@media (width>=900px){.library-quick-filter{display:none}}.library-quick-filter select{border-radius:var(--radius-md);background:var(--surface-raised);width:100%;color:inherit;border:1.5px solid #e2d9c8;padding:10px 12px;font-family:inherit;font-size:14px}.library-header{justify-content:space-between;align-items:center;gap:var(--space-4);flex-wrap:wrap;margin-bottom:22px;display:flex}.library-header h1{font-family:var(--font-display);font-weight:var(--weight-medium);letter-spacing:-.01em;color:var(--text-heading);margin:0;font-size:28px}.library-subtitle{color:var(--text-muted);margin:4px 0 0;font-size:13px}.library-grid{gap:var(--space-5);grid-template-columns:repeat(2,1fr);display:grid}@media (width>=700px){.library-grid{grid-template-columns:repeat(4,1fr)}}.recipe-breadcrumb{align-items:center;gap:var(--space-4);padding:15px var(--gutter-screen);color:var(--text-muted);font-size:14px;display:flex}.recipe-breadcrumb-back{align-items:center;gap:var(--space-2);color:inherit;font:inherit;cursor:pointer;background:0 0;border:none;padding:0;display:flex}.recipe-breadcrumb-back:focus-visible{outline:2px solid var(--pantry-focus);outline-offset:2px}.recipe-breadcrumb-back:hover{color:var(--text-heading)}.recipe-breadcrumb-context{flex:1}.recipe-breadcrumb .menu{margin-left:auto}.recipe-hero{min-height:230px;position:relative}.recipe-hero-image,.recipe-hero-fallback{width:100%;height:100%;position:absolute;inset:0}.recipe-hero-image{object-fit:cover;display:block}.recipe-hero-fallback{font-family:var(--font-display);color:#b79b63;background:linear-gradient(135deg,#efe6d4,#e4d7bf);justify-content:center;align-items:center;font-size:40px;font-weight:500;display:flex}.recipe-body{padding:0 var(--gutter-screen) var(--gutter-sheet)}.recipe-title-block{padding-top:var(--space-6)}.recipe-title{font-family:var(--font-display);letter-spacing:-.015em;color:var(--text-heading);margin:0;font-size:38px;font-weight:500;line-height:1.05}.recipe-subtitle{font-family:var(--font-hand);font-weight:500;font-size:var(--text-lg);color:var(--text-hand);margin:6px 0 0}.recipe-delete-dialog-subtitle{margin:0 0 var(--space-4);color:var(--text-heading);font-weight:600}.recipe-favourite-button{top:var(--space-5);left:var(--space-5);border-radius:var(--radius-round);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);cursor:pointer;background:#140f0a73;border:none;justify-content:center;align-items:center;width:38px;height:38px;display:flex;position:absolute}.recipe-favourite-button:hover{background:#140f0a99}.recipe-favourite-button:focus-visible{outline-offset:2px;outline:2px solid #fff}.recipe-meta-strip{border-top:1px solid var(--border-base);border-bottom:1px solid var(--border-base);gap:22px;padding:14px 0;display:flex}.recipe-meta-item{flex-direction:column;gap:2px;display:flex}.recipe-meta-item:not(:last-child){border-right:1px solid var(--border-base);height:30px;padding-right:22px}.recipe-meta-label{font-size:var(--eyebrow-size);letter-spacing:var(--eyebrow-tracking);text-transform:uppercase;color:var(--text-faint)}.recipe-meta-value{color:var(--text-heading);font-size:15px;font-weight:600}.recipe-meta-rating{align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--text-muted);display:inline-flex}.recipe-tags-row{align-items:center;gap:var(--space-2);margin-top:var(--space-5);flex-wrap:wrap;display:flex}.recipe-source{font-size:var(--text-sm);color:var(--text-muted);margin:0}.recipe-source a{color:inherit}.recipe-source a:focus-visible{outline:2px solid var(--pantry-focus);outline-offset:2px}.recipe-section{margin-top:var(--space-8)}.recipe-section-title{font-family:var(--font-display);font-weight:500;font-size:var(--text-h2);margin:0 0 var(--space-5);color:var(--text-heading)}.recipe-ingredient-list{margin:0;padding:0;list-style:none}.recipe-ingredient-group{margin-top:var(--space-5)}.recipe-ingredient-group-heading{font-size:var(--text-sm);text-transform:uppercase;letter-spacing:.08em;color:#8a7d67;padding-bottom:var(--space-2);margin-bottom:var(--space-2);border-bottom:2px solid #efe7d8;font-weight:700}.recipe-ingredient-group-skipped-note{font-family:var(--font-hand);color:var(--pantry-pencil);background:var(--pantry-butter);border:1px solid var(--pantry-butter-line);border-radius:var(--radius-md);margin:0;padding:10px 12px;font-size:13.5px;font-weight:500;line-height:1.55}.recipe-steps{gap:var(--space-7);flex-direction:column;display:flex}.recipe-notes{gap:var(--space-4);flex-direction:column;display:flex}.recipe-note{font-family:var(--font-hand);font-weight:500;font-size:var(--text-lg);line-height:var(--leading-hand);color:var(--text-hand);margin:0}.recipe-export-section{border-top:1px solid var(--border-base);padding-top:var(--space-6)}.recipe-export-actions{gap:var(--space-3);flex-wrap:wrap;display:flex}.recipe-cook-note-label{font-size:13px;font-weight:var(--weight-semibold);color:var(--text-faint);margin-bottom:var(--space-2);display:block}.recipe-cook-note-field{background:var(--surface-raised);border-radius:var(--radius-md);border:1.5px solid #e2d9c8;align-items:center;padding:11px 14px;display:flex}.recipe-cook-note-field:has(input:focus-visible){outline:2px solid var(--pantry-focus);outline-offset:2px}.recipe-cook-note-field input{font-size:var(--text-base);color:inherit;background:0 0;border:none;outline:none;flex:1;font-family:inherit}.recipe-cook-actions{gap:var(--space-3);flex-wrap:wrap;display:flex}.recipe-ask-rating{align-items:flex-start;gap:var(--space-3);background:var(--pantry-linen);border-radius:var(--radius-lg);padding:var(--space-5);margin-top:var(--space-4);flex-direction:column;display:flex}.recipe-ask-rating-label{font-family:var(--font-ui);font-weight:500;font-size:var(--text-lg);color:var(--text-body)}.recipe-ask-rating-actions{gap:var(--space-3);display:flex}.recipe-screen-toast{left:50%;bottom:var(--space-6);position:fixed;translate:-50%}@media (width<700px){.recipe-screen-toast{bottom:90px}}@media (width>=1080px){.recipe-page-sheet{width:100%;max-width:1180px}.recipe-hero{min-height:300px}.recipe-split{padding:var(--space-7) 40px var(--space-9);grid-template-columns:300px minmax(0,1fr);align-items:start;gap:40px;display:grid}.recipe-split .recipe-section{margin-top:0}.recipe-split .recipe-tray{max-height:calc(100vh - 48px);position:sticky;top:24px;overflow:auto}}.search-screen{padding:24px 28px 30px}.search-field-row{border-bottom:1px solid var(--border-base);margin-bottom:24px;padding-bottom:20px}.search-field{align-items:center;gap:var(--space-4);background:var(--surface-raised);border-radius:var(--radius-md);border:1.5px solid #e2d9c8;padding:13px 16px;display:flex}.search-field input{font-size:var(--text-lg);color:inherit;background:0 0;border:none;outline:none;flex:1;font-family:inherit}.search-field:has(input:focus-visible){outline:2px solid var(--pantry-focus);outline-offset:2px}.search-applied-filters{margin-top:var(--space-4);flex-wrap:wrap;gap:7px;display:flex}.search-body{grid-template-columns:1fr;gap:24px;display:grid}@media (width>=900px){.search-body{grid-template-columns:250px 1fr}}.search-filters{border-bottom:1px solid var(--border-base);flex-direction:column;gap:22px;padding-bottom:20px;display:flex}@media (width<900px){.search-filters{flex-flow:wrap;gap:24px 40px}}@media (width>=900px){.search-filters{border-bottom:none;border-right:1px solid var(--border-base);padding:0 20px 0 0}}.search-results-count{color:var(--text-muted);margin:0 0 14px;font-size:13px}.search-results-grid{grid-template-columns:repeat(2,1fr);gap:14px;display:grid}@media (width<560px){.search-results-grid{grid-template-columns:1fr}.search-filters{flex-direction:column}}.settings-screen{padding:24px 28px 30px}.settings-header{justify-content:space-between;align-items:flex-start;gap:var(--space-4);margin-bottom:22px;display:flex}.settings-title{font-family:var(--font-display);font-weight:var(--weight-medium);font-size:var(--text-display);letter-spacing:-.01em;color:var(--text-heading);margin:0}.settings-subtitle{font-family:var(--font-hand);font-weight:var(--weight-medium);font-size:var(--text-lg);color:var(--text-hand);margin:4px 0 0}.settings-close{color:var(--pantry-muted);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;justify-content:center;align-items:center;display:inline-flex}.settings-close:hover{color:var(--text-heading)}.settings-close:focus-visible{outline:2px solid var(--pantry-focus);outline-offset:2px}.settings-group+.settings-group{margin-top:var(--space-7)}.settings-group-title{font-size:var(--eyebrow-size);letter-spacing:var(--eyebrow-tracking);text-transform:uppercase;color:var(--text-faint);padding-bottom:var(--space-3);border-bottom:2px solid #efe7d8;margin:0;font-weight:700}.settings-row{justify-content:space-between;align-items:center;gap:var(--space-6);padding:var(--space-5) 0;border-bottom:var(--border-hair) solid var(--pantry-line);display:flex}.settings-row--last{border-bottom:none}.settings-row-label{font-size:var(--text-base);font-weight:var(--weight-semibold);color:var(--text-heading)}.settings-row-hint{color:var(--text-muted);font-size:13px}.settings-file-input{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.settings-ctl{flex:none}.settings-ctl--wide{width:260px}.settings-ctl--narrow{width:120px}@media (width<700px){.settings-row{align-items:flex-start;gap:var(--space-3);flex-direction:column}.settings-ctl{width:100%}}.shopping-header{border-bottom:var(--border-hair) solid var(--pantry-line);padding:22px 20px 18px}@media (width>=700px){.shopping-header{padding-left:30px;padding-right:30px}}.shopping-header-top{justify-content:space-between;align-items:center;gap:var(--space-5);margin-bottom:14px;display:flex}.shopping-title{font-family:var(--font-display);font-weight:var(--weight-medium);letter-spacing:-.01em;color:var(--text-heading);margin:0;font-size:28px}.shopping-count{color:var(--text-muted);margin:0;font-size:13px}.shopping-recipes-label{font-size:var(--eyebrow-size);letter-spacing:var(--eyebrow-tracking);text-transform:uppercase;color:var(--text-faint);margin-bottom:var(--space-3);font-weight:700}.shopping-recipes{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.shopping-recipe-chip{background:var(--pantry-white);border:var(--border-hair) solid var(--pantry-line);border-radius:var(--radius-pill);color:var(--pantry-ink-soft);align-items:center;gap:8px;padding:6px 8px;font-size:13.5px;display:inline-flex}.shopping-recipe-swatch{opacity:.9;border-radius:6px;flex:none;width:20px;height:20px}.shopping-recipe-remove{color:inherit;opacity:.6;cursor:pointer;background:0 0;border:none;align-items:center;padding:0;display:inline-flex}.shopping-recipe-remove:hover{opacity:1}.shopping-recipe-remove:focus-visible{opacity:1;outline:2px solid var(--pantry-focus);outline-offset:2px;border-radius:var(--radius-xs)}.shopping-add-recipe{border-radius:var(--radius-pill);font-size:13px;font-weight:var(--weight-semibold);color:var(--pantry-embers);cursor:pointer;background:0 0;border:1px dashed #d9c8a6;align-items:center;gap:6px;padding:7px 13px;display:inline-flex}.shopping-add-recipe:hover{color:var(--pantry-embers-deep)}.shopping-add-recipe:focus-visible{outline:2px solid var(--pantry-focus);outline-offset:2px}.shopping-body{padding:6px 20px 26px}@media (width>=700px){.shopping-body{padding-left:30px;padding-right:30px}}.shopping-group-heading{align-items:baseline;gap:var(--space-4);padding:18px 0 8px;display:flex}.shopping-group-heading h2{font-family:var(--font-display);font-weight:var(--weight-medium);color:#8a7d67;margin:0;font-size:18px}.shopping-group-rule{background:var(--pantry-line);flex:1;height:1px}.shopping-item{border-bottom:var(--border-hair) solid var(--pantry-rule-soft);align-items:center;gap:13px;padding:10px 0;display:flex}.shopping-item-spacer{flex:1}.shopping-item-source{font-size:var(--text-sm);color:var(--text-muted);background:var(--surface-subtle);border-radius:var(--radius-pill);white-space:nowrap;padding:3px 10px}.shopping-item-qty{text-align:right;width:80px;color:var(--pantry-body);font-variant-numeric:tabular-nums;font-size:14px}.shopping-item-remove{color:var(--text-muted);opacity:.6;cursor:pointer;background:0 0;border:none;align-items:center;padding:0;display:inline-flex}.shopping-item-remove:hover{opacity:1}.shopping-item-remove:focus-visible{opacity:1;outline:2px solid var(--pantry-focus);outline-offset:2px;border-radius:var(--radius-xs)}.shopping-item-omit{color:var(--text-muted);opacity:.6;cursor:pointer;background:0 0;border:none;align-items:center;padding:0;display:inline-flex}.shopping-item-omit:hover{opacity:1;color:var(--pantry-embers-deep)}.shopping-item-omit:focus-visible{opacity:1;outline:2px solid var(--pantry-focus);outline-offset:2px;border-radius:var(--radius-xs)}.shopping-hidden{margin-bottom:var(--space-4)}.shopping-hidden-toggle{font-size:var(--text-sm);color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:0}.shopping-hidden-toggle:focus-visible{outline:2px solid var(--pantry-focus);outline-offset:2px}.shopping-hidden-toggle:hover{color:var(--text-heading)}.shopping-hidden-list{gap:var(--space-2);margin-top:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--surface-subtle);border-radius:var(--radius-md);flex-direction:column;display:flex}.shopping-hidden-item{justify-content:space-between;align-items:center;gap:var(--space-4);color:var(--pantry-ink-soft);font-size:14px;display:flex}.shopping-hidden-item button{color:var(--text-muted);cursor:pointer;background:0 0;border:none;align-items:center;padding:0;display:inline-flex}.shopping-hidden-item button:focus-visible{outline:2px solid var(--pantry-focus);outline-offset:2px}.shopping-hidden-item button:hover{color:var(--pantry-embers-deep)}.shopping-add-item-form{align-items:flex-end;gap:var(--space-4);display:flex}.shopping-add-item-aisle{font-size:13px;font-weight:var(--weight-semibold);color:var(--text-muted);flex-direction:column;gap:6px;display:flex}.shopping-add-item-aisle select{font:inherit;color:var(--pantry-ink-soft);border:var(--border-hair) solid var(--pantry-line);border-radius:var(--radius-sm);background:var(--pantry-white);padding:8px 10px}.shopping-add-item-added{justify-content:space-between;align-items:center;gap:var(--space-4);color:var(--pantry-ink-soft);font-size:14px;display:flex}.shopping-add-item-added button{color:var(--text-muted);cursor:pointer;background:0 0;border:none;align-items:center;padding:0;display:inline-flex}.shopping-add-item-added button:focus-visible{outline:2px solid var(--pantry-focus);outline-offset:2px}.shopping-add-item-added-aisle{color:var(--text-muted);background:var(--surface-subtle);border-radius:var(--radius-pill);margin-left:var(--space-2);padding:3px 10px;font-size:12.5px}.shopping-picker-list{gap:var(--space-4);flex-direction:column;max-height:50vh;display:flex;overflow-y:auto}.shopping-screen-toast{position:fixed;bottom:90px;left:50%;translate:-50%}@media (width>=700px){.shopping-screen-toast{bottom:var(--space-6)}}
