/* roulang page: index */
:root {
            --bg-main: #0a0b0e;
            --bg-surface: #12141a;
            --bg-card: #181b22;
            --accent-pink: #f43f5e;
            --accent-glow: rgba(244, 63, 94, 0.35);
            --border-subtle: rgba(255, 255, 255, 0.08);
            --text-main: #f8fafc;
            --text-muted: #94a3b8;
            --emerald-badge: #10b981;
        }

        * {
            box-sizing: border-box;
            margin: 0;
            padding: 0;
        }

        body {
            background-color: var(--bg-main);
            color: var(--text-main);
            font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
            line-height: 1.65;
            -webkit-font-smoothing: antialiased;
            overflow-x: hidden;
        }

        a {
            color: inherit;
            text-decoration: none;
            transition: all 0.25s ease;
        }

        .cinema-glow {
            box-shadow: 0 0 50px -10px var(--accent-glow);
        }

        .card-surface {
            background-color: var(--bg-surface);
            border: 1px solid var(--border-subtle);
            border-radius: 14px;
            transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1), border-color 0.3s ease, box-shadow 0.3s ease;
        }

        .card-surface:hover {
            border-color: rgba(244, 63, 94, 0.4);
            transform: translateY(-4px);
            box-shadow: 0 12px 30px rgba(0, 0, 0, 0.6);
        }

        .poster-hover-zoom {
            overflow: hidden;
            position: relative;
        }

        .poster-hover-zoom img {
            transition: transform 0.45s cubic-bezier(0.4, 0, 0.2, 1);
        }

        .poster-hover-zoom:hover img {
            transform: scale(1.06);
        }

        .gradient-badge {
            background: linear-gradient(135deg, #f43f5e 0%, #be185d 100%);
        }

        .emerald-pill {
            background: rgba(16, 185, 129, 0.15);
            color: #34d399;
            border: 1px solid rgba(16, 185, 129, 0.3);
        }

        /* 隐藏滚动条但保留功能 */
        .no-scrollbar::-webkit-scrollbar {
            display: none;
        }
        .no-scrollbar {
            -ms-overflow-style: none;
            scrollbar-width: none;
        }

        .glass-nav {
            background: rgba(10, 11, 14, 0.85);
            backdrop-filter: blur(16px);
            -webkit-backdrop-filter: blur(16px);
            border-bottom: 1px solid var(--border-subtle);
        }

        .faq-item details summary::-webkit-details-marker {
            display: none;
        }

/* roulang page: category1 */
:root {
      --bg-main: #0a0b0e;
      --bg-surface: #12141a;
      --bg-card: #181b22;
      --accent-pink: #f43f5e;
      --accent-glow: rgba(244, 63, 94, 0.35);
      --border-subtle: rgba(255, 255, 255, 0.08);
      --text-main: #f8fafc;
      --text-muted: #94a3b8;
      --emerald-badge: #10b981;
    }
    body {
      background-color: var(--bg-main);
      color: var(--text-main);
      font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
      line-height: 1.65;
      -webkit-font-smoothing: antialiased;
      overflow-x: hidden;
    }
    a {
      color: inherit;
      text-decoration: none;
      transition: all 0.25s ease;
    }
    .cinema-glow {
      box-shadow: 0 0 50px -10px var(--accent-glow);
    }
    .card-surface {
      background-color: var(--bg-surface);
      border: 1px solid var(--border-subtle);
      border-radius: 14px;
      transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1), border-color 0.3s ease, box-shadow 0.3s ease;
    }
    .card-surface:hover {
      border-color: rgba(244, 63, 94, 0.4);
      transform: translateY(-4px);
      box-shadow: 0 12px 30px rgba(0, 0, 0, 0.6);
    }
    .poster-hover-zoom img {
      transition: transform 0.45s cubic-bezier(0.4, 0, 0.2, 1);
    }
    .poster-hover-zoom:hover img {
      transform: scale(1.06);
    }
    .gradient-badge {
      background: linear-gradient(135deg, #f43f5e 0%, #be185d 100%);
    }
    .emerald-pill {
      background: rgba(16, 185, 129, 0.15);
      color: #34d399;
      border: 1px solid rgba(16, 185, 129, 0.3);
    }
    .glass-nav {
      background: rgba(10, 11, 14, 0.88);
      backdrop-filter: blur(16px);
      -webkit-backdrop-filter: blur(16px);
      border-bottom: 1px solid var(--border-subtle);
    }
    .faq-item details summary::-webkit-details-marker {
      display: none;
    }
    .line-clamp-2 {
      display: -webkit-box;
      -webkit-line-clamp: 2;
      -webkit-box-orient: vertical;
      overflow: hidden;
    }

/* roulang page: category2 */
:root {
      --bg-main: #0a0b0e;
      --bg-surface: #12141a;
      --bg-card: #181b22;
      --accent-pink: #f43f5e;
      --accent-glow: rgba(244, 63, 94, 0.35);
      --border-subtle: rgba(255, 255, 255, 0.08);
      --text-main: #f8fafc;
      --text-muted: #94a3b8;
      --emerald-badge: #10b981;
    }
    body {
      background-color: var(--bg-main);
      color: var(--text-main);
      font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
      line-height: 1.65;
      -webkit-font-smoothing: antialiased;
      overflow-x: hidden;
    }
    a {
      color: inherit;
      text-decoration: none;
      transition: all 0.25s ease;
    }
    .cinema-glow {
      box-shadow: 0 0 50px -10px var(--accent-glow);
    }
    .card-surface {
      background-color: var(--bg-surface);
      border: 1px solid var(--border-subtle);
      border-radius: 14px;
      transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1), border-color 0.3s ease, box-shadow 0.3s ease;
    }
    .card-surface:hover {
      border-color: rgba(244, 63, 94, 0.4);
      transform: translateY(-4px);
      box-shadow: 0 12px 30px rgba(0, 0, 0, 0.6);
    }
    .poster-hover-zoom img {
      transition: transform 0.45s cubic-bezier(0.4, 0, 0.2, 1);
    }
    .poster-hover-zoom:hover img {
      transform: scale(1.06);
    }
    .gradient-badge {
      background: linear-gradient(135deg, #f43f5e 0%, #be185d 100%);
    }
    .emerald-pill {
      background: rgba(16, 185, 129, 0.15);
      color: #34d399;
      border: 1px solid rgba(16, 185, 129, 0.3);
    }
    .glass-nav {
      background: rgba(10, 11, 14, 0.85);
      backdrop-filter: blur(16px);
      -webkit-backdrop-filter: blur(16px);
      border-bottom: 1px solid var(--border-subtle);
    }
    .badge-gold {
      background: linear-gradient(135deg, #f59e0b 0%, #d97706 100%);
      color: #ffffff;
    }

/* roulang page: category4 */
:root {
      --bg-main: #0a0b0e;
      --bg-surface: #12141a;
      --bg-card: #181b22;
      --accent-pink: #f43f5e;
      --accent-glow: rgba(244, 63, 94, 0.35);
      --border-subtle: rgba(255, 255, 255, 0.08);
      --text-main: #f8fafc;
      --text-muted: #94a3b8;
      --emerald-badge: #10b981;
    }
    body {
      background-color: var(--bg-main);
      color: var(--text-main);
      font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
      line-height: 1.65;
      -webkit-font-smoothing: antialiased;
      overflow-x: hidden;
    }
    a {
      color: inherit;
      text-decoration: none;
      transition: all 0.25s ease;
    }
    .cinema-glow {
      box-shadow: 0 0 50px -10px var(--accent-glow);
    }
    .card-surface {
      background-color: var(--bg-surface);
      border: 1px solid var(--border-subtle);
      border-radius: 14px;
      transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1), border-color 0.3s ease, box-shadow 0.3s ease;
    }
    .card-surface:hover {
      border-color: rgba(244, 63, 94, 0.4);
      transform: translateY(-4px);
      box-shadow: 0 12px 30px rgba(0, 0, 0, 0.6);
    }
    .poster-hover-zoom img {
      transition: transform 0.45s cubic-bezier(0.4, 0, 0.2, 1);
    }
    .poster-hover-zoom:hover img {
      transform: scale(1.06);
    }
    .gradient-badge {
      background: linear-gradient(135deg, #f43f5e 0%, #be185d 100%);
    }
    .emerald-pill {
      background: rgba(16, 185, 129, 0.15);
      color: #34d399;
      border: 1px solid rgba(16, 185, 129, 0.3);
    }
    .glass-nav {
      background: rgba(10, 11, 14, 0.85);
      backdrop-filter: blur(16px);
      -webkit-backdrop-filter: blur(16px);
      border-bottom: 1px solid var(--border-subtle);
    }
    .hero-banner-mask {
      background: linear-gradient(180deg, rgba(10, 11, 14, 0.4) 0%, rgba(10, 11, 14, 0.85) 75%, #0a0b0e 100%);
    }
    .tag-filter.active {
      background: linear-gradient(135deg, #f43f5e 0%, #be185d 100%);
      color: #ffffff;
      border-color: transparent;
      box-shadow: 0 0 18px rgba(244, 63, 94, 0.35);
    }
    .combat-meter-bar {
      height: 6px;
      border-radius: 999px;
      background: rgba(255, 255, 255, 0.1);
      overflow: hidden;
    }
    .combat-meter-fill {
      height: 100%;
      background: linear-gradient(90deg, #f43f5e, #fb7185);
      border-radius: 999px;
    }

/* roulang page: category3 */
:root {
      --bg-main: #0a0b0e;
      --bg-surface: #12141a;
      --bg-card: #181b22;
      --accent-pink: #f43f5e;
      --accent-glow: rgba(244, 63, 94, 0.35);
      --border-subtle: rgba(255, 255, 255, 0.08);
      --text-main: #f8fafc;
      --text-muted: #94a3b8;
      --emerald-badge: #10b981;
    }
    body {
      background-color: var(--bg-main);
      color: var(--text-main);
      font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
      line-height: 1.65;
      -webkit-font-smoothing: antialiased;
      overflow-x: hidden;
    }
    a {
      color: inherit;
      text-decoration: none;
      transition: all 0.25s ease;
    }
    .cinema-glow {
      box-shadow: 0 0 50px -10px var(--accent-glow);
    }
    .card-surface {
      background-color: var(--bg-surface);
      border: 1px solid var(--border-subtle);
      border-radius: 14px;
      transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1), border-color 0.3s ease, box-shadow 0.3s ease;
    }
    .card-surface:hover {
      border-color: rgba(244, 63, 94, 0.4);
      transform: translateY(-4px);
      box-shadow: 0 12px 30px rgba(0, 0, 0, 0.6);
    }
    .poster-hover-zoom img {
      transition: transform 0.45s cubic-bezier(0.4, 0, 0.2, 1);
    }
    .poster-hover-zoom:hover img {
      transform: scale(1.06);
    }
    .gradient-badge {
      background: linear-gradient(135deg, #f43f5e 0%, #be185d 100%);
    }
    .emerald-pill {
      background: rgba(16, 185, 129, 0.15);
      color: #34d399;
      border: 1px solid rgba(16, 185, 129, 0.3);
    }
    .glass-nav {
      background: rgba(10, 11, 14, 0.85);
      backdrop-filter: blur(16px);
      -webkit-backdrop-filter: blur(16px);
      border-bottom: 1px solid var(--border-subtle);
    }
    .faq-item details summary::-webkit-details-marker {
      display: none;
    }
    .progress-circle {
      transform: rotate(-90deg);
      transform-origin: 50% 50%;
    }

/* roulang page: category5 */
:root {
      --bg-main: #0a0b0e;
      --bg-surface: #12141a;
      --bg-card: #181b22;
      --accent-pink: #f43f5e;
      --accent-glow: rgba(244, 63, 94, 0.35);
      --border-subtle: rgba(255, 255, 255, 0.08);
      --text-main: #f8fafc;
      --text-muted: #94a3b8;
      --emerald-badge: #10b981;
    }
    body {
      background-color: var(--bg-main);
      color: var(--text-main);
      font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
      line-height: 1.65;
      -webkit-font-smoothing: antialiased;
      overflow-x: hidden;
    }
    a {
      color: inherit;
      text-decoration: none;
      transition: all 0.25s ease;
    }
    .cinema-glow {
      box-shadow: 0 0 50px -10px var(--accent-glow);
    }
    .card-surface {
      background-color: var(--bg-surface);
      border: 1px solid var(--border-subtle);
      border-radius: 14px;
      transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1), border-color 0.3s ease, box-shadow 0.3s ease;
    }
    .card-surface:hover {
      border-color: rgba(244, 63, 94, 0.4);
      transform: translateY(-4px);
      box-shadow: 0 12px 30px rgba(0, 0, 0, 0.6);
    }
    .poster-hover-zoom img {
      transition: transform 0.45s cubic-bezier(0.4, 0, 0.2, 1);
    }
    .poster-hover-zoom:hover img {
      transform: scale(1.06);
    }
    .gradient-badge {
      background: linear-gradient(135deg, #f43f5e 0%, #be185d 100%);
    }
    .emerald-pill {
      background: rgba(16, 185, 129, 0.15);
      color: #34d399;
      border: 1px solid rgba(16, 185, 129, 0.3);
    }
    .glass-nav {
      background: rgba(10, 11, 14, 0.88);
      backdrop-filter: blur(16px);
      -webkit-backdrop-filter: blur(16px);
      border-bottom: 1px solid var(--border-subtle);
    }
    .filter-btn-active {
      background: linear-gradient(135deg, #f43f5e 0%, #e11d48 100%);
      color: #ffffff;
      box-shadow: 0 4px 15px rgba(244, 63, 94, 0.3);
    }
    .soft-glow-box {
      box-shadow: 0 0 40px -5px rgba(244, 63, 94, 0.18);
    }
