:root{--bg:#0b0c10;--fg:#e8e8ea;--muted:#a6a6ad;--card:#14151a;--accent:#5eead4;--pill:#1f2937;--radius:18px;--shadow:0 10px 25px rgba(0,0,0,.25)}
@media (prefers-color-scheme: light){:root{--bg:#f7f7fb;--fg:#14151a;--muted:#4b5563;--card:#fff;--pill:#eef2f7}}
*{box-sizing:border-box} body{margin:0;font-family:system-ui,Inter,Arial,sans-serif;background:var(--bg);color:var(--fg)}
.wrap{max-width:1100px;margin:24px auto;padding:0 20px}
h1{font-size:clamp(28px,4vw,40px);margin:0 0 6px}
.lead{margin:0;color:var(--muted)}
.controls{display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.controls input{flex:1 1 260px;padding:12px 14px;border-radius:14px;border:1px solid transparent;background:var(--card);color:var(--fg);outline:none}
.filters{display:flex;gap:8px;flex-wrap:wrap}
.pill{padding:8px 12px;border-radius:999px;background:var(--pill);color:var(--fg);border:1px solid transparent;cursor:pointer;font-size:14px}
.pill.active{outline:2px solid var(--accent)}
.grid{display:grid;gap:18px;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));margin-bottom:80px}
.card{background:var(--card);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);display:flex;flex-direction:column;min-height:100%}
.thumb{aspect-ratio:16/9;width:100%;background:#0f172a;position:relative}
.thumb img{width:100%;height:100%;object-fit:cover;display:block}
.thumb .badge{position:absolute;top:10px;left:10px;background:rgba(0,0,0,.55);color:#fff;padding:6px 10px;border-radius:999px;font-size:12px}
.content{padding:14px 14px 8px}
.title{font-weight:700;font-size:17px;margin:4px 0 6px}
.desc{color:var(--muted);font-size:14px;margin:0 0 10px;min-height:40px}
.tags{display:flex;gap:6px;flex-wrap:wrap;margin:8px 0 12px}
.tag{font-size:12px;padding:4px 8px;border-radius:999px;background:var(--pill);color:var(--fg)}
.actions{display:flex;gap:10px;padding:12px 14px 16px;margin-top:auto}
.btn{flex:1;text-align:center;text-decoration:none;padding:10px 12px;border-radius:12px;border:1px solid transparent;background:var(--accent);color:#05201b;font-weight:700}
.btn.secondary{background:transparent;border-color:#2b2f38;color:var(--fg)}
.tip{color:var(--muted);font-size:14px}
.empty{opacity:.7;text-align:center;padding:30px}
