.viewerBody{font-size:1.25em}[class^=active-viewer]{display:none}#viewerShell:has(.active-viewer-description) #viewerNav [href*=description],#viewerShell:has(.active-viewer-equipment) #viewerNav [href*=equipment],#viewerShell:has(.active-viewer-gallery) #viewerNav [href*=gallery],#viewerShell:has(.active-viewer-ingredients) #viewerNav [href*=ingredients],#viewerShell:has(.active-viewer-instructions) #viewerNav [href*=steps],#viewerShell:has(.active-viewer-make-it) #viewerNav [href*=make-it]{border-color:var(--color-accent-dark)}.media-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:var(--space-4);margin-top:var(--space-3)}.media-gallery-item{margin:0;background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden}.media-gallery-item img,.media-gallery-item picture{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}.media-gallery-item figcaption{padding:var(--space-2) var(--space-3);font-size:.85rem;color:var(--color-text-secondary)}.viewerCardBody{min-height:50vh}.viewerCardBody>div{max-width:850px;border:5px outset var(--color-accent-dark);border-radius:var(--radius-2xl);background:var(--color-bg-muted);padding:var(--space-4)}.recipe-command-buttons{display:inline-block;margin-left:var(--space-3);margin-top:var(--space-3)}.intro-section{margin-bottom:var(--space-4)}.intro-section:last-child{margin-bottom:0}.intro-section h2{margin-top:0}.intro-info{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4)}.intro-info>div{flex:1;min-width:0}.intro-make-it{text-align:center}.intro-sources ul{padding-inline-start:var(--space-4)}@media(max-width:600px){.intro-info{flex-direction:column}}.keyboard-shortcuts-panel,.keyboard-shortcuts-toggle{display:none}@media (hover:hover) and (pointer:fine) and (min-width:900px){.keyboard-shortcuts-toggle{display:flex;align-items:center;justify-content:center;position:fixed;right:var(--space-5);bottom:var(--space-5);width:48px;height:48px;border-radius:var(--radius-round);background:var(--color-brand-primary);color:var(--color-text-inverse);font-size:1.4em;line-height:1;border:none;box-shadow:0 2px 10px rgba(0,0,0,.3);cursor:pointer;z-index:500}.keyboard-shortcuts-toggle:hover{background:var(--color-accent-strong)}}@media (hover:hover) and (pointer:fine){.keyboard-shortcuts-panel{display:block;position:fixed;right:var(--space-5);bottom:calc(var(--space-5) + 60px);width:320px;max-width:calc(100vw - var(--space-5)*2);max-height:60vh;overflow-y:auto;background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:0 4px 20px rgba(0,0,0,.25);padding:var(--space-4);z-index:500}.keyboard-shortcuts-panel[hidden]{display:none}.keyboard-shortcuts-panel h3,.keyboard-shortcuts-panel h4{margin:0 0 var(--space-2)}.keyboard-shortcuts-panel hr{border:none;border-top:1px solid var(--color-border);margin:var(--space-4) 0}.keyboard-shortcuts-panel ul{list-style:none;margin:0;padding:0}.keyboard-shortcuts-panel li{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3);padding:var(--space-2) 0;border-bottom:1px solid var(--color-border)}.keyboard-shortcuts-panel li:last-child{border-bottom:none}.keyboard-shortcuts-panel li span{color:var(--color-text-secondary);text-align:right;font-size:.9em}.keyboard-shortcuts-panel kbd{background:var(--color-bg-muted);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:1px var(--space-1);font-family:var(--font-sans);font-size:.85em;white-space:nowrap}}.active-viewer-instructions+.viewerCardBody .step-name,.intro-instructions .step-name{display:block;margin-bottom:var(--space-1)}.active-viewer-instructions+.viewerCardBody .step-name .nowrap,.intro-instructions .step-name .nowrap{white-space:nowrap}.active-viewer-instructions+.viewerCardBody .step-text,.intro-instructions .step-text{display:block;margin-bottom:var(--space-1)}.active-viewer-instructions+.viewerCardBody li.has-step-name .step-text,.intro-instructions li.has-step-name .step-text{padding-left:var(--space-4)}@media(max-width:600px){.active-viewer-instructions+.viewerCardBody li.has-step-name .step-text,.intro-instructions li.has-step-name .step-text{padding-left:var(--space-2)}}.recipe-meta-badges{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-2)}.dish-type-badge{display:inline-block;padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);background:var(--color-bg-muted);color:var(--color-text-secondary);font-size:.85em;font-weight:600;text-transform:uppercase;letter-spacing:.03em}.recipe-times-list{display:inline-flex;flex-wrap:wrap;row-gap:var(--space-1);margin:0 0 var(--space-3);padding:var(--space-2) var(--space-4);list-style:none;font-size:.9em;border-radius:var(--radius-pill);background-color:var(--color-accent-soft);border:1px solid var(--color-accent-strong);color:var(--color-text-primary)}.recipe-times-list li{padding:0 var(--space-3)}.recipe-times-list li:not(:last-child){border-right:1px solid var(--color-accent-strong)}.recipe-times-list li:first-child{padding-left:0}.recipe-times-list li:last-child{padding-right:0}.recipe-times-list strong{color:inherit;font-weight:700}.recipe-times-list .nowrap{white-space:nowrap}.recipe-times-list li.times-group{display:flex;padding:0}.recipe-times-list li.times-group span{padding:0 var(--space-3)}.recipe-times-list li.times-group span:first-child{border-right:1px solid var(--color-accent-strong)}.recipe-times-list li.times-group:first-child span:first-child{padding-left:0}.recipe-times-list li.times-group:last-child span:last-child{padding-right:0}@media(max-width:600px){.recipe-times-list li.times-group{flex-basis:100%}.recipe-times-list li.times-before-group{border-right:none}}.modal-overlay{display:none;position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);align-items:center;justify-content:center;z-index:500;padding:8px;box-sizing:border-box}.modal-overlay.is-open{display:flex}.modal-panel{position:relative;display:flex;flex-direction:column;background-color:var(--color-bg-surface);color:var(--color-text-primary);border-radius:var(--radius-md);box-shadow:var(--shadow-md);max-width:900px;width:100%;max-height:calc(100dvh - 16px);height:calc(100dvh - 16px);overflow:hidden;padding:var(--space-1);box-sizing:border-box}.modal-panel.modal-fit-content{height:auto}.modal-panel.modal-fit-width{width:auto}.modal-panel:focus{outline:0}.modal-body{overflow-x:hidden;overflow-y:auto;min-height:0}.modal-close{position:absolute;top:4px;left:4px;display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid var(--color-border);border-radius:var(--radius-round);background:var(--color-bg-surface);box-shadow:var(--shadow-sm);font-size:18px;line-height:1;cursor:pointer;color:var(--color-text-secondary);padding:0;transition:background-color 150ms,color 150ms,box-shadow 150ms}.modal-close:hover{background:var(--color-bg-muted);color:var(--color-text-primary);box-shadow:var(--shadow-md)}.modal-content{margin-top:var(--space-1)}.modal-content h1{margin-top:0}.modal-open-new{display:inline-block;margin-left:calc(var(--space-6) + var(--space-4));margin-bottom:var(--space-3);background:0 0;border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:var(--space-1) var(--space-2);color:var(--color-accent-strong);cursor:pointer;font-size:13px}.modal-open-new:hover{background-color:var(--color-bg-muted)}body.ri-modal-scroll-lock{overflow:hidden}.resource-link{color:color-mix(in srgb,var(--color-text-primary) 50%,var(--color-accent-strong) 50%);text-decoration:none;cursor:pointer;transition:color .15s ease,text-shadow .15s ease}.resource-link:hover{color:var(--color-accent-strong);text-shadow:0 0 10px var(--color-accent-soft-trans);text-decoration:underline}li:has(> .resource-link){list-style:none;display:flex;align-items:flex-start}li:has(> .resource-link)::before{content:"▸";color:var(--color-accent-strong);font-weight:700;width:1em;flex:none;margin-inline-start:-1em}.resource-link{display:inline-block;padding-block:9px}li:has(> .resource-link)::before{padding-top:9px}ul:has(> li > .resource-link) li:not(:has(> .resource-link)){padding-block:9px}.resource-hint{color:color-mix(in srgb,var(--color-text-primary) 50%,var(--color-accent-strong) 50%);font-size:.9em;animation:resource-hint-pulse 5s ease-in-out infinite}.resource-hint-marker{color:var(--color-accent-strong);font-weight:700}@keyframes resource-hint-pulse{0%,100%{color:color-mix(in srgb,var(--color-text-primary) 50%,var(--color-accent-strong) 50%)}50%{color:var(--color-accent-strong)}}@media (prefers-reduced-motion:reduce){.resource-hint{animation:none}}