/* Cyber — default */
:root,
[data-theme="cyber"] {
  color-scheme: dark;
  --font-body: "Rajdhani", "Segoe UI", system-ui, sans-serif;
  --font-display: "Orbitron", sans-serif;

  --bg: #07050f;
  --bg-glow-1: rgba(255, 45, 163, 0.18);
  --bg-glow-2: rgba(0, 245, 255, 0.1);
  --bg-glow-3: rgba(120, 0, 255, 0.12);
  --grid-line: rgba(0, 245, 255, 0.04);
  --scanline-opacity: 0.35;

  --surface: rgba(12, 8, 24, 0.82);
  --surface-solid: #120a1e;
  --overlay-bg: rgba(0, 0, 0, 0.72);
  --dialog-bg: rgba(12, 8, 24, 0.96);
  --input-bg: rgba(0, 0, 0, 0.45);

  --border: rgba(0, 245, 255, 0.22);
  --border-hot: rgba(255, 0, 128, 0.45);
  --text: #eef6ff;
  --muted: #9aa8c7;
  --accent: #00f5ff;
  --accent-hover: #7fffff;
  --accent-2: #ff2da3;
  --accent-2-dim: #c0167a;
  --accent-3: #c9a0ff;
  --title-grad-mid: #fff;
  --danger: #ff4d6d;
  --danger-dim: #c9184a;
  --success: #39ffb8;

  --glow-primary: 0 0 24px rgba(0, 245, 255, 0.35);
  --glow-secondary: 0 0 28px rgba(255, 45, 163, 0.35);
  --glow-danger: 0 0 16px rgba(255, 77, 109, 0.25);

  --header-overlay: linear-gradient(
    to top,
    rgba(7, 5, 15, 0.92) 0%,
    rgba(7, 5, 15, 0.45) 55%,
    transparent 100%
  );
  --title-shadow: 0 0 12px rgba(0, 245, 255, 0.35);
  --card-inset: inset 0 1px 0 rgba(255, 255, 255, 0.06);
  --card-shadow: 0 20px 50px rgba(0, 0, 0, 0.45);
  --login-art-glow: linear-gradient(to top, rgba(255, 45, 163, 0.35), transparent);
  --secondary-hover: rgba(0, 245, 255, 0.08);
  --toolbar-border: rgba(0, 245, 255, 0.12);

  --banner-border: rgba(0, 245, 255, 0.22);
  --banner-shadow: inset 0 0 24px rgba(0, 245, 255, 0.06), 0 0 12px rgba(0, 245, 255, 0.04);
  --banner-bg: rgba(0, 0, 0, 0.35);
  --banner-title-shadow: 0 0 12px rgba(0, 245, 255, 0.35);

  --images-banner-border: rgba(255, 45, 163, 0.28);
  --images-banner-shadow: inset 0 0 24px rgba(255, 45, 163, 0.08), 0 0 12px rgba(255, 45, 163, 0.05);
  --images-title-shadow: 0 0 12px rgba(255, 45, 163, 0.35);

  --videos-banner-border: rgba(186, 134, 255, 0.32);
  --videos-banner-shadow: inset 0 0 24px rgba(186, 134, 255, 0.08), 0 0 12px rgba(186, 134, 255, 0.05);
  --videos-title-shadow: 0 0 12px rgba(186, 134, 255, 0.4);
  --videos-card-border: rgba(186, 134, 255, 0.22);
  --videos-card-shadow: inset 0 0 24px rgba(186, 134, 255, 0.05);
  --videos-badge-border: rgba(186, 134, 255, 0.55);
  --videos-badge-shadow: 0 0 12px rgba(186, 134, 255, 0.45);

  --media-card-border: rgba(255, 45, 163, 0.22);
  --media-card-shadow: inset 0 0 24px rgba(255, 45, 163, 0.05);
  --media-card-bg: rgba(0, 0, 0, 0.32);
  --preview-border: rgba(0, 245, 255, 0.18);
  --preview-bg: rgba(0, 0, 0, 0.45);
  --play-badge-border: rgba(255, 45, 163, 0.55);
  --play-badge-shadow: 0 0 12px rgba(255, 45, 163, 0.45);

  --file-row-border: rgba(0, 245, 255, 0.14);
  --file-row-bg: rgba(0, 0, 0, 0.28);
  --file-row-hover-border: rgba(255, 45, 163, 0.35);
  --file-row-hover-shadow: inset 0 0 20px rgba(255, 45, 163, 0.06);

  --drop-zone-bg: rgba(0, 0, 0, 0.82);
  --drop-zone-border: rgba(0, 245, 255, 0.55);
  --drop-zone-shadow: inset 0 0 48px rgba(0, 245, 255, 0.12);
  --drop-zone-title-shadow: 0 0 16px rgba(0, 245, 255, 0.4);

  --status-bg: rgba(0, 245, 255, 0.1);
  --status-border: rgba(0, 245, 255, 0.2);
  --status-success-bg: rgba(57, 255, 184, 0.1);
  --status-success-border: rgba(57, 255, 184, 0.25);
  --status-error-bg: rgba(255, 77, 109, 0.1);
  --status-error-border: rgba(255, 77, 109, 0.25);
  --error-shadow: 0 0 10px rgba(255, 77, 109, 0.4);

  --confirm-border: rgba(255, 77, 109, 0.35);
  --prompt-border: rgba(0, 245, 255, 0.35);
  --lightbox-bg: rgba(0, 0, 0, 0.88);
  --lightbox-media-border: rgba(0, 245, 255, 0.25);
  --lightbox-media-bg: rgba(0, 0, 0, 0.55);
  --header-art-filter: saturate(1.15) contrast(1.05);
  --header-art-position: center 20%;
}
[data-theme="matrix"] {
  color-scheme: dark;
  --font-body: "Share Tech Mono", "Consolas", monospace;
  --font-display: "Share Tech Mono", "Consolas", monospace;

  --bg: #000000;
  --bg-glow-1: rgba(0, 255, 65, 0.12);
  --bg-glow-2: rgba(0, 120, 40, 0.18);
  --bg-glow-3: rgba(0, 80, 30, 0.15);
  --grid-line: rgba(0, 255, 65, 0.08);
  --scanline-opacity: 0.2;

  --surface: rgba(0, 12, 4, 0.9);
  --surface-solid: #001408;
  --overlay-bg: rgba(0, 0, 0, 0.85);
  --dialog-bg: rgba(0, 10, 4, 0.98);
  --input-bg: rgba(0, 0, 0, 0.65);

  --border: rgba(0, 255, 65, 0.28);
  --border-hot: rgba(0, 255, 65, 0.5);
  --text: #d4ffd4;
  --muted: #5a9a5a;
  --accent: #00ff41;
  --accent-hover: #7fff9a;
  --accent-2: #00cc33;
  --accent-2-dim: #008f24;
  --accent-3: #39ff14;
  --title-grad-mid: #b8ffb8;
  --danger: #ff3355;
  --danger-dim: #cc2244;
  --success: #00ff41;

  --glow-primary: 0 0 24px rgba(0, 255, 65, 0.4);
  --glow-secondary: 0 0 28px rgba(0, 200, 50, 0.35);
  --glow-danger: 0 0 16px rgba(255, 51, 85, 0.35);

  --header-overlay: linear-gradient(
    to top,
    rgba(0, 0, 0, 0.95) 0%,
    rgba(0, 20, 8, 0.55) 55%,
    transparent 100%
  );
  --title-shadow: 0 0 14px rgba(0, 255, 65, 0.5);
  --card-inset: inset 0 1px 0 rgba(0, 255, 65, 0.08);
  --card-shadow: 0 20px 50px rgba(0, 0, 0, 0.6);
  --login-art-glow: linear-gradient(to top, rgba(0, 255, 65, 0.25), transparent);
  --secondary-hover: rgba(0, 255, 65, 0.1);
  --toolbar-border: rgba(0, 255, 65, 0.15);

  --banner-border: rgba(0, 255, 65, 0.3);
  --banner-shadow: inset 0 0 24px rgba(0, 255, 65, 0.08), 0 0 14px rgba(0, 255, 65, 0.06);
  --banner-bg: rgba(0, 8, 2, 0.55);
  --banner-title-shadow: 0 0 12px rgba(0, 255, 65, 0.45);

  --images-banner-border: rgba(0, 220, 55, 0.35);
  --images-banner-shadow: inset 0 0 24px rgba(0, 255, 65, 0.1), 0 0 12px rgba(0, 200, 50, 0.06);
  --images-title-shadow: 0 0 12px rgba(0, 255, 65, 0.45);

  --videos-banner-border: rgba(0, 180, 45, 0.35);
  --videos-banner-shadow: inset 0 0 24px rgba(0, 200, 50, 0.1), 0 0 12px rgba(0, 150, 40, 0.06);
  --videos-title-shadow: 0 0 12px rgba(0, 220, 55, 0.45);
  --videos-card-border: rgba(0, 200, 50, 0.28);
  --videos-card-shadow: inset 0 0 24px rgba(0, 255, 65, 0.06);
  --videos-badge-border: rgba(0, 255, 65, 0.55);
  --videos-badge-shadow: 0 0 12px rgba(0, 255, 65, 0.45);

  --media-card-border: rgba(0, 220, 55, 0.28);
  --media-card-shadow: inset 0 0 24px rgba(0, 255, 65, 0.06);
  --media-card-bg: rgba(0, 6, 2, 0.45);
  --preview-border: rgba(0, 255, 65, 0.22);
  --preview-bg: rgba(0, 0, 0, 0.55);
  --play-badge-border: rgba(0, 255, 65, 0.55);
  --play-badge-shadow: 0 0 12px rgba(0, 255, 65, 0.45);

  --file-row-border: rgba(0, 255, 65, 0.18);
  --file-row-bg: rgba(0, 8, 2, 0.4);
  --file-row-hover-border: rgba(0, 255, 65, 0.4);
  --file-row-hover-shadow: inset 0 0 20px rgba(0, 255, 65, 0.08);

  --drop-zone-bg: rgba(0, 0, 0, 0.88);
  --drop-zone-border: rgba(0, 255, 65, 0.6);
  --drop-zone-shadow: inset 0 0 48px rgba(0, 255, 65, 0.14);
  --drop-zone-title-shadow: 0 0 16px rgba(0, 255, 65, 0.5);

  --status-bg: rgba(0, 255, 65, 0.08);
  --status-border: rgba(0, 255, 65, 0.25);
  --status-success-bg: rgba(0, 255, 65, 0.12);
  --status-success-border: rgba(0, 255, 65, 0.3);
  --status-error-bg: rgba(255, 51, 85, 0.12);
  --status-error-border: rgba(255, 51, 85, 0.3);
  --error-shadow: 0 0 10px rgba(255, 51, 85, 0.45);

  --confirm-border: rgba(255, 51, 85, 0.4);
  --prompt-border: rgba(0, 255, 65, 0.4);
  --lightbox-bg: rgba(0, 0, 0, 0.92);
  --lightbox-media-border: rgba(0, 255, 65, 0.3);
  --lightbox-media-bg: rgba(0, 8, 2, 0.65);
  --header-art-filter: none;
}

