/* roulang page: index */
:root {
      --bg-midnight: #070B14;
      --bg-surface: #0E1726;
      --bg-elevated: #142036;
      --cyan-bright: #00D2FF;
      --cyan-glow: #00F5D4;
      --red-accent: #E50914;
      --text-main: #F1F5F9;
      --text-muted: #94A3B8;
      --text-faint: #475569;
      --border-cyan: rgba(0, 210, 255, 0.18);
    }
    body {
      background-color: var(--bg-midnight);
      color: var(--text-main);
      font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
      overflow-x: hidden;
    }
    .glass-panel {
      background: rgba(14, 23, 38, 0.72);
      backdrop-filter: blur(16px);
      -webkit-backdrop-filter: blur(16px);
      border: 1px solid var(--border-cyan);
    }
    .glass-card {
      background: rgba(20, 32, 54, 0.65);
      backdrop-filter: blur(14px);
      border: 1px solid rgba(0, 210, 255, 0.12);
      transition: all 0.35s cubic-bezier(0.16, 1, 0.3, 1);
    }
    .glass-card:hover {
      border-color: rgba(0, 245, 212, 0.5);
      box-shadow: 0 0 28px rgba(0, 210, 255, 0.22);
      transform: translateY(-4px);
    }
    .glow-cyan-btn {
      background: linear-gradient(135deg, #00D2FF 0%, #0077FE 100%);
      box-shadow: 0 0 20px rgba(0, 210, 255, 0.4);
      transition: all 0.3s ease;
    }
    .glow-cyan-btn:hover {
      box-shadow: 0 0 32px rgba(0, 245, 212, 0.65);
      filter: brightness(1.1);
      transform: scale(1.02);
    }
    .vignette-mask {
      background: radial-gradient(circle at center, transparent 30%, rgba(7, 11, 20, 0.88) 100%);
    }
    .cine-aspect-poster {
      aspect-ratio: 2 / 3;
    }
    .cine-aspect-banner {
      aspect-ratio: 21 / 9;
    }
    @keyframes pulseGlow {
      0%, 100% { opacity: 0.35; transform: scale(1); }
      50% { opacity: 0.75; transform: scale(1.05); }
    }
    .animate-pulse-glow {
      animation: pulseGlow 4s infinite ease-in-out;
    }
    /* Command input mock */
    .cmd-badge {
      background: rgba(255, 255, 255, 0.08);
      border: 1px solid rgba(255, 255, 255, 0.15);
    }

/* roulang page: category1 */
:root {
      --bg-midnight: #070B14;
      --bg-surface: #0E1726;
      --bg-elevated: #142036;
      --cyan-bright: #00D2FF;
      --cyan-glow: #00F5D4;
      --red-accent: #E50914;
      --text-main: #F1F5F9;
      --text-muted: #94A3B8;
      --text-faint: #475569;
      --border-cyan: rgba(0, 210, 255, 0.18);
    }
    body {
      background-color: var(--bg-midnight);
      color: var(--text-main);
      font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
      overflow-x: hidden;
    }
    .glass-card {
      background: rgba(20, 32, 54, 0.65);
      backdrop-filter: blur(14px);
      border: 1px solid rgba(0, 210, 255, 0.12);
      transition: all 0.35s cubic-bezier(0.16, 1, 0.3, 1);
    }
    .glass-card:hover {
      border-color: rgba(0, 245, 212, 0.5);
      box-shadow: 0 0 28px rgba(0, 210, 255, 0.22);
      transform: translateY(-4px);
    }
    .glow-cyan-btn {
      background: linear-gradient(135deg, #00D2FF 0%, #0077FE 100%);
      box-shadow: 0 0 20px rgba(0, 210, 255, 0.4);
      transition: all 0.3s ease;
    }
    .glow-cyan-btn:hover {
      box-shadow: 0 0 32px rgba(0, 245, 212, 0.65);
      filter: brightness(1.1);
      transform: scale(1.02);
    }
    .cmd-badge {
      background: rgba(255, 255, 255, 0.08);
      border: 1px solid rgba(255, 255, 255, 0.15);
    }
    .poster-ratio {
      aspect-ratio: 2 / 3;
    }
    .cinema-ratio {
      aspect-ratio: 16 / 9;
    }
    /* Film grain simulation */
    .bg-grain {
      background-image: radial-gradient(rgba(0, 210, 255, 0.04) 1px, transparent 0);
      background-size: 24px 24px;
    }

/* roulang page: category2 */
:root {
      --bg-midnight: #070B14;
      --bg-surface: #0E1726;
      --bg-elevated: #142036;
      --cyan-bright: #00D2FF;
      --cyan-glow: #00F5D4;
      --red-accent: #E50914;
      --text-main: #F1F5F9;
      --text-muted: #94A3B8;
      --text-faint: #475569;
      --border-cyan: rgba(0, 210, 255, 0.18);
    }
    body {
      background-color: var(--bg-midnight);
      color: var(--text-main);
      font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
      overflow-x: hidden;
    }
    .glass-card {
      background: rgba(20, 32, 54, 0.65);
      backdrop-filter: blur(14px);
      border: 1px solid rgba(0, 210, 255, 0.12);
      transition: all 0.35s cubic-bezier(0.16, 1, 0.3, 1);
    }
    .glass-card:hover {
      border-color: rgba(0, 245, 212, 0.5);
      box-shadow: 0 0 28px rgba(0, 210, 255, 0.22);
      transform: translateY(-4px);
    }
    .glow-cyan-btn {
      background: linear-gradient(135deg, #00D2FF 0%, #0077FE 100%);
      box-shadow: 0 0 20px rgba(0, 210, 255, 0.4);
      transition: all 0.3s ease;
    }
    .glow-cyan-btn:hover {
      box-shadow: 0 0 32px rgba(0, 245, 212, 0.65);
      filter: brightness(1.1);
      transform: scale(1.02);
    }
    .cmd-badge {
      background: rgba(255, 255, 255, 0.08);
      border: 1px solid rgba(255, 255, 255, 0.15);
    }
    .vignette-mask {
      background: radial-gradient(circle at 50% 30%, rgba(0, 210, 255, 0.08) 0%, rgba(7, 11, 20, 0.95) 75%);
    }
    .cinema-poster-ratio {
      aspect-ratio: 2 / 3;
    }
