:root{--bg:#0c1118;--surface:#151d28;--surface-2:#1c2734;--text:#edf2f8;--muted:#8fa3b8;--accent:#f59e0b;--accent-dim:#b45309;--border:#2a3a4d;--ok:#34d399;--danger:#f87171}*{box-sizing:border-box}body,html{margin:0;padding:0;min-height:100%;font-family:Segoe UI,system-ui,-apple-system,Roboto,Ubuntu,sans-serif;background:radial-gradient(1200px 600px at 10% -10%,#1a2838 0,var(--bg) 55%);color:var(--text)}a{color:var(--accent)}main{max-width:1120px;margin:0 auto;padding:2rem 1.25rem 3rem}h1{font-size:1.65rem;font-weight:650;margin:0 0 .35rem;letter-spacing:-.02em}.lead{color:var(--muted);margin:0 0 1.5rem;max-width:52rem;line-height:1.5}.panel{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:1.1rem 1.25rem;margin-bottom:1rem}.search-row{display:flex;flex-wrap:wrap;gap:.75rem;align-items:flex-end}label{display:flex;flex-direction:column;gap:.35rem;flex:1 1;min-width:220px}label span{font-size:.8rem;color:var(--muted)}input[type=text]{background:var(--surface-2);border:1px solid var(--border);border-radius:8px;color:var(--text);padding:.65rem .75rem;font-size:1rem}button.primary{background:linear-gradient(180deg,#fbbf24,var(--accent));color:#1a1206;border:none;border-radius:8px;padding:.7rem 1.2rem;font-weight:600;cursor:pointer}button.primary:disabled{opacity:.55;cursor:not-allowed}.criteria{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.5rem 1rem;margin:0;padding:0;list-style:none;font-size:.9rem;color:var(--muted)}.criteria li:before{content:"✓ ";color:var(--ok)}.status{font-size:.9rem;color:var(--muted);margin:.5rem 0 0}.status.error{color:var(--danger)}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem}.card{background:var(--surface);border:1px solid var(--border);border-radius:12px;overflow:hidden;display:flex;flex-direction:column}.card img{width:100%;height:160px;object-fit:cover;background:var(--surface-2)}.card-body{padding:.85rem 1rem 1rem;display:flex;flex-direction:column;gap:.45rem;flex:1 1}.card h2{font-size:.95rem;margin:0;line-height:1.35}.card h2 a{color:inherit;text-decoration:none}.card h2 a:hover{color:var(--accent)}.meta{font-size:.82rem;color:var(--muted);line-height:1.45}.badges{display:flex;flex-wrap:wrap;gap:.35rem}.badge{font-size:.72rem;padding:.15rem .45rem;border-radius:999px;background:var(--surface-2);border:1px solid var(--border);color:var(--muted)}.badge.ok{color:#065f46;background:#d1fae5;border-color:#6ee7b7}.badge.warn{color:#78350f;background:#fef3c7;border-color:#fcd34d}