* { box-sizing: border-box; }
body { margin: 0; font-family: system-ui, -apple-system, "Segoe UI", Arial, sans-serif; background: #0b0e14; color: #e5e7eb; line-height: 1.6; }
a { color: inherit; text-decoration: none; }
.wrap { max-width: 1100px; margin: 0 auto; padding: 0 16px; }
.site-header { background: #111827; border-bottom: 1px solid #1f2937; padding: 12px 0; position: sticky; top: 0; z-index: 10; }
.nav-inner { display: flex; align-items: center; gap: 20px; flex-wrap: wrap; }
.brand { font-size: 28px; font-weight: 800; color: #f43f5e; letter-spacing: 0.5px; }
#searchInput { flex: 1; min-width: 200px; padding: 9px 12px; border: 1px solid #374151; border-radius: 8px; background: #1f2937; color: #e5e7eb; font-size: 15px; }
.back-link { color: #9ca3af; }
.chips { display: flex; gap: 8px; flex-wrap: wrap; margin: 20px 0 8px; }
.chip { border: 1px solid #374151; background: #1f2937; color: #e5e7eb; border-radius: 999px; padding: 7px 16px; cursor: pointer; font-size: 14px; }
.chip.active { background: #f43f5e; border-color: #f43f5e; color: #fff; }
.muted { color: #9ca3af; font-size: 14px; }
.grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); gap: 16px; margin: 16px 0; }
.card { background: #161b26; border: 1px solid #1f2937; border-radius: 12px; overflow: hidden; display: block; }
.card img, .poster-fallback { width: 100%; aspect-ratio: 2 / 3; object-fit: cover; display: block; background: #1f2937; }
.poster-fallback { display: flex; align-items: center; justify-content: center; text-align: center; padding: 12px; font-weight: 700; color: #9ca3af; }
.card-body { padding: 10px 12px; }
.card-body h3 { margin: 0 0 2px; font-size: 15px; }
.card-body p { margin: 0; }
video#player { width: 100%; max-height: 70vh; background: #000; border-radius: 12px; }
.ad-slot { margin: 20px 0; }
.ad-placeholder { background: #1f2937; border: 1px dashed #374151; border-radius: 10px; padding: 24px; text-align: center; color: #9ca3af; }
.msg.error { color: #f87171; }
.footer { padding: 24px 16px; color: #6b7280; font-size: 14px; text-align: center; }
