/* ============================================================
   AniJar — theme refinements (loaded after style.css)
   Palette variables live in style.css. This file themes the
   components that used to have hard-coded accent/white colours.
   ============================================================ */

/* ---------- shared accent fixes ---------- */
html[data-theme] .btn-primary,
html[data-theme] .btn-skip-action,
html[data-theme] .btn-mini-action:hover,
html[data-theme] .nav-btn.active,
html[data-theme] .source-btn.active,
html[data-theme] .season-tab-btn.active,
html[data-theme] .ep-btn.active,
html[data-theme] .dub-pill.active {
  color: var(--accent-contrast);
}

html[data-theme] .btn-mini-action {
  background: color-mix(in srgb, var(--accent-primary) 18%, transparent);
  border-color: color-mix(in srgb, var(--accent-primary) 38%, transparent);
  color: var(--accent-primary);
}

html[data-theme] .nav-btn:hover {
  background: color-mix(in srgb, var(--accent-primary) 10%, transparent);
}

html[data-theme] .ep-btn.active {
  color: var(--accent-contrast);
  box-shadow: var(--shadow-glow);
}

html[data-theme] .navbar {
  background: var(--bg-navbar);
}

html[data-theme] .nav-logo-img {
  width: 36px;
  height: 36px;
}

html[data-theme] .logo-text .accent {
  color: var(--accent-primary);
}

html[data-theme] .opening-skip-banner,
html[data-theme] .ending-skip-banner,
html[data-theme] .filler-skip-banner {
  background: var(--bg-card);
  color: var(--text-main);
}

html[data-theme] .dub-tag-ua {
  background: linear-gradient(135deg, var(--accent-primary), var(--accent-cyan));
  color: var(--accent-contrast);
}

/* ---------- FANTASY ---------- */
html[data-theme="fantasy"] body {
  background-image:
    radial-gradient(circle at 50% -10%, rgba(212, 162, 76, 0.12), transparent 45%),
    radial-gradient(circle at 100% 100%, rgba(120, 50, 20, 0.09), transparent 40%),
    repeating-linear-gradient(45deg, rgba(212, 162, 76, 0.018) 0 1px, transparent 1px 14px);
}

html[data-theme="fantasy"] body::before {
  content: "";
  position: fixed;
  inset: 10px;
  z-index: 0;
  pointer-events: none;
  border: 1px solid rgba(212, 162, 76, 0.16);
  border-radius: 12px;
}

html[data-theme="fantasy"] .navbar {
  border-bottom: 1px solid rgba(212, 162, 76, 0.35);
  box-shadow: 0 1px 0 rgba(212, 162, 76, 0.1), 0 8px 24px rgba(0, 0, 0, 0.4);
}

html[data-theme="fantasy"] .logo-text {
  font-family: var(--font-display);
  letter-spacing: 0.6px;
}

html[data-theme="fantasy"] h1,
html[data-theme="fantasy"] .card-title,
html[data-theme="fantasy"] .continue-title,
html[data-theme="fantasy"] .history-item-title,
html[data-theme="fantasy"] .related-title,
html[data-theme="fantasy"] .character-name,
html[data-theme="fantasy"] .modal-header h3,
html[data-theme="fantasy"] .settings-section h3 {
  font-family: var(--font-display);
  letter-spacing: 0.3px;
}

html[data-theme="fantasy"] .anime-card,
html[data-theme="fantasy"] .continue-card,
html[data-theme="fantasy"] .history-item-card,
html[data-theme="fantasy"] .character-card,
html[data-theme="fantasy"] .related-card-item,
html[data-theme="fantasy"] .settings-section,
html[data-theme="fantasy"] .modal-card,
html[data-theme="fantasy"] .user-menu-dropdown,
html[data-theme="fantasy"] .image-result-card,
html[data-theme="fantasy"] .shiki-user-card {
  border-color: rgba(212, 162, 76, 0.28);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.35), inset 0 0 0 1px rgba(212, 162, 76, 0.06);
}

html[data-theme="fantasy"] .anime-card {
  position: relative;
}

html[data-theme="fantasy"] .anime-card::after {
  content: "";
  position: absolute;
  inset: 4px;
  z-index: 2;
  pointer-events: none;
  border: 1px solid rgba(212, 162, 76, 0.2);
  border-radius: calc(var(--radius-md) - 4px);
}

html[data-theme="fantasy"] .anime-card:hover,
html[data-theme="fantasy"] .continue-card:hover,
html[data-theme="fantasy"] .history-item-card:hover,
html[data-theme="fantasy"] .character-card:hover,
html[data-theme="fantasy"] .related-card-item:hover {
  border-color: rgba(212, 162, 76, 0.65);
  box-shadow: 0 8px 28px rgba(0, 0, 0, 0.45), 0 0 18px rgba(212, 162, 76, 0.16);
}

