/* roulang page: index */
:root {
            --cinema-bg: #0D0F12;
            --cinema-surface: #12151B;
            --cinema-card: #181C24;
            --cinema-border: #262D3D;
            --cinema-neon: #00F29D;
            --cinema-amber: #F59E0B;
            --cinema-text: #F8FAFC;
            --cinema-subtext: #94A3B8;
        }

        body {
            background-color: var(--cinema-bg);
            color: var(--cinema-text);
            font-family: 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei', sans-serif;
            overflow-x: hidden;
            -webkit-font-smoothing: antialiased;
        }

        /* Ambient Glow & Radial Backdrops */
        .ambient-glow {
            background: radial-gradient(circle at 50% 15%, rgba(0, 242, 157, 0.08) 0%, rgba(13, 15, 18, 0) 70%);
        }
        .ambient-glow-purple {
            background: radial-gradient(circle at 80% 30%, rgba(139, 92, 246, 0.08) 0%, rgba(13, 15, 18, 0) 65%);
        }

        /* Glassmorphism Classes */
        .glass-nav {
            background: rgba(13, 15, 18, 0.88);
            backdrop-filter: blur(16px);
            -webkit-backdrop-filter: blur(16px);
        }
        .glass-card {
            background: rgba(24, 28, 36, 0.75);
            backdrop-filter: blur(12px);
            border: 1px solid rgba(255, 255, 255, 0.07);
        }
        .glass-card:hover {
            border-color: rgba(0, 242, 157, 0.35);
            box-shadow: 0 12px 32px -4px rgba(0, 242, 157, 0.12);
        }

        /* Stacked Cards Layout (Hero) */
        .card-stack-container {
            perspective: 1200px;
        }
        .stack-card-left {
            transform: translateX(-42%) translateY(16px) scale(0.86) rotateY(12deg);
            filter: brightness(0.65) blur(1px);
            transition: all 0.5s cubic-bezier(0.16, 1, 0.3, 1);
        }
        .stack-card-right {
            transform: translateX(42%) translateY(16px) scale(0.86) rotateY(-12deg);
            filter: brightness(0.65) blur(1px);
            transition: all 0.5s cubic-bezier(0.16, 1, 0.3, 1);
        }
        .stack-card-main {
            transform: translateZ(30px) scale(1);
            box-shadow: 0 24px 60px -10px rgba(0, 0, 0, 0.85), 0 0 40px rgba(0, 242, 157, 0.2);
            transition: all 0.5s cubic-bezier(0.16, 1, 0.3, 1);
        }
        .card-stack-container:hover .stack-card-left {
            transform: translateX(-48%) translateY(8px) scale(0.9) rotateY(8deg);
            filter: brightness(0.85);
        }
        .card-stack-container:hover .stack-card-right {
            transform: translateX(48%) translateY(8px) scale(0.9) rotateY(-8deg);
            filter: brightness(0.85);
        }

        /* Smooth Nav Transitions */
        #global-header {
            transition: all 0.35s ease-in-out;
        }
        .nav-scrolled #nav-brand-row {
            max-height: 0;
            opacity: 0;
            margin: 0;
            padding: 0;
            pointer-events: none;
            overflow: hidden;
        }
        .nav-scrolled #nav-compact-logo {
            display: flex !important;
        }
        .nav-scrolled {
            padding-top: 0.5rem;
            padding-bottom: 0.5rem;
            border-bottom: 1px solid rgba(255, 255, 255, 0.1);
        }

        /* Custom Scrollbar */
        ::-webkit-scrollbar {
            width: 8px;
            height: 8px;
        }
        ::-webkit-scrollbar-track {
            background: #0D0F12;
        }
        ::-webkit-scrollbar-thumb {
            background: #262D3D;
            border-radius: 4px;
        }
        ::-webkit-scrollbar-thumb:hover {
            background: #00F29D;
        }

