.recipe-page{padding-top:64px}.recipe-header-section{position:relative;overflow:hidden;padding:5rem 0 4rem;background:color-mix(in srgb,var(--color-bg-card) 40%,var(--color-bg-primary));border-bottom:1px solid var(--color-bg-card-border)}.recipe-header-bg{position:absolute;inset:0;pointer-events:none}.recipe-header-sphere{position:absolute;border-radius:50%;filter:blur(80px);opacity:.7;animation:float-particle 12s ease-in-out infinite}.r-hs-1{width:380px;height:380px;top:-20%;left:-5%;background:radial-gradient(circle,color-mix(in srgb,var(--color-accent) 22%,transparent),transparent)}.r-hs-2{width:300px;height:300px;bottom:-30%;right:5%;background:radial-gradient(circle,color-mix(in srgb,var(--color-accent-secondary) 18%,transparent),transparent);animation-delay:-5s}.recipe-header{position:relative;z-index:1;max-width:820px}.recipe-meta{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;margin-bottom:1.25rem}.recipe-category{font-family:var(--font-mono);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;padding:.35rem .8rem;border-radius:100px;background:color-mix(in srgb,var(--color-accent) 12%,transparent);border:1px solid color-mix(in srgb,var(--color-accent) 25%,transparent);text-decoration:none;display:inline-flex;align-items:center;gap:.35rem}.recipe-date{font-size:.85rem;color:var(--color-text-muted)}.recipe-title{font-size:clamp(1.9rem,4.5vw,3rem);font-weight:800;line-height:1.15;letter-spacing:-.02em;color:var(--color-text-primary);margin-bottom:1rem}.recipe-excerpt-header{font-size:1.1rem;line-height:1.7;color:var(--color-text-secondary);max-width:640px;margin-bottom:1.5rem}.recipe-stats-row{display:flex;gap:1.25rem;flex-wrap:wrap;margin-bottom:1.25rem}.recipe-stat{font-size:.85rem;color:var(--color-text-secondary);display:inline-flex;align-items:center;gap:.35rem;padding:.4rem .85rem;border-radius:100px;background:var(--color-bg-card);border:1px solid var(--color-bg-card-border)}.recipe-tags{display:flex;gap:.5rem;flex-wrap:wrap}.recipe-tags .tag{font-size:.78rem;padding:.3rem .75rem;border-radius:100px;background:var(--color-bg-card);border:1px solid var(--color-bg-card-border);color:var(--color-text-secondary);text-decoration:none;transition:all .3s}.recipe-tags .tag:hover{color:var(--color-accent);border-color:var(--color-accent)}.recipe-cover{padding:3rem 0 1rem}.cover-frame{position:relative;border-radius:var(--radius-card-lg);overflow:hidden;box-shadow:var(--shadow-card);border:1px solid var(--color-bg-card-border)}.cover-image{width:100%;height:clamp(260px,40vw,480px);object-fit:cover;display:block}.recipe-content-section{padding:2rem 0 4rem}.recipe-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:3rem;align-items:start}.recipe-main{min-width:0}.recipe-description h2,.recipe-ingredients h2,.recipe-steps h2{font-size:1.4rem;font-weight:800;color:var(--color-text-primary);margin-bottom:1rem;scroll-margin-top:90px}.recipe-description p{line-height:1.7;color:var(--color-text-secondary);margin-bottom:2rem}.recipe-ingredients,.recipe-steps{margin-bottom:2.5rem}.ingredients-list{list-style:none;padding:0;margin:0 0 .75rem;display:flex;flex-direction:column;gap:.4rem}.ingredient-item{padding:.7rem 1rem;border-radius:12px;background:var(--color-bg-card);border:1px solid var(--color-bg-card-border);transition:all .3s}.ingredient-item:hover{border-color:color-mix(in srgb,var(--color-accent) 40%,transparent)}.ingredient-item label{display:flex;align-items:center;gap:.75rem;cursor:pointer;font-size:.95rem;color:var(--color-text-primary)}.ingredient-check{width:18px;height:18px;accent-color:var(--color-accent);cursor:pointer;flex-shrink:0}.ingredient-text{transition:opacity .3s}.ingredient-check:checked+.ingredient-text{opacity:.45;text-decoration:line-through}.ingredient-optional{color:var(--color-text-muted);font-size:.85rem}.ingredients-progress{font-size:.8rem;font-family:var(--font-mono);color:var(--color-text-muted)}.ingredients-list.all-ready+.ingredients-progress{color:var(--color-accent);font-weight:600}.steps-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:1rem;counter-reset:step}.step-item{display:flex;gap:1rem;align-items:flex-start;padding:1rem 1.25rem;border-radius:14px;background:var(--color-bg-card);border:1px solid var(--color-bg-card-border)}.step-number{display:flex;align-items:center;justify-content:center;width:32px;height:32px;flex-shrink:0;border-radius:10px;background:linear-gradient(135deg,var(--color-accent),var(--color-accent-secondary));color:var(--color-btn-text);font-weight:700;font-size:.9rem}.step-text{font-size:.95rem;line-height:1.7;color:var(--color-text-secondary);margin:.2rem 0 0}.recipe-author{display:flex;align-items:center;gap:1.25rem;padding:1.5rem;margin-top:3rem;border-radius:var(--radius-card-lg);background:var(--color-bg-card);border:1px solid var(--color-bg-card-border);flex-wrap:wrap}.author-avatar{width:56px;height:56px;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:1.6rem;border-radius:14px;background:linear-gradient(135deg,var(--color-accent),var(--color-accent-secondary));color:var(--color-btn-text)}.author-info{flex:1;min-width:200px}.author-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;color:var(--color-text-muted)}.author-name{display:block;font-size:1.05rem;color:var(--color-text-primary);margin:.15rem 0 .35rem}.author-bio{font-size:.9rem;line-height:1.6;color:var(--color-text-secondary)}.author-link{font-size:.85rem;font-weight:600;color:var(--color-accent);text-decoration:none;white-space:nowrap;transition:opacity .25s}.author-link:hover{opacity:.8}.recipe-sidebar{display:flex;flex-direction:column;gap:1rem;position:sticky;top:84px}.sidebar-card{padding:1.25rem}.sidebar-title{font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--color-text-muted);margin-bottom:.85rem}.sidebar-text{font-size:.9rem;line-height:1.6;color:var(--color-text-secondary)}.sidebar-tag{display:inline-flex;align-items:center;gap:.35rem;font-size:.85rem;padding:.35rem .8rem;border-radius:100px;background:color-mix(in srgb,var(--color-accent) 12%,transparent);border:1px solid color-mix(in srgb,var(--color-accent) 25%,transparent);color:var(--color-accent);text-decoration:none;transition:all .25s}.sidebar-tag:hover{background:color-mix(in srgb,var(--color-accent) 20%,transparent)}.share-links{display:flex;gap:.5rem}.share-link{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:10px;background:var(--color-bg-card);border:1px solid var(--color-bg-card-border);color:var(--color-text-secondary);font-weight:700;cursor:pointer;text-decoration:none;transition:all .3s cubic-bezier(.4,0,.2,1)}.share-link:hover{color:var(--color-accent);border-color:var(--color-accent);transform:translateY(-2px);box-shadow:var(--shadow-glow)}.recipes-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.5rem}@media(max-width:960px){.recipe-layout{grid-template-columns:1fr;gap:2rem}.recipe-sidebar{position:static;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}}