[data-theme="matrix"] .scanlines {
  background: repeating-linear-gradient(
    to bottom,
    rgba(0, 255, 65, 0.03) 0,
    rgba(0, 255, 65, 0.03) 1px,
    transparent 1px,
    transparent 3px
  );
}

/* Lord of the Rings */
[data-theme="lotr"] {
  color-scheme: dark;
  --font-body: "Rajdhani", "Segoe UI", system-ui, sans-serif;
  --font-display: "Cinzel", "Palatino Linotype", serif;

  --bg: #0f1410;
  --bg-glow-1: rgba(201, 162, 39, 0.14);
  --bg-glow-2: rgba(45, 90, 61, 0.2);
  --bg-glow-3: rgba(80, 50, 30, 0.18);
  --grid-line: rgba(201, 162, 39, 0.05);
  --scanline-opacity: 0.12;

  --surface: rgba(22, 18, 12, 0.88);
  --surface-solid: #1a1510;
  --overlay-bg: rgba(8, 6, 4, 0.82);
  --dialog-bg: rgba(22, 18, 12, 0.98);
  --input-bg: rgba(0, 0, 0, 0.4);

  --border: rgba(201, 162, 39, 0.28);
  --border-hot: rgba(180, 120, 50, 0.45);
  --text: #f4ead5;
  --muted: #a89878;
  --accent: #d4af37;
  --accent-hover: #f0d060;
  --accent-2: #8b5a2b;
  --accent-2-dim: #6b4423;
  --accent-3: #5a8f6a;
  --title-grad-mid: #f8e8c8;
  --danger: #a63d3d;
  --danger-dim: #7a2e2e;
  --success: #5a9a6a;

  --glow-primary: 0 0 24px rgba(201, 162, 39, 0.35);
  --glow-secondary: 0 0 28px rgba(139, 90, 43, 0.35);
  --glow-danger: 0 0 16px rgba(166, 61, 61, 0.35);

  --header-overlay: linear-gradient(
    to top,
    rgba(15, 12, 8, 0.94) 0%,
    rgba(30, 24, 16, 0.5) 55%,
    transparent 100%
  );
  --title-shadow: 0 0 12px rgba(201, 162, 39, 0.4);
  --card-inset: inset 0 1px 0 rgba(201, 162, 39, 0.1);
  --card-shadow: 0 20px 50px rgba(0, 0, 0, 0.5);
  --login-art-glow: linear-gradient(to top, rgba(201, 162, 39, 0.3), transparent);
  --secondary-hover: rgba(201, 162, 39, 0.1);
  --toolbar-border: rgba(201, 162, 39, 0.15);

  --banner-border: rgba(201, 162, 39, 0.3);
  --banner-shadow: inset 0 0 24px rgba(201, 162, 39, 0.08), 0 0 12px rgba(139, 90, 43, 0.06);
  --banner-bg: rgba(12, 10, 6, 0.5);
  --banner-title-shadow: 0 0 12px rgba(201, 162, 39, 0.4);

  --images-banner-border: rgba(90, 143, 106, 0.35);
  --images-banner-shadow: inset 0 0 24px rgba(90, 143, 106, 0.1), 0 0 12px rgba(45, 90, 61, 0.06);
  --images-title-shadow: 0 0 12px rgba(90, 143, 106, 0.45);

  --videos-banner-border: rgba(180, 120, 50, 0.35);
  --videos-banner-shadow: inset 0 0 24px rgba(139, 90, 43, 0.1), 0 0 12px rgba(107, 68, 35, 0.06);
  --videos-title-shadow: 0 0 12px rgba(201, 162, 39, 0.45);
  --videos-card-border: rgba(180, 120, 50, 0.28);
  --videos-card-shadow: inset 0 0 24px rgba(139, 90, 43, 0.06);
  --videos-badge-border: rgba(201, 162, 39, 0.55);
  --videos-badge-shadow: 0 0 12px rgba(201, 162, 39, 0.4);

  --media-card-border: rgba(90, 143, 106, 0.28);
  --media-card-shadow: inset 0 0 24px rgba(45, 90, 61, 0.06);
  --media-card-bg: rgba(12, 10, 6, 0.45);
  --preview-border: rgba(201, 162, 39, 0.22);
  --preview-bg: rgba(0, 0, 0, 0.45);
  --play-badge-border: rgba(201, 162, 39, 0.55);
  --play-badge-shadow: 0 0 12px rgba(201, 162, 39, 0.4);

  --file-row-border: rgba(201, 162, 39, 0.18);
  --file-row-bg: rgba(12, 10, 6, 0.38);
  --file-row-hover-border: rgba(201, 162, 39, 0.38);
  --file-row-hover-shadow: inset 0 0 20px rgba(201, 162, 39, 0.08);

  --drop-zone-bg: rgba(8, 6, 4, 0.88);
  --drop-zone-border: rgba(201, 162, 39, 0.55);
  --drop-zone-shadow: inset 0 0 48px rgba(201, 162, 39, 0.12);
  --drop-zone-title-shadow: 0 0 16px rgba(201, 162, 39, 0.45);

  --status-bg: rgba(201, 162, 39, 0.1);
  --status-border: rgba(201, 162, 39, 0.25);
  --status-success-bg: rgba(90, 154, 106, 0.12);
  --status-success-border: rgba(90, 154, 106, 0.3);
  --status-error-bg: rgba(166, 61, 61, 0.12);
  --status-error-border: rgba(166, 61, 61, 0.3);
  --error-shadow: 0 0 10px rgba(166, 61, 61, 0.4);

  --confirm-border: rgba(166, 61, 61, 0.4);
  --prompt-border: rgba(201, 162, 39, 0.4);
  --lightbox-bg: rgba(8, 6, 4, 0.9);
  --lightbox-media-border: rgba(201, 162, 39, 0.3);
  --lightbox-media-bg: rgba(12, 10, 6, 0.65);
  --header-art-filter: none;
}