html[data-theme="fantasy"] .btn-primary,
html[data-theme="fantasy"] .btn-skip-action,
html[data-theme="fantasy"] .source-btn.active,
html[data-theme="fantasy"] .season-tab-btn.active,
html[data-theme="fantasy"] .ep-btn.active,
html[data-theme="fantasy"] .dub-pill.active,
html[data-theme="fantasy"] .nav-btn.active {
  background: linear-gradient(180deg, #e0b264, #b57c2d);
  border-color: #f0cc8a;
  color: #1b1006;
  text-shadow: none;
  box-shadow: 0 0 18px rgba(212, 162, 76, 0.2);
}

html[data-theme="fantasy"] .btn-primary:hover,
html[data-theme="fantasy"] .btn-skip-action:hover,
html[data-theme="fantasy"] .season-tab-btn.active:hover,
html[data-theme="fantasy"] .ep-btn.active:hover,
html[data-theme="fantasy"] .dub-pill.active:hover {
  background: linear-gradient(180deg, #f0cc8a, #c8913d);
}

html[data-theme="fantasy"] .btn-ctrl,
html[data-theme="fantasy"] .btn-skip-quick,
html[data-theme="fantasy"] .season-tab-btn,
html[data-theme="fantasy"] .ep-btn,
html[data-theme="fantasy"] .dub-pill,
html[data-theme="fantasy"] .source-btn {
  background: var(--bg-elevated);
  border-color: rgba(212, 162, 76, 0.24);
  color: var(--text-muted);
}

html[data-theme="fantasy"] .btn-ctrl:hover,
html[data-theme="fantasy"] .btn-skip-quick:hover,
html[data-theme="fantasy"] .season-tab-btn:hover,
html[data-theme="fantasy"] .ep-btn:hover,
html[data-theme="fantasy"] .dub-pill:hover {
  background: rgba(212, 162, 76, 0.16);
  border-color: var(--accent-primary);
  color: #f4e4c5;
}

html[data-theme="fantasy"] .player-source-switch,
html[data-theme="fantasy"] .shiki-sync-bar,
html[data-theme="fantasy"] .player-controls-row,
html[data-theme="fantasy"] .dub-selector-card,
html[data-theme="fantasy"] .episodes-card,
html[data-theme="fantasy"] .related-card,
html[data-theme="fantasy"] .characters-card {
  border-color: rgba(212, 162, 76, 0.2);
}

html[data-theme="fantasy"] .search-box input,
html[data-theme="fantasy"] input,
html[data-theme="fantasy"] textarea,
html[data-theme="fantasy"] select {
  border-color: rgba(212, 162, 76, 0.24);
}

html[data-theme="fantasy"] .search-box input:focus,
html[data-theme="fantasy"] input:focus,
html[data-theme="fantasy"] textarea:focus {
  border-color: var(--accent-primary);
  box-shadow: 0 0 0 3px rgba(212, 162, 76, 0.18);
}

html[data-theme="fantasy"] .user-menu-btn,
html[data-theme="fantasy"] .icon-btn,
html[data-theme="fantasy"] .user-menu-avatar {
  border-color: rgba(212, 162, 76, 0.28);
}

html[data-theme="fantasy"] .user-menu-item:hover {
  background: rgba(212, 162, 76, 0.1);
}

html[data-theme="fantasy"] .user-menu-item-danger {
  color: #e6a08c;
}

html[data-theme="fantasy"] .dub-tag-ua {
  background: linear-gradient(135deg, #b56b22, #e0a23e 55%, #f0cc8a);
  color: #1b1006;
}

html[data-theme="fantasy"] .opening-skip-banner,
html[data-theme="fantasy"] .ending-skip-banner,
html[data-theme="fantasy"] .filler-skip-banner {
  background: rgba(30, 18, 9, 0.96);
  border-color: rgba(212, 162, 76, 0.4);
}

html[data-theme="fantasy"] .image-search-drop {
  border-color: rgba(212, 162, 76, 0.28);
}

html[data-theme="fantasy"] .shiki-sync-bar {
  background: rgba(30, 18, 9, 0.7);
}

html[data-theme="fantasy"] .player-status-banner {
  background: rgba(30, 18, 9, 0.96);
  border-color: rgba(212, 162, 76, 0.35);
}

html[data-theme="fantasy"] .toast {
  background: var(--bg-card);
  border-color: rgba(212, 162, 76, 0.3);
}

html[data-theme="fantasy"] .theme-card {
  border-color: rgba(212, 162, 76, 0.2);
}

/* ---------- LIGHT ---------- */
html[data-theme="light"] {
  color-scheme: light;
}

html[data-theme="light"] .navbar {
  border-bottom-color: rgba(15, 23, 42, 0.1);
  box-shadow: 0 1px 0 rgba(15, 23, 42, 0.04), 0 8px 24px rgba(15, 23, 42, 0.06);
}

html[data-theme="light"] h1,
html[data-theme="light"] h2,
html[data-theme="light"] h3,
html[data-theme="light"] h4,
html[data-theme="light"] strong {
  color: var(--text-main);
}

html[data-theme="light"] .shelf-section {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.96) 0%, rgba(255, 255, 255, 0.55) 100%);
  border-color: rgba(15, 23, 42, 0.1);
}

html[data-theme="light"] .section-header h2 {
  color: var(--text-main);
}

html[data-theme="light"] .modal-close:hover {
  color: var(--text-main);
}

html[data-theme="light"] .toggle-control input:checked ~ .toggle-label {
  color: var(--text-main);
}

html[data-theme="light"] .logo-text,
html[data-theme="light"] #detail-title-ru,
html[data-theme="light"] .card-title,
html[data-theme="light"] .continue-title,
html[data-theme="light"] .history-item-title,
html[data-theme="light"] .related-title,
html[data-theme="light"] .character-name,
html[data-theme="light"] .modal-header h3,
html[data-theme="light"] .settings-section h3,
html[data-theme="light"] .user-menu-info strong,
html[data-theme="light"] .page-header-simple h1,
html[data-theme="light"] .empty-state h3,
html[data-theme="light"] .image-result-title,
html[data-theme="light"] .image-search-empty strong {
  color: var(--text-main);
}

html[data-theme="light"] .nav-btn {
  color: var(--text-muted);
}

html[data-theme="light"] .nav-btn:hover {
  background: rgba(15, 23, 42, 0.05);
}

html[data-theme="light"] .nav-btn.active,
html[data-theme="light"] .source-btn.active,
html[data-theme="light"] .season-tab-btn.active,
html[data-theme="light"] .ep-btn.active,
html[data-theme="light"] .dub-pill.active {
  color: #ffffff;
}

html[data-theme="light"] .anime-card,
html[data-theme="light"] .continue-card,
html[data-theme="light"] .history-item-card,
html[data-theme="light"] .character-card,
html[data-theme="light"] .related-card-item,
html[data-theme="light"] .modal-card,
html[data-theme="light"] .user-menu-dropdown,
html[data-theme="light"] .image-result-card,
html[data-theme="light"] .shiki-user-card {
  background: var(--bg-card);
  border-color: rgba(15, 23, 42, 0.1);
  box-shadow: 0 6px 18px rgba(15, 23, 42, 0.06);
}

html[data-theme="light"] .anime-card:hover,
html[data-theme="light"] .continue-card:hover,
html[data-theme="light"] .history-item-card:hover,
html[data-theme="light"] .character-card:hover,
html[data-theme="light"] .related-card-item:hover {
  border-color: var(--accent-primary);
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.12);
}

