/* Sprint 1 additions — theme, animations, toasts, x-cloak */
[x-cloak] { display: none !important; }

@keyframes fade-in {
  from { opacity: 0; transform: translateY(8px); }
  to   { opacity: 1; transform: translateY(0); }
}
.animate-fade-in { animation: fade-in .22s ease-out; }

/* Light theme overrides — opt-in via html.theme-light from state.js */
html.theme-light {
  background: #f6f6f7;
  color: #18181b;
}
html.theme-light body { background: #f6f6f7 !important; color: #18181b !important; }
html.theme-light .bg-bg     { background-color: #f6f6f7 !important; }
html.theme-light .bg-bg\/95 { background-color: rgba(246,246,247,.95) !important; }
html.theme-light .bg-surface { background-color: #ffffff !important; }
html.theme-light .bg-surface-hover { background-color: #ececef !important; }
html.theme-light .bg-zinc-900 { background-color: #ffffff !important; }
html.theme-light .bg-zinc-800 { background-color: #ececef !important; }
html.theme-light .bg-zinc-800\/50 { background-color: rgba(236,236,239,.6) !important; }
html.theme-light .text-white { color: #18181b !important; }
html.theme-light .text-text-secondary { color: #52525b !important; }
html.theme-light .text-text-muted { color: #71717a !important; }
html.theme-light .text-zinc-300 { color: #3f3f46 !important; }
html.theme-light .text-zinc-400 { color: #52525b !important; }
html.theme-light .border-zinc-800 { border-color: #e4e4e7 !important; }
html.theme-light .border-border { border-color: #e4e4e7 !important; }
html.theme-light .nav-scrolled { background: rgba(255,255,255,.92) !important; }
html.theme-light footer { background: #ffffff !important; }

/* Continue Watching progress bar */
.cw-progress { position: absolute; left: 0; bottom: 0; height: 3px; background: rgb(229 9 20); border-radius: 0 0 .5rem .5rem; transition: width .3s ease; }

/* Watchlist heart icon active state */
.heart-active { color: rgb(229 9 20) !important; }

/* Skeleton (already in app.css; extra sizes for Sprint 4) */
.skel-card { aspect-ratio: 2/3; }
.skel-line { height: 14px; }

/* Trailer modal */
.trailer-modal-backdrop { backdrop-filter: blur(8px); }
