.recipe{max-width:900px;margin:0 auto;padding:var(--space-lg);background:var(--theme-bg);border:var(--border-weight-heavy) solid var(--theme-accent);font-family:Outfit,sans-serif;line-height:1.6}.recipe-header{text-align:left;margin-bottom:var(--space-lg);padding-bottom:var(--space-md);border-bottom:var(--border-weight-heavy) solid var(--theme-accent);position:relative}.recipe:has(.recipe-image) .recipe-header{z-index:2;margin-top:-650px;padding-top:650px}.recipe-image{margin:calc(-1*var(--space-lg)) calc(-1*var(--space-lg))0 calc(-1*var(--space-lg));width:calc(100% + var(--space-lg)*2);position:relative;overflow:hidden;border-bottom:var(--border-weight-heavy) solid var(--theme-accent)}.recipe-image img{width:100%;height:400px;-o-object-fit:cover;object-fit:cover;filter:grayscale(100%) contrast(1.1);transition:filter var(--transition-medium)}.recipe-image:hover img{filter:grayscale(0%) contrast(1)}.recipe-image:after{content:"";position:absolute;bottom:0;left:0;right:0;height:200px;background:linear-gradient(transparent 0%,rgba(0,0,0,.5) 50%,var(--theme-bg) 100%);pointer-events:none}.recipe h1{font-size:clamp(1.75rem,5vw,2.5rem);font-weight:700;margin-bottom:.5rem;color:var(--theme-text);font-family:JetBrains Mono,monospace;text-transform:uppercase;letter-spacing:.05em}.recipe-tags{font-family:JetBrains Mono,monospace;font-size:.875rem;color:var(--theme-accent);margin-bottom:.5rem;text-transform:uppercase;letter-spacing:.1em}.recipe-description{font-size:1rem;color:var(--theme-muted);max-width:600px;margin:0;border-left:4px solid var(--theme-accent);padding-left:1rem}.controls{display:flex;flex-wrap:wrap;gap:var(--space-sm);justify-content:flex-start;align-items:center;margin-bottom:var(--space-lg);padding:var(--space-md);background:var(--theme-bg-secondary);border:var(--border-weight) solid rgba(255,255,255,.08);border-radius:var(--radius-subtle)}.scaler,.units,.actions{display:flex;align-items:center;gap:var(--space-xs)}.scaler span{font-family:JetBrains Mono,monospace;font-size:var(--text-sm);color:var(--theme-text);min-width:6ch;text-align:center}.scaler button,.nav-btn,.cook-mode-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;background:0 0;color:var(--theme-accent);border:var(--border-weight) solid var(--theme-accent);border-radius:var(--radius-subtle);padding:.5rem 1rem;cursor:pointer;font-weight:700;transition:transform var(--transition-fast),background var(--transition-fast),color var(--transition-fast),box-shadow var(--transition-fast);font-family:JetBrains Mono,monospace;font-size:var(--text-sm);text-transform:uppercase;letter-spacing:.02em}.scaler button:hover,.nav-btn:hover{background:var(--theme-accent);color:var(--theme-bg);transform:translate(-2px,-2px);box-shadow:2px 2px 0 var(--glitch-cyan)}.scaler button:focus-visible,.nav-btn:focus-visible,.cook-mode-btn:focus-visible{outline:2px solid var(--focus-ring);outline-offset:4px}.scaler button:disabled,.nav-btn:disabled{border-color:#ffffff14;color:var(--theme-muted);cursor:not-allowed}.scaler button:disabled:hover,.nav-btn:disabled:hover{background:0 0;transform:none;box-shadow:none}.cook-mode-btn{background:var(--theme-accent);color:var(--theme-bg);font-weight:700}.cook-mode-btn:hover{background:var(--theme-accent-hover);color:var(--theme-bg);transform:translate(-2px,-2px);box-shadow:2px 2px 0 var(--glitch-cyan)}.units label{display:flex;align-items:center;gap:.375rem;cursor:pointer;font-family:JetBrains Mono,monospace;font-size:var(--text-sm);color:var(--theme-muted);transition:color var(--transition-fast)}.units label:has(input:checked){color:var(--theme-accent)}.units input[type=radio]{accent-color:var(--theme-accent)}.ingredients-section{margin-bottom:var(--space-lg)}.ingredients-section h2{font-size:var(--text-xl);color:var(--theme-text);margin-bottom:var(--space-sm);font-family:JetBrains Mono,monospace;text-transform:uppercase;letter-spacing:.02em}.ingredients-section h2:before{content:"// ";color:var(--theme-accent)}.ingredients-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--space-xs);margin-bottom:var(--space-md)}.ingredient-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem var(--space-sm);background:var(--theme-bg-secondary);border:var(--border-weight) solid rgba(255,255,255,.08);border-left:var(--border-weight-heavy) solid var(--theme-accent);border-radius:var(--radius-subtle);transition:border-color var(--transition-fast)}.ingredient-item:hover{border-color:var(--theme-accent)}.ingredient-quantity{font-family:JetBrains Mono,monospace;font-weight:700;font-size:var(--text-sm);color:var(--theme-accent);min-width:80px}.ingredient-name{color:var(--theme-text);flex:1;margin-left:var(--space-sm);margin-right:var(--space-xs);text-transform:capitalize}.utensils-section{margin-bottom:var(--space-lg)}.utensils-section h2{font-size:var(--text-xl);color:var(--theme-text);margin-bottom:var(--space-sm);font-family:JetBrains Mono,monospace;text-transform:uppercase;letter-spacing:.02em}.utensils-section h2:before{content:"// ";color:var(--theme-accent)}.utensils-list{display:flex;flex-wrap:wrap;gap:var(--space-xs)}.utensil-tag{display:inline-block;padding:.25rem .625rem;background:var(--theme-accent-dim);border:0;border-radius:var(--radius-subtle);color:var(--theme-accent);font-family:JetBrains Mono,monospace;font-size:var(--text-xs);font-weight:500;text-transform:uppercase;letter-spacing:.02em}.shopping-list{margin-bottom:var(--space-lg);padding:var(--space-md);background:var(--theme-bg-secondary);color:var(--theme-text);border:var(--border-weight) solid rgba(255,255,255,.08);border-radius:var(--radius-subtle)}.shopping-list h2{margin:0 0 var(--space-sm)0;font-size:var(--text-xl);color:var(--theme-text);font-family:JetBrains Mono,monospace;text-transform:uppercase;letter-spacing:.02em}.shopping-list h2:before{content:"// ";color:var(--theme-accent)}.shopping-list-controls{margin-bottom:var(--space-sm)}.clear-list-btn{display:inline-flex;align-items:center;gap:.5rem;background:0 0;color:var(--color-error);border:var(--border-weight) solid var(--color-error);border-radius:var(--radius-subtle);padding:.5rem 1rem;font-family:JetBrains Mono,monospace;font-size:var(--text-sm);cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast);text-transform:uppercase;letter-spacing:.02em}.clear-list-btn:hover{background:var(--color-error);color:var(--theme-bg)}.clear-list-btn:focus-visible{outline:2px solid var(--focus-ring);outline-offset:4px}.shopping-list ul{list-style:none;padding:0;margin:0}.shopping-list li{display:flex;justify-content:space-between;align-items:center;padding:.75rem var(--space-sm);margin-bottom:var(--space-xs);background:var(--theme-bg);color:var(--theme-text);border:var(--border-weight) solid rgba(255,255,255,.08);border-radius:var(--radius-subtle);transition:border-color var(--transition-fast),transform var(--transition-fast),box-shadow var(--transition-fast)}.shopping-list li:hover{border-color:var(--theme-accent);transform:translate(-2px,-2px);box-shadow:2px 2px 0 var(--theme-accent)}.shopping-list li span{flex:1;font-weight:500;color:var(--theme-text)}.remove-item-btn{background:0 0;color:var(--color-error);border:var(--border-weight) solid var(--color-error);border-radius:var(--radius-subtle);width:32px;height:32px;cursor:pointer;font-size:16px;line-height:1;display:flex;align-items:center;justify-content:center;transition:background var(--transition-fast),color var(--transition-fast);flex-shrink:0}.remove-item-btn:hover{background:var(--color-error);color:var(--theme-bg)}.remove-item-btn:focus-visible{outline:2px solid var(--focus-ring);outline-offset:4px}.add-to-list-btn{background:0 0;color:var(--theme-accent);border:var(--border-weight) solid var(--theme-accent);border-radius:var(--radius-subtle);width:32px;height:32px;cursor:pointer;font-family:JetBrains Mono,monospace;font-size:16px;font-weight:700;line-height:1;display:flex;align-items:center;justify-content:center;transition:background var(--transition-fast),color var(--transition-fast),transform var(--transition-fast),box-shadow var(--transition-fast);margin-left:auto;flex-shrink:0}.add-to-list-btn:hover{background:var(--theme-accent);color:var(--theme-bg);transform:translate(-1px,-1px);box-shadow:1px 1px 0 var(--glitch-cyan)}.add-to-list-btn:focus-visible{outline:2px solid var(--focus-ring);outline-offset:4px}.method-section h2{font-size:var(--text-xl);color:var(--theme-text);margin-bottom:var(--space-md);font-family:JetBrains Mono,monospace;text-transform:uppercase;letter-spacing:.02em}.method-section h2:before{content:"// ";color:var(--theme-accent)}.steps-container{margin-bottom:var(--space-lg)}.step{display:flex;gap:var(--space-sm);margin-bottom:var(--space-md);padding:var(--space-sm);background:var(--theme-bg-secondary);border:var(--border-weight) solid rgba(255,255,255,.08);border-left:var(--border-weight-heavy) solid var(--theme-muted);border-radius:var(--radius-subtle);transition:border-color var(--transition-fast),background var(--transition-fast),transform var(--transition-fast)}.step.active{background:#daff010d;border-left-color:var(--theme-accent);border-color:var(--theme-accent);transform:translate(4px)}.step.inactive{opacity:.4}.step-number{flex-shrink:0;width:2.5rem;height:2.5rem;background:var(--theme-accent-dim);color:var(--theme-accent);display:flex;align-items:center;justify-content:center;font-family:JetBrains Mono,monospace;font-weight:700;font-size:var(--text-sm);border-radius:var(--radius-subtle)}.step-content{flex:1}.step-text{margin:0;font-size:var(--text-base);color:var(--theme-text);line-height:1.7}.cook-navigation{display:flex;justify-content:space-between;align-items:center;padding:var(--space-md);background:var(--theme-bg-secondary);border:var(--border-weight) solid rgba(255,255,255,.08);border-radius:var(--radius-subtle);margin-top:var(--space-lg)}.step-counter{font-family:JetBrains Mono,monospace;font-weight:700;color:var(--theme-accent);font-size:var(--text-sm);text-transform:uppercase}.timers{margin-top:var(--space-xs);display:flex;gap:var(--space-xs);flex-wrap:wrap}.timers button{background:0 0;color:var(--color-info);border:var(--border-weight) solid var(--color-info);border-radius:var(--radius-subtle);padding:.5rem 1rem;cursor:pointer;font-family:JetBrains Mono,monospace;font-size:var(--text-sm);transition:background var(--transition-fast),color var(--transition-fast);text-transform:uppercase;letter-spacing:.02em}.timers button:hover{background:var(--color-info);color:var(--theme-bg)}.timers button:focus-visible{outline:2px solid var(--focus-ring);outline-offset:4px}.timer-display{display:inline-flex;align-items:center;gap:var(--space-xs);background:var(--theme-bg-secondary);border:var(--border-weight) solid var(--color-info);border-radius:var(--radius-subtle);padding:.5rem 1rem;font-family:JetBrains Mono,monospace;font-weight:700;color:var(--color-info)}.stop-timer{background:0 0;color:var(--color-error);border:var(--border-weight) solid var(--color-error);border-radius:var(--radius-subtle);padding:.25rem .5rem;cursor:pointer;font-family:JetBrains Mono,monospace;font-size:var(--text-xs);font-weight:700;transition:background var(--transition-fast),color var(--transition-fast);text-transform:uppercase}.stop-timer:hover{background:var(--color-error);color:var(--theme-bg)}.stop-timer:focus-visible{outline:2px solid var(--focus-ring);outline-offset:4px}.recipe.cook-mode{max-width:100%;padding:var(--space-sm)}.recipe.cook-mode .recipe-header,.recipe.cook-mode .controls{margin-bottom:var(--space-sm)}.recipe.cook-mode .step.active{background:#daff0114;border-left-width:6px;border-left-color:var(--theme-accent);border-color:var(--theme-accent);transform:translate(8px)}.recipe.cook-mode .step.inactive{opacity:.2}.recipe.cook-mode .step-number{width:3rem;height:3rem;font-size:var(--text-xl)}.recipe.cook-mode .step-text{font-size:var(--text-lg)}@media (max-width:768px){.recipe{padding:var(--space-sm);border-width:var(--border-weight)}.recipe-image{margin:calc(-1*var(--space-sm)) calc(-1*var(--space-sm))0 calc(-1*var(--space-sm));width:calc(100% + var(--space-sm)*2)}.recipe h1{font-size:var(--text-2xl)}.controls{flex-direction:column;gap:.75rem}.ingredients-grid{grid-template-columns:1fr}.cook-navigation{flex-direction:column;gap:var(--space-sm)}.step{flex-direction:column;text-align:left}.step-number{align-self:flex-start}}@media (prefers-reduced-motion:reduce){.step.active,.recipe.cook-mode .step.active{transform:none}.scaler button:hover,.nav-btn:hover,.cook-mode-btn:hover,.shopping-list li:hover,.remove-item-btn:hover,.add-to-list-btn:hover{transform:none;box-shadow:none}}