.navbar{position:sticky;top:0;z-index:100;background:var(--bg-primary)}.navbar-inner{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;height:var(--nav-height);padding:0 var(--space-lg);border-bottom:1px solid var(--border)}.navbar-brand{grid-column:1;display:flex;align-items:center;min-width:0}.navbar-logo-link{grid-column:2;justify-self:center;display:flex;align-items:center;text-decoration:none}.navbar-logo{position:relative;display:block;flex:0 0 auto;width:52px;aspect-ratio:991.34 / 912.81;transform-origin:center}.navbar-logo img{position:absolute;top:0;left:0;height:100%}.navbar-logo-spatula,.navbar-logo-skull{width:calc(100% * 828 / 991.34)}.navbar-logo-fork{width:100%}.navbar-title{font-family:var(--font-accent);font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--color-logo);text-decoration:none;white-space:nowrap}.navbar-title:hover{color:var(--color-logo)}.navbar-title-short{display:none}.navbar-title--home{grid-column:2;justify-self:center;font-size:clamp(1.55rem,2.1vw,2.05rem);line-height:1;letter-spacing:.13em;text-align:center;transform-origin:top left}.navbar-title--interior{display:block;overflow:hidden;max-width:min(34vw,24rem);font-size:clamp(.82rem,1.1vw,.98rem);line-height:1;text-overflow:ellipsis}.navbar-links{grid-column:3;justify-self:end;display:flex;align-items:center;gap:var(--space-lg);list-style:none;padding:0;margin:0}.is-home-leaving .navbar--home .navbar-title--home,.is-interior-leaving .navbar--interior .navbar-brand,.is-interior-leaving .navbar--interior .navbar-logo-link,.is-interior-leaving .navbar--interior .navbar-links,.is-interior-leaving .navbar--interior .navbar-toggle{animation:navbarItemExit .22s ease-in both}.is-interior-leaving .navbar--interior .navbar-logo{animation:navbarLogoExit .22s ease-in both}.is-route-entering .navbar--home .navbar-title--home,.is-route-entering .navbar--interior .navbar-brand,.is-route-entering .navbar--interior .navbar-logo-link,.is-route-entering .navbar--interior .navbar-links,.is-route-entering .navbar--interior .navbar-toggle{animation:navbarItemEnter .32s ease-out both}.is-route-entering .navbar--interior .navbar-logo{animation:navbarLogoEnter .32s cubic-bezier(.16,1,.3,1) both}@keyframes navbarItemExit{0%{transform:translateY(0);opacity:1}to{transform:translateY(-3px);opacity:0}}@keyframes navbarItemEnter{0%{transform:translateY(-3px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes navbarLogoExit{0%{transform:scale(1)}to{transform:scale(.55)}}@keyframes navbarLogoEnter{0%{transform:scale(.55)}82%{transform:scale(1.04)}to{transform:scale(1)}}@media(prefers-reduced-motion:reduce){.is-home-leaving .navbar--home .navbar-title--home,.is-interior-leaving .navbar--interior .navbar-brand,.is-interior-leaving .navbar--interior .navbar-logo-link,.is-interior-leaving .navbar--interior .navbar-links,.is-interior-leaving .navbar--interior .navbar-toggle,.is-interior-leaving .navbar--interior .navbar-logo,.is-route-entering .navbar--home .navbar-title--home,.is-route-entering .navbar--interior .navbar-brand,.is-route-entering .navbar--interior .navbar-logo-link,.is-route-entering .navbar--interior .navbar-links,.is-route-entering .navbar--interior .navbar-toggle,.is-route-entering .navbar--interior .navbar-logo{animation:none}}.navbar-links a{display:block;font-family:var(--font-accent);font-size:.8rem;letter-spacing:.15em;text-transform:uppercase;color:var(--text-secondary);text-decoration:none;transition:color .2s ease;padding:var(--space-xs) 0}.navbar-lock-button{display:inline-grid;place-items:center;width:2rem;height:2rem;padding:0;background:none;border:0;color:var(--text-secondary);cursor:pointer;transition:color .2s ease}.navbar-lock-button--home{grid-column:3;justify-self:end}.navbar-lock-icon{display:block}.navbar-links a:hover,.navbar-links a.active,.navbar-lock-button:hover,.navbar-lock-button:focus{color:var(--accent)}.navbar-toggle{grid-column:3;justify-self:end;display:none;background:none;border:none;cursor:pointer;padding:var(--space-sm)}.navbar-toggle span{display:block;width:22px;height:2px;background:var(--text-primary);margin:5px 0;transition:transform .2s ease,opacity .2s ease}@media(max-width:860px){.navbar-inner{padding:0 var(--space-md)}.navbar-logo{width:50px}.navbar-title--interior{max-width:none;font-size:clamp(1.05rem,2.4vw,1.25rem);letter-spacing:.09em}.navbar--interior .navbar-title-full{display:none}.navbar--interior .navbar-title-short{display:inline}.navbar-toggle{display:block}.navbar-links{grid-column:1 / -1;justify-self:stretch;display:none;position:fixed;top:var(--nav-height);left:0;right:0;width:100vw;min-width:100vw;z-index:90;flex-direction:column;align-items:stretch;background:var(--bg-primary);border-bottom:1px solid var(--border);padding:var(--space-md) var(--space-lg) var(--space-lg);gap:0;box-shadow:0 18px 32px #00000047}.navbar-links a{width:100%;padding:.8rem 0;text-align:left}.navbar-links .navbar-lock-button{margin-top:.45rem}.navbar-links.open{display:flex}}@media(max-width:768px){.navbar-inner{padding:0 var(--space-sm)}.navbar-logo{width:46px}.navbar-title--home{font-size:clamp(1.08rem,5.4vw,1.35rem);letter-spacing:.08em}.navbar-title--interior{font-size:clamp(1rem,4.4vw,1.18rem)}.navbar-lock-button--home{width:1.9rem;height:1.9rem}}.navbar--home .navbar-links,.navbar--home .navbar-toggle{display:none}.home-hero{height:calc(100vh - var(--nav-height));overflow:hidden}.hero-inner{display:flex;flex-direction:column;align-items:center;text-align:center;max-width:var(--content-width);margin:0 auto;padding:15vh var(--space-lg) var(--space-xl);box-sizing:border-box}.hero-logo{position:relative;width:390px;aspect-ratio:991.34 / 912.81;margin-bottom:var(--space-xl);transform-origin:center;animation:heroFloat 3s ease-in-out 1s infinite}.is-home-leaving .hero-logo{animation:heroLogoExit .26s ease-in both}.is-home-leaving .hero-title,.is-home-leaving .home-note,.is-home-leaving .home-origin,.is-home-leaving .home-cta{animation:homeContentExit .22s ease-in both}.is-route-entering .home-hero .hero-logo{animation:heroLogoEnter .32s cubic-bezier(.16,1,.3,1) both}.has-route-transitioned .home-hero .hero-logo-spatula,.has-route-transitioned .home-hero .hero-logo-fork,.has-route-transitioned .home-hero .hero-logo-skull,.is-route-entering .home-hero .hero-logo-spatula,.is-route-entering .home-hero .hero-logo-fork,.is-route-entering .home-hero .hero-logo-skull{animation:none}.is-route-entering .home-hero .hero-title,.is-route-entering .home-hero .home-note,.is-route-entering .home-hero .home-origin,.is-route-entering .home-hero .home-cta{animation:homeContentEnter .32s ease-out both}.hero-logo img{position:absolute;top:0;left:0;height:100%}.hero-logo-spatula,.hero-logo-skull{width:calc(100% * 828 / 991.34)}.hero-logo-spatula{animation:slideFromLeft .85s cubic-bezier(.22,1,.36,1) both}.hero-logo-fork{width:100%;animation:slideFromRight .85s cubic-bezier(.22,1,.36,1) both}.hero-logo-skull{animation:dropFromAbove .85s cubic-bezier(.22,1,.36,1) .1s both}@keyframes slideFromLeft{0%{transform:translate(-120px);opacity:1}to{transform:translate(0);opacity:1}}@keyframes slideFromRight{0%{transform:translate(120px);opacity:1}to{transform:translate(0);opacity:1}}@keyframes dropFromAbove{0%{transform:translateY(-80px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes heroFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes heroLogoExit{0%{transform:translateY(0) scale(1);opacity:1}to{transform:translateY(-10px) scale(.62);opacity:0}}@keyframes heroLogoEnter{0%{transform:translateY(-8px) scale(.68);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}@keyframes homeContentExit{0%{transform:translateY(0);opacity:1}to{transform:translateY(-4px);opacity:0}}@keyframes homeContentEnter{0%{transform:translateY(4px);opacity:0}to{transform:translateY(0);opacity:1}}@media(prefers-reduced-motion:reduce){.is-home-leaving .hero-logo,.is-home-leaving .hero-title,.is-home-leaving .home-note,.is-home-leaving .home-origin,.is-home-leaving .home-cta,.is-route-entering .home-hero .hero-logo,.is-route-entering .home-hero .hero-title,.is-route-entering .home-hero .home-note,.is-route-entering .home-hero .home-origin,.is-route-entering .home-hero .home-cta{animation:none}}.hero-title{font-family:var(--font-accent);font-size:clamp(1.08rem,1.45vw,1.22rem);font-weight:400;letter-spacing:.15em;line-height:1.65;text-transform:uppercase;color:color-mix(in srgb,var(--color-logo) 70%,var(--text-muted));margin-bottom:var(--space-lg);width:100%;max-width:720px}.hero-title-line{display:block}.hero-title-emphasis{color:var(--color-logo);font-weight:700}.hero-title-callout{color:color-mix(in srgb,var(--color-logo) 86%,var(--accent-hover))}.home-cta{margin-bottom:0}.home-note{color:var(--text-muted);font-style:italic;font-size:1.12rem;width:100%;max-width:580px;margin-bottom:var(--space-md)}.hero-subtle{opacity:.86}.hero-subtitle-emphasis{color:var(--text-secondary);font-weight:700;opacity:.95}.home-origin{font-family:var(--font-accent);font-size:.86rem;letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);opacity:.6;margin-top:var(--space-sm);margin-bottom:var(--space-lg)}.home-cta .btn{font-size:.95rem}@media(max-width:768px){.hero-inner{padding:var(--space-xl) var(--space-md)}.hero-logo{width:240px}.hero-title{font-size:.94rem;letter-spacing:.12em;line-height:1.75}.home-note{font-size:1rem;max-width:340px}.home-origin{font-size:.8rem}.home-cta .btn{font-size:.9rem}}.lock-gate{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:var(--space-xl) var(--space-lg);text-align:center;background:var(--bg-primary)}.lock-gate-inner{width:100%;max-width:520px}.lock-gate-logo{width:min(300px,72vw);margin:0 auto var(--space-lg)}.lock-gate-title{font-family:var(--font-accent);font-size:clamp(1.4rem,3vw,2rem);letter-spacing:.14em;line-height:1.25;text-transform:uppercase;margin-bottom:var(--space-lg)}.lock-gate-form{width:100%}.lock-gate-prompt{display:block;color:var(--text-secondary);font-size:1.15rem;line-height:1.45;margin-bottom:var(--space-md)}.lock-gate-controls{display:flex;gap:var(--space-sm)}.lock-gate-input{flex:1;min-width:0;font-family:var(--font-body);font-size:1rem;padding:.75rem var(--space-md);background:var(--bg-secondary);border:1px solid var(--border);color:var(--text-primary);outline:none}.lock-gate-input:focus{border-color:var(--accent)}.lock-gate-button{flex:0 0 auto;font-family:var(--font-accent);font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;padding:.75rem 1.35rem;border:1px solid var(--accent);color:var(--accent);background:transparent;cursor:pointer;transition:background .25s ease,color .25s ease}.lock-gate-button:hover,.lock-gate-button:focus{background:var(--accent);color:var(--bg-primary)}.lock-gate-error{min-height:1.7em;color:var(--accent-hover);font-style:italic;margin-top:var(--space-sm);margin-bottom:0}@media(max-width:520px){.lock-gate{padding:var(--space-lg) var(--space-md)}.lock-gate-controls{flex-direction:column}}.recipes-page{max-width:var(--content-width);margin:0 auto;padding:var(--space-xl) var(--space-lg)}.recipes-page h1,.search-bar{margin-bottom:var(--space-lg)}.search-bar input{width:100%;font-family:var(--font-body);font-size:1rem;padding:.75rem var(--space-md);background:var(--bg-secondary);border:1px solid var(--border);color:var(--text-primary);outline:none;transition:border-color .2s ease}.search-bar input::placeholder{color:var(--text-muted);font-style:italic}.search-bar input:focus{border-color:var(--accent)}.category-filter{display:flex;gap:var(--space-md);margin-bottom:var(--space-xl)}.category-filter select{flex:1;font-family:var(--font-accent);font-size:.8rem;letter-spacing:.15em;text-transform:uppercase;padding:.75rem var(--space-md);background-color:var(--bg-secondary);border:1px solid var(--accent);color:var(--text-primary);cursor:pointer;outline:none;border-radius:0;-moz-appearance:none;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23c9a84c' stroke-width='1.5' fill='none' stroke-linecap='square'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--space-md) center;padding-right:2.5rem;transition:border-color .2s ease}.category-filter select:hover,.category-filter select:focus{border-color:var(--accent-hover)}.category-filter select option{background-color:var(--bg-secondary);color:var(--text-primary)}@media(max-width:768px){.category-filter{flex-direction:column}}.recipe-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--space-lg)}.recipe-card{background:var(--bg-secondary);border:1px solid var(--border);padding:0;text-decoration:none;color:inherit;display:flex;flex-direction:column;overflow:hidden;transition:box-shadow .3s ease,border-color .3s ease}.recipe-card:hover{border-color:var(--accent);box-shadow:0 4px 20px #c9a84c14}.recipe-card-img{width:100%;height:180px;object-fit:cover;display:block}.recipe-card-category{padding:var(--space-lg) var(--space-lg) 0;font-family:var(--font-accent);font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;color:var(--accent);margin-bottom:var(--space-sm)}.recipe-card h3{font-family:var(--font-display);margin-bottom:var(--space-sm);padding:0 var(--space-lg)}.recipe-card-meta{font-family:var(--font-accent);font-size:.75rem;color:var(--text-muted);margin-bottom:var(--space-md);padding:0 var(--space-lg)}.recipe-card-tags{display:flex;flex-wrap:wrap;gap:var(--space-xs);margin-top:auto;padding:0 var(--space-lg) var(--space-lg)}.recipe-card-tags span{font-family:var(--font-accent);font-size:.65rem;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);border:1px solid var(--border);padding:.15rem .6rem}.recipes-empty{text-align:center;padding:var(--space-xl);color:var(--text-muted);font-style:italic}@media(max-width:768px){.recipes-page{padding:var(--space-lg) var(--space-md)}.recipe-grid{grid-template-columns:1fr}}.recipe-detail{max-width:var(--content-width);margin:0 auto;padding:var(--space-xl) var(--space-lg);padding-top:3rem}.recipe-detail-back{display:inline-block;font-family:var(--font-accent);font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);margin-bottom:var(--space-lg);text-decoration:none;transition:color .2s ease}.recipe-detail-back:hover{color:var(--accent)}.recipe-detail h1{font-size:2.4rem;margin-bottom:var(--space-sm)}.recipe-meta{display:flex;flex-wrap:wrap;align-items:center;gap:0;font-family:var(--font-accent);font-size:.8rem;letter-spacing:.08em;color:var(--text-muted);margin-bottom:var(--space-sm)}.recipe-meta-item{display:inline}.recipe-meta-dot{margin:0 .6em;color:var(--text-muted)}.recipe-meta-label{text-transform:uppercase;color:var(--text-secondary)}.recipe-print-icon{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:0;margin-right:.75em;display:inline-flex;align-items:center;transition:color .2s ease}.recipe-print-icon:hover{color:var(--accent)}.recipe-detail-tags{font-family:var(--font-accent);font-size:.8rem;letter-spacing:.08em;color:var(--text-muted);margin-bottom:var(--space-md)}.recipe-tag-dot{margin:0 .5em;color:var(--text-muted)}.recipe-tag-link{color:var(--text-muted);text-decoration:none;transition:color .2s ease}.recipe-tag-link:hover{color:var(--accent);text-decoration:underline}.recipe-hero-img{width:100%;height:400px;object-fit:cover;display:block;margin-bottom:var(--space-md)}.recipe-body h2{font-size:1.5rem;margin-top:var(--space-lg);margin-bottom:var(--space-md);color:var(--accent)}.recipe-body h2:first-child{margin-top:var(--space-sm)}.recipe-body p{margin-bottom:var(--space-md);color:var(--text-primary)}.recipe-body ul{list-style:disc;padding-left:var(--space-lg);margin-bottom:var(--space-lg)}.recipe-body ul li{margin-bottom:var(--space-sm);color:var(--text-primary)}.recipe-body ol{padding-left:var(--space-lg);margin-bottom:var(--space-lg)}.recipe-body ol li{margin-bottom:var(--space-md);color:var(--text-primary);padding-left:var(--space-sm)}.recipe-body ol li::marker{color:var(--accent);font-family:var(--font-display);font-weight:700}.recipe-not-found{text-align:center;padding:var(--space-xl)}@media(max-width:768px){.recipe-detail{padding:var(--space-lg) var(--space-md);padding-top:2rem}.recipe-detail h1{font-size:1.8rem}}@media print{.recipe-detail-back,.recipe-print-icon{display:none}.recipe-detail{max-width:100%;padding:0}.recipe-body h2{color:#333}}:root{--bg-primary: #1a1a1a;--bg-secondary: #222222;--bg-tertiary: #2a2a2a;--text-primary: #e8d5b0;--text-secondary: #b5976a;--text-muted: #7a6a52;--accent: #c9a84c;--accent-hover: #e8c56a;--color-logo: #e8d5b0;--border: #3a3020;--danger: #8b3a3a;--font-display: "Playfair Display", Georgia, serif;--font-body: "Crimson Text", Georgia, serif;--font-accent: "IM Fell English", serif;--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 2rem;--space-xl: 4rem;--content-width: 860px;--nav-height: 72px}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{font-size:18px;scroll-behavior:smooth;scrollbar-gutter:stable;background-color:var(--bg-primary);color-scheme:dark}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}body{font-family:var(--font-body);background-color:var(--bg-primary);color:var(--text-primary);line-height:1.7;min-height:100vh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{min-height:100vh;background-color:var(--bg-primary)}body:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:9999;opacity:.04;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");background-repeat:repeat;background-size:256px 256px}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:700;line-height:1.2;color:var(--text-primary)}h1{font-size:2.8rem}h2{font-size:2rem}h3{font-size:1.4rem}p{margin-bottom:var(--space-md)}a{color:var(--accent);text-decoration:none;transition:color .2s ease}a:hover{color:var(--accent-hover)}ul,ol{padding-left:var(--space-lg)}li{margin-bottom:var(--space-xs)}.container{width:100%;max-width:var(--content-width);margin:0 auto;padding:0 var(--space-lg)}.accent-font{font-family:var(--font-accent)}.text-muted{color:var(--text-muted)}.text-secondary{color:var(--text-secondary)}.divider{text-align:center;color:var(--text-muted);font-size:1rem;letter-spacing:.5rem;margin:var(--space-lg) 0}.divider:before{content:"— ✦ —"}.btn{display:inline-block;font-family:var(--font-accent);font-size:.85rem;letter-spacing:.15em;text-transform:uppercase;padding:.7rem 1.8rem;border:1px solid var(--accent);color:var(--accent);background:transparent;cursor:pointer;transition:background .25s ease,color .25s ease}.btn:hover{background:var(--accent);color:var(--bg-primary)}@media print{@page{margin:.65in}*,*:before,*:after{background:transparent!important;box-shadow:none!important;text-shadow:none!important;filter:none!important;animation:none!important;transition:none!important}html{font-size:12pt;background:#fff!important;color:#111!important;color-scheme:light;scrollbar-gutter:auto}body,#root{min-height:0;background:#fff!important;color:#111!important}body{font-size:12pt;line-height:1.45}body:after,nav,.navbar,footer,.no-print,.search-bar,.category-filter,.recipe-grid,.recipe-card,.recipes-empty,.recipe-detail-back,.recipe-print-icon,.recipe-detail-tags,.recipe-hero-img,.btn{display:none!important}h1,h2,h3,h4,h5,h6,p,li,.recipe-meta,.recipe-meta-label,.recipe-meta-dot,.recipe-body p,.recipe-body li,.recipe-body ol li::marker{color:#111!important}a,a:visited{color:#111!important;text-decoration:none}.container,.recipes-page,.recipe-detail{width:100%!important;max-width:none!important;margin:0!important;padding:0!important}.recipe-detail h1{font-size:24pt;margin:0 0 .12in}.recipe-meta{display:block;font-size:10pt;letter-spacing:0;line-height:1.35;margin-bottom:.22in}.recipe-body h2,.recipe-body h3{break-after:avoid;page-break-after:avoid;margin-top:.22in;margin-bottom:.08in}.recipe-body h2:first-child{margin-top:0}.recipe-body p,.recipe-body ul,.recipe-body ol{margin-bottom:.14in}.recipe-body ul,.recipe-body ol{padding-left:.25in}.recipe-body li{break-inside:avoid;page-break-inside:avoid;margin-bottom:.06in}}@media(max-width:768px){html{font-size:16px}h1{font-size:2rem}h2{font-size:1.5rem}.container{padding:0 var(--space-md)}}