html[data-theme="light"] .card-poster-wrap,
html[data-theme="light"] .character-photo,
html[data-theme="light"] .detail-poster {
  background: #e2e8f0;
}

html[data-theme="light"] .card-meta,
html[data-theme="light"] .title-original,
html[data-theme="light"] .info-label,
html[data-theme="light"] .character-name-orig,
html[data-theme="light"] .character-desc,
html[data-theme="light"] .history-item-meta,
html[data-theme="light"] .continue-ep,
html[data-theme="light"] .related-rel-badge {
  color: var(--text-muted);
}

html[data-theme="light"] .search-box input,
html[data-theme="light"] input,
html[data-theme="light"] textarea,
html[data-theme="light"] select {
  background: var(--bg-input);
  border-color: rgba(15, 23, 42, 0.14);
  color: var(--text-main);
}

html[data-theme="light"] input::placeholder,
html[data-theme="light"] textarea::placeholder {
  color: var(--text-dim);
}

html[data-theme="light"] .search-btn,
html[data-theme="light"] .search-clear-btn {
  color: var(--text-muted);
}

html[data-theme="light"] .icon-btn,
html[data-theme="light"] .user-menu-btn,
html[data-theme="light"] .btn-ctrl,
html[data-theme="light"] .btn-skip-quick,
html[data-theme="light"] .season-tab-btn,
html[data-theme="light"] .ep-btn,
html[data-theme="light"] .dub-pill,
html[data-theme="light"] .source-btn {
  background: #f8fafc;
  border-color: rgba(15, 23, 42, 0.12);
  color: var(--text-muted);
}