[data-theme="lotr"] .grid-bg {
  background-size: 64px 64px;
}

/* Rocket League */
[data-theme="rocket"] {
  color-scheme: dark;
  --font-body: "Rajdhani", "Segoe UI", system-ui, sans-serif;
  --font-display: "Orbitron", sans-serif;

  --bg: #0a1220;
  --bg-glow-1: rgba(255, 107, 0, 0.16);
  --bg-glow-2: rgba(46, 107, 230, 0.14);
  --bg-glow-3: rgba(30, 60, 120, 0.18);
  --grid-line: rgba(46, 107, 230, 0.06);
  --scanline-opacity: 0.15;

  --surface: rgba(10, 20, 40, 0.88);
  --surface-solid: #0f1a2e;
  --overlay-bg: rgba(6, 10, 20, 0.85);
  --dialog-bg: rgba(10, 18, 36, 0.98);
  --input-bg: rgba(0, 0, 0, 0.5);

  --border: rgba(46, 107, 230, 0.28);
  --border-hot: rgba(255, 107, 0, 0.45);
  --text: #eef4ff;
  --muted: #7a8faa;
  --accent: #3d8bff;
  --accent-hover: #6aabff;
  --accent-2: #ff6b00;
  --accent-2-dim: #cc5500;
  --accent-3: #5cb8ff;
  --title-grad-mid: #ffffff;
  --danger: #ff3355;
  --danger-dim: #cc2244;
  --success: #3dffa0;

  --glow-primary: 0 0 24px rgba(46, 107, 230, 0.4);
  --glow-secondary: 0 0 28px rgba(255, 107, 0, 0.4);
  --glow-danger: 0 0 16px rgba(255, 51, 85, 0.35);

  --header-overlay: linear-gradient(
    to top,
    rgba(10, 18, 32, 0.94) 0%,
    rgba(10, 18, 32, 0.5) 55%,
    transparent 100%
  );
  --title-shadow: 0 0 14px rgba(46, 107, 230, 0.45);
  --card-inset: inset 0 1px 0 rgba(46, 107, 230, 0.1);
  --card-shadow: 0 20px 50px rgba(0, 0, 0, 0.5);
  --login-art-glow: linear-gradient(to top, rgba(255, 107, 0, 0.35), transparent);
  --secondary-hover: rgba(46, 107, 230, 0.1);
  --toolbar-border: rgba(46, 107, 230, 0.15);

  --banner-border: rgba(46, 107, 230, 0.3);
  --banner-shadow: inset 0 0 24px rgba(46, 107, 230, 0.08), 0 0 12px rgba(255, 107, 0, 0.06);
  --banner-bg: rgba(8, 14, 28, 0.55);
  --banner-title-shadow: 0 0 12px rgba(46, 107, 230, 0.45);

  --images-banner-border: rgba(255, 107, 0, 0.35);
  --images-banner-shadow: inset 0 0 24px rgba(255, 107, 0, 0.1), 0 0 12px rgba(255, 107, 0, 0.06);
  --images-title-shadow: 0 0 12px rgba(255, 107, 0, 0.45);

  --videos-banner-border: rgba(92, 184, 255, 0.35);
  --videos-banner-shadow: inset 0 0 24px rgba(92, 184, 255, 0.1), 0 0 12px rgba(46, 107, 230, 0.06);
  --videos-title-shadow: 0 0 12px rgba(92, 184, 255, 0.45);
  --videos-card-border: rgba(92, 184, 255, 0.28);
  --videos-card-shadow: inset 0 0 24px rgba(46, 107, 230, 0.06);
  --videos-badge-border: rgba(92, 184, 255, 0.55);
  --videos-badge-shadow: 0 0 12px rgba(92, 184, 255, 0.45);

  --media-card-border: rgba(255, 107, 0, 0.28);
  --media-card-shadow: inset 0 0 24px rgba(255, 107, 0, 0.06);
  --media-card-bg: rgba(8, 14, 28, 0.45);
  --preview-border: rgba(46, 107, 230, 0.22);
  --preview-bg: rgba(0, 0, 0, 0.5);
  --play-badge-border: rgba(92, 184, 255, 0.55);
  --play-badge-shadow: 0 0 12px rgba(92, 184, 255, 0.45);

  --file-row-border: rgba(46, 107, 230, 0.18);
  --file-row-bg: rgba(8, 14, 28, 0.4);
  --file-row-hover-border: rgba(255, 107, 0, 0.4);
  --file-row-hover-shadow: inset 0 0 20px rgba(255, 107, 0, 0.08);

  --drop-zone-bg: rgba(6, 10, 20, 0.88);
  --drop-zone-border: rgba(46, 107, 230, 0.6);
  --drop-zone-shadow: inset 0 0 48px rgba(46, 107, 230, 0.14);
  --drop-zone-title-shadow: 0 0 16px rgba(46, 107, 230, 0.5);

  --status-bg: rgba(46, 107, 230, 0.1);
  --status-border: rgba(46, 107, 230, 0.25);
  --status-success-bg: rgba(61, 255, 160, 0.1);
  --status-success-border: rgba(61, 255, 160, 0.3);
  --status-error-bg: rgba(255, 51, 85, 0.12);
  --status-error-border: rgba(255, 51, 85, 0.3);
  --error-shadow: 0 0 10px rgba(255, 51, 85, 0.45);

  --confirm-border: rgba(255, 51, 85, 0.4);
  --prompt-border: rgba(46, 107, 230, 0.4);
  --lightbox-bg: rgba(6, 10, 20, 0.92);
  --lightbox-media-border: rgba(46, 107, 230, 0.3);
  --lightbox-media-bg: rgba(8, 14, 28, 0.65);
  --header-art-filter: none;
}

