:root {
  --bg: #0c0f14;
  --surface: #161b26;
  --surface-hover: #222b3a;
  --primary: #22c55e;
  --primary-hover: #16a34a;
  --accent: #f43f5e;
  --text-main: #e2e8f0;
  --text-muted: #94a3b8;
  --glass-border: rgba(255,255,255,0.08);
  --border-radius: 12px;
  --transition: 0.3s ease;
}
* {
  margin:0; padding:0; box-sizing:border-box;
  font-family:'Inter',sans-serif;
}
body {
  background:var(--bg);
  color:var(--text-main);
}
/* Navbar */
.navbar {
  display:flex; justify-content:space-between; align-items:center;
  padding:1rem 2rem; background:var(--surface);
  border-bottom:1px solid var(--glass-border);
  position:sticky; top:0; z-index:10;
}
.logo {
  font-size:1.5rem; font-weight:700;
  color:var(--text-main); text-decoration:none;
  display:flex; align-items:center; gap:0.5rem;
}
.logo span {
  color:var(--primary);
}
.search-bar {
  position:relative; width:100%; max-width:400px;
}
.search-bar input {
  width:100%; padding:0.75rem 1rem; padding-left:2.5rem;
  border-radius:50px; border:1px solid var(--glass-border);
  background:rgba(255,255,255,0.05); color:white;
  outline:none; transition:var(--transition);
}
.search-bar input:focus {
  border-color:var(--primary);
  box-shadow:0 0 0 3px rgba(34,197,94,0.2);
}
.search-icon {
  position:absolute; left:14px; top:50%; transform:translateY(-50%);
  color:var(--text-muted); pointer-events:none;
}
.container {
  padding:2rem; max-width:1440px; margin:0 auto;
}
.category-filters {
  display:flex; gap:0.75rem; overflow-x:auto;
  padding-bottom:1rem; margin-bottom:1.5rem;
  scrollbar-width:none;
}
.category-filters::-webkit-scrollbar { display:none; }
.chip {
  padding:0.5rem 1.25rem; border-radius:50px;
  background:var(--surface); color:var(--text-main);
  border:1px solid var(--glass-border); cursor:pointer;
  font-size:0.875rem; font-weight:500;
  transition:var(--transition);
}
.chip:hover { background:var(--surface-hover); }
.chip.active {
  background:var(--primary); color:#000;
  border-color:var(--primary);
}
.video-grid {
  display:grid;
  grid-template-columns:repeat(auto-fill, minmax(280px,1fr));
  gap:1.5rem;
}
.video-card {
  background:var(--surface); border-radius:var(--border-radius);
  overflow:hidden; border:1px solid var(--glass-border);
  text-decoration:none; color:inherit;
  transition:transform var(--transition), box-shadow var(--transition);
}
.video-card:hover {
  transform:translateY(-6px);
  box-shadow:0 12px 24px rgba(0,0,0,0.5);
}
.thumbnail-wrapper {
  width:100%; aspect-ratio:16/9; background:#000;
  position:relative;
}
.thumbnail {
  width:100%; height:100%; object-fit:cover;
  transition:transform 0.5s ease;
}
.video-card:hover .thumbnail { transform:scale(1.05); }
.play-overlay {
  position:absolute; inset:0; background:rgba(0,0,0,0.4);
  display:flex; align-items:center; justify-content:center;
  opacity:0; transition:opacity var(--transition);
}
.video-card:hover .play-overlay { opacity:1; }
.play-icon {
  width:50px; height:50px; border-radius:50%;
  background:rgba(34,197,94,0.9); color:#000;
  display:flex; align-items:center; justify-content:center;
}
.video-info { padding:1rem; }
.video-title {
  font-size:1rem; font-weight:600; margin-bottom:0.5rem;
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical;
  overflow:hidden;
}
.video-meta {
  font-size:0.8rem; color:var(--text-muted);
  display:flex; justify-content:space-between;
}
.tag-badge {
  background:rgba(34,197,94,0.1); color:var(--primary);
  padding:0.2rem 0.6rem; border-radius:4px; font-size:0.7rem;
}
.pagination {
  display:flex; justify-content:center; align-items:center;
  margin-top:3rem; gap:0.5rem;
}
.page-btn {
  background:var(--surface); color:var(--text-main);
  border:1px solid var(--glass-border);
  min-width:40px; height:40px; border-radius:8px;
  cursor:pointer; transition:var(--transition);
}
.page-btn:hover { background:var(--surface-hover); }
.page-btn.active {
  background:var(--primary); color:#000;
  border-color:var(--primary); pointer-events:none;
}
.no-results {
  grid-column:1/-1; text-align:center; padding:4rem 1rem;
  color:var(--text-muted);
}
/* Video Page */
.back-link {
  color:var(--text-muted); text-decoration:none;
  display:flex; align-items:center; gap:0.5rem;
  margin-bottom:1.5rem;
}
.back-link:hover { color:var(--primary); }
.player-wrapper {
  width:100%; aspect-ratio:16/9; background:#000;
  border-radius:var(--border-radius); overflow:hidden;
  margin-bottom:1.5rem;
}
.player-wrapper iframe { width:100%; height:100%; border:none; }
.video-details {
  background:var(--surface); padding:1.5rem;
  border-radius:var(--border-radius); border:1px solid var(--glass-border);
}
.tag-list { display:flex; flex-wrap:wrap; gap:0.5rem; margin-top:1rem; }
.tag-pill {
  background:rgba(255,255,255,0.05); color:var(--text-muted);
  padding:0.3rem 0.8rem; border-radius:50px; font-size:0.8rem;
}
@media (max-width:768px) {
  .navbar { flex-direction:column; gap:1rem; }
  .container { padding:1rem; }
  .video-grid { grid-template-columns:repeat(auto-fill, minmax(160px,1fr)); }
}