@layer reset{*,:after,:before{box-sizing:border-box}body,html{margin:0;padding:0}button,input,select{font:inherit}fieldset{border:0;margin:0;min-inline-size:0}fieldset,legend{padding:0}img,svg{max-width:100%}}@layer tokens{:root{--font-sans:system-ui,-apple-system,"Segoe UI",sans-serif;--font-serif:var(--font-sans);--font-mono:ui-monospace,"Cascadia Code","IBM Plex Mono",monospace;--bg:#1b1713;--surface:#262019;--surface-2:#322a20;--line:#3d3226;--text:#ede4d6;--text-dim:#c2b6a3;--ember:#c15a1f;--ember-soft:#c15a1f33;--gold:#c9a034;--gold-soft:#c9a03433;--pork:#c97c6b;--pork-soft:#c97c6b33;--bird:#d6a24a;--bird-soft:#d6a24a33;--sage:#7e9463;--sage-soft:#7e946333;--wal:#a6763e;--wal-soft:#a6763e33;--accent:var(--gold);--accent-soft:var(--gold-soft);--space-1:0.25rem;--space-2:0.5rem;--space-3:0.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-7:1.75rem;--space-8:2.5rem;--radius-sm:6px;--radius-md:8px;--radius-lg:10px;--radius-xl:12px;--radius-pill:999px;--touch:2.75rem;--tabbar-h:4.5rem;--page-max:73.75rem;--page-pad-x:clamp(1rem,0.65rem + 1.4vw,1.5rem);--page-pad-top:clamp(1.125rem,0.85rem + 1vw,1.5rem);--page-pad-bottom:clamp(4.5rem,3.5rem + 4vw,5rem);--fs-11:0.6875rem;--fs-12:0.75rem;--fs-13:0.8125rem;--fs-14:0.875rem;--fs-15:0.9375rem;--fs-17:1.0625rem;--fs-18:1.125rem;--fs-20:1.25rem;--fs-22:1.375rem;--fs-h1:clamp(1.875rem,1.35rem + 2.2vw,2.75rem);--fs-h2:clamp(1.375rem,1.2rem + 0.8vw,1.75rem);--fs-timer:clamp(2rem,1.4rem + 3.2vw,2.25rem);--ease:ease;--duration:0.35s;--duration-fast:0.15s;--shift:4px;--z-header:90;--z-tabbar:100;--z-cook:200;--z-toast:210;--z-skip:300;--focus-ring:2px solid var(--gold)}@media (prefers-reduced-motion:reduce){:root{--duration:0.01ms;--duration-fast:0.01ms;--shift:0px}}@media (prefers-contrast:more){:root{--line:#6b5a48;--text-dim:#c4b49a}}}@layer base{@keyframes fade{0%{opacity:0;transform:translateY(var(--shift))}to{opacity:1;transform:none}}html{background:var(--bg);color-scheme:dark;hanging-punctuation:first last}@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}body{background:var(--bg);color:var(--text);font-family:var(--font-sans);line-height:1.5;-webkit-font-smoothing:antialiased;min-height:100vh;min-height:100dvh;accent-color:var(--gold)}a{color:var(--wal);text-decoration:none;text-underline-offset:.15em;@media (hover:hover){&:hover{color:var(--gold)}}}:focus-visible{outline:var(--focus-ring);outline-offset:2px}:focus:not(:focus-visible){outline:none}h1,h2,h3{font-family:var(--font-sans);font-weight:600;text-wrap:balance}h1{font-size:var(--fs-h1);margin:0 0 var(--space-2);letter-spacing:-.01em}h2{font-size:var(--fs-h2);margin:0 0 var(--space-3)}h3{margin:0}p{margin:0 0 var(--space-3);text-wrap:pretty}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}}@layer chrome{.wrap{max-width:var(--page-max);margin-inline:auto;padding:var(--page-pad-top) var(--page-pad-x) var(--page-pad-bottom);animation:fade var(--duration) var(--ease);@media (max-width:768px){-webkit-padding-after:calc(var(--tabbar-h) + var(--space-6) + env(safe-area-inset-bottom, 0px));padding-block-end:calc(var(--tabbar-h) + var(--space-6) + env(safe-area-inset-bottom, 0px))}@media (prefers-reduced-motion:reduce){animation:none}}.eyebrow{font-family:var(--font-mono);font-size:var(--fs-12);letter-spacing:.14em;text-transform:uppercase;-webkit-margin-after:10px;margin-block-end:10px}.eyebrow,.lede{color:var(--text-dim)}.lede{margin:0 0 var(--space-6);font-size:var(--fs-15);max-width:62ch;text-wrap:pretty}.site-header{display:none;align-items:center;justify-content:space-between;gap:var(--space-6);padding:var(--space-4) var(--page-pad-x) 0;max-width:var(--page-max);margin-inline:auto;@media (min-width:769px){display:flex;position:-webkit-sticky;position:sticky;top:0;z-index:var(--z-header);background:var(--bg);-webkit-padding-before:calc(var(--space-4) + env(safe-area-inset-top, 0px));padding-block-start:calc(var(--space-4) + env(safe-area-inset-top, 0px))}}.site-brand{display:inline-flex;align-items:center;gap:.55rem;font-family:var(--font-serif);font-size:var(--fs-20);font-weight:600;color:var(--text);text-decoration:none;white-space:nowrap;.ui-icon{color:var(--gold)}@media (hover:hover){&:hover{color:var(--gold)}}}.site-nav{display:flex;gap:var(--space-1);a{display:inline-flex;align-items:center;gap:.4rem;color:var(--text-dim);font-size:var(--fs-15);font-weight:500;padding:var(--space-3) var(--space-3);border-bottom:2px solid transparent;transition:color var(--duration-fast) var(--ease),border-color var(--duration-fast) var(--ease);.ui-icon{color:var(--gold)}&.is-active{color:var(--text);border-bottom-color:var(--accent)}@media (hover:hover){&:hover{color:var(--text)}}}}.ui-icon{display:block;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1;stroke-linecap:round;stroke-linejoin:round}.mobile-brand{display:none;a{display:inline-flex;align-items:center;gap:.55rem;min-height:var(--touch);font-family:var(--font-serif);font-size:var(--fs-18);font-weight:600;color:var(--text);text-decoration:none;.ui-icon{color:var(--gold)}}@media (max-width:768px){display:block;position:-webkit-sticky;position:sticky;top:0;z-index:var(--z-header);background:var(--bg);padding:0 var(--page-pad-x);-webkit-padding-before:env(safe-area-inset-top,0);padding-block-start:env(safe-area-inset-top,0);border-bottom-color:var(--line);border-bottom-style:solid;border-bottom-width:1px}}.guide-strip{display:flex;gap:var(--space-2);overflow-x:auto;scrollbar-width:none;padding:var(--space-3) var(--page-pad-x) var(--space-1);max-width:var(--page-max);margin-inline:auto;&::-webkit-scrollbar{display:none}a{flex-shrink:0;font-size:var(--fs-14);font-weight:500;padding:10px var(--space-4);min-height:var(--touch);display:inline-flex;align-items:center;border-radius:var(--radius-pill);border:1px solid var(--line);background:var(--surface);color:var(--text-dim);transition:color var(--duration-fast) var(--ease),border-color var(--duration-fast) var(--ease),background-color var(--duration-fast) var(--ease);&.is-active{background:var(--gold-soft);border-color:var(--gold);color:var(--text)}}}.site-footer{max-width:var(--page-max);margin-inline:auto;padding:var(--space-2) var(--page-pad-x) var(--space-8);border-top:1px solid var(--line);-webkit-padding-before:var(--space-6);padding-block-start:var(--space-6);@media (max-width:768px){padding:var(--space-2) var(--page-pad-x) calc(var(--tabbar-h) + var(--space-4) + env(safe-area-inset-bottom, 0px))}}.site-footer__nav{gap:var(--space-6) var(--space-8)}.site-footer__group,.site-footer__nav{display:flex;flex-wrap:wrap;justify-content:center}.site-footer__group{gap:10px 18px;max-width:28rem}.site-footer__label{flex:1 0 100%;margin:0;text-align:center;font-size:var(--fs-12);font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text-dim)}.site-footer a{color:var(--text);font-size:var(--fs-14)}.tabbar{display:none;@media (max-width:768px){display:grid;grid-template-columns:repeat(5,1fr);position:fixed;inset:auto 0 0;z-index:var(--z-tabbar);background:var(--surface);border-top-color:var(--line);border-top-style:solid;border-top-width:1px;padding:6px var(--space-2) calc(6px + env(safe-area-inset-bottom, 0px));box-shadow:0 -8px 24px rgb(0 0 0/.35);a,button{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:3.5rem;padding:6px var(--space-1);border:none;background:transparent;color:var(--text-dim);font-size:var(--fs-11);font-weight:500;text-decoration:none;cursor:pointer}a.is-active{color:var(--gold)}@media (hover:hover){a:hover{color:var(--gold)}}&.tabbar--recipe{grid-template-columns:repeat(3,1fr);.tabbar-cook{color:var(--bg);background:var(--wal);border-radius:var(--radius-lg)}}}}}@layer components{.chip-row{display:flex;flex-wrap:wrap;gap:var(--space-2);margin:0 0 var(--space-4)}.chip{display:inline-flex;align-items:center;min-height:2.5rem;padding:var(--space-2) .875rem;border-radius:var(--radius-pill);border:1px solid var(--line);background:var(--surface);color:var(--text-dim);font-size:var(--fs-14);font-weight:500;font-family:inherit;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;text-decoration:none;transition:color var(--duration-fast) var(--ease),border-color var(--duration-fast) var(--ease),background-color var(--duration-fast) var(--ease);&.is-active{color:var(--text);border-color:var(--gold);background:var(--gold-soft)}@media (hover:hover){&:hover{color:var(--text);border-color:var(--gold);background:var(--gold-soft)}}}.filter-help{margin:0 0 var(--space-3);color:var(--text-dim);font-size:var(--fs-13)}.catalog-active{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3);margin:0 0 var(--space-5)}.catalog-active__count{margin:0;font-size:var(--fs-14);color:var(--text)}.catalog-active__chips{display:flex;flex-wrap:wrap;gap:var(--space-2);margin:0;padding:0;list-style:none}.catalog-active__reset{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:none;padding:0;color:var(--gold);font-size:var(--fs-14);cursor:pointer;text-decoration:underline;text-underline-offset:.15em}.catalog-crumb{margin-bottom:16px}.allergen-notice{--allergen-ink:#e4a198;display:flex;flex-direction:column;gap:.15rem;margin:0 0 var(--space-5)}.allergen-notice--compact{margin:var(--space-3) 0 0}.allergen-notice__title{margin:0;font-size:var(--fs-12);font-weight:600;color:var(--text-dim)}.allergen-notice__list,.allergen-notice__notes{margin:0;padding:0;list-style:none;font-size:var(--fs-12);line-height:1.4;color:var(--allergen-ink)}.allergen-notice__list li{display:inline}.allergen-notice__list li:not(:last-child):after{content:", "}.allergen-notice__notes li+li{-webkit-margin-before:.1rem;margin-block-start:.1rem}.filter-block{-webkit-margin-after:1.375rem;margin-block-end:1.375rem;border:0;padding:0;min-inline-size:0}.filter-block h2,.filter-legend{font-family:var(--font-sans);font-size:var(--fs-13);font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--text-dim);margin:0 0 10px;padding:0;float:none}.btn-primary,.btn-secondary{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);font-size:var(--fs-14);font-weight:500;padding:10px var(--space-4);min-height:var(--touch);border-radius:var(--radius-md);cursor:pointer;text-decoration:none;border:1px solid var(--line);transition:opacity var(--duration-fast) var(--ease),border-color var(--duration-fast) var(--ease),color var(--duration-fast) var(--ease);&:disabled{opacity:.45;cursor:not-allowed}}.btn-primary{background:var(--gold);color:var(--bg);border-color:transparent;@media (hover:hover){&:hover:not(:disabled){opacity:.92;color:var(--bg)}}}.btn-secondary{background:transparent;color:var(--text);border-color:color-mix(in srgb,var(--text) 45%,transparent);@media (hover:hover){&:hover:not(:disabled){border-color:var(--text);color:var(--text)}}}.recipe-meta{display:flex;flex-wrap:wrap;gap:6px}.tag{display:inline-block;font-family:var(--font-mono);font-size:var(--fs-11);letter-spacing:.04em;text-transform:uppercase;background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius-pill);padding:4px 10px}.tag,.why-list{color:var(--text-dim)}.why-list{margin:0;-webkit-padding-start:1.125rem;padding-inline-start:1.125rem;font-size:var(--fs-13)}.solution-buckets{display:flex;flex-direction:column;gap:var(--space-7)}.solution-bucket__title{font-size:var(--fs-18);margin:0 0 var(--space-4)}.allergen-dots{display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:center}.allergen-dot{display:inline-flex;align-items:center;gap:6px;font-size:var(--fs-12);color:var(--text-dim);i{width:var(--space-2);height:var(--space-2);border-radius:50%;display:inline-block}&.allergen-dot--contains i{background:var(--ember)}&.allergen-dot--may i{background:transparent;border:1px solid var(--gold)}&.allergen-dot--unknown{color:var(--bird);i{background:var(--bird);border-radius:2px}}}.caution{background:var(--ember-soft);border:1px solid var(--ember);border-radius:var(--radius-lg);padding:.875rem var(--space-4);margin:0 0 var(--space-5);strong{display:block;color:var(--ember);font-size:var(--fs-14);letter-spacing:.04em;text-transform:uppercase;-webkit-margin-after:6px;margin-block-end:6px}p{margin:0;color:var(--text)}}.empty-state,.error-banner{background:var(--surface);border:1px dashed var(--line);border-radius:var(--radius-lg);padding:var(--space-6);color:var(--text-dim)}.error-banner{border-style:solid;border-color:var(--ember);color:var(--text);-webkit-margin-after:var(--space-5);margin-block-end:var(--space-5)}.search-row{display:flex;gap:var(--space-2);-webkit-margin-after:var(--space-5);margin-block-end:var(--space-5);input{flex:1 1;min-height:var(--touch);padding:10px .875rem;border-radius:var(--radius-md);border:1px solid var(--line);background:var(--surface);color:var(--text);font-size:1rem}}.calc-ask{-webkit-margin-after:var(--space-6);margin-block-end:var(--space-6)}.calc-ask__hint{margin:0 0 var(--space-3);color:var(--text-dim);font-size:var(--fs-13)}.calc-picked{margin:0 0 var(--space-4)}.calc-picked__label{margin:0 0 var(--space-2);font-size:var(--fs-13);font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--text-dim)}.calc-picked__list{display:flex;flex-wrap:wrap;gap:var(--space-2);margin:0;padding:0;list-style:none}.calc-picked__chip{display:inline-flex;align-items:center;gap:.35rem;min-height:2.25rem;padding:.25rem .65rem .25rem .75rem;border-radius:var(--radius-pill);border:1px solid var(--gold);background:var(--gold-soft);color:var(--text);font-size:var(--fs-13);text-decoration:none;.ui-icon{flex:none;opacity:.75}@media (hover:hover){&:hover{border-color:var(--ember);background:var(--ember-soft)}}}.calc-branch{margin:0 0 var(--space-4);padding:var(--space-4);border:1px solid var(--line);border-left:3px solid var(--gold);border-radius:var(--radius-lg);background:var(--surface)}.calc-branch--nested{margin:var(--space-3) 0 0;padding:var(--space-3) var(--space-4);border-left-color:var(--ember);background:var(--surface-2)}.calc-branch__head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-3)}.calc-branch__path{margin:0 0 .15rem;font-size:var(--fs-12);letter-spacing:.04em;text-transform:uppercase;color:var(--gold)}.calc-branch__title{margin:0;font-family:var(--font-sans);font-size:var(--fs-17);font-weight:600;color:var(--text)}.calc-branch__hint{margin:.2rem 0 0;font-size:var(--fs-13);color:var(--text-dim)}.calc-branch__close{display:inline-flex;align-items:center;gap:.25rem;flex:none;min-height:2.25rem;padding:0 .6rem;border-radius:var(--radius-md);border:1px solid var(--line);color:var(--text-dim);font-size:var(--fs-13);text-decoration:none;@media (hover:hover){&:hover{color:var(--text);border-color:var(--gold)}}}.calc-branch .chip-row{margin-bottom:0}.calc-pantry{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-3);-webkit-margin-after:var(--space-6);margin-block-end:var(--space-6);label{font-size:var(--fs-13);font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--text-dim)}textarea{width:100%;min-height:4.5rem;padding:10px .875rem;border-radius:var(--radius-md);border:1px solid var(--line);background:var(--surface);color:var(--text);font-size:1rem;resize:vertical}}.calc-pantry__note{margin:0;color:var(--text-dim);font-size:var(--fs-13)}.calc-hint{color:var(--text-dim);font-size:var(--fs-14)}.calc-extra{margin:var(--space-2) 0 var(--space-5);border-top:1px dashed var(--line);padding-top:var(--space-4);summary{cursor:pointer;color:var(--text-dim);font-size:var(--fs-14);-webkit-margin-after:var(--space-4);margin-block-end:var(--space-4)}}.solution-board{display:flex;flex-direction:column;gap:var(--space-7)}.solution-featured{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:1.25rem var(--space-5);display:flex;flex-direction:column;gap:var(--space-3);h2{font-size:var(--fs-22,1.375rem);margin:0;a{color:var(--wal);@media (hover:hover){&:hover{color:var(--gold)}}}}}.solution-alts__why,.solution-featured__axis,.solution-featured__status{margin:0;color:var(--text-dim);font-size:var(--fs-14)}.solution-why-title{font-size:var(--fs-13);font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--text-dim);margin:var(--space-2) 0 0}.why-list--checks{list-style:none;-webkit-padding-start:0;padding-inline-start:0;li:before{content:"✓ ";color:var(--gold)}}.solution-featured__actions{margin:var(--space-2) 0 0}.solution-alts{h2{font-size:var(--fs-18);margin:0 0 var(--space-4)}ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-3)}li{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-3);align-items:baseline;padding:var(--space-3) 0;border-bottom:1px dashed var(--line);a{color:var(--wal);font-weight:600}}}.solution-alts__more{margin:var(--space-4) 0 0;font-size:var(--fs-14);a{color:var(--wal)}}.pager{-webkit-margin-before:var(--space-6);margin-block-start:var(--space-6)}.pager,.section-head{display:flex;gap:var(--space-3)}.section-head{align-items:baseline;justify-content:space-between;margin:var(--space-8) 0 1rem}.page-intro{display:grid;grid-gap:var(--space-5);gap:var(--space-5);-webkit-margin-after:var(--space-8);margin-block-end:var(--space-8);align-items:center;position:relative}.page-intro--no-art{-webkit-margin-after:var(--space-6);margin-block-end:var(--space-6)}.page-intro__body,.page-intro__copy{min-width:0}.page-intro--home h1{font-size:clamp(2.15rem,1.35rem + 3vw,3.4rem);letter-spacing:-.02em;line-height:1.1}.page-intro__body .lede{-webkit-margin-after:var(--space-6);margin-block-end:var(--space-6)}.page-intro__body .home-actions{-webkit-margin-after:0;margin-block-end:0}.page-art{position:relative;overflow:hidden;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;justify-self:center;width:min(100%,36rem)}.page-art__paint{display:block;width:100%;height:auto}}@layer components{@media (min-width:769px){.page-intro:not(.page-intro--no-art){grid-template-columns:minmax(0,.95fr) minmax(18rem,1.05fr);grid-template-areas:"copy art" "body art";gap:var(--space-6);align-items:center}.page-intro:not(.page-intro--no-art) .page-intro__copy{grid-area:copy;align-self:end}.page-intro:not(.page-intro--no-art) .page-intro__body{grid-area:body;align-self:start}.page-intro:not(.page-intro--no-art) .page-art{grid-area:art;width:100%;max-width:none;align-self:center}.page-intro--home h1{max-width:12ch}}@media (max-width:768px){.page-intro:not(.page-intro--no-art){gap:var(--space-4);-webkit-margin-after:var(--space-6);margin-block-end:var(--space-6)}.page-intro:not(.page-intro--no-art) .page-art{width:calc(100% + (2 * var(--page-pad-x)));max-width:none;justify-self:stretch;margin-inline:calc(-1 * var(--page-pad-x))}.page-intro:not(.page-intro--no-art) .page-art__paint{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;object-position:center}}}@layer components{.recipe-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,17.5rem),1fr));grid-gap:var(--space-4);gap:var(--space-4)}.recipe-card__facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(7.5rem,1fr));grid-gap:.875rem var(--space-4);gap:.875rem var(--space-4);margin:0;div{min-width:0;-webkit-padding-start:var(--space-3);padding-inline-start:var(--space-3);-webkit-border-start:2px solid var(--gold-soft);border-inline-start:2px solid var(--gold-soft)}dt{margin:0 0 .2rem;font-size:var(--fs-12);font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;color:var(--text-dim)}dd,dt{font-weight:600}dd{margin:0;font-size:var(--fs-14);line-height:1.35;color:var(--text)}@media (max-width:419px){grid-template-columns:1fr}}.recipe-card__facts--page{-webkit-margin-after:var(--space-5);margin-block-end:var(--space-5)}.recipe-prep-needed{margin:0 0 var(--space-4);border:1px solid var(--line);border-radius:var(--radius-md)}.recipe-nutrition__incomplete,.recipe-prep-needed{padding:.65rem .8rem;background:var(--gold-soft);color:var(--text);font-size:var(--fs-14)}.recipe-nutrition__incomplete{margin:0 0 var(--space-3);border:1px solid var(--gold);border-radius:var(--radius-md)}.recipe-nutrition__method-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:none;padding:0;color:var(--gold);font-size:inherit;cursor:pointer;text-decoration:underline;text-underline-offset:.15em}.recipe-nutrition__method{margin:0 0 var(--space-4);font-size:var(--fs-13);color:var(--text);max-width:62ch}.recipe-piece__hint{margin:0 0 var(--space-3)}.calc-pantry__hint,.recipe-piece__hint{font-size:var(--fs-13);color:var(--text-dim)}.calc-pantry__hint{margin:0}.calc-pantry__result{width:100%;display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3) var(--space-4);border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface);p{margin:0;font-size:var(--fs-14)}}.calc-pantry__edit{align-self:flex-start;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:none;padding:0;color:var(--gold);cursor:pointer;font-size:var(--fs-14);text-decoration:underline;text-underline-offset:.15em}.recipe-card{position:relative;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:1.25rem 1.35rem 1.4rem;display:flex;flex-direction:column;gap:var(--space-4);h3{font-family:Georgia,Cambria,Times New Roman,serif;font-size:var(--fs-20);font-weight:600;line-height:1.25;-webkit-padding-after:0;padding-block-end:0;border-bottom:none;a{color:var(--wal);@media (hover:hover){&:hover{color:var(--gold)}}}}}.recipe-card__hit:after{content:"";position:absolute;inset:0}.recipe-card__summary{margin:0;font-size:var(--fs-15);color:var(--text);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.back-link{display:inline-flex;align-items:center;gap:6px;color:var(--text-dim);font-size:var(--fs-14);-webkit-margin-after:var(--space-4);margin-block-end:var(--space-4)}.recipe-lead{font-size:var(--fs-17);max-width:62ch}.recipe-source{font-size:var(--fs-13);color:var(--text-dim);-webkit-margin-after:var(--space-5);margin-block-end:var(--space-5)}.recipe-section{margin-block:var(--space-7)}.recipe-steps{margin:0;-webkit-padding-start:1.25rem;padding-inline-start:1.25rem}.recipe-list{margin:0;-webkit-padding-start:0;padding-inline-start:0;list-style:none;li{padding-block:var(--space-2);border-bottom:1px solid var(--line);display:grid;grid-template-columns:minmax(4.5rem,auto) minmax(0,1fr) 2.75rem;grid-gap:var(--space-3);gap:var(--space-3);align-items:start}.amount{font-family:var(--font-mono);color:var(--gold);font-size:var(--fs-14)}.detail,.manual-hint{display:block;font-size:var(--fs-13);color:var(--text-dim)}}.recipe-list__kbju-hint{position:relative;z-index:1;justify-self:end;display:inline-flex;align-items:center;justify-content:center;width:var(--touch);height:var(--touch);margin-block:calc((var(--touch) - 1.5rem) / -2);padding:0;border:none;background:transparent;color:var(--text-dim);cursor:help;@media (hover:hover){&:hover{color:var(--gold);z-index:3}}&:focus,&:focus-visible,&[aria-expanded=true]{color:var(--gold);z-index:3;outline:none}&:after{content:attr(data-tip);position:absolute;top:calc(100% + 4px);right:0;width:max-content;max-width:min(16rem,calc(100vw - 2rem));padding:.4rem .6rem;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);font-size:var(--fs-13);line-height:1.35;text-align:left;white-space:normal;box-shadow:0 8px 24px color-mix(in srgb,var(--bg) 55%,transparent);opacity:0;visibility:hidden;pointer-events:none}&:is(:hover,:focus,:focus-visible,[aria-expanded=true]):after{opacity:1;visibility:visible}}.recipe-scale{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:.875rem var(--space-4);-webkit-margin-after:var(--space-4);margin-block-end:var(--space-4);.recipe-scale__head{display:flex;align-items:center;gap:10px;-webkit-margin-after:10px;margin-block-end:10px}.recipe-scale__label{font-size:var(--fs-13);font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-dim)}.recipe-scale__factor{font-family:var(--font-mono);font-size:var(--fs-13);font-weight:600;color:var(--gold)}.recipe-scale__row{display:flex;gap:var(--space-2);align-items:flex-start;flex-wrap:wrap}.recipe-scale__field{display:flex;flex-direction:column;gap:.35rem}.recipe-scale__error{margin:0;font-size:var(--fs-12);color:var(--ember)}.recipe-scale__input{width:6.5em;min-height:var(--touch);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);border:1px solid var(--line);background:var(--surface-2);color:var(--text);font-size:var(--fs-18);font-family:var(--font-mono);-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield}.recipe-scale__input::-webkit-inner-spin-button,.recipe-scale__input::-webkit-outer-spin-button{-webkit-appearance:none;appearance:none;margin:0}.recipe-scale__unit-label{font-family:var(--font-mono);font-size:var(--fs-14);font-weight:600;color:var(--gold);min-width:1.5em}.recipe-scale__step{min-width:2.5em}.recipe-scale__meta{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:var(--space-2) 0 0;font-size:var(--fs-13);color:var(--text-dim)}.recipe-scale__reset{border:none;background:none;padding:0;font:inherit;color:var(--wal);cursor:pointer;text-decoration:underline;text-underline-offset:2px}.recipe-scale__status,.recipe-scale__timer-hint{margin:10px 0 0;font-size:var(--fs-12);color:var(--text-dim)}}.recipe-nutrition{margin-block:var(--space-7);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:.875rem var(--space-4)}.recipe-nutrition__disclaimer{margin:0 0 var(--space-4);font-size:var(--fs-13);color:var(--text-dim);max-width:62ch}.recipe-nutrition__grid{display:grid;grid-template-columns:1fr;grid-gap:var(--space-4);gap:var(--space-4);@media (min-width:640px){grid-template-columns:repeat(2,minmax(0,1fr))}@media (min-width:960px){&[data-cols="3"],&[data-cols="4"]{grid-template-columns:repeat(3,minmax(0,1fr))}&[data-cols="4"]{grid-template-columns:repeat(4,minmax(0,1fr))}}}.recipe-nutrition__cell{min-width:0}.recipe-nutrition__label{margin:0 0 var(--space-2);font-size:var(--fs-12);font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--text-dim)}.recipe-nutrition__kcal{margin:0;font-family:var(--font-mono);font-size:var(--fs-20);font-weight:600;color:var(--gold);line-height:1.2;span{font-size:var(--fs-13);font-weight:500;color:var(--text)}}.recipe-nutrition__macros{margin:var(--space-2) 0 0;font-size:var(--fs-14);color:var(--text)}.recipe-actions{display:flex;flex-wrap:wrap;gap:10px;-webkit-margin-before:var(--space-7);margin-block-start:var(--space-7);-webkit-padding-before:var(--space-5);padding-block-start:var(--space-5);border-top:1px solid var(--line)}.recipe-step{margin:0 0 var(--space-4);-webkit-padding-after:var(--space-4);padding-block-end:var(--space-4);border-bottom:1px solid var(--line);p{margin:0 0 var(--space-2)}}.temp-chip{display:inline-flex;gap:6px;font-family:var(--font-mono);background:var(--ember-soft);color:var(--ember);padding:var(--space-1) 10px;-webkit-margin-end:var(--space-2);margin-inline-end:var(--space-2)}.temp-chip,.tested-badge{font-size:var(--fs-12);border-radius:var(--radius-sm)}.tested-badge{display:inline-block;color:var(--sage);background:var(--sage-soft);padding:2px var(--space-2);-webkit-margin-start:var(--space-2);margin-inline-start:var(--space-2);font-family:var(--font-sans);font-weight:500;vertical-align:middle}.book-toc{display:grid;grid-template-columns:repeat(auto-fill,minmax(14rem,1fr));grid-gap:var(--space-3);gap:var(--space-3);margin:0 0 var(--space-7)}.book-chapter{display:flex;justify-content:space-between;align-items:center;gap:var(--space-3);min-height:var(--touch);padding:var(--space-3) var(--space-4);border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);color:var(--text);text-decoration:none}@media (hover:hover){.book-chapter:hover{border-color:var(--gold);background:var(--gold-soft)}}.book-chapter__n{font-family:var(--font-mono);color:var(--gold)}.recipe-prep-hint{font-size:var(--fs-13);color:var(--text-dim);margin:0 0 var(--space-3)}.recipe-notes,.recipe-prep-list{margin:0;padding-left:1.25rem}.recipe-notes li{margin-bottom:var(--space-3)}.home-actions{display:flex;flex-wrap:wrap;gap:var(--space-3);margin:0 0 var(--space-7)}.home-tip-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,17.5rem),1fr));grid-gap:var(--space-4);gap:var(--space-4)}.home-tip{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:1.2rem 1.25rem 1.3rem;display:flex;flex-direction:column;gap:var(--space-2);h3{font-size:var(--fs-17);font-family:var(--font-serif);font-weight:600;a{color:var(--text);@media (hover:hover){&:hover{color:var(--gold)}}}}}.home-tip__icon{color:var(--gold);-webkit-margin-after:2px;margin-block-end:2px}.home-tip__section{font-family:var(--font-mono);font-size:var(--fs-11);letter-spacing:.04em;text-transform:uppercase;color:var(--text-dim);margin:0}.home-tip__expl{color:var(--text-dim);font-size:var(--fs-13);margin:0}.recipe-page{.recipe-meta{-webkit-margin-after:var(--space-4);margin-block-end:var(--space-4)}.allergen-dots{-webkit-margin-after:var(--space-5);margin-block-end:var(--space-5)}@media (max-width:768px){.back-link,.recipe-actions .btn-cook{display:none}}}}@layer components{table.grains{width:100%;border-collapse:collapse;font-size:var(--fs-14);th{text-align:start;font-family:var(--font-mono);font-size:var(--fs-11);letter-spacing:.08em;text-transform:uppercase;color:var(--text-dim);font-weight:500;padding:0 var(--space-3) 10px;border-bottom:1px solid var(--line)}td{padding:.875rem var(--space-3);border-bottom:1px solid var(--line);vertical-align:top;&.name{font-family:var(--font-serif);font-weight:600;font-size:1rem}}@media (max-width:700px){display:none}}.ratio{font-family:var(--font-mono);font-weight:500;color:var(--gold)}.note{color:var(--text-dim);font-size:var(--fs-13)}.grain-cards{display:none;@media (max-width:700px){display:grid;grid-gap:var(--space-3);gap:var(--space-3)}}.grain-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:var(--space-4);h3{-webkit-margin-after:var(--space-2);margin-block-end:var(--space-2)}}.method-block{-webkit-margin-after:2.5rem;margin-block-end:2.5rem}.method-head{display:flex;align-items:baseline;gap:10px;-webkit-margin-after:1.125rem;margin-block-end:1.125rem;-webkit-padding-after:10px;padding-block-end:10px;border-bottom:1px solid var(--line);h2{font-size:var(--fs-22);margin:0}.sub{color:var(--text-dim);font-size:var(--fs-13)}}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,16.25rem),1fr));grid-gap:.875rem;gap:.875rem}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:var(--space-4) 1.125rem;h3{font-size:var(--fs-17);margin:0 0 10px}.pitfall{font-size:var(--fs-13);color:var(--text-dim);border-top:1px dashed var(--line);-webkit-padding-before:var(--space-2);padding-block-start:var(--space-2);-webkit-margin-before:10px;margin-block-start:10px;b{color:var(--accent,var(--ember));font-weight:600}}}.readout{display:inline-flex;align-items:baseline;gap:6px;font-family:var(--font-mono);font-size:var(--fs-13);font-weight:600;background:var(--accent-soft,var(--ember-soft));color:var(--accent,var(--ember));padding:var(--space-1) 10px;border-radius:var(--radius-sm);-webkit-margin-after:10px;margin-block-end:10px;.lbl{font-family:var(--font-sans);font-weight:500;font-size:var(--fs-11);color:var(--text-dim);text-transform:uppercase;letter-spacing:.04em}}.hub-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,12.5rem),1fr));grid-gap:.875rem;gap:.875rem}.hub-tile{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:var(--space-7) var(--space-5);font-family:var(--font-serif);font-size:var(--fs-22);color:var(--text);text-align:center;transition:border-color var(--duration-fast) var(--ease),color var(--duration-fast) var(--ease);@media (hover:hover){&:hover{border-color:var(--gold);color:var(--gold)}}}.tips-search{-webkit-margin-after:var(--space-5);margin-block-end:var(--space-5)}.tips-search__label{display:block;margin:0 0 var(--space-2);font-size:var(--fs-14);font-weight:500;color:var(--text)}.tips-chips.chip-row,.tips-search .search-row{-webkit-margin-after:0;margin-block-end:0}.tips-chips .chip{min-height:2rem;padding:.25rem .75rem;font-size:var(--fs-13);cursor:pointer}.tips-section-picker{display:none}.tips-section-picker__btn{display:flex;align-items:center;justify-content:space-between;gap:.75rem;width:100%;min-height:var(--touch);padding:10px .875rem;border-radius:var(--radius-md);border:1px solid var(--line);background:var(--surface);color:var(--text);font:inherit;font-size:1rem;text-align:start;cursor:pointer;span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ui-icon{flex-shrink:0;color:var(--text-dim)}&.is-active{border-color:var(--gold);background:var(--gold-soft)}&[aria-expanded=true] .ui-icon{rotate:180deg}}.tips-section-sheet{width:min(100% - 1.5rem,28rem);max-height:min(70dvh,34rem);margin:auto;-webkit-margin-after:calc(var(--tabbar-h) + env(safe-area-inset-bottom, 0px) + .75rem);margin-block-end:calc(var(--tabbar-h) + env(safe-area-inset-bottom, 0px) + .75rem);padding:0;border:1px solid var(--line);border-radius:var(--radius-xl);background:var(--surface);color:var(--text);box-shadow:0 18px 48px rgb(0 0 0/.5);overflow:hidden;&::-webkit-backdrop{background:rgb(12 9 6/.72)}&::backdrop{background:rgb(12 9 6/.72)}&[open]{display:flex;flex-direction:column}}.tips-section-sheet__head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:.85rem .85rem .65rem 1rem;border-bottom:1px solid var(--line);p{margin:0;font-size:var(--fs-13);font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--text-dim)}}.tips-section-sheet__close{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:inline-flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface-2);color:var(--text);cursor:pointer}.tips-section-sheet__list{overflow:auto;margin:0;padding:.4rem;list-style:none}.tips-section-sheet__opt{display:flex;align-items:center;width:100%;min-height:var(--touch);padding:.55rem .75rem;border:1px solid transparent;border-radius:var(--radius-md);background:transparent;color:var(--text);font:inherit;font-size:1rem;line-height:1.35;text-align:start;cursor:pointer;&[aria-selected=true]{border-color:var(--gold);background:var(--gold-soft);color:var(--text)}}@media (max-width:768px){.tips-chips--sections{display:none}.tips-section-picker{display:block}}.chip__n{font-family:var(--font-mono);font-size:var(--fs-11);color:var(--text-dim);-webkit-margin-start:.4em;margin-inline-start:.4em}.tips-section{-webkit-margin-after:1.5rem;margin-block-end:1.5rem;scroll-margin-top:5rem;position:relative;&:has(.tip-card[open],.tip-card--raised){z-index:3}&>summary{display:flex;align-items:baseline;gap:.5rem;font-size:var(--fs-15);font-weight:600;margin:0 0 .625rem;-webkit-padding-after:.4rem;padding-block-end:.4rem;border-bottom:1px solid var(--line);cursor:pointer;list-style:none;&::-webkit-details-marker{display:none}}}.tips-legal{margin:var(--space-7) 0 0;font-size:var(--fs-13);color:var(--text-dim);max-width:62ch}.tips-section__n{font-family:var(--font-mono);font-size:var(--fs-11);font-weight:500;letter-spacing:.04em;color:var(--text-dim)}.tips-results:not(.is-ready){min-height:12rem}.tips-results:not(.is-ready) .tips-section{visibility:hidden;height:0;overflow:hidden;margin:0}.tips-loader{display:none;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;min-height:12rem;color:var(--text-dim);font-size:var(--fs-14)}.tips-results:not(.is-ready) .tips-loader{display:flex}.tips-loader__spin{width:1.75rem;height:1.75rem;border:2px solid var(--line);border-top-color:var(--gold);border-radius:50%;animation:tips-spin .7s linear infinite}@media (prefers-reduced-motion:reduce){.tips-loader__spin{animation:none}}.tips-masonry{--tips-gap:0.85rem;--tips-col-min:16.5rem;position:relative;isolation:isolate;overflow:visible}.tips-masonry:not(.is-ready)>.tip-slot{visibility:hidden}.tip-slot{position:absolute;top:0;left:0;overflow:visible;height:var(--tip-slot-h);&:has(.tip-card--raised){z-index:5}&:has(.tip-card[open]){z-index:6}}.tip-slot--static{height:auto}.tip-card__face{padding:.7rem .85rem .75rem}.tip-card__badges{display:flex;flex-wrap:wrap;gap:.3rem;margin:0 0 .45rem}.tip-badge{display:inline-flex;align-items:center;max-width:100%;padding:.12rem .45rem;border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--surface-2);color:var(--text-dim);font-family:var(--font-mono);font-size:var(--fs-11);font-weight:500;letter-spacing:.04em;line-height:1.3}.tip-badge--kind{border-color:var(--gold);background:var(--gold-soft);color:var(--gold)}.tip-card__hint{font-family:var(--font-serif);font-weight:600;font-size:var(--fs-15);margin:0;color:var(--text)}.tip-card{position:absolute;inset:0 0 auto;z-index:1;margin:0;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);scroll-margin-top:5rem;overflow:hidden;interpolate-size:allow-keywords;transition:border-color var(--duration) var(--ease);summary{display:block;list-style:none;cursor:pointer;margin:0;padding:0;border:0;font:inherit;&::-webkit-details-marker{display:none}&:focus-visible{outline:2px solid var(--gold);outline-offset:2px}}&--raised{z-index:5}&--raised,&[open]{border-color:var(--gold)}&[open]{z-index:6}}.tip-slot--static .tip-card{position:relative;inset:auto}.tip-card::details-content{overflow:hidden;transition-property:block-size,content-visibility;transition-duration:var(--duration);transition-timing-function:var(--ease);transition-behavior:allow-discrete}.tip-card:not([open])::details-content{block-size:0;content-visibility:hidden}.tip-card[open]::details-content{block-size:auto;content-visibility:visible}.tip-card[open].tip-card--closing::details-content{block-size:0;content-visibility:hidden}@starting-style{.tip-card[open]::details-content{block-size:0}}.tip-card__clip{overflow:hidden}.tip-card__panel{-webkit-margin-before:.15rem;margin-block-start:.15rem;padding:.7rem .85rem .8rem;border-top:1px solid var(--line)}.tip-card__body{margin:0;color:var(--text-dim);font-size:var(--fs-14)}@media (prefers-reduced-motion:reduce){.tip-card,.tip-card::details-content{transition:none}}}@keyframes tips-spin{to{transform:rotate(1turn)}}@layer components{.cook-root{position:fixed;inset:0;z-index:var(--z-cook);width:100%;max-width:none;height:100%;max-height:none;margin:0;padding:0;border:none;background:var(--bg);color:inherit;overscroll-behavior:contain}.cook-root[open]{display:flex;flex-direction:column}.cook-root::-webkit-backdrop{background:var(--bg)}.cook-root::backdrop{background:var(--bg)}.cook-mode__title-wrap{flex:1 1;min-width:0}.cook-mode__header{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);-webkit-padding-before:calc(var(--space-3) + env(safe-area-inset-top, 0px));padding-block-start:calc(var(--space-3) + env(safe-area-inset-top, 0px));border-bottom:1px solid var(--line);background:var(--surface)}.cook-mode__eyebrow{font-size:var(--fs-11);text-transform:uppercase;letter-spacing:.08em;color:var(--text-dim)}.cook-mode__title{font-family:var(--font-serif);font-size:var(--fs-17);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cook-mode__body{flex:1 1;overflow-y:auto;padding:var(--space-5) var(--space-4) calc(var(--space-6) + env(safe-area-inset-bottom, 0px))}.cook-mode__toast{position:fixed;inset-inline:var(--space-4);bottom:calc(var(--space-4) + env(safe-area-inset-bottom, 0px));padding:.875rem var(--space-4);background:var(--wal);color:var(--bg);border-radius:var(--radius-lg);font-size:var(--fs-14);font-weight:500;z-index:var(--z-toast)}.cook-icon-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:inline-flex;align-items:center;justify-content:center;width:var(--touch);height:var(--touch);border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface-2);color:var(--text);cursor:pointer;&[aria-pressed=true]{background:var(--wal-soft);border-color:var(--wal)}}.cook-progress{height:4px;background:var(--surface-2);border-radius:4px;-webkit-margin-after:var(--space-2);margin-block-end:var(--space-2);.cook-progress__bar{height:100%;background:var(--gold);border-radius:4px;transition:width var(--duration) var(--ease)}}.cook-progress__label{font-size:var(--fs-13);color:var(--text-dim);-webkit-margin-after:var(--space-4);margin-block-end:var(--space-4)}.cook-step-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:1.125rem;-webkit-margin-after:var(--space-4);margin-block-end:var(--space-4);&.is-done{opacity:.7}}.cook-step-card__text{margin:0;font-size:var(--fs-18);line-height:1.45}.cook-step-timer{-webkit-margin-before:var(--space-4);margin-block-start:var(--space-4);-webkit-padding-before:var(--space-3);padding-block-start:var(--space-3);border-top:1px dashed var(--line);.cook-step-timer__display{font-family:var(--font-mono);font-size:var(--fs-timer);color:var(--gold)}&.is-running .cook-step-timer__display{color:var(--ember)}}.cook-timer-actions{display:flex;flex-wrap:wrap;gap:var(--space-2);border:none;margin-top:12px;padding-top:0}.cook-step-check{display:flex;gap:8px;margin-bottom:12px;align-items:center}.cook-step-nav{display:flex;gap:10px;-webkit-margin-before:var(--space-4);margin-block-start:var(--space-4);.btn-primary,.btn-secondary{flex:1 1}}.cook-complete{text-align:center;padding:3rem var(--space-4)}.cook-setup__section{margin-bottom:var(--space-6)}.cook-setup__heading{font-family:var(--font-serif);font-size:var(--fs-20);margin:0 0 var(--space-2)}.cook-setup__hint{font-size:var(--fs-13);color:var(--text-dim);margin:0 0 var(--space-3)}.cook-start-options{display:flex;gap:var(--space-2);margin-bottom:var(--space-3)}.cook-start-btn{flex:1 1;-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:var(--space-3);border-radius:var(--radius-lg);border:1px solid var(--line);background:var(--surface-2);color:var(--text);font:inherit;cursor:pointer}.cook-start-btn.is-active{background:var(--wal-soft);border-color:var(--wal)}.cook-datetime-wrap{display:block}.cook-datetime-label{display:block;font-size:var(--fs-13);color:var(--text-dim);margin-bottom:6px}.cook-datetime{width:100%;padding:var(--space-3);border-radius:var(--radius-lg);border:1px solid var(--line);background:var(--surface-2);color:var(--text);font-size:var(--fs-17)}.cook-setup__summary{display:flex;gap:var(--space-4)}.cook-summary-stat__n{font-family:var(--font-mono);color:var(--gold);font-size:var(--fs-20);margin-right:4px}.cook-setup__actions{display:flex;flex-wrap:wrap;gap:10px}.cook-setup__aside--outline{display:none}.cook-prep-list{margin:0;padding-left:1.25rem}.cook-prep-item{margin-bottom:var(--space-3)}.cook-prep-item__type{font-size:var(--fs-12);text-transform:uppercase;letter-spacing:.04em;color:var(--text-dim)}.cook-prep-item__text{margin:4px 0}.cook-prep-item__when{font-size:var(--fs-13);color:var(--text-dim)}.cook-step-timer__adjust{display:flex;gap:var(--space-2);margin:var(--space-3) 0}.cook-steps__rail{display:none}.cook-rail-title{font-size:var(--fs-15);margin:0 0 var(--space-3)}.cook-step-overview{margin-top:var(--space-5)}.cook-step-overview__list{margin:0;padding-left:1.25rem}.cook-step-jump{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:block;width:100%;border:0;background:none;padding:8px 0;color:var(--text-dim);text-align:left;font:inherit;line-height:1.35;cursor:pointer}.cook-step-overview__list li.is-current .cook-step-jump{color:var(--gold);font-weight:600}.cook-step-overview__list li.is-done .cook-step-jump{text-decoration:line-through;opacity:.7}@media (min-width:769px){.cook-mode__body,.cook-mode__header{padding-inline:max(var(--space-6),calc((100% - var(--page-max)) / 2))}.cook-mode__body{padding-block:var(--space-8)}.cook-mode__title{font-size:var(--fs-20)}.cook-setup{display:grid;grid-template-columns:minmax(0,28rem) minmax(16rem,1fr);grid-template-areas:"when aside" "summary aside" "actions aside";grid-column-gap:var(--space-8);column-gap:var(--space-8);grid-row-gap:var(--space-5);row-gap:var(--space-5);align-items:start}.cook-setup__when{grid-area:when;margin-bottom:0}.cook-setup__summary{grid-area:summary;margin-bottom:0}.cook-setup__actions{grid-area:actions}.cook-setup__aside{grid-area:aside;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:var(--space-5)}.cook-setup__aside--outline{display:block}.cook-setup__aside .cook-setup__section{margin-bottom:0}.cook-steps{display:grid;grid-template-columns:minmax(0,42rem) minmax(16rem,1fr);justify-content:start;grid-gap:var(--space-8);gap:var(--space-8);align-items:start}.cook-steps__rail{display:block;position:-webkit-sticky;position:sticky;top:var(--space-4);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:var(--space-4)}.cook-step-card__text{font-size:var(--fs-22)}.cook-step-timer__display{font-size:clamp(3.25rem,2.2rem + 2vw,4.5rem);line-height:1}.cook-complete{max-width:32rem;margin-inline:auto;-webkit-padding-before:4.5rem;padding-block-start:4.5rem}.cook-step-overview--mobile{display:none}}}@layer components{.prep-kit-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,18rem),1fr));grid-gap:var(--space-4);gap:var(--space-4)}.prep-kit-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:1.25rem 1.35rem 1.4rem;display:flex;flex-direction:column;gap:var(--space-3);h2{font-size:var(--fs-20);margin:0;padding:0;border:none;a{color:var(--wal)}}.prep-kit-card__meta{color:var(--text-dim);font-size:var(--fs-14);margin:0}}.prep-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));grid-gap:var(--space-3);gap:var(--space-3);margin:var(--space-5) 0 var(--space-6)}.prep-metric{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:var(--space-3) var(--space-4);strong{display:block;font-family:var(--font-mono);font-size:var(--fs-18);color:var(--gold)}span{color:var(--text-dim);font-size:var(--fs-13)}}.prep-plan{display:grid;grid-gap:var(--space-4);gap:var(--space-4);-webkit-margin-after:var(--space-5);margin-block-end:var(--space-5)}.prep-servings{display:flex;flex-wrap:wrap;gap:var(--space-2);margin:0}.prep-tabs{display:flex;gap:var(--space-2);overflow-x:auto;-webkit-margin-after:var(--space-5);margin-block-end:var(--space-5);.chip{gap:.4rem;white-space:nowrap;.ui-icon{color:var(--gold)}}}.prep-slot-grid{display:grid;grid-gap:var(--space-3);gap:var(--space-3)}.prep-day{display:grid;grid-gap:var(--space-2);gap:var(--space-2);padding-block:var(--space-3);border-bottom:1px solid var(--line)}.prep-day__title{font-family:var(--font-mono);font-size:var(--fs-12);letter-spacing:.08em;text-transform:uppercase;color:var(--text-dim);margin:0}.prep-day__thaw{margin:0;font-size:var(--fs-14);color:var(--text)}.prep-slot-row{display:grid;grid-gap:var(--space-2);gap:var(--space-2);@media (min-width:640px){grid-template-columns:1fr 1fr}}.prep-slot{display:flex;flex-direction:column;gap:6px;padding:var(--space-3);border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface);color:inherit;text-decoration:none;strong{color:var(--wal)}}.prep-slot__meal{font-size:var(--fs-12);color:var(--text-dim);text-transform:uppercase;letter-spacing:.06em}.prep-slot__composition{color:var(--text-dim);font-size:var(--fs-14)}.prep-toggle{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem .75rem;margin:0;font-size:var(--fs-15);text-decoration:none;color:inherit;.prep-toggle__mark{inline-size:1.1rem;block-size:1.1rem;border:1px solid var(--line);border-radius:.2rem;background:var(--surface-2)}&.is-on .prep-toggle__mark{background:var(--gold);border-color:var(--gold)}span:not(.prep-toggle__mark){flex-basis:100%;color:var(--text-dim);font-size:var(--fs-13)}}.prep-sunday-intro{display:grid;grid-gap:var(--space-3);gap:var(--space-3);margin:0 0 var(--space-5);@media (min-width:640px){grid-template-columns:minmax(13rem,18rem) minmax(0,1fr);gap:var(--space-4);align-items:start}}.prep-sunday-intro__col{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:var(--space-3) var(--space-4);h3{font-family:var(--font-mono);font-size:var(--fs-12);letter-spacing:.08em;text-transform:uppercase;color:var(--text-dim);margin:0 0 var(--space-3);padding:0;border:none}ul{margin:0;-webkit-padding-start:1.15rem;padding-inline-start:1.15rem;display:grid;grid-gap:var(--space-2);gap:var(--space-2);font-size:var(--fs-15)}}.prep-recipe{margin:0 0 var(--space-5);-webkit-padding-start:1.3rem;padding-inline-start:1.3rem;display:grid;grid-gap:var(--space-4);gap:var(--space-4);li{display:grid;grid-gap:4px;gap:4px}}.prep-details{-webkit-margin-before:var(--space-5);margin-block-start:var(--space-5);summary{cursor:pointer;color:var(--wal)}}.prep-mode{display:inline-flex;align-self:flex-start;font-size:var(--fs-12);padding:2px 8px;border-radius:var(--radius-pill);border:1px solid var(--gold);color:var(--gold)}.prep-timeline{list-style:none;margin:0;padding:0;li{display:grid;grid-template-columns:4.5rem 1fr;grid-gap:var(--space-3);gap:var(--space-3);padding-block:var(--space-2);border-bottom:1px solid var(--line)}.prep-timeline__t{font-family:var(--font-mono);color:var(--gold)}}.prep-table{width:100%;border-collapse:collapse;font-size:var(--fs-14);td,th{text-align:left;padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--line);vertical-align:top}th{color:var(--text-dim);font-weight:500}}.prep-graph{-webkit-margin-before:var(--space-6);margin-block-start:var(--space-6)}.prep-recipe-banner{align-items:center;-webkit-margin-after:var(--space-4);margin-block-end:var(--space-4)}.prep-boxes,.prep-recipe-banner{display:flex;flex-wrap:wrap;gap:var(--space-2)}.prep-boxes{margin:0 0 var(--space-5);padding:0;list-style:none}.prep-box{border:1px solid var(--line);border-radius:var(--radius-md);padding:8px 12px;background:var(--surface)}}@layer a11y{.skip-link{position:fixed;inset-block-start:var(--space-2);inset-inline-start:var(--space-2);z-index:var(--z-skip);display:inline-flex;align-items:center;min-height:var(--touch);padding-inline:var(--space-4);background:var(--bg);color:var(--gold);border:2px solid var(--gold);border-radius:var(--radius-md);font-weight:500;text-decoration:none;white-space:nowrap;transform:translateY(-120%)}.skip-link:focus,.skip-link:focus-visible{transform:none;color:var(--gold);outline:2px solid var(--gold);outline-offset:2px}#main{scroll-margin-block-start:4.5rem}#main:focus{outline:none}.sr-only,.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);-webkit-clip-path:inset(50%);clip-path:inset(50%);white-space:nowrap;border:0}:focus-visible{outline:2px solid var(--gold);outline-offset:2px}a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible{outline:2px solid var(--gold);outline-offset:2px}[hidden]{display:none!important}}@layer state{body.is-recipe-page{.site-footer{display:none}@media (max-width:768px){.tabbar--main{display:none}}}body.cook-mode-open{overflow:hidden;.mobile-brand,.tabbar{display:none}}}@layer print{@media print{@page{margin:12mm}body,html{background:#fff;color:#111;color-scheme:light}body.cook-mode-open{overflow:visible}*,:after,:before{box-shadow:none!important;text-shadow:none!important;animation:none!important;transition:none!important}.btn-cook,.cook-mode__toast,.cook-root,.guide-strip,.mobile-brand,.page-art,.page-intro .page-art,.recipe-actions,.recipe-list__kbju-hint,.search-row button,.site-footer,.site-header,.skip-link,.tabbar{display:none!important}.wrap{animation:none;max-width:none;margin-inline:0;padding:0}a{color:inherit;text-decoration:underline}a[href]:after{content:none}.cook-steps__rail,.site-header{position:static}thead{display:table-header-group}details,details summary,details[open]{display:block}details>:not(summary){display:block!important}.card,.caution,.cook-step-card,.grain-card,.recipe-card,.recipe-nutrition,.recipe-step{page-break-inside:avoid;break-inside:avoid}}}@layer reset, tokens, base, chrome, components, a11y, state, print;