:root{--cream: #faf7f2;--white: #ffffff;--brown: #1e130d;--brown-mid: #5a4035;--brown-muted: #9a8278;--terracotta: #b84d25;--terracotta-light: #f5ede6;--terracotta-hover: #a03d1a;--green: #4a7c59;--green-light: #e8f2ec;--orange: #c47a2a;--orange-light: #fdf0dc;--red: #b03535;--red-light: #fde8e8;--border: #e5dbd4;--shadow: 0 2px 12px rgba(30, 19, 13, .07);--shadow-lg: 0 4px 24px rgba(30, 19, 13, .12);--radius: 14px;--radius-sm: 8px;--font: system-ui, -apple-system, "Segoe UI", sans-serif}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-family:var(--font);background:var(--cream);color:var(--brown)}body{min-height:100dvh}a{color:inherit;text-decoration:none}.container{max-width:1100px;margin:0 auto;padding-left:max(1rem,env(safe-area-inset-left));padding-right:max(1rem,env(safe-area-inset-right))}.site-header{padding:1.5rem 0 1rem;border-bottom:1px solid var(--border);background:var(--cream);position:sticky;top:0;z-index:10}.site-header .container{display:flex;align-items:center;gap:1rem}.site-title{font-size:clamp(1.2rem,4vw,1.5rem);font-weight:700;color:var(--terracotta);letter-spacing:-.02em;flex-shrink:0}.site-title a:hover{opacity:.85}.search-bar{flex:1;display:flex;gap:.5rem;flex-wrap:wrap}.search-input{flex:1;min-width:160px;padding:.5rem .75rem;border:1.5px solid var(--border);border-radius:var(--radius-sm);background:var(--white);font-size:.95rem;color:var(--brown);outline:none;transition:border-color .15s}.search-input:focus{border-color:var(--terracotta)}.filter-select{padding:.5rem .65rem;border:1.5px solid var(--border);border-radius:var(--radius-sm);background:var(--white);font-size:.9rem;color:var(--brown-mid);outline:none;cursor:pointer;transition:border-color .15s}.filter-select:focus{border-color:var(--terracotta)}.recipes-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:1.25rem;padding:1.5rem 0 3rem}.empty-state{grid-column:1 / -1;text-align:center;padding:4rem 1rem;color:var(--brown-muted)}.empty-state p{font-size:1.1rem}.card{background:var(--white);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.25rem;display:flex;flex-direction:column;gap:.6rem;cursor:pointer;transition:box-shadow .2s,transform .15s;border:1px solid var(--border)}.card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.card-title{font-size:1.1rem;font-weight:700;color:var(--brown);line-height:1.3}.card-meta{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap}.badge{display:inline-block;padding:.2em .55em;border-radius:99px;font-size:.75rem;font-weight:600;letter-spacing:.01em}.badge-easy{background:var(--green-light);color:var(--green)}.badge-medium{background:var(--orange-light);color:var(--orange)}.badge-hard{background:var(--red-light);color:var(--red)}.badge-cuisine{background:var(--terracotta-light);color:var(--terracotta)}.badge-category{background:#e8eef5;color:#3a5a7a}.badge-time{background:transparent;color:var(--brown-muted);font-size:.8rem;padding-left:0}.card-summary{font-size:.88rem;color:var(--brown-muted);line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.recipe-page{padding:1.5rem 0 4rem}.back-link{display:inline-flex;align-items:center;gap:.35rem;font-size:.9rem;color:var(--brown-muted);margin-bottom:1.5rem;transition:color .15s}.back-link:hover{color:var(--terracotta)}.recipe-header{margin-bottom:1.5rem}.recipe-title{font-size:clamp(1.6rem,5vw,2.4rem);font-weight:800;letter-spacing:-.03em;line-height:1.15;margin-bottom:.75rem;color:var(--brown)}.recipe-meta{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin-bottom:.75rem}.recipe-summary{font-size:1rem;color:var(--brown-mid);line-height:1.6;max-width:60ch}.time-grid{display:flex;gap:1.5rem;flex-wrap:wrap;margin:1.25rem 0;padding:1rem 1.25rem;background:var(--terracotta-light);border-radius:var(--radius-sm)}.time-item{text-align:center}.time-label{font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:var(--brown-muted);font-weight:600}.time-value{font-size:1rem;font-weight:700;color:var(--brown)}.scaler{display:inline-flex;align-items:center;gap:.75rem;margin:1rem 0 1.5rem;padding:.6rem 1rem;background:var(--white);border:1.5px solid var(--border);border-radius:var(--radius-sm)}.scaler-label{font-size:.85rem;color:var(--brown-mid);font-weight:600}.scaler-btn{width:28px;height:28px;border-radius:50%;border:1.5px solid var(--terracotta);background:transparent;color:var(--terracotta);font-size:1.1rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s,color .15s}.scaler-btn:hover{background:var(--terracotta);color:var(--white)}.scaler-count{font-size:1.1rem;font-weight:700;min-width:2ch;text-align:center;color:var(--brown)}.recipe-body{display:grid;grid-template-columns:1fr;gap:2rem}@media(min-width:700px){.recipe-body{grid-template-columns:minmax(240px,1fr) 2fr}}.recipe-body h2{font-size:1.15rem;font-weight:700;letter-spacing:-.01em;color:var(--terracotta);margin-bottom:.9rem;padding-bottom:.4rem;border-bottom:2px solid var(--terracotta-light)}.recipe-body h3{font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--brown-muted);margin-bottom:.5rem;grid-column:1 / -1}.recipe-body ul{list-style:none;display:flex;flex-direction:column;gap:.5rem}.recipe-body ul li{padding:.5rem .75rem;background:var(--cream);border-radius:var(--radius-sm);font-size:.95rem;line-height:1.5;border-left:3px solid var(--terracotta-light)}.recipe-body ol{list-style:none;counter-reset:steps;display:flex;flex-direction:column;gap:.75rem}.recipe-body ol li{counter-increment:steps;display:flex;gap:.75rem;font-size:.95rem;line-height:1.6}.recipe-body ol li:before{content:counter(steps);flex-shrink:0;width:26px;height:26px;background:var(--terracotta);color:var(--white);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700;margin-top:.1rem}.recipe-notes{margin-top:2rem;padding:1rem 1.25rem;background:var(--orange-light);border-radius:var(--radius-sm);border-left:3px solid var(--orange)}.recipe-notes h2{border-bottom:none;color:var(--orange);margin-bottom:.5rem}.recipe-notes ul{gap:.4rem}.recipe-notes ul li{background:transparent;border-left:none;padding:0;font-size:.9rem;color:var(--brown-mid)}@media(max-width:480px){.site-header .container{flex-direction:column;align-items:stretch}.time-grid{gap:1rem}}