[data-theme="rocket"] .grid-bg {
  background-size: 40px 40px;
  background-image:
    linear-gradient(var(--grid-line) 1px, transparent 1px),
    linear-gradient(90deg, var(--grid-line) 1px, transparent 1px),
    linear-gradient(60deg, transparent 48%, rgba(46, 107, 230, 0.03) 49%, rgba(46, 107, 230, 0.03) 51%, transparent 52%),
    linear-gradient(-60deg, transparent 48%, rgba(255, 107, 0, 0.03) 49%, rgba(255, 107, 0, 0.03) 51%, transparent 52%);
  background-size: 40px 40px, 40px 40px, 56px 56px, 56px 56px;
}

/* Palworld */
[data-theme="palworld"] {
  color-scheme: dark;
  --font-body: "Nunito", "Rajdhani", "Segoe UI", system-ui, sans-serif;
  --font-display: "Nunito", "Rajdhani", sans-serif;

  --bg: #0c1a22;
  --bg-glow-1: rgba(255, 149, 64, 0.16);
  --bg-glow-2: rgba(56, 189, 168, 0.14);
  --bg-glow-3: rgba(90, 168, 80, 0.12);
  --grid-line: rgba(56, 189, 168, 0.06);
  --scanline-opacity: 0.08;

  --surface: rgba(14, 28, 34, 0.9);
  --surface-solid: #12262e;
  --overlay-bg: rgba(8, 16, 20, 0.82);
  --dialog-bg: rgba(14, 28, 34, 0.98);
  --input-bg: rgba(0, 0, 0, 0.4);

  --border: rgba(56, 189, 168, 0.3);
  --border-hot: rgba(255, 149, 64, 0.45);
  --text: #f2f8f4;
  --muted: #8aa8a0;
  --accent: #38bda8;
  --accent-hover: #6ee0cb;
  --accent-2: #ff9540;
  --accent-2-dim: #d47a1f;
  --accent-3: #7ed957;
  --title-grad-mid: #fff4e0;
  --danger: #ef5a5a;
  --danger-dim: #c43d3d;
  --success: #7ed957;

  --glow-primary: 0 0 24px rgba(56, 189, 168, 0.4);
  --glow-secondary: 0 0 28px rgba(255, 149, 64, 0.35);
  --glow-danger: 0 0 16px rgba(239, 90, 90, 0.35);

  --header-overlay: linear-gradient(
    to top,
    rgba(12, 26, 34, 0.94) 0%,
    rgba(12, 26, 34, 0.45) 55%,
    transparent 100%
  );
  --title-shadow: 0 0 12px rgba(56, 189, 168, 0.4);
  --card-inset: inset 0 1px 0 rgba(255, 255, 255, 0.06);
  --card-shadow: 0 20px 50px rgba(0, 0, 0, 0.45);
  --login-art-glow: linear-gradient(to top, rgba(255, 149, 64, 0.35), transparent);
  --secondary-hover: rgba(56, 189, 168, 0.1);
  --toolbar-border: rgba(56, 189, 168, 0.15);

  --banner-border: rgba(56, 189, 168, 0.3);
  --banner-shadow: inset 0 0 24px rgba(56, 189, 168, 0.08), 0 0 12px rgba(255, 149, 64, 0.05);
  --banner-bg: rgba(10, 22, 28, 0.5);
  --banner-title-shadow: 0 0 12px rgba(56, 189, 168, 0.4);

  --images-banner-border: rgba(255, 149, 64, 0.35);
  --images-banner-shadow: inset 0 0 24px rgba(255, 149, 64, 0.1), 0 0 12px rgba(255, 149, 64, 0.06);
  --images-title-shadow: 0 0 12px rgba(255, 149, 64, 0.45);

  --videos-banner-border: rgba(126, 217, 87, 0.35);
  --videos-banner-shadow: inset 0 0 24px rgba(126, 217, 87, 0.1), 0 0 12px rgba(90, 168, 80, 0.06);
  --videos-title-shadow: 0 0 12px rgba(126, 217, 87, 0.45);
  --videos-card-border: rgba(126, 217, 87, 0.28);
  --videos-card-shadow: inset 0 0 24px rgba(126, 217, 87, 0.06);
  --videos-badge-border: rgba(126, 217, 87, 0.55);
  --videos-badge-shadow: 0 0 12px rgba(126, 217, 87, 0.45);

  --media-card-border: rgba(255, 149, 64, 0.28);
  --media-card-shadow: inset 0 0 24px rgba(255, 149, 64, 0.06);
  --media-card-bg: rgba(10, 22, 28, 0.45);
  --preview-border: rgba(56, 189, 168, 0.22);
  --preview-bg: rgba(0, 0, 0, 0.4);
  --play-badge-border: rgba(126, 217, 87, 0.55);
  --play-badge-shadow: 0 0 12px rgba(126, 217, 87, 0.45);

  --file-row-border: rgba(56, 189, 168, 0.18);
  --file-row-bg: rgba(10, 22, 28, 0.4);
  --file-row-hover-border: rgba(255, 149, 64, 0.4);
  --file-row-hover-shadow: inset 0 0 20px rgba(255, 149, 64, 0.08);

  --drop-zone-bg: rgba(8, 16, 20, 0.88);
  --drop-zone-border: rgba(56, 189, 168, 0.55);
  --drop-zone-shadow: inset 0 0 48px rgba(56, 189, 168, 0.12);
  --drop-zone-title-shadow: 0 0 16px rgba(56, 189, 168, 0.45);

  --status-bg: rgba(56, 189, 168, 0.1);
  --status-border: rgba(56, 189, 168, 0.25);
  --status-success-bg: rgba(126, 217, 87, 0.12);
  --status-success-border: rgba(126, 217, 87, 0.3);
  --status-error-bg: rgba(239, 90, 90, 0.12);
  --status-error-border: rgba(239, 90, 90, 0.3);
  --error-shadow: 0 0 10px rgba(239, 90, 90, 0.4);

  --confirm-border: rgba(239, 90, 90, 0.4);
  --prompt-border: rgba(56, 189, 168, 0.4);
  --lightbox-bg: rgba(8, 16, 20, 0.9);
  --lightbox-media-border: rgba(56, 189, 168, 0.3);
  --lightbox-media-bg: rgba(10, 22, 28, 0.65);
  --header-art-filter: none;
  --header-art-position: left 72%;
}

