:root{--green: #2e7d5b;--green-dark: #1f5a41;--amber: #c77d20;--red: #c0392b;--bg: #f6f8f5;--card-bg: #ffffff;--text: #1f2a24;--text-muted: #5d6b63;--border: #e1e7e2;--shadow: 0 1px 3px rgba(0, 0, 0, .08);--radius: 12px}*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;background:var(--bg);color:var(--text);line-height:1.5}.app{max-width:960px;margin:0 auto;padding:1rem 1rem 3rem}.app-header{text-align:center;padding:1rem 0 .5rem}.app-header h1{margin:0;font-size:1.8rem;color:var(--green-dark)}.tagline{margin:.25rem 0 0;color:var(--text-muted)}.tabs{display:flex;gap:.5rem;justify-content:center;margin:1rem 0}.tab{flex:1;max-width:220px;padding:.6rem 1rem;border:1px solid var(--border);background:var(--card-bg);color:var(--text);border-radius:var(--radius);font-size:1rem;cursor:pointer;transition:background .15s,color .15s}.tab.is-active{background:var(--green);color:#fff;border-color:var(--green)}.controls{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1rem}.search-bar{display:flex;align-items:center;background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);padding:0 .75rem}.search-icon{opacity:.6}.search-input{flex:1;border:none;outline:none;padding:.7rem .5rem;font-size:1rem;background:transparent;color:var(--text)}.search-clear{border:none;background:transparent;cursor:pointer;color:var(--text-muted);font-size:.9rem;padding:.25rem}.filters{display:flex;flex-wrap:wrap;gap:.75rem;align-items:flex-end}.field{display:flex;flex-direction:column;gap:.25rem;font-size:.8rem;color:var(--text-muted)}.field select{padding:.5rem;border:1px solid var(--border);border-radius:8px;background:var(--card-bg);color:var(--text);font-size:.95rem}.field-checkbox{flex-direction:row;align-items:center;gap:.4rem;font-size:.95rem;color:var(--text);padding-bottom:.5rem}.field-checkbox input{width:1.05rem;height:1.05rem}.result-count{margin:0 0 .75rem;font-size:.85rem;color:var(--text-muted)}.card-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:.9rem}.card{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:1rem}.card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:.5rem}.card-title-row{display:flex;flex-direction:column;gap:.35rem}.card-title{margin:0;font-size:1.05rem}.card-meta{margin:.4rem 0 0;font-size:.8rem;color:var(--text-muted)}.card-detail{margin:.5rem 0 0;font-size:.9rem}.card-note{margin:.6rem 0 0;font-size:.85rem;color:var(--text-muted);font-style:italic}.status-badge{display:inline-block;align-self:flex-start;padding:.15rem .55rem;border-radius:999px;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:#fff}.status-low{background:var(--green)}.status-moderate{background:var(--amber)}.status-high{background:var(--red)}.meal-badge{display:inline-block;align-self:flex-start;padding:.15rem .55rem;border-radius:999px;font-size:.72rem;font-weight:700;background:#e8f1ec;color:var(--green-dark)}.chips{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.6rem}.chip{font-size:.72rem;padding:.15rem .5rem;border-radius:6px}.chip-group{background:#fbeee0;color:var(--amber)}.favorite-btn{border:none;background:transparent;font-size:1.4rem;line-height:1;cursor:pointer;color:#c9c9c9;padding:0}.favorite-btn.is-active{color:#f1b211}.link-button{margin-top:.6rem;border:none;background:transparent;color:var(--green-dark);font-weight:600;cursor:pointer;padding:0;font-size:.9rem}.recipe-body h4{margin:.9rem 0 .3rem;font-size:.95rem}.ingredient-list,.step-list{margin:0;padding-left:1.2rem;font-size:.9rem}.ingredient-list li,.step-list li{margin-bottom:.2rem}.empty-state{text-align:center;color:var(--text-muted);padding:2rem 0}.disclaimer{margin-top:2.5rem;padding:1rem;border-top:1px solid var(--border);font-size:.8rem;color:var(--text-muted)}.disclaimer a{color:var(--green-dark)}@media (max-width: 480px){.tabs .tab{font-size:.9rem;padding:.55rem .5rem}.field,.field select{flex:1}}
