@import"https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;500;700&family=Roboto+Slab:wght@400;600&display=swap";:root{--bg: #f8f7ff;--fg: #2f243a;--muted: #625b78;--accent: #9381ff;--accent-soft: #b8b8ff;--accent-2: #ffd8be;--card: #fff;--surface-soft: #fed;--border: #dcd6ff;font-size:16px;color-scheme:light}*,*:before,*:after{box-sizing:border-box}body{margin:0;font-family:Roboto,Segoe UI,system-ui,-apple-system,BlinkMacSystemFont,sans-serif;background-color:var(--bg);background-image:radial-gradient(circle at 10% 10%,rgb(147 129 255 / 16%),transparent 60%),radial-gradient(circle at 90% 0%,rgb(255 221 221 / 22%),transparent 60%),linear-gradient(180deg,#f8f7fff2,#fed9);color:var(--fg);line-height:1.7;min-height:100vh;letter-spacing:.01em}a{color:inherit;text-decoration:none;transition:color .2s ease,opacity .2s ease}a:hover,a:focus-visible{color:var(--accent);text-decoration:none;opacity:.9}img{max-width:100%;height:auto;display:block}.page{min-height:100vh;display:flex;flex-direction:column}.container{width:min(1100px,92vw);margin:0 auto;padding:clamp(2rem,5vw,3.5rem) clamp(1.25rem,5vw,2.75rem)}.container.recipe-layout{width:min(1280px,95vw)}.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem}.card{background-color:var(--card);border:1px solid var(--border);border-radius:1rem;padding:1.5rem;box-shadow:0 25px 45px #0f172a0d;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}.card-link{position:relative;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease;cursor:pointer}.card-link:hover,.card-link:focus-within{border-color:var(--accent);box-shadow:0 30px 55px #2f243a1f;transform:translateY(-2px)}.card-link__hit{display:block;position:absolute;inset:0;border-radius:inherit;z-index:2;text-decoration:none;color:transparent}.card-link__hit:focus-visible{outline:3px solid var(--accent);outline-offset:4px}.pane-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:clamp(1.5rem,4vw,2.5rem)}.pane-grid[data-count]{--pane-columns: auto-fit}@media(min-width:960px){.pane-grid[data-count="3"]{--pane-columns: 3}.pane-grid[data-count="4"]{--pane-columns: 2}.pane-grid[data-count="5"]{--pane-columns: 3}.pane-grid[data-count]{grid-template-columns:repeat(var(--pane-columns),minmax(0,1fr))}}.pane-card{display:flex;flex-direction:column;gap:1.5rem;padding:clamp(1.75rem,3vw,2.25rem);border-radius:1.25rem;border:1px solid var(--border);background:linear-gradient(180deg,#fffffff2,#ffeeddbf);box-shadow:0 20px 45px #2f243a14;transition:transform .25s ease,box-shadow .25s ease}.pane-card:hover,.pane-card:focus-within{transform:translateY(-4px);box-shadow:0 26px 55px #2f243a1f}.pane-card__eyebrow{display:inline-flex;align-items:center;gap:.4rem;font-size:.75rem;letter-spacing:.2em;text-transform:uppercase;color:var(--accent)}.pane-card__eyebrow:before{content:"";display:inline-block;width:24px;height:1px;background:currentcolor;opacity:.45}.pane-card__header{display:flex;flex-direction:column;gap:.4rem}.pane-card__header h3{margin:0;font-family:Roboto Slab,Roboto,serif;font-size:1.55rem;letter-spacing:.01em}.pane-card__header a{align-self:flex-start;font-weight:600;font-size:.95rem;color:var(--muted);text-transform:uppercase;letter-spacing:.12em}.pane-card .latest-card{display:grid;grid-template-columns:minmax(100px,1fr) 2fr;align-items:center;gap:1rem;padding:1.2rem 1.3rem;border-radius:1rem;background:var(--surface-soft);border:1px solid var(--border);text-decoration:none;color:inherit;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}.pane-card .latest-card:hover,.pane-card .latest-card:focus-visible{border-color:var(--accent);box-shadow:0 18px 28px #2f243a29;transform:translateY(-2px)}.pane-card .latest-card p{color:var(--muted);margin:0}.latest-card__body{display:grid;gap:.3rem}.latest-media{width:100%;aspect-ratio:1 / 1;border-radius:.9rem;overflow:hidden;background:linear-gradient(135deg,#ffeeddd9,#9381ff26);border:1px solid var(--border);display:flex;align-items:center;justify-content:center}.latest-media img{display:block;width:100%;height:100%;object-fit:cover}.latest-placeholder{display:inline-flex;align-items:center;justify-content:center;width:100%;height:100%;font-size:1.8rem;font-weight:700;color:var(--accent);background:radial-gradient(circle at 30% 30%,rgb(255 255 255 / 70%),transparent 45%),radial-gradient(circle at 70% 70%,rgb(147 129 255 / 28%),transparent 40%)}.pane-card .latest-link{font-weight:600;color:var(--accent);line-height:1.4}.tag-pill{display:inline-flex;align-items:center;padding:.15rem .75rem;border-radius:999px;background-color:var(--border);color:var(--fg);font-size:.85rem;font-weight:600;text-transform:capitalize;text-decoration:none;position:relative;z-index:5;cursor:pointer}.tag-pill--static{pointer-events:none;cursor:default}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.site-header{background:#f8f7ffeb;border-bottom:1px solid var(--border);box-shadow:0 18px 35px #2f243a14;position:sticky;top:0;z-index:10;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.site-header__inner{display:flex;align-items:center;justify-content:space-between;gap:clamp(1rem,3vw,2rem);padding-block:1.25rem}.site-brand{display:inline-flex;flex-direction:column;gap:.15rem;color:var(--fg);text-transform:uppercase;letter-spacing:.18em}.site-brand__title{font-family:Roboto Slab,Roboto,serif;font-size:1.35rem;font-weight:600}.site-brand__subtitle{font-size:.7rem;font-weight:500;color:var(--accent);letter-spacing:.28em}.site-nav{display:flex;list-style:none;gap:clamp(1rem,2.5vw,1.75rem);margin:0;padding:0}.site-nav__link{font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:.16em;color:var(--muted);position:relative;padding-bottom:.35rem}.site-nav__link:after{content:"";position:absolute;left:0;bottom:0;width:100%;height:2px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .25s ease}.site-nav__link:hover:after,.site-nav__link:focus-visible:after,.site-nav__link.is-active:after{transform:scaleX(1)}.site-nav__link.is-active{color:var(--accent)}.site-footer{margin-top:auto;background:linear-gradient(0deg,#f8f7fff5,#fedc);border-top:1px solid var(--border)}.site-footer__inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;padding-block:1.5rem;font-size:.85rem;text-transform:uppercase;letter-spacing:.18em}.site-footer__inner p{margin:0}.site-footer__inner a{color:inherit}.site-footer__inner nav{display:flex;gap:1rem}.site-footer__link{font-size:.8rem;text-transform:uppercase;letter-spacing:.2em;font-weight:600}.home{display:flex;flex-direction:column;gap:clamp(2.5rem,6vw,4rem)}.home-hero{background:linear-gradient(135deg,#9381ff29,#ffd8be3d 40%,#f8f7ffe5);border-bottom:1px solid rgb(147 129 255 / 12%);position:relative;overflow:hidden}.home-hero:after{content:"";position:absolute;inset:auto -15% -40%;height:80%;background:radial-gradient(circle at bottom,rgb(184 184 255 / 18%),transparent 65%);opacity:.6;pointer-events:none}.hero-grid{position:relative;display:grid;gap:clamp(1.75rem,4vw,3rem);grid-template-columns:repeat(auto-fit,minmax(280px,1fr));align-items:center}.hero-content{position:relative;display:grid;gap:1.5rem;justify-items:start;padding-block:clamp(3.5rem,12vw,6rem);max-width:720px}.hero-title{margin:0;max-width:20ch;font-family:Roboto Slab,Roboto,serif;font-size:clamp(2.6rem,6vw,3.6rem);font-weight:600;letter-spacing:.01em;line-height:1.2}.hero-subtitle{margin:0;max-width:52ch;color:var(--muted);font-size:1.1rem}.hero-visual{position:relative;margin:0;padding:clamp(1.25rem,3vw,1.75rem);border-radius:1.5rem;background:linear-gradient(135deg,#ffffffe5,#ffecdbb3);border:1px solid var(--border);box-shadow:0 24px 60px #2f243a24;transition:box-shadow .2s ease,transform .2s ease}.hero-visual:hover,.hero-visual:focus-within{box-shadow:0 30px 70px #2f243a3d;transform:translateY(-4px)}.hero-visual__overlay{position:absolute;inset:0;display:block;border-radius:inherit;z-index:1;cursor:pointer}.hero-visual__overlay:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.hero-visual__image{aspect-ratio:1 / 1;border-radius:1rem;overflow:hidden;background:var(--surface-soft);border:1px solid var(--border)}.hero-visual img{display:block;width:100%;height:100%;object-fit:cover}.hero-visual figcaption{display:flex;align-items:center;gap:.75rem;margin-top:1rem}.hero-pill{display:inline-flex;align-items:center;justify-content:center;padding:.35rem .75rem;border-radius:999px;background:var(--accent);color:#fff;font-weight:700;letter-spacing:.1em;text-transform:uppercase;font-size:.7rem}.hero-eyebrow{margin:0;color:var(--muted);text-transform:uppercase;letter-spacing:.18em;font-size:.75rem}.hero-highlight{margin:.1rem 0 0;font-size:1.1rem;font-weight:700;letter-spacing:.02em}.hero-actions{display:flex;flex-wrap:wrap;justify-content:flex-start;gap:1rem}.button{display:inline-flex;align-items:center;justify-content:center;padding:.85rem 1.75rem;border-radius:999px;border:2px solid transparent;font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:.18em;transition:transform .2s ease,box-shadow .2s ease,background-color .2s ease}.button--primary{background:linear-gradient(135deg,var(--accent) 0%,var(--accent-soft) 100%);color:#fff;box-shadow:0 18px 35px #9381ff59}.button--primary:hover,.button--primary:focus-visible{transform:translateY(-2px);box-shadow:0 24px 45px #9381ff73}.button--ghost{border-color:#9381ff59;color:var(--fg);background:#ffffffbf}.button--ghost:hover,.button--ghost:focus-visible{transform:translateY(-2px);background:#fffffff2;border-color:var(--accent)}.section-heading{display:flex;flex-direction:column;align-items:center;gap:.75rem;margin-bottom:clamp(1.75rem,4vw,2.5rem);text-align:center}.heading-ornament{display:inline-flex;gap:.35rem;align-items:center;color:var(--accent);letter-spacing:.25em;text-transform:uppercase;font-size:.7rem}.heading-ornament:before,.heading-ornament:after{content:"";display:inline-block;width:48px;height:1px;background:currentcolor;opacity:.3}.home-panels h2{margin:0;font-family:Roboto Slab,Roboto,serif;letter-spacing:.08em}.latest-card p:first-of-type{text-transform:uppercase;font-size:.7rem;letter-spacing:.2em}.about-footnote{margin-top:2.5rem;font-size:.9rem;color:var(--muted)}.about-footnote a{color:var(--accent);font-weight:600}@media(max-width:900px){.pane-card .latest-card{grid-template-columns:1fr}}.recipe-phase-stack{margin-top:2rem;display:flex;flex-direction:column;gap:1.5rem}.recipe-phase-stack__header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem}.recipe-phase-stack__title{margin:0;font-family:Roboto Slab,Roboto,serif;letter-spacing:.05em}.checklist-reset-button{border:1px solid var(--border);border-radius:999px;padding:.4rem 1.1rem;background:#ffffffe5;color:var(--fg);font-weight:600;font-size:.9rem;cursor:pointer;box-shadow:0 10px 20px #2f243a1a;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}.checklist-reset-button:hover,.checklist-reset-button:focus-visible{border-color:var(--accent);box-shadow:0 18px 30px #2f243a26;transform:translateY(-1px);outline:none}.recipe-phase-stack__inner{display:flex;flex-direction:column;gap:1.5rem}.recipe-phase{border:1px solid var(--border);border-radius:1.5rem;padding:clamp(1.5rem,4vw,2.5rem);background:linear-gradient(180deg,#ffffffeb,#ffeeddbf);box-shadow:0 25px 55px #2f243a1f}.recipe-phase__label{margin:0 0 1rem;font-size:.95rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}.recipe-phase__columns{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem}.recipe-phase__columns h3{margin-top:0}@media(max-width:600px){.container{width:92vw;padding:1.5rem 1rem}.container.recipe-layout{width:92vw}.site-header__inner{flex-direction:column;align-items:stretch;text-align:center}.site-nav{justify-content:center;flex-wrap:wrap}}.complexity-dot-wrapper{position:relative;display:inline-flex;justify-content:center}.complexity-dot{width:28px;height:28px;border-radius:50%;border:2px solid var(--accent);display:inline-flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:600;color:var(--accent);background-color:transparent;transition:background-color .2s ease,color .2s ease,transform .2s ease}.complexity-dot:hover,.complexity-dot:focus-visible{background-color:var(--accent);color:#fff;text-decoration:none;transform:translateY(-1px)}.complexity-dot.is-active{background-color:var(--accent);color:#fff}.dot-preview{position:absolute;top:calc(100% + .75rem);left:50%;transform:translate(-50%) scale(.95);background:#fffdf933;border:1px solid rgb(208 139 91 / 20%);border-radius:.2rem;padding:.85rem;width:220px;box-shadow:0 35px 55px #0f172a40;backdrop-filter:blur(20px) saturate(150%);-webkit-backdrop-filter:blur(20px) saturate(150%);opacity:0;pointer-events:none;transition:opacity .2s ease,transform .2s ease;z-index:5}.dot-preview strong{display:block;margin-bottom:.5rem;font-size:.9rem}.dot-preview img{width:100%;border-radius:.35rem;border:1px solid rgb(73 80 87 / 25%)}.complexity-dot-wrapper:hover .dot-preview,.complexity-dot-wrapper:focus-within .dot-preview{opacity:1;transform:translate(-50%) scale(1)}.recipe-steps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:1rem}.recipe-ingredients{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.recipe-ingredient{display:flex;align-items:center;gap:.75rem;padding:.6rem .75rem;border-radius:.75rem;border:1px solid var(--border);background:#ffffffd9;box-shadow:0 10px 18px #2f243a0f;cursor:pointer}.ingredient-checkbox{width:18px;height:18px;accent-color:var(--accent);cursor:pointer}.ingredient-checkbox:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}.recipe-ingredient.is-complete{border-color:var(--accent-soft);background:linear-gradient(120deg,#f2edff99,#fff1ec99)}.recipe-ingredient.is-complete .ingredient-text{color:var(--muted);text-decoration:line-through}.recipe-step{display:flex;gap:1rem;padding:1.25rem;border-radius:1.25rem;border:1px solid var(--border);background:#ffffffe5;box-shadow:0 18px 35px #2f243a14;cursor:pointer;width:100%}.wake-toggle{position:fixed;bottom:clamp(.75rem,4vw,1.5rem);right:max(.5rem,calc((100vw - 100%)/-2 + .5rem));writing-mode:vertical-rl;text-transform:uppercase;letter-spacing:.2em;font-size:.7rem;border:1px solid var(--border);border-radius:999px;padding:1.1rem .6rem;background:#ffffffe5;color:var(--muted);box-shadow:0 20px 40px #2f243a29;z-index:25;cursor:pointer;transition:background .2s ease,color .2s ease,transform .2s ease,box-shadow .2s ease}.wake-toggle:hover,.wake-toggle:focus-visible{background:var(--accent);color:#fff;outline:none;transform:translateY(-2px);box-shadow:0 25px 50px #2f243a38}.wake-toggle.is-active{background:var(--accent);border-color:var(--accent);color:#fff}@media(min-width:901px){.wake-toggle{display:none}}.recipe-step.is-complete{border-color:var(--accent-soft);background:linear-gradient(120deg,#f2edffb3,#fff1ecb3);padding:.65rem .85rem;gap:.75rem;align-items:center;width:100%}.recipe-hero-intro{display:flex;flex-direction:column;gap:1.5rem;margin:2rem 0 2.5rem}.recipe-hero-figure{border-radius:1.25rem;border:1px solid var(--border);overflow:hidden;box-shadow:0 22px 45px #2f243a1a}.recipe-hero-figure img{display:block;width:100%;height:100%;object-fit:cover}.recipe-intro-copy{padding:clamp(1.25rem,3vw,2rem);border-radius:1.25rem;border:1px solid rgb(236 231 223 / 70%);background:#ffffffeb;box-shadow:0 18px 35px #2f243a1a}@media(min-width:920px){.recipe-hero-intro{flex-direction:row;align-items:stretch}.recipe-hero-figure,.recipe-intro-copy{flex:1}}.step-alert{display:inline-flex;align-items:center;gap:.4rem;margin:.35rem 0 0;padding:.35rem .65rem;border-radius:.9rem;border:1px solid rgb(147 129 255 / 35%);background:linear-gradient(120deg,#ffdedacc,#ffeeddd9);font-size:.85rem;font-weight:600;letter-spacing:.02em;color:var(--fg);line-height:1.35}.step-alert__icon{display:inline-flex;align-items:center;justify-content:center;color:#cc6f49;flex-shrink:0}.recipe-step.is-complete .step-alert{display:none}.recipe-step.is-complete .step-number{background:var(--accent-soft);color:var(--fg);width:40px;height:40px;border-style:dashed}.recipe-step.is-complete .step-content p,.recipe-step.is-complete .step-detail{color:var(--muted);text-decoration:line-through}.recipe-step.is-complete .step-content{display:none}.step-marker{display:flex;flex-direction:column;align-items:center;gap:.5rem;min-width:56px}.recipe-step.is-complete .step-marker{flex-direction:row;align-items:center;justify-content:flex-start;gap:.5rem;min-width:unset;flex:1;min-width:0}.step-checkbox{width:22px;height:22px;accent-color:var(--accent);cursor:pointer}.step-checkbox:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:6px}.step-number{width:48px;height:48px;border-radius:12px;background:var(--surface-soft);border:1px solid var(--border);display:inline-flex;align-items:center;justify-content:center;font-weight:600;color:var(--accent);letter-spacing:.1em}.step-number span{font-variant-numeric:tabular-nums}.step-complete-label{display:none;font-weight:600;color:var(--muted);font-size:clamp(.7rem,2vw,.95rem);letter-spacing:.04em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.recipe-step.is-complete .step-complete-label{display:inline-block}.step-content{flex:1}.step-content p{margin:0 0 .35rem}.step-detail{color:var(--muted);font-size:.95rem}.step-options{margin-top:.75rem;display:flex;flex-direction:column;gap:.75rem}.step-options-label{margin:0;font-size:.75rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}.step-options-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.85rem}.step-option{padding:.9rem 1rem;border-radius:1rem;border:1px dashed rgb(147 129 255 / 35%);background:var(--surface-soft)}.step-option h4{margin:0 0 .35rem;font-size:1rem;font-weight:600;color:var(--fg)}.step-option p{margin:0;color:var(--fg);font-size:.95rem}.kitchen-notes{display:flex;flex-direction:column;gap:2rem}.kitchen-notes__intro{display:flex;flex-direction:column;gap:1rem;max-width:65ch}.notes-filter{display:flex;flex-direction:column;gap:.5rem}.notes-filter__label{margin:0;font-weight:600;color:var(--muted)}.notes-filter__tags{display:flex;flex-wrap:wrap;gap:.5rem}.notes-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem}.note-card{background:#ffffffeb;border:1px solid var(--border);border-radius:1.25rem;padding:1.5rem;display:flex;flex-direction:column;gap:.9rem;box-shadow:0 18px 35px #2f243a14}.note-card h2{margin:0;font-size:1.4rem;font-family:Roboto Slab,Roboto,serif}.note-card .note-summary{color:var(--muted);margin:0}.note-card .note-date{margin:0;font-size:.85rem;letter-spacing:.18em;text-transform:uppercase;color:var(--accent)}.note-tags{display:flex;flex-wrap:wrap;gap:.4rem}.kitchen-note-detail{display:flex;flex-direction:column;gap:2rem;max-width:70ch}.note-detail{display:flex;flex-direction:column;gap:1.5rem;padding:clamp(1.5rem,4vw,2.5rem);border-radius:1.5rem;border:1px solid rgb(236 231 223 / 80%);background:#ffffffe5;box-shadow:0 25px 55px #2f243a1f}.note-detail__header{display:flex;flex-direction:column;gap:.75rem}.note-body h2,.note-body h3,.note-body h4{font-family:Roboto Slab,Roboto,serif}.note-body p{margin-top:0}.related-recipes{border-top:1px solid var(--border);padding-top:1.5rem;display:flex;flex-direction:column;gap:1rem}.related-recipes__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem}.related-card{padding:1.1rem;border-radius:1rem;border:1px solid var(--border);background:#ffffffd9;box-shadow:0 12px 25px #2f243a14}.related-card h3{margin-top:0;margin-bottom:.35rem;font-size:1.1rem}.related-card p{margin:0;color:var(--muted)}.kitchen-note-callout{margin-top:2rem;border-top:1px solid var(--border);padding-top:1.5rem;display:flex;flex-direction:column;gap:1rem}.note-callout-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem}.note-callout-card{padding:1rem 1.2rem;border-radius:1rem;border:1px solid var(--border);background:#ffffffe5;box-shadow:0 12px 28px #2f243a14}.note-callout-card h3{margin:0 0 .35rem;font-size:1.1rem}.note-callout-card p{margin:0;color:var(--muted)}
