/* roulang page: index */
:root {
            --bg-base: #f8fafc;
            --card-base: #ffffff;
            --primary-blue: #1e40af;
            --accent-blue: #2563eb;
            --text-main: #0f172a;
            --text-muted: #475569;
            --border-soft: #e2e8f0;
            --shadow-subtle: 0 4px 20px -2px rgba(30, 64, 175, 0.06);
            --shadow-hover: 0 12px 30px -4px rgba(30, 64, 175, 0.12);
        }
        body {
            background-color: var(--bg-base);
            color: var(--text-main);
            font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
            -webkit-font-smoothing: antialiased;
        }
        .clean-shadow {
            box-shadow: var(--shadow-subtle);
        }
        .clean-shadow:hover {
            box-shadow: var(--shadow-hover);
        }
        .poster-glow::after {
            content: '';
            position: absolute;
            inset: 0;
            background: linear-gradient(180deg, rgba(15, 23, 42, 0) 40%, rgba(15, 23, 42, 0.85) 100%);
            border-radius: inherit;
        }
        .backdrop-blur-nav {
            backdrop-filter: blur(12px);
            -webkit-backdrop-filter: blur(12px);
        }
        .custom-scrollbar::-webkit-scrollbar {
            height: 6px;
            width: 6px;
        }
        .custom-scrollbar::-webkit-scrollbar-thumb {
            background: #cbd5e1;
            border-radius: 9999px;
        }
        .custom-scrollbar::-webkit-scrollbar-track {
            background: #f1f5f9;
        }

/* roulang page: category2 */
:root {
      --bg-base: #f8fafc;
      --card-base: #ffffff;
      --primary-blue: #1e40af;
      --accent-blue: #2563eb;
      --text-main: #0f172a;
      --text-muted: #475569;
      --border-soft: #e2e8f0;
      --shadow-subtle: 0 4px 20px -2px rgba(30, 64, 175, 0.06);
      --shadow-hover: 0 12px 30px -4px rgba(30, 64, 175, 0.12);
    }
    body {
      background-color: var(--bg-base);
      color: var(--text-main);
      font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
      -webkit-font-smoothing: antialiased;
    }
    .clean-shadow {
      box-shadow: var(--shadow-subtle);
    }
    .clean-shadow:hover {
      box-shadow: var(--shadow-hover);
    }
    .backdrop-blur-nav {
      backdrop-filter: blur(12px);
      -webkit-backdrop-filter: blur(12px);
    }

/* roulang page: category1 */
:root {
      --bg-base: #f8fafc;
      --card-base: #ffffff;
      --primary-blue: #1e40af;
      --accent-blue: #2563eb;
      --text-main: #0f172a;
      --text-muted: #475569;
      --border-soft: #e2e8f0;
      --shadow-subtle: 0 4px 20px -2px rgba(30, 64, 175, 0.06);
      --shadow-hover: 0 12px 30px -4px rgba(30, 64, 175, 0.12);
    }
    body {
      background-color: var(--bg-base);
      color: var(--text-main);
      font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
      -webkit-font-smoothing: antialiased;
    }
    .clean-shadow {
      box-shadow: var(--shadow-subtle);
    }
    .clean-shadow:hover {
      box-shadow: var(--shadow-hover);
    }
    .backdrop-blur-nav {
      backdrop-filter: blur(12px);
      -webkit-backdrop-filter: blur(12px);
    }
    .line-clamp-2 {
      display: -webkit-box;
      -webkit-line-clamp: 2;
      -webkit-box-orient: vertical;
      overflow: hidden;
    }

/* roulang page: category3 */
:root {
      --bg-base: #f8fafc;
      --card-base: #ffffff;
      --primary-blue: #1e40af;
      --accent-blue: #2563eb;
      --text-main: #0f172a;
      --text-muted: #475569;
      --border-soft: #e2e8f0;
      --shadow-subtle: 0 4px 20px -2px rgba(30, 64, 175, 0.06);
      --shadow-hover: 0 12px 30px -4px rgba(30, 64, 175, 0.12);
    }
    body {
      background-color: var(--bg-base);
      color: var(--text-main);
      font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
      -webkit-font-smoothing: antialiased;
    }
    .clean-shadow {
      box-shadow: var(--shadow-subtle);
    }
    .clean-shadow:hover {
      box-shadow: var(--shadow-hover);
    }
    .backdrop-blur-nav {
      backdrop-filter: blur(12px);
      -webkit-backdrop-filter: blur(12px);
    }
    .coupon-edge-ticket {
      background: radial-gradient(circle at left, transparent 10px, #ffffff 11px) left,
                  radial-gradient(circle at right, transparent 10px, #ffffff 11px) right;
      background-size: 51% 100%;
      background-repeat: no-repeat;
    }
    .badge-amber {
      background: linear-gradient(135deg, #f59e0b 0%, #d97706 100%);
    }