/* roulang page: category2 */
:root {
      --cinema-bg: #0D0F12;
      --cinema-surface: #12151B;
      --cinema-card: #181C24;
      --cinema-border: #262D3D;
      --cinema-neon: #00F29D;
      --cinema-amber: #F59E0B;
      --cinema-text: #F8FAFC;
      --cinema-subtext: #94A3B8;
    }
    body {
      background-color: var(--cinema-bg);
      color: var(--cinema-text);
      font-family: 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei', sans-serif;
      overflow-x: hidden;
      -webkit-font-smoothing: antialiased;
    }
    .glass-nav {
      background: rgba(13, 15, 18, 0.88);
      backdrop-filter: blur(16px);
      -webkit-backdrop-filter: blur(16px);
    }
    .glass-card {
      background: rgba(24, 28, 36, 0.75);
      backdrop-filter: blur(12px);
      border: 1px solid rgba(255, 255, 255, 0.07);
    }
    .glass-card:hover {
      border-color: rgba(0, 242, 157, 0.35);
      box-shadow: 0 12px 32px -4px rgba(0, 242, 157, 0.12);
    }
    #global-header {
      transition: all 0.35s ease-in-out;
    }
    .nav-scrolled #nav-brand-row {
      max-height: 0;
      opacity: 0;
      margin: 0;
      padding: 0;
      pointer-events: none;
      overflow: hidden;
    }
    .nav-scrolled #nav-compact-logo {
      display: flex !important;
    }
    .nav-scrolled {
      padding-top: 0.5rem;
      padding-bottom: 0.5rem;
      border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    }
    .no-scrollbar::-webkit-scrollbar {
      display: none;
    }
    .no-scrollbar {
      -ms-overflow-style: none;
      scrollbar-width: none;
    }

/* roulang page: category1 */
:root {
      --cinema-bg: #0D0F12;
      --cinema-surface: #12151B;
      --cinema-card: #181C24;
      --cinema-border: #262D3D;
      --cinema-neon: #00F29D;
      --cinema-amber: #F59E0B;
      --cinema-text: #F8FAFC;
      --cinema-subtext: #94A3B8;
    }
    body {
      background-color: var(--cinema-bg);
      color: var(--cinema-text);
      font-family: 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei', sans-serif;
      overflow-x: hidden;
      -webkit-font-smoothing: antialiased;
    }
    .glass-nav {
      background: rgba(13, 15, 18, 0.88);
      backdrop-filter: blur(16px);
      -webkit-backdrop-filter: blur(16px);
    }
    .glass-card {
      background: rgba(24, 28, 36, 0.75);
      backdrop-filter: blur(12px);
      border: 1px solid rgba(255, 255, 255, 0.07);
    }
    .glass-card:hover {
      border-color: rgba(0, 242, 157, 0.35);
      box-shadow: 0 12px 32px -4px rgba(0, 242, 157, 0.12);
    }
    #global-header {
      transition: all 0.35s ease-in-out;
    }
    .nav-scrolled #nav-brand-row {
      max-height: 0;
      opacity: 0;
      margin: 0;
      padding: 0;
      pointer-events: none;
      overflow: hidden;
    }
    .nav-scrolled #nav-compact-logo {
      display: flex !important;
    }
    .nav-scrolled {
      padding-top: 0.5rem;
      padding-bottom: 0.5rem;
      border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    }
    .no-scrollbar::-webkit-scrollbar {
      display: none;
    }
    .no-scrollbar {
      -ms-overflow-style: none;
      scrollbar-width: none;
    }
    .custom-accordion-content {
      transition: max-height 0.3s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.3s ease;
    }

/* roulang page: category3 */
:root {
      --cinema-bg: #0D0F12;
      --cinema-surface: #12151B;
      --cinema-card: #181C24;
      --cinema-border: #262D3D;
      --cinema-neon: #00F29D;
      --cinema-amber: #F59E0B;
      --cinema-text: #F8FAFC;
      --cinema-subtext: #94A3B8;
    }
    body {
      background-color: var(--cinema-bg);
      color: var(--cinema-text);
      font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
      overflow-x: hidden;
      -webkit-font-smoothing: antialiased;
    }
    .no-scrollbar::-webkit-scrollbar {
      display: none;
    }
    .no-scrollbar {
      -ms-overflow-style: none;
      scrollbar-width: none;
    }
    .glass-nav {
      background: rgba(13, 15, 18, 0.92);
      backdrop-filter: blur(16px);
      -webkit-backdrop-filter: blur(16px);
    }
    .glass-card {
      background: rgba(24, 28, 36, 0.78);
      backdrop-filter: blur(12px);
      border: 1px solid rgba(255, 255, 255, 0.06);
    }
    .glass-card:hover {
      border-color: rgba(0, 242, 157, 0.35);
      box-shadow: 0 12px 32px -4px rgba(0, 242, 157, 0.14);
    }
    #global-header {
      transition: all 0.35s cubic-bezier(0.16, 1, 0.3, 1);
    }
    .nav-scrolled #nav-brand-row {
      max-height: 0;
      opacity: 0;
      margin: 0;
      padding: 0;
      pointer-events: none;
      overflow: hidden;
    }
    .nav-scrolled #nav-compact-logo {
      display: flex !important;
    }
    .nav-scrolled {
      padding-top: 0.5rem;
      padding-bottom: 0.5rem;
      border-bottom: 1px solid rgba(255, 255, 255, 0.08);
      background: rgba(13, 15, 18, 0.96);
    }
