body{margin:0}#root{min-height:100vh}*{box-sizing:border-box;margin:0;padding:0}:root{--color-bg:#faf8f5;--color-surface:#fff;--color-text:#2d2a26;--color-text-light:#6b6560;--color-primary:#bc243c;--color-primary-light:#d46474;--color-accent:#7aa77a;--color-accent-light:#c7eacc;--color-border:#e5e0db;--color-vegan:#7aa77a;--color-dairy:#3b6fa0;--color-meat:#bc243c;--shadow-sm:0 1px 3px #00000014;--shadow-md:0 4px 12px #0000001a;--radius:8px}body{background:var(--color-bg);color:var(--color-text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.6}.app{min-height:100vh}.header{background:var(--color-surface);border-bottom:2px solid var(--color-border);padding:1rem 2rem}.header-content{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;max-width:1200px;margin:0 auto;display:flex}.header-brand{cursor:pointer;align-items:center;gap:1rem;min-width:0;display:flex}.header-logo{flex-shrink:0;width:auto;height:60px;display:block}.header-title{color:var(--color-text);font-size:1.25rem;font-weight:600}.header-nav{flex-wrap:wrap;gap:.5rem;display:flex}.nav-btn{background:var(--color-primary);color:#fff;border:1px solid var(--color-primary);border-radius:var(--radius);cursor:pointer;padding:.5rem 1.25rem;font-size:.9rem;transition:background .2s}.nav-btn:hover{background:var(--color-primary-light);border-color:var(--color-primary-light)}.nav-btn.active{background:var(--color-accent);color:#fff;border-color:var(--color-accent);font-weight:600}.main-content{max-width:1200px;margin:0 auto;padding:1.5rem 2rem 3rem}.search-bar{margin-bottom:1.5rem}.search-input-wrapper{margin-bottom:.75rem;position:relative}.search-input{border:2px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);width:100%;padding:.75rem 2.5rem .75rem 1rem;font-size:1rem;transition:border-color .2s}.search-input:focus{border-color:var(--color-primary);outline:none}.search-clear{color:var(--color-text-light);cursor:pointer;background:0 0;border:none;font-size:1.25rem;position:absolute;top:50%;right:.75rem;transform:translateY(-50%)}.filter-rows{flex-wrap:wrap;gap:1rem;display:flex}.filter-label{color:var(--color-text-light);font-size:.85rem;font-weight:500}.tag-filters{align-items:center;gap:.5rem;display:flex}.tag-btn.tag-category-filter{color:var(--color-text);text-transform:capitalize}.tag-btn.tag-category-filter.active{background:var(--color-text);color:#fff;border-color:var(--color-text)}.tag-btn{border:2px solid var(--color-border);background:var(--color-surface);cursor:pointer;text-transform:capitalize;border-radius:999px;padding:.375rem 1rem;font-size:.85rem;transition:all .2s}.tag-btn.tag-vegan{color:var(--color-vegan)}.tag-btn.tag-dairy{color:var(--color-dairy)}.tag-btn.tag-meat{color:var(--color-meat)}.tag-btn.active.tag-vegan{background:var(--color-accent-light);border-color:var(--color-vegan)}.tag-btn.active.tag-dairy{border-color:var(--color-dairy);background:#d0e2f0}.tag-btn.active.tag-meat{border-color:var(--color-meat);background:#f2d4d9}.recipe-count{color:var(--color-text-light);margin-bottom:1rem;font-size:.9rem}.recipe-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1rem;display:grid}.recipe-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);cursor:pointer;padding:1.25rem;transition:box-shadow .2s,transform .15s}.recipe-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.recipe-card-header{justify-content:space-between;align-items:flex-start;gap:.5rem;margin-bottom:.5rem;display:flex}.recipe-card-name{font-size:1.1rem;font-weight:600;line-height:1.3}.recipe-card-tags{flex-shrink:0;gap:.25rem;display:flex}.tag{text-transform:uppercase;letter-spacing:.5px;border-radius:999px;padding:.15rem .5rem;font-size:.7rem;font-weight:600;display:inline-block}.tag-vegan{background:var(--color-accent-light);color:var(--color-vegan)}.tag-dairy{color:var(--color-dairy);background:#d0e2f0}.tag-meat{color:var(--color-meat);background:#f2d4d9}.tag-category{color:var(--color-text-light);background:#f0ede8}.recipe-card-meta{color:var(--color-text-light);justify-content:space-between;margin-bottom:.25rem;font-size:.85rem;display:flex}.recipe-card-category{text-transform:capitalize}.recipe-card-source{color:var(--color-text-light);font-size:.8rem;font-style:italic}.no-results{text-align:center;color:var(--color-text-light);padding:3rem 1rem;font-size:1.1rem}.print-header{display:none}.recipe-detail-toolbar{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.back-btn{color:var(--color-primary);cursor:pointer;background:0 0;border:none;padding:.5rem 0;font-size:1rem}.back-btn:hover{text-decoration:underline}.print-btn{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);cursor:pointer;color:var(--color-text);padding:.5rem 1rem;font-size:.9rem;transition:all .2s}.print-btn:hover{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.recipe-detail-header{margin-bottom:1.5rem}.recipe-detail-header h2{margin-bottom:.5rem;font-size:2rem}.recipe-detail-tags{gap:.5rem;margin-bottom:.5rem;display:flex}.recipe-detail-source,.recipe-detail-note{color:var(--color-text-light);font-size:.9rem}.serving-scaler{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);margin-bottom:2rem;padding:1.25rem}.scaler-label{margin-bottom:.5rem;font-weight:600;display:block}.scaler-controls{align-items:center;gap:.5rem;margin-bottom:.75rem;display:flex}.scaler-btn{background:var(--color-primary);color:#fff;border-radius:var(--radius);cursor:pointer;border:none;padding:.5rem .75rem;font-size:.9rem;font-weight:600;transition:background .2s}.scaler-btn:hover{background:var(--color-primary-light)}.scaler-input{text-align:center;border:2px solid var(--color-border);border-radius:var(--radius);width:80px;padding:.5rem;font-size:1.1rem;font-weight:600}.scaler-input:focus{border-color:var(--color-primary);outline:none}.scaler-presets{flex-wrap:wrap;gap:.5rem;display:flex}.preset-btn{border:1px solid var(--color-border);cursor:pointer;background:0 0;border-radius:999px;padding:.25rem .75rem;font-size:.85rem;transition:all .2s}.preset-btn.active{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.preset-btn:hover:not(.active){border-color:var(--color-primary);color:var(--color-primary)}.scaler-note{color:var(--color-primary);margin-top:.5rem;font-size:.85rem;font-weight:500}.recipe-detail-body{grid-template-columns:1fr 1.5fr;gap:2rem;margin-bottom:2rem;display:grid}@media (width<=768px){.recipe-detail-body{grid-template-columns:1fr}}.recipe-detail-ingredients h3,.recipe-detail-instructions h3,.recipe-detail-garnish h3,.recipe-detail-notes h3{color:var(--color-primary);margin-bottom:.75rem;font-size:1.2rem}.ingredient-list{list-style:none}.ingredient-item{border-bottom:1px solid var(--color-border);flex-wrap:wrap;gap:.5rem;padding:.4rem 0;display:flex}.ingredient-item:last-child{border-bottom:none}.ingredient-qty{flex-shrink:0;min-width:4rem;font-weight:600}.qty-scaled{color:var(--color-primary)}.qty-original{color:var(--color-text-light);margin-left:.25rem;font-size:.8rem;font-weight:400}.ingredient-unit{color:var(--color-text-light);flex-shrink:0;min-width:5rem}.ingredient-name{flex:1}.instructions-list{padding-left:1.5rem}.instructions-list li{margin-bottom:1rem;line-height:1.7}.recipe-detail-garnish,.recipe-detail-notes{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);margin-bottom:1rem;padding:1.25rem}.recipe-detail-notes{background:#fef9e7;border-color:#f0e0a0}.recipe-detail-notes p{font-style:italic}.pantry-checker h2{margin-bottom:.5rem;font-size:1.75rem}.pantry-description{color:var(--color-text-light);margin-bottom:1.5rem}.pantry-input-row{gap:.5rem;margin-bottom:1rem;display:flex}.pantry-input{border:2px solid var(--color-border);border-radius:var(--radius);flex:1;padding:.75rem 1rem;font-size:1rem}.pantry-input:focus{border-color:var(--color-accent);outline:none}.pantry-add-btn{background:var(--color-accent);color:#fff;border-radius:var(--radius);cursor:pointer;border:none;padding:.75rem 1.5rem;font-size:1rem;font-weight:600;transition:background .2s}.pantry-add-btn:hover{background:#5e8c5e}.pantry-items{margin-bottom:1.5rem}.pantry-items h4{color:var(--color-text-light);margin-bottom:.5rem;font-size:.9rem}.pantry-tags{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.pantry-tag{background:var(--color-accent-light);color:var(--color-accent);border-radius:999px;align-items:center;gap:.5rem;padding:.375rem .75rem;font-size:.9rem;display:flex}.pantry-tag-remove{color:var(--color-accent);cursor:pointer;background:0 0;border:none;padding:0;font-size:1.1rem;line-height:1}.pantry-clear{color:var(--color-text-light);cursor:pointer;background:0 0;border:none;font-size:.85rem;text-decoration:underline}.pantry-results h3{margin-bottom:1rem}.pantry-result-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);cursor:pointer;margin-bottom:.75rem;padding:1.25rem;transition:box-shadow .2s}.pantry-result-card:hover{box-shadow:var(--shadow-md)}.pantry-result-header{justify-content:space-between;align-items:center;margin-bottom:.5rem;display:flex}.pantry-result-header h4{font-size:1.1rem}.match-percentage{color:var(--color-accent);font-size:1rem;font-weight:700}.match-bar-container{background:var(--color-border);border-radius:999px;height:8px;margin-bottom:.5rem;overflow:hidden}.match-bar{background:var(--color-accent);border-radius:999px;height:100%;transition:width .3s}.match-detail{color:var(--color-text-light);margin-bottom:.5rem;font-size:.85rem}.missing-ingredients{font-size:.85rem}.missing-ingredients summary{cursor:pointer;color:var(--color-text-light)}.missing-ingredients ul{color:var(--color-text-light);margin-top:.5rem;padding-left:1.25rem}@media (width<=600px){.header{padding:.75rem 1rem}.header-logo{height:40px}.header-title{font-size:1rem}.main-content{padding:1rem}.recipe-grid{grid-template-columns:1fr}.recipe-detail-header h2{font-size:1.5rem}.scaler-controls{flex-wrap:wrap}}@media print{.header,.recipe-detail-toolbar,.serving-scaler{display:none}.print-header{margin-bottom:.25rem;display:block}.print-logo{width:auto;height:36px}.app{min-height:auto;font-size:10px;line-height:1.3}.main-content{max-width:100%;padding:0}.recipe-detail-header{margin-bottom:.5rem}.recipe-detail-header h2{margin-bottom:.1rem;font-size:1.1rem}.recipe-detail-tags{margin-bottom:.2rem}.tag{padding:.05rem .35rem;font-size:.6rem}.recipe-detail-source,.recipe-detail-note{margin-bottom:.1rem;font-size:.75rem}.recipe-detail-body{grid-template-columns:1fr 1.5fr;gap:.75rem;margin-bottom:.5rem;display:grid}.recipe-detail-ingredients h3,.recipe-detail-instructions h3,.recipe-detail-garnish h3,.recipe-detail-notes h3{margin-bottom:.25rem;font-size:.85rem}.ingredient-item{padding:.1rem 0;font-size:.75rem;line-height:1.25}.ingredient-qty{min-width:2.5rem}.ingredient-unit{min-width:3.5rem}.instructions-list{padding-left:1.1rem}.instructions-list li{margin-bottom:.25rem;font-size:.75rem;line-height:1.3}.recipe-detail-garnish,.recipe-detail-notes{break-inside:avoid;margin-bottom:.4rem;padding:.5rem}.recipe-detail-garnish p,.recipe-detail-notes p{font-size:.75rem}.qty-scaled{color:#000}.qty-original{display:none}}
