/* roulang page: index */
:root {
      --bg-base: #0a0b0e;
      --bg-surface: #12141a;
      --bg-card: #181b24;
      --bg-card-hover: #222736;
      --primary: #e50914;
      --primary-hover: #f40612;
      --accent: #00d2f3;
      --text-main: #f8fafc;
      --text-muted: #94a3b8;
      --border-color: rgba(255, 255, 255, 0.08);
      --red-glow: 0 10px 30px -5px rgba(229, 9, 20, 0.35);
      --blue-glow: 0 10px 30px -5px rgba(0, 210, 243, 0.25);
    }
    
    body {
      background-color: var(--bg-base);
      color: var(--text-main);
      font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
      overflow-x: hidden;
    }

    /* 浮动 Dock 导航 */
    .floating-dock {
      position: fixed;
      top: 1.25rem;
      left: 50%;
      transform: translateX(-50%);
      width: calc(100% - 2rem);
      max-width: 1180px;
      z-index: 50;
      background: rgba(18, 20, 26, 0.85);
      backdrop-filter: blur(20px);
      -webkit-backdrop-filter: blur(20px);
      border: 1px solid var(--border-color);
      border-radius: 9999px;
      box-shadow: 0 20px 40px -15px rgba(0, 0, 0, 0.7);
      transition: all 0.3s ease;
    }

    .hero-glow-bg {
      position: relative;
      background-size: cover;
      background-position: center;
    }
    .hero-glow-bg::before {
      content: "";
      position: absolute;
      inset: 0;
      background: linear-gradient(180deg, rgba(10, 11, 14, 0.82) 0%, rgba(10, 11, 14, 0.96) 80%, #0a0b0e 100%);
      z-index: 1;
    }

    .card-cinema {
      background: var(--bg-card);
      border: 1px solid var(--border-color);
      transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    }
    .card-cinema:hover {
      background: var(--bg-card-hover);
      border-color: rgba(229, 9, 20, 0.3);
      transform: translateY(-4px);
      box-shadow: var(--red-glow);
    }

    .btn-primary {
      background: linear-gradient(135deg, #e50914 0%, #b80710 100%);
      color: #ffffff;
      box-shadow: var(--red-glow);
      transition: all 0.25s ease;
    }
    .btn-primary:hover {
      background: linear-gradient(135deg, #f40612 0%, #cc0812 100%);
      transform: scale(1.02);
    }
    .btn-primary:active {
      transform: scale(0.98);
    }

    .btn-outline {
      background: rgba(255, 255, 255, 0.05);
      border: 1px solid rgba(255, 255, 255, 0.15);
      color: var(--text-main);
      transition: all 0.25s ease;
    }
    .btn-outline:hover {
      background: rgba(255, 255, 255, 0.12);
      border-color: rgba(255, 255, 255, 0.3);
    }

    .badge-accent {
      background: rgba(0, 210, 243, 0.12);
      border: 1px solid rgba(0, 210, 243, 0.3);
      color: #00d2f3;
    }

    .badge-red {
      background: rgba(229, 9, 20, 0.15);
      border: 1px solid rgba(229, 9, 20, 0.35);
      color: #ff4d58;
    }

    /* 播放器交互演示视窗微动效 */
    .player-progress-bar {
      width: 68%;
      background: linear-gradient(90deg, #e50914, #00d2f3);
    }
    
    details > summary {
      list-style: none;
    }
    details > summary::-webkit-details-marker {
      display: none;
    }

/* roulang page: category1 */
:root {
      --bg-base: #0a0b0e;
      --bg-surface: #12141a;
      --bg-card: #181b24;
      --bg-card-hover: #222736;
      --primary: #e50914;
      --primary-hover: #f40612;
      --accent: #00d2f3;
      --text-main: #f8fafc;
      --text-muted: #94a3b8;
      --border-color: rgba(255, 255, 255, 0.08);
      --red-glow: 0 10px 30px -5px rgba(229, 9, 20, 0.35);
      --blue-glow: 0 10px 30px -5px rgba(0, 210, 243, 0.25);
    }
    body {
      background-color: var(--bg-base);
      color: var(--text-main);
      font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
      overflow-x: hidden;
    }
    .floating-dock {
      position: fixed;
      top: 1.25rem;
      left: 50%;
      transform: translateX(-50%);
      width: calc(100% - 2rem);
      max-width: 1140px;
      z-index: 50;
      background: rgba(18, 20, 26, 0.82);
      backdrop-filter: blur(16px);
      -webkit-backdrop-filter: blur(16px);
      border: 1px solid var(--border-color);
      border-radius: 9999px;
      box-shadow: 0 20px 40px -15px rgba(0, 0, 0, 0.7);
    }
    .card-cinema {
      background: var(--bg-card);
      border: 1px solid var(--border-color);
      transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    }
    .card-cinema:hover {
      background: var(--bg-card-hover);
      border-color: rgba(229, 9, 20, 0.3);
      transform: translateY(-4px);
      box-shadow: var(--red-glow);
    }
    .btn-primary {
      background: linear-gradient(135deg, #e50914 0%, #b80710 100%);
      color: #ffffff;
      box-shadow: var(--red-glow);
      transition: all 0.25s ease;
    }
    .btn-primary:hover {
      background: linear-gradient(135deg, #f40612 0%, #cc0812 100%);
      transform: scale(1.02);
    }
    .btn-primary:active {
      transform: scale(0.98);
    }
    .btn-outline {
      background: rgba(255, 255, 255, 0.05);
      border: 1px solid rgba(255, 255, 255, 0.15);
      color: var(--text-main);
      transition: all 0.25s ease;
    }
    .btn-outline:hover {
      background: rgba(255, 255, 255, 0.12);
      border-color: rgba(255, 255, 255, 0.3);
    }
    .badge-accent {
      background: rgba(0, 210, 243, 0.12);
      border: 1px solid rgba(0, 210, 243, 0.3);
      color: #00d2f3;
    }
    .badge-red {
      background: rgba(229, 9, 20, 0.15);
      border: 1px solid rgba(229, 9, 20, 0.35);
      color: #ff4d58;
    }
    .filter-chip {
      background: rgba(255, 255, 255, 0.04);
      border: 1px solid rgba(255, 255, 255, 0.08);
      transition: all 0.2s ease;
    }
    .filter-chip.active, .filter-chip:hover {
      background: rgba(229, 9, 20, 0.18);
      border-color: rgba(229, 9, 20, 0.4);
      color: #ffffff;
    }

/* roulang page: category2 */
:root {
      --bg-base: #0a0b0e;
      --bg-surface: #12141a;
      --bg-card: #181b24;
      --bg-card-hover: #222736;
      --primary: #e50914;
      --primary-hover: #f40612;
      --accent: #00d2f3;
      --text-main: #f8fafc;
      --text-muted: #94a3b8;
      --border-color: rgba(255, 255, 255, 0.08);
      --red-glow: 0 10px 30px -5px rgba(229, 9, 20, 0.35);
      --blue-glow: 0 10px 30px -5px rgba(0, 210, 243, 0.25);
    }
    body {
      background-color: var(--bg-base);
      color: var(--text-main);
      font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
      overflow-x: hidden;
    }
    .floating-dock {
      position: fixed;
      top: 1.25rem;
      left: 50%;
      transform: translateX(-50%);
      width: calc(100% - 2rem);
      max-width: 1140px;
      backdrop-filter: blur(20px);
      -webkit-backdrop-filter: blur(20px);
      background: rgba(18, 20, 26, 0.85);
      border: 1px solid rgba(255, 255, 255, 0.1);
      border-radius: 9999px;
      z-index: 50;
      box-shadow: 0 20px 40px rgba(0, 0, 0, 0.6);
    }
    .hero-glow-bg {
      position: relative;
      background-size: cover;
      background-position: center;
    }
    .hero-glow-bg::before {
      content: "";
      position: absolute;
      inset: 0;
      background: linear-gradient(180deg, rgba(10, 11, 14, 0.75) 0%, rgba(10, 11, 14, 0.95) 85%, #0a0b0e 100%);
      z-index: 1;
    }
    .card-cinema {
      background: var(--bg-card);
      border: 1px solid var(--border-color);
      transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    }
    .card-cinema:hover {
      background: var(--bg-card-hover);
      border-color: rgba(229, 9, 20, 0.35);
      transform: translateY(-4px);
      box-shadow: var(--red-glow);
    }
    .btn-primary {
      background: linear-gradient(135deg, #e50914 0%, #b80710 100%);
      color: #ffffff;
      box-shadow: var(--red-glow);
      transition: all 0.25s ease;
    }
    .btn-primary:hover {
      background: linear-gradient(135deg, #f40612 0%, #cc0812 100%);
      transform: scale(1.02);
    }
    .btn-primary:active {
      transform: scale(0.98);
    }
    .btn-outline {
      background: rgba(255, 255, 255, 0.05);
      border: 1px solid rgba(255, 255, 255, 0.15);
      color: var(--text-main);
      transition: all 0.25s ease;
    }
    .btn-outline:hover {
      background: rgba(255, 255, 255, 0.12);
      border-color: rgba(255, 255, 255, 0.3);
    }
    .badge-accent {
      background: rgba(0, 210, 243, 0.12);
      border: 1px solid rgba(0, 210, 243, 0.3);
      color: #00d2f3;
    }
    .badge-red {
      background: rgba(229, 9, 20, 0.15);
      border: 1px solid rgba(229, 9, 20, 0.35);
      color: #ff4d58;
    }
    .filter-item-active {
      background: var(--primary);
      color: #ffffff;
      font-weight: 600;
    }
    .filter-item-default {
      color: var(--text-muted);
      transition: all 0.2s ease;
    }
    .filter-item-default:hover {
      color: #ffffff;
      background: rgba(255, 255, 255, 0.06);
    }
    details summary::-webkit-details-marker {
      display: none;
    }

/* roulang page: category3 */
:root {
      --bg-base: #0a0b0e;
      --bg-surface: #12141a;
      --bg-card: #181b24;
      --bg-card-hover: #222736;
      --primary: #e50914;
      --primary-hover: #f40612;
      --accent: #00d2f3;
      --text-main: #f8fafc;
      --text-muted: #94a3b8;
      --border-color: rgba(255, 255, 255, 0.08);
      --red-glow: 0 10px 30px -5px rgba(229, 9, 20, 0.35);
      --blue-glow: 0 10px 30px -5px rgba(0, 210, 243, 0.25);
    }
    body {
      background-color: var(--bg-base);
      color: var(--text-main);
      font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
      overflow-x: hidden;
    }
    .floating-dock {
      position: fixed;
      top: 1.25rem;
      left: 50%;
      transform: translateX(-50%);
      width: calc(100% - 2rem);
      max-width: 1140px;
      z-index: 50;
      backdrop-filter: blur(16px);
      -webkit-backdrop-filter: blur(16px);
      background: rgba(18, 20, 26, 0.85);
      border: 1px solid rgba(255, 255, 255, 0.1);
      box-shadow: 0 20px 40px -15px rgba(0, 0, 0, 0.7);
      border-radius: 9999px;
    }
    .card-cinema {
      background: var(--bg-card);
      border: 1px solid var(--border-color);
      transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    }
    .card-cinema:hover {
      background: var(--bg-card-hover);
      border-color: rgba(229, 9, 20, 0.3);
      transform: translateY(-4px);
      box-shadow: var(--red-glow);
    }
    .btn-primary {
      background: linear-gradient(135deg, #e50914 0%, #b80710 100%);
      color: #ffffff;
      box-shadow: var(--red-glow);
      transition: all 0.25s ease;
    }
    .btn-primary:hover {
      background: linear-gradient(135deg, #f40612 0%, #cc0812 100%);
      transform: scale(1.02);
    }
    .btn-primary:active {
      transform: scale(0.98);
    }
    .btn-outline {
      background: rgba(255, 255, 255, 0.05);
      border: 1px solid rgba(255, 255, 255, 0.15);
      color: var(--text-main);
      transition: all 0.25s ease;
    }
    .btn-outline:hover {
      background: rgba(255, 255, 255, 0.12);
      border-color: rgba(255, 255, 255, 0.3);
    }
    .badge-accent {
      background: rgba(0, 210, 243, 0.12);
      border: 1px solid rgba(0, 210, 243, 0.3);
      color: #00d2f3;
    }
    .badge-red {
      background: rgba(229, 9, 20, 0.15);
      border: 1px solid rgba(229, 9, 20, 0.35);
      color: #ff4d58;
    }
    .filter-chip {
      background: rgba(255, 255, 255, 0.04);
      border: 1px solid rgba(255, 255, 255, 0.08);
      color: var(--text-muted);
      transition: all 0.2s ease;
    }
    .filter-chip:hover, .filter-chip.active {
      background: rgba(0, 210, 243, 0.12);
      border-color: rgba(0, 210, 243, 0.4);
      color: #00d2f3;
    }

/* roulang page: category4 */
:root {
      --bg-base: #0a0b0e;
      --bg-surface: #12141a;
      --bg-card: #181b24;
      --bg-card-hover: #222736;
      --primary: #e50914;
      --primary-hover: #f40612;
      --accent: #00d2f3;
      --text-main: #f8fafc;
      --text-muted: #94a3b8;
      --border-color: rgba(255, 255, 255, 0.08);
      --red-glow: 0 10px 30px -5px rgba(229, 9, 20, 0.35);
      --blue-glow: 0 10px 30px -5px rgba(0, 210, 243, 0.25);
    }
    body {
      background-color: var(--bg-base);
      color: var(--text-main);
      font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
      overflow-x: hidden;
    }
    .floating-dock {
      position: fixed;
      top: 1.25rem;
      left: 50%;
      transform: translateX(-50%);
      width: calc(100% - 2rem);
      max-width: 1140px;
      z-index: 50;
      background: rgba(18, 20, 26, 0.85);
      backdrop-filter: blur(16px);
      -webkit-backdrop-filter: blur(16px);
      border: 1px solid rgba(255, 255, 255, 0.1);
      border-radius: 9999px;
      box-shadow: 0 20px 40px rgba(0, 0, 0, 0.65);
    }
    .card-cinema {
      background: var(--bg-card);
      border: 1px solid var(--border-color);
      transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    }
    .card-cinema:hover {
      background: var(--bg-card-hover);
      border-color: rgba(229, 9, 20, 0.3);
      transform: translateY(-4px);
      box-shadow: var(--red-glow);
    }
    .btn-primary {
      background: linear-gradient(135deg, #e50914 0%, #b80710 100%);
      color: #ffffff;
      box-shadow: var(--red-glow);
      transition: all 0.25s ease;
    }
    .btn-primary:hover {
      background: linear-gradient(135deg, #f40612 0%, #cc0812 100%);
      transform: scale(1.02);
    }
    .btn-primary:active {
      transform: scale(0.98);
    }
    .btn-outline {
      background: rgba(255, 255, 255, 0.05);
      border: 1px solid rgba(255, 255, 255, 0.15);
      color: var(--text-main);
      transition: all 0.25s ease;
    }
    .btn-outline:hover {
      background: rgba(255, 255, 255, 0.12);
      border-color: rgba(255, 255, 255, 0.3);
    }
    .badge-accent {
      background: rgba(0, 210, 243, 0.12);
      border: 1px solid rgba(0, 210, 243, 0.3);
      color: #00d2f3;
    }
    .badge-red {
      background: rgba(229, 9, 20, 0.15);
      border: 1px solid rgba(229, 9, 20, 0.35);
      color: #ff4d58;
    }
    .filter-item-active {
      background: rgba(229, 9, 20, 0.2);
      border-color: rgba(229, 9, 20, 0.5);
      color: #ffffff;
    }
    .bg-grid-glow {
      background-image: radial-gradient(rgba(229, 9, 20, 0.15) 1px, transparent 1px);
      background-size: 32px 32px;
    }

/* roulang page: category5 */
:root {
      --bg-base: #0a0b0e;
      --bg-surface: #12141a;
      --bg-card: #181b24;
      --bg-card-hover: #222736;
      --primary: #e50914;
      --primary-hover: #f40612;
      --accent: #00d2f3;
      --text-main: #f8fafc;
      --text-muted: #94a3b8;
      --border-color: rgba(255, 255, 255, 0.08);
      --red-glow: 0 10px 30px -5px rgba(229, 9, 20, 0.35);
      --blue-glow: 0 10px 30px -5px rgba(0, 210, 243, 0.25);
    }
    body {
      background-color: var(--bg-base);
      color: var(--text-main);
      font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
      overflow-x: hidden;
    }
    .floating-dock {
      position: fixed;
      top: 1.25rem;
      left: 50%;
      transform: translateX(-50%);
      width: calc(100% - 2rem);
      max-width: 1140px;
      backdrop-filter: blur(20px);
      -webkit-backdrop-filter: blur(20px);
      background-color: rgba(18, 20, 26, 0.85);
      border: 1px solid rgba(255, 255, 255, 0.1);
      box-shadow: 0 20px 40px -15px rgba(0, 0, 0, 0.7);
      border-radius: 9999px;
      z-index: 50;
    }
    .card-cinema {
      background: var(--bg-card);
      border: 1px solid var(--border-color);
      transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    }
    .card-cinema:hover {
      background: var(--bg-card-hover);
      border-color: rgba(229, 9, 20, 0.3);
      transform: translateY(-4px);
      box-shadow: var(--red-glow);
    }
    .btn-primary {
      background: linear-gradient(135deg, #e50914 0%, #b80710 100%);
      color: #ffffff;
      box-shadow: var(--red-glow);
      transition: all 0.25s ease;
    }
    .btn-primary:hover {
      background: linear-gradient(135deg, #f40612 0%, #cc0812 100%);
      transform: scale(1.02);
    }
    .btn-primary:active {
      transform: scale(0.98);
    }
    .btn-outline {
      background: rgba(255, 255, 255, 0.05);
      border: 1px solid rgba(255, 255, 255, 0.15);
      color: var(--text-main);
      transition: all 0.25s ease;
    }
    .btn-outline:hover {
      background: rgba(255, 255, 255, 0.12);
      border-color: rgba(255, 255, 255, 0.3);
    }
    .badge-accent {
      background: rgba(0, 210, 243, 0.12);
      border: 1px solid rgba(0, 210, 243, 0.3);
      color: #00d2f3;
    }
    .badge-red {
      background: rgba(229, 9, 20, 0.15);
      border: 1px solid rgba(229, 9, 20, 0.35);
      color: #ff4d58;
    }
    .filter-tag-active {
      background-color: var(--primary);
      color: #ffffff;
      font-weight: 600;
    }
    .filter-tag-default {
      background-color: rgba(255, 255, 255, 0.04);
      color: #94a3b8;
      border: 1px solid rgba(255, 255, 255, 0.06);
    }
    .filter-tag-default:hover {
      background-color: rgba(255, 255, 255, 0.09);
      color: #ffffff;
    }