[data-theme="palworld"] .grid-bg {
  background-size: 56px 56px;
  opacity: 0.7;
}

[data-theme="deadpaul"] {
  color-scheme: dark;
  --font-body: "Rajdhani", "Segoe UI", system-ui, sans-serif;
  --font-display: "Creepster", "Cinzel", serif;

  --bg: #060404;
  --bg-glow-1: rgba(139, 0, 0, 0.22);
  --bg-glow-2: rgba(90, 0, 0, 0.18);
  --bg-glow-3: rgba(40, 0, 0, 0.24);
  --grid-line: rgba(139, 0, 0, 0.07);
  --scanline-opacity: 0.28;

  --surface: rgba(12, 4, 4, 0.92);
  --surface-solid: #120606;
  --overlay-bg: rgba(0, 0, 0, 0.88);
  --dialog-bg: rgba(10, 2, 2, 0.98);
  --input-bg: rgba(0, 0, 0, 0.55);

  --border: rgba(139, 0, 0, 0.34);
  --border-hot: rgba(180, 20, 30, 0.55);
  --text: #f6ecec;
  --muted: #9a6666;
  --accent: #b11226;
  --accent-hover: #d62238;
  --accent-2: #6b0000;
  --accent-2-dim: #420000;
  --accent-3: #8f1d1d;
  --title-grad-mid: #ffd5d5;
  --danger: #ff3b4f;
  --danger-dim: #a81828;
  --success: #7a9a6a;

  --glow-primary: 0 0 24px rgba(177, 18, 38, 0.45);
  --glow-secondary: 0 0 28px rgba(90, 0, 0, 0.5);
  --glow-danger: 0 0 18px rgba(255, 59, 79, 0.4);

  --header-overlay: linear-gradient(
    to top,
    rgba(6, 4, 4, 0.96) 0%,
    rgba(20, 4, 4, 0.55) 55%,
    transparent 100%
  );
  --title-shadow: 0 0 14px rgba(177, 18, 38, 0.55);
  --card-inset: inset 0 1px 0 rgba(255, 255, 255, 0.04);
  --card-shadow: 0 20px 50px rgba(0, 0, 0, 0.65);
  --login-art-glow: linear-gradient(to top, rgba(139, 0, 0, 0.45), transparent);
  --secondary-hover: rgba(139, 0, 0, 0.14);
  --toolbar-border: rgba(139, 0, 0, 0.18);

  --banner-border: rgba(139, 0, 0, 0.34);
  --banner-shadow: inset 0 0 24px rgba(139, 0, 0, 0.12), 0 0 12px rgba(90, 0, 0, 0.08);
  --banner-bg: rgba(8, 2, 2, 0.55);
  --banner-title-shadow: 0 0 12px rgba(177, 18, 38, 0.5);

  --images-banner-border: rgba(180, 20, 30, 0.38);
  --images-banner-shadow: inset 0 0 24px rgba(139, 0, 0, 0.12), 0 0 12px rgba(90, 0, 0, 0.08);
  --images-title-shadow: 0 0 12px rgba(177, 18, 38, 0.55);

  --videos-banner-border: rgba(107, 0, 0, 0.42);
  --videos-banner-shadow: inset 0 0 24px rgba(107, 0, 0, 0.14), 0 0 12px rgba(60, 0, 0, 0.08);
  --videos-title-shadow: 0 0 12px rgba(139, 0, 0, 0.55);
  --videos-card-border: rgba(139, 0, 0, 0.3);
  --videos-card-shadow: inset 0 0 24px rgba(139, 0, 0, 0.08);
  --videos-badge-border: rgba(177, 18, 38, 0.55);
  --videos-badge-shadow: 0 0 12px rgba(177, 18, 38, 0.45);

  --media-card-border: rgba(139, 0, 0, 0.28);
  --media-card-shadow: inset 0 0 24px rgba(139, 0, 0, 0.08);
  --media-card-bg: rgba(8, 2, 2, 0.5);
  --preview-border: rgba(139, 0, 0, 0.24);
  --preview-bg: rgba(0, 0, 0, 0.55);
  --play-badge-border: rgba(177, 18, 38, 0.55);
  --play-badge-shadow: 0 0 12px rgba(177, 18, 38, 0.45);

  --file-row-border: rgba(139, 0, 0, 0.2);
  --file-row-bg: rgba(8, 2, 2, 0.45);
  --file-row-hover-border: rgba(180, 20, 30, 0.45);
  --file-row-hover-shadow: inset 0 0 20px rgba(139, 0, 0, 0.12);

  --drop-zone-bg: rgba(4, 0, 0, 0.9);
  --drop-zone-border: rgba(177, 18, 38, 0.55);
  --drop-zone-shadow: inset 0 0 48px rgba(139, 0, 0, 0.16);
  --drop-zone-title-shadow: 0 0 16px rgba(177, 18, 38, 0.5);

  --status-bg: rgba(139, 0, 0, 0.12);
  --status-border: rgba(139, 0, 0, 0.28);
  --status-success-bg: rgba(90, 110, 80, 0.14);
  --status-success-border: rgba(90, 110, 80, 0.3);
  --status-error-bg: rgba(177, 18, 38, 0.14);
  --status-error-border: rgba(177, 18, 38, 0.32);
  --error-shadow: 0 0 10px rgba(255, 59, 79, 0.45);

  --confirm-border: rgba(255, 59, 79, 0.42);
  --prompt-border: rgba(139, 0, 0, 0.42);
  --lightbox-bg: rgba(0, 0, 0, 0.92);
  --lightbox-media-border: rgba(139, 0, 0, 0.32);
  --lightbox-media-bg: rgba(8, 2, 2, 0.72);
  --header-art-filter: contrast(1.08) saturate(0.82) brightness(0.92);
  --header-art-position: center 42%;
}

[data-theme="deadpaul"] .grid-bg {
  background-size: 52px 52px;
  opacity: 0.55;
}
