*{box-sizing:border-box}
html{scroll-behavior:auto;background:var(--void)}
body.recipe-page{max-width:100%;margin:0;overflow-x:hidden;color:var(--ink);background:var(--void);font-family:var(--sf);font-size:var(--fs-body);line-height:var(--lh-body)}
.recipe-page::before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.48;background:linear-gradient(90deg,transparent 49.96%,var(--hair2) 50%,transparent 50.04%),repeating-linear-gradient(0deg,transparent 0 47px,var(--hair2) 48px,transparent 49px);mask-image:linear-gradient(#000,transparent 90%)}
.recipe-page #zzk-nav,.recipe-page main,.recipe-page footer{position:relative;z-index:2}
.recipe-page .top{isolation:isolate;background:transparent;border:0;box-shadow:none;backdrop-filter:none}
.recipe-page .top::before{content:"";position:absolute;inset:0 0 -14px;z-index:-1;background:color-mix(in srgb,var(--void) 76%,transparent);backdrop-filter:blur(14px) saturate(.88);mask-image:linear-gradient(#000 0,#000 70%,transparent 100%);pointer-events:none}
.recipe-page a{color:inherit}
.recipe-page img{display:block;max-width:100%}
.recipe-shell{width:min(100%,var(--data-width));margin:0 auto;padding:clamp(4rem,8vw,8.5rem) var(--page-gutter) 8rem}
.recipe-shell>*{min-width:0;max-width:100%}
.recipe-kicker,.recipe-section-no{margin:0;color:var(--murmur);font:600 var(--fs-label)/1.5 var(--mono);letter-spacing:.2em;text-transform:uppercase}
.recipe-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(18rem,.34fr);min-width:0;max-width:100%;min-height:min(68vh,47rem);overflow:hidden;border-top:1px solid var(--hair);border-bottom:1px solid var(--hair)}
.recipe-hero>*{min-width:0;max-width:100%}
.recipe-hero__copy{display:flex;flex-direction:column;justify-content:center;min-width:0;padding:clamp(2.5rem,6vw,6rem) clamp(2rem,7vw,8rem) clamp(3rem,6vw,6rem) 0}
.recipe-hero h1{margin:clamp(1.8rem,4vw,3.6rem) 0 2rem;font:400 clamp(3.8rem,8vw,9rem)/.9 var(--mincho);letter-spacing:-.06em}
.recipe-hero__copy>p:last-child{max-width:48rem;margin:0;overflow-wrap:anywhere;word-break:normal;color:var(--dim);font:400 var(--fs-lede)/1.95 var(--mincho);letter-spacing:.02em}
.recipe-hero__ledger{display:flex;min-width:0;flex-direction:column;justify-content:space-between;padding:2rem 0 2rem clamp(1.5rem,3vw,3rem);border-left:1px solid var(--hair)}
.recipe-hero__ledger>span{color:var(--faint);font:var(--fs-label)/1.5 var(--mono);letter-spacing:.16em}
.recipe-hero__ledger dl{margin:auto 0 0}
.recipe-hero__ledger dl div{display:grid;grid-template-columns:1fr auto;gap:1rem;padding:.85rem 0;border-top:1px solid var(--hair)}
.recipe-hero__ledger dt,.recipe-hero__ledger dd{min-width:0;margin:0;font:var(--fs-label)/1.4 var(--mono);letter-spacing:.1em;overflow-wrap:anywhere}.recipe-hero__ledger dt{color:var(--faint)}.recipe-hero__ledger dd{color:var(--acc);text-align:right}
.recipe-anatomy{display:grid;grid-template-columns:minmax(9rem,.24fr) minmax(0,1fr);gap:2rem;padding:clamp(3.5rem,7vw,7rem) 0;border-bottom:1px solid var(--hair)}
.recipe-anatomy>div{min-width:0}.recipe-anatomy h2{max-width:62rem;margin:0 0 2.8rem;font:400 clamp(2rem,4vw,4.3rem)/1.18 var(--mincho);letter-spacing:-.035em}
.recipe-flow{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));margin:0;padding:0;border-block:1px solid var(--hair);list-style:none}
.recipe-flow li{position:relative;min-width:0;min-height:11rem;padding:1.35rem 1rem;border-right:1px solid var(--hair)}.recipe-flow li:last-child{border-right:0}.recipe-flow li+li::before{content:"→";position:absolute;left:-.45rem;top:50%;z-index:2;color:var(--faint);background:var(--void);font:var(--fs-label)/1 var(--mono)}
.recipe-flow b,.recipe-flow span,.recipe-flow small{display:block}.recipe-flow b{color:var(--faint);font:600 var(--fs-label)/1.2 var(--mono);letter-spacing:.14em}.recipe-flow span{margin:2.2rem 0 .35rem;font:400 1.25rem/1.3 var(--mincho)}.recipe-flow small{color:var(--faint);font:var(--fs-label)/1.5 var(--mono)}
.recipe-flow .is-recipe{background:color-mix(in srgb,var(--acc) 9%,transparent);box-shadow:inset 0 -2px var(--acc)}.recipe-flow .is-recipe b{color:var(--acc)}
.recipe-anatomy__note{max-width:68rem;margin:1.5rem 0 0;color:var(--dim);font-size:var(--fs-small)}
.recipe-register{display:grid;grid-template-columns:minmax(13rem,.24fr) minmax(0,1fr);gap:clamp(2rem,5vw,6rem);min-width:0;max-width:100%;padding-top:clamp(3rem,6vw,6rem)}
.recipe-index{min-width:0}.recipe-index nav{position:sticky;top:5.5rem;display:grid;margin-top:1.6rem;border-top:1px solid var(--hair)}
.recipe-index a{display:grid;grid-template-columns:2.2rem minmax(0,1fr);gap:.75rem;padding:.85rem 0;border-bottom:1px solid var(--hair2);color:var(--faint);text-decoration:none;font:var(--fs-label)/1.45 var(--mono);letter-spacing:.05em}.recipe-index a b{color:var(--murmur);font-weight:500}.recipe-index a:hover,.recipe-index a.is-current{color:var(--ink)}.recipe-index a.is-current b{color:var(--acc)}
.recipe-list{min-width:0}.recipe-loading{padding:8rem 0;color:var(--faint);font:var(--fs-label)/1.5 var(--mono);letter-spacing:.12em}
.recipe-record{min-width:0;padding:0 0 clamp(5rem,9vw,10rem);scroll-margin-top:5rem}.recipe-record+.recipe-record{padding-top:clamp(4rem,7vw,7rem);border-top:1px solid var(--hair)}
.recipe-record__head{display:grid;grid-template-columns:minmax(0,1fr) minmax(14rem,.32fr);gap:2rem;align-items:start}.recipe-record__head>div{min-width:0}.recipe-record__serial{display:flex;flex-wrap:wrap;gap:1rem;color:var(--faint);font:var(--fs-label)/1.4 var(--mono);letter-spacing:.12em}.recipe-record__serial .is-frozen{color:var(--seal)}.recipe-record__serial .is-validated{color:var(--celadon)}
.recipe-record h2{margin:1rem 0 .8rem;font:400 clamp(2.5rem,5vw,5.8rem)/1.02 var(--mincho);letter-spacing:-.045em;overflow-wrap:anywhere}.recipe-record__purpose{max-width:58rem;margin:0;color:var(--dim);font:var(--fs-lede)/1.8 var(--mincho)}
.recipe-record__meta{margin:0;border-top:1px solid var(--hair)}.recipe-record__meta div{display:grid;grid-template-columns:6rem minmax(0,1fr);gap:1rem;padding:.65rem 0;border-bottom:1px solid var(--hair2)}.recipe-record__meta dt,.recipe-record__meta dd{min-width:0;margin:0;font:var(--fs-label)/1.45 var(--mono);overflow-wrap:anywhere}.recipe-record__meta dt{color:var(--faint)}
.recipe-contract{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:2.5rem;border-block:1px solid var(--hair)}.recipe-contract section{min-width:0;padding:1.4rem;border-right:1px solid var(--hair)}.recipe-contract section:last-child{border-right:0}.recipe-contract h3{margin:0 0 1rem;color:var(--faint);font:600 var(--fs-label)/1.4 var(--mono);letter-spacing:.14em}.recipe-contract ul{margin:0;padding:0;list-style:none}.recipe-contract li{position:relative;padding:.35rem 0 .35rem 1rem;color:var(--dim);font-size:var(--fs-small);overflow-wrap:anywhere}.recipe-contract li::before{content:"·";position:absolute;left:0;color:var(--acc)}
.recipe-prompt{margin:1.5rem 0 0;border-bottom:1px solid var(--hair)}.recipe-prompt summary,.recipe-image details summary{padding:1rem 0;color:var(--faint);font:600 var(--fs-label)/1.5 var(--mono);letter-spacing:.1em;cursor:pointer}.recipe-prompt__bar{display:flex;justify-content:flex-end;padding:.5rem 0}.recipe-copy{padding:.5rem .75rem;border:1px solid var(--hair);border-radius:0;background:transparent;color:var(--ink);font:var(--fs-label)/1 var(--mono);cursor:pointer}.recipe-copy:hover,.recipe-copy:focus-visible{border-color:var(--acc);color:var(--acc);outline:0}.recipe-prompt pre,.recipe-image pre{max-height:27rem;margin:0 0 1rem;padding:1rem;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;border:1px solid var(--hair);background:color-mix(in srgb,var(--reading) 76%,transparent);color:var(--dim);font:var(--fs-label)/1.62 var(--mono)}
.recipe-evidence{margin-top:clamp(2.5rem,5vw,5rem)}.recipe-evidence__head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1.5rem;align-items:end;margin-bottom:1.5rem}.recipe-evidence__head h3{margin:0;font:400 clamp(1.7rem,3vw,3rem)/1.2 var(--mincho)}.recipe-evidence__head p{margin:0;color:var(--faint);font:var(--fs-label)/1.5 var(--mono)}
.recipe-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--hair)}
.recipe-image{display:flex;min-width:0;flex-direction:column;background:var(--void)}.recipe-image__visual{position:relative;display:block;width:100%;min-height:20rem;padding:0;border:0;background:color-mix(in srgb,var(--reading) 86%,transparent);cursor:zoom-in;overflow:hidden}.recipe-image__visual img{width:100%;height:clamp(20rem,34vw,37rem);object-fit:cover;object-position:50% 24%;transition:transform .5s var(--ease-world),filter .4s var(--ease-world)}.recipe-image__visual:hover img{transform:scale(1.018);filter:contrast(1.035)}.recipe-image__visual span{position:absolute;left:.8rem;top:.8rem;padding:.35rem .5rem;background:color-mix(in srgb,var(--void) 80%,transparent);color:var(--ink);font:var(--fs-label)/1 var(--mono);letter-spacing:.1em;backdrop-filter:blur(7px)}
.recipe-image__body{display:flex;min-width:0;flex:1;flex-direction:column;padding:1rem}.recipe-image__body>span{color:var(--acc);font:600 var(--fs-label)/1.4 var(--mono);letter-spacing:.1em}.recipe-image h4{margin:.8rem 0 .4rem;font:400 1.25rem/1.35 var(--mincho);overflow-wrap:anywhere}.recipe-image p{margin:0;color:var(--dim);font-size:var(--fs-small);overflow-wrap:anywhere}.recipe-image dl{margin:1rem 0 0}.recipe-image dl div{display:grid;grid-template-columns:5rem minmax(0,1fr);gap:.75rem;padding:.4rem 0;border-top:1px solid var(--hair2)}.recipe-image dt,.recipe-image dd{min-width:0;margin:0;color:var(--faint);font:var(--fs-label)/1.45 var(--mono);overflow-wrap:anywhere}.recipe-image dd{color:var(--dim)}.recipe-image details{margin-top:auto}.recipe-image details[open]{margin-top:1rem}
.recipe-empty{display:grid;place-items:center;min-height:17rem;padding:2rem;border-block:1px solid var(--hair);color:var(--faint);text-align:center}.recipe-empty b{display:block;margin-bottom:.7rem;color:var(--ink);font:400 1.5rem/1.4 var(--mincho)}
.recipe-growth{display:grid;grid-template-columns:minmax(9rem,.24fr) minmax(0,1fr);gap:2rem;padding:clamp(4rem,8vw,8rem) 0 0;border-top:1px solid var(--hair)}.recipe-growth>div{min-width:0}.recipe-growth h2{margin:0 0 2rem;font:400 clamp(2rem,4vw,4rem)/1.18 var(--mincho)}.recipe-growth ol{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:0;padding:0;border-block:1px solid var(--hair);list-style:none}.recipe-growth li{min-width:0;min-height:12rem;padding:1.5rem;border-right:1px solid var(--hair)}.recipe-growth li:last-child{border-right:0}.recipe-growth b{display:block;margin-bottom:2rem;color:var(--acc);font:var(--fs-label)/1 var(--mono)}.recipe-growth span{display:block;color:var(--dim);overflow-wrap:anywhere}.recipe-growth code{font:var(--fs-small)/1.5 var(--mono);color:var(--ink);overflow-wrap:anywhere}
.recipe-lightbox{width:min(94vw,88rem);max-width:none;padding:0;border:1px solid var(--hair);border-radius:0;background:var(--void);color:var(--ink);box-shadow:var(--shadow-deep)}.recipe-lightbox::backdrop{background:rgba(0,0,0,.82);backdrop-filter:blur(6px)}.recipe-lightbox img{width:100%;max-height:82vh;object-fit:contain}.recipe-lightbox p{margin:0;padding:1rem;color:var(--dim);font:var(--fs-small)/1.6 var(--mono)}.recipe-lightbox__close{position:absolute;right:.7rem;top:.7rem;display:grid;place-items:center;width:2.5rem;height:2.5rem;border:1px solid rgba(255,255,255,.35);background:rgba(0,0,0,.68);color:#fff;font:1.4rem/1 var(--mono);cursor:pointer}
.recipe-footer{position:relative;z-index:2;display:flex;justify-content:space-between;gap:2rem;width:min(100%,var(--data-width));margin:0 auto;padding:1.4rem var(--page-gutter) 3rem;border-top:1px solid var(--hair);color:var(--faint);font:var(--fs-label)/1.5 var(--mono);letter-spacing:.1em}.recipe-footer a{text-decoration:none;border-bottom:1px solid var(--hair)}
@media(max-width:1050px){.recipe-flow{grid-template-columns:repeat(3,1fr)}.recipe-flow li{border-bottom:1px solid var(--hair)}.recipe-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.recipe-record__head{grid-template-columns:1fr}.recipe-record__meta{display:grid;grid-template-columns:repeat(3,1fr)}.recipe-record__meta div{display:block;padding-right:1rem}.recipe-record__meta dd{margin-top:.25rem}}
@media(max-width:760px){.recipe-hero{grid-template-columns:minmax(0,1fr);min-height:0}.recipe-hero__copy,.recipe-hero__ledger{width:100%;max-width:100%}.recipe-hero__ledger{min-height:18rem;padding:2rem 0;border-left:0;border-top:1px solid var(--hair)}.recipe-hero__ledger dl,.recipe-hero__ledger dl div{width:100%;max-width:100%}.recipe-anatomy,.recipe-register,.recipe-growth{grid-template-columns:minmax(0,1fr)}.recipe-index nav{position:relative;top:auto;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 1rem}.recipe-flow{grid-template-columns:repeat(2,minmax(0,1fr))}.recipe-contract{grid-template-columns:minmax(0,1fr)}.recipe-contract section{border-right:0;border-bottom:1px solid var(--hair)}.recipe-gallery{grid-template-columns:minmax(0,1fr)}.recipe-image__visual img{height:auto;max-height:none;object-fit:contain}.recipe-record__meta{grid-template-columns:minmax(0,1fr)}.recipe-evidence__head{grid-template-columns:minmax(0,1fr);align-items:start}.recipe-growth ol{grid-template-columns:minmax(0,1fr)}.recipe-growth li{min-height:0;border-right:0;border-bottom:1px solid var(--hair)}}
@media(max-width:480px){.recipe-shell{padding-top:3rem}.recipe-hero h1{font-size:clamp(3.1rem,18vw,5.2rem)}.recipe-flow{grid-template-columns:minmax(0,1fr)}.recipe-flow li{min-height:8.5rem}.recipe-flow li+li::before{content:"↓";left:50%;top:-.45rem}.recipe-index nav{grid-template-columns:minmax(0,1fr)}.recipe-footer{flex-direction:column}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.recipe-image__visual img{transition:none}}
