.skip-link{position:absolute;top:-100%;left:0;background:#c46557;color:#fff;padding:.75em 1.5em;z-index:10000;font-size:.9rem;text-decoration:none;border-radius:0 0 4px 0;transition:top .2s ease}.skip-link:focus{top:0}:root{--bg-primary:#f5f0eb;--bg-secondary:#ffffff;--bg-tertiary:#f5f0eb;--text-primary:#5a5a5a;--text-secondary:#888888;--text-heading:#4a4a4a;--text-strong:#3a3a3a;--accent:#c46557;--accent-hover:#a84e42;--border:#e5e0db;--shadow:rgba(0, 0, 0, 0.08);--shadow-hover:rgba(0, 0, 0, 0.12);--input-bg:#faf8f6;--tag-bg:#f5f0eb;--tag-hover:#e8ddd5}[data-theme=dark]{--bg-primary:#1a1a2e;--bg-secondary:#252542;--bg-tertiary:#1f1f35;--text-primary:#d4d4dc;--text-secondary:#8888a0;--text-heading:#e8e8f0;--text-strong:#f0f0f8;--accent:#d47567;--accent-hover:#e08577;--border:#3a3a55;--shadow:rgba(0, 0, 0, 0.3);--shadow-hover:rgba(0, 0, 0, 0.4);--input-bg:#1f1f35;--tag-bg:#2a2a45;--tag-hover:#3a3a55}html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font:inherit;vertical-align:baseline;box-sizing:border-box}*,*:before,*:after{box-sizing:border-box}*:focus-visible{outline:3px solid #c46557;outline-offset:2px}body{line-height:1;background:var(--bg-primary);font-family:'source sans 3',source sans pro,-apple-system,BlinkMacSystemFont,segoe ui,Roboto,sans-serif;font-weight:300;color:var(--text-primary);font-size:1rem;line-height:1.7;transition:background-color .3s ease,color .3s ease}h1,h2,h3,h4,h5,h6{font-family:arvo,Georgia,serif;font-weight:700;text-transform:uppercase;letter-spacing:2px;color:var(--text-heading);line-height:1.3;margin-bottom:.75em}h1{font-size:2.5rem}h2{font-size:1.75rem;letter-spacing:3px}h3{font-size:1.15rem;letter-spacing:2px}h4{font-size:1rem;letter-spacing:1px}a{color:var(--accent);text-decoration:none;border-bottom:1px solid rgba(196,101,87,.3);transition:color .25s ease,border-bottom-color .25s ease}a:hover{color:var(--accent-hover);border-bottom-color:transparent}strong,b{font-weight:600;color:var(--text-strong)}em,i{font-style:italic}p{margin-bottom:1.5em}#page-wrapper{min-height:100vh;display:flex;flex-direction:column}.container{margin:0 auto;max-width:75em;width:calc(100% - 4em);padding:0 1em}#nav{background:var(--bg-secondary);border-bottom:2px solid var(--border);box-shadow:0 2px 8px var(--shadow);position:sticky;top:0;z-index:100;transition:background-color .3s ease}#nav>.container{display:flex;align-items:center;justify-content:space-between;padding:1em}#nav ul{list-style:none;display:flex;align-items:center;gap:1.5em;margin:0;padding:0}#nav a{text-transform:uppercase;font-weight:600;font-size:.8rem;letter-spacing:2px;color:var(--text-primary);border-bottom:none;padding:.5em 0}#nav a:hover{color:var(--accent)}#nav a.site-title{font-family:arvo,Georgia,serif;font-size:1.4rem;font-weight:700;color:var(--accent);letter-spacing:3px;text-transform:uppercase}.hamburger{display:none;background:0 0;border:none;cursor:pointer;padding:.5em;flex-direction:column;gap:5px;z-index:101}.hamburger span{display:block;width:24px;height:3px;background:var(--text-primary);border-radius:2px;transition:all .3s ease}.hamburger.active span:nth-child(1){transform:rotate(45deg)translate(5px,5px)}.hamburger.active span:nth-child(2){opacity:0}.hamburger.active span:nth-child(3){transform:rotate(-45deg)translate(5px,-5px)}.theme-toggle{background:0 0;border:2px solid var(--border);border-radius:50%;width:2.2em;height:2.2em;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:1rem;padding:0;transition:border-color .2s ease,transform .2s ease}.theme-toggle:hover{border-color:var(--accent);transform:scale(1.1)}.theme-icon-moon{display:none}[data-theme=dark] .theme-icon-sun{display:none}[data-theme=dark] .theme-icon-moon{display:block}.no-sidebar .box.post>header{text-align:center}#hero{background:var(--bg-secondary);text-align:center;padding:5em 1em 4em;border-bottom:2px solid var(--border);transition:background-color .3s ease}#hero h1{font-size:3rem;letter-spacing:5px;color:var(--accent);margin-bottom:.5em}#hero p{font-size:1.1rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:2px;max-width:40em;margin:0 auto}#recipe-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(22em,1fr));gap:2.5em;padding:3em 0}.recipe-card-link{display:block;text-decoration:none;color:inherit;border-bottom:none;box-shadow:none}.recipe-card-link:focus-visible{outline:3px solid var(--accent);outline-offset:3px;border-radius:6px}.recipe-card-link .recipe-card-body h3{color:var(--text-heading);border-bottom:none}.recipe-card{background:var(--bg-secondary);border-radius:6px;box-shadow:0 2px 12px var(--shadow);overflow:hidden;transition:transform .2s ease,box-shadow .2s ease}.recipe-card:hover{transform:translateY(-4px);box-shadow:0 6px 20px var(--shadow-hover)}.recipe-card-image{width:100%;aspect-ratio:16/10;object-fit:cover;display:block;border-bottom:4px solid var(--border)}.recipe-card-body{padding:1.5em}.recipe-card-body h3{font-size:1rem;margin-bottom:.5em;color:var(--text-heading)}.recipe-card-meta{display:flex;gap:1em;font-size:.85rem;color:var(--text-secondary);margin-bottom:.75em}.recipe-card-meta span{display:inline-flex;align-items:center;gap:.3em}.recipe-card-excerpt{font-size:.95rem;color:var(--text-primary);line-height:1.6;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.button{display:inline-block;background:var(--accent);color:#fff!important;text-transform:uppercase;border-radius:4px;border:none;font-size:.8rem;font-weight:600;letter-spacing:2px;padding:.85em 2.5em;cursor:pointer;transition:background .25s ease;text-decoration:none;border-bottom:none;box-shadow:0 2px 8px rgba(196,101,87,.3)}.button:hover{background:var(--accent-hover);color:#fff!important}.button.alt{background:var(--text-secondary);box-shadow:0 2px 8px rgba(136,136,160,.3)}.button.alt:hover{background:var(--text-primary)}#footer{background:var(--bg-secondary);border-top:2px solid var(--border);margin-top:auto;padding:3em 0 2em;text-align:center;transition:background-color .3s ease}.footer-columns{display:flex;justify-content:space-between;gap:3em;margin-bottom:2em;flex-wrap:wrap}.footer-col{flex:1;min-width:10em}.footer-col h4{font-family:arvo,Georgia,serif;font-size:.85rem;text-transform:uppercase;letter-spacing:2px;color:var(--text-heading);margin-bottom:.75em;border-bottom:2px solid var(--border);padding-bottom:.4em}.footer-col ul{list-style:none;padding:0;margin:0}.footer-col li{margin-bottom:.4em}.footer-col a{text-transform:uppercase;font-weight:600;font-size:.7rem;letter-spacing:1.5px;color:var(--text-primary);border-bottom:none;padding:.2em 0;transition:color .2s ease}.footer-col a:hover{color:var(--accent)}#footer p{color:var(--text-secondary);font-size:.85rem;margin-bottom:0}#main{flex:1;padding:3em 0}.recipe-page{max-width:80em;margin:0 auto}.recipe-hero{margin-bottom:2em}.recipe-hero-image{width:100%;max-height:25em;object-fit:cover;border-radius:6px;box-shadow:0 4px 16px rgba(0,0,0,.1)}.recipe-header{margin-bottom:2em;padding-bottom:1.5em;border-bottom:2px solid #e5e0db}.recipe-header h1{font-size:2.5rem;letter-spacing:3px;margin-bottom:.5em}.recipe-description{font-size:1.1rem;color:var(--text-secondary);font-style:italic;margin-bottom:1em}.recipe-meta{display:flex;justify-content:space-between;flex-wrap:wrap;gap:.75em}.meta-item{background:var(--bg-tertiary);padding:.6em 1.5em;border-radius:6px;font-size:1rem;font-weight:500;color:var(--text-primary);flex:auto;text-align:center;min-width:8em}.difficulty-beginner{background:#d4edda;color:#155724}.difficulty-intermediate{background:#fff3cd;color:#856404}.difficulty-advanced{background:#f8d7da;color:#721c24}.recipe-taxonomy{display:flex;flex-wrap:wrap;gap:.5em;margin-bottom:2.5em}.taxonomy-tag{display:inline-block;background:var(--tag-bg);padding:.3em .8em;border-radius:4px;font-size:.85rem;color:var(--text-primary);border-bottom:none}.taxonomy-tag:hover{background:var(--tag-hover);color:var(--accent)}.row-gutter{display:flex;gap:3em;flex-wrap:wrap}.col-recipe-section{min-width:20em}.col-recipe-section:first-child{flex:0 0 30%}.col-recipe-section:last-child{flex:1}.recipe-section{background:var(--bg-secondary);border-radius:6px;padding:2em;box-shadow:0 2px 12px var(--shadow)}.recipe-section h2{font-size:1.2rem;margin-bottom:1.25em;padding-bottom:.5em;border-bottom:2px solid var(--border)}.ingredient-action{text-align:center;margin-top:1.5em}.ingredient-list{list-style:none;padding:0}.ingredient-list li{padding:.6em 0 .6em 2em;border-bottom:1px solid var(--border);position:relative}.ingredient-list li:last-child{border-bottom:none}.ingredient-list input[type=checkbox]{position:absolute;left:0;top:.7em;width:1.1em;height:1.1em;accent-color:var(--accent);cursor:pointer}.ingredient-list label{cursor:pointer;transition:opacity .2s ease}.ingredient-list input[type=checkbox]:checked+label{text-decoration:line-through;opacity:.5}.instruction-list{counter-reset:step;list-style:none;padding:0}.instruction-list li{counter-increment:step;padding:1em 0 1em 3.5em;border-bottom:1px solid var(--border);position:relative}.instruction-list li:last-child{border-bottom:none}.instruction-list li::before{content:counter(step);position:absolute;left:0;top:1em;width:2em;height:2em;background:var(--accent);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.85rem;font-weight:600}.recipe-actions{margin-top:2em;text-align:center}.related-recipes{border-top:2px solid var(--border);padding-top:2em}.filter-bar{display:flex;flex-wrap:wrap;gap:1em;padding:1.5em;background:var(--bg-secondary);border-radius:6px;margin-bottom:2em;box-shadow:0 2px 8px var(--shadow)}.filter-group{flex:1;min-width:12em}.filter-group label{display:block;font-size:.75rem;text-transform:uppercase;letter-spacing:1px;color:var(--text-secondary);margin-bottom:.3em;font-weight:600}.filter-group select,.filter-group input[type=text]{width:100%;padding:.6em .8em;border:1px solid var(--border);border-radius:4px;font-size:.95rem;font-family:inherit;background:var(--input-bg);color:var(--text-primary);transition:border-color .2s ease,box-shadow .2s ease}.filter-group select:focus,.filter-group input[type=text]:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(196,101,87,.15)}.no-results{text-align:center;padding:3em;color:var(--text-secondary);font-size:1.1rem}.taxonomy-count{text-align:center;color:var(--text-secondary);font-size:.95rem}.list-header{margin-bottom:2em;padding-bottom:1em;border-bottom:2px solid var(--border)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.text-center{text-align:center}.mt-2{margin-top:2em}.mb-2{margin-bottom:2em}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;z-index:1000;display:flex;align-items:center;justify-content:center}.modal-backdrop{position:absolute;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.6)}.modal-content{position:relative;background:#fff;border-radius:8px;max-width:45em;max-height:85vh;width:90%;overflow-y:auto;box-shadow:0 12px 40px rgba(0,0,0,.3);padding:2em;z-index:1}.modal-close{position:absolute;top:.75em;right:1em;background:0 0;border:none;font-size:1.5rem;color:#888;cursor:pointer;padding:.25em .5em;line-height:1;transition:color .2s ease;z-index:2;text-decoration:none;border-bottom:none}.modal-close:hover{color:#c46557}.quick-view-btn{margin-top:.75em;font-size:.75rem;padding:.6em 1.5em}@media screen and (max-width:768px){.hamburger{display:flex}#nav>.container{flex-wrap:wrap}#nav ul.nav-links{display:none;flex-direction:column;width:100%;padding:1em;gap:1em;border-top:1px solid var(--border);margin-top:.5em}#nav ul.nav-links.open{display:flex}#nav ul.nav-links li{width:100%}#nav ul.nav-links a{display:block;padding:.75em 0;border-bottom:1px solid var(--border)}#nav ul.nav-links .theme-toggle{margin:.5em 0}.recipe-meta{flex-direction:column;gap:.5em}.row-gutter{flex-direction:column;gap:1.5em}.col-recipe-section{min-width:100%}#hero h1{font-size:2rem;letter-spacing:3px}.recipe-header h1{font-size:1.75rem}.footer-columns{flex-direction:column;gap:1.5em}}.shopping-list-page{max-width:80em;margin:0 auto}.shopping-list-page h1{text-align:left;margin-bottom:2em;padding-bottom:.5em;border-bottom:2px solid var(--border)}.shopping-list-items{list-style:none;padding:0;margin-bottom:2em}.shopping-list-item{display:flex;align-items:center;gap:1em;padding:1em;border-bottom:1px solid var(--border);transition:background .2s ease;background:var(--bg-secondary)}.shopping-list-item:hover{background:var(--bg-tertiary)}.shopping-list-item input[type=checkbox]{width:1.2em;height:1.2em;accent-color:var(--accent);cursor:pointer;flex-shrink:0}.shopping-list-item .item-name{flex:1;font-size:1rem;color:var(--text-primary)}.shopping-list-item.checked .item-name{text-decoration:line-through;opacity:.5}.shopping-list-item .recipe-source{font-size:.75rem;color:var(--accent);white-space:nowrap;padding:.2em .6em;background:var(--tag-bg);border-radius:4px}.shopping-list-item .remove-btn{background:0 0;border:none;color:var(--text-secondary);cursor:pointer;font-size:1.1rem;padding:.25em .5em;line-height:1;transition:color .2s ease;flex-shrink:0}.shopping-list-item .remove-btn:hover{color:var(--accent)}.shopping-list-item.checked .remove-btn{opacity:.4}.empty-state{text-align:center;padding:3em;color:var(--text-secondary);font-size:1rem}.shopping-list-actions{display:flex;gap:1em;justify-content:flex-end;padding-top:1em;border-top:2px solid var(--border)}.shopping-list-actions .button{font-size:.8rem}.toast-notification{position:fixed;bottom:2em;left:50%;transform:translateX(-50%)translateY(100px);background:var(--accent);color:#fff;padding:.75em 2em;border-radius:6px;font-size:.95rem;box-shadow:0 4px 12px rgba(0,0,0,.2);opacity:0;transition:transform .3s ease,opacity .3s ease;z-index:10000}.toast-notification.show{opacity:1;transform:translateX(-50%)translateY(0)}.utensil-link{color:var(--accent);font-weight:600;border-bottom:1px dashed var(--accent);cursor:pointer;text-decoration:none}.utensil-link:hover{color:var(--accent-hover);border-bottom-color:var(--accent-hover)}