html[data-theme="light"] .icon-btn:hover,
html[data-theme="light"] .user-menu-btn:hover,
html[data-theme="light"] .btn-ctrl:hover,
html[data-theme="light"] .btn-skip-quick:hover,
html[data-theme="light"] .season-tab-btn:hover,
html[data-theme="light"] .ep-btn:hover,
html[data-theme="light"] .dub-pill:hover {
  background: #eef2f7;
  border-color: var(--accent-primary);
  color: var(--text-main);
}

html[data-theme="light"] .player-controls-row,
html[data-theme="light"] .shiki-sync-bar,
html[data-theme="light"] .player-source-switch {
  background: #ffffff;
  border-color: rgba(15, 23, 42, 0.1);
}

html[data-theme="light"] .player-source-switch {
  background: #f8fafc;
}

html[data-theme="light"] .dub-selector-card,
html[data-theme="light"] .episodes-card,
html[data-theme="light"] .related-card,
html[data-theme="light"] .characters-card,
html[data-theme="light"] .settings-section {
  background: #ffffff;
  border-color: rgba(15, 23, 42, 0.1);
}

html[data-theme="light"] .settings-hint,
html[data-theme="light"] .settings-section p,
html[data-theme="light"] .setting-checkbox-row span,
html[data-theme="light"] .detail-synopsis {
  color: var(--text-muted);
}

html[data-theme="light"] .user-menu-item {
  color: var(--text-main);
}

html[data-theme="light"] .user-menu-item:hover {
  background: #f1f5f9;
}

html[data-theme="light"] .user-menu-divider {
  background: rgba(15, 23, 42, 0.1);
}

html[data-theme="light"] .user-menu-btn {
  color: var(--text-main);
}

html[data-theme="light"] .user-menu-avatar {
  background: #f1f5f9;
  border-color: rgba(15, 23, 42, 0.12);
}

html[data-theme="light"] .toast {
  background: #ffffff;
  color: var(--text-main);
  border-color: rgba(15, 23, 42, 0.1);
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.15);
}

html[data-theme="light"] .player-status-banner,
html[data-theme="light"] .opening-skip-banner,
html[data-theme="light"] .ending-skip-banner,
html[data-theme="light"] .filler-skip-banner {
  background: #ffffff;
  color: var(--text-main);
  border-color: rgba(15, 23, 42, 0.14);
}

html[data-theme="light"] .image-search-drop {
  background: #f8fafc;
  border-color: rgba(15, 23, 42, 0.16);
}

html[data-theme="light"] .image-search-status {
  background: #f1f5f9;
  color: var(--text-muted);
}

html[data-theme="light"] .nav-btn.active,
html[data-theme="light"] .source-btn.active,
html[data-theme="light"] .season-tab-btn.active,
html[data-theme="light"] .ep-btn.active,
html[data-theme="light"] .dub-pill.active {
  background: var(--accent-primary);
  border-color: var(--accent-primary);
  color: #ffffff;
  box-shadow: var(--shadow-glow);
}

html[data-theme="light"] .player-breadcrumbs,
html[data-theme="light"] #crumb-ep {
  color: var(--text-muted);
}

html[data-theme="light"] #crumb-title,
html[data-theme="light"] .info-val {
  color: var(--text-main);
}

html[data-theme="light"] .info-label,
html[data-theme="light"] .synopsis-box p {
  color: var(--text-muted);
}

html[data-theme="light"] .theme-card {
  background: #ffffff;
  border-color: rgba(15, 23, 42, 0.1);
}

html[data-theme="light"] .theme-card-meta strong {
  color: var(--text-main);
}

/* ---------- CYBERPUNK ---------- */
html[data-theme="cyberpunk"] .navbar {
  border-bottom-color: rgba(255, 46, 99, 0.35);
  box-shadow: 0 0 24px rgba(255, 46, 99, 0.12);
}

html[data-theme="cyberpunk"] .btn-primary {
  background: linear-gradient(135deg, #ff2e63, #a855f7);
}

html[data-theme="cyberpunk"] .anime-card:hover,
html[data-theme="cyberpunk"] .continue-card:hover,
html[data-theme="cyberpunk"] .character-card:hover {
  box-shadow: 0 8px 28px rgba(255, 46, 99, 0.22);
}

/* ---------- OLED ---------- */
html[data-theme="oled"] .opening-skip-banner,
html[data-theme="oled"] .ending-skip-banner {
  background: #0b0b0b;
}
