/* roulang page: index */
:root {
            --bg-base: #0A0A0C;
            --bg-card: #13151B;
            --bg-hover: #1C1F2A;
            --border-color: #262A38;
            --accent-pink: #FF2A6D;
            --accent-purple: #8C52FF;
            --accent-gold: #FFB800;
            --text-main: #F8FAFC;
            --text-sub: #94A3B8;
            --text-mute: #64748B;
        }

        * {
            box-sizing: border-box;
            margin: 0;
            padding: 0;
        }

        body {
            background-color: var(--bg-base);
            color: var(--text-main);
            font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
            line-height: 1.6;
            overflow-x: hidden;
        }

        /* 滚动条美化 */
        ::-webkit-scrollbar {
            width: 8px;
            height: 8px;
        }
        ::-webkit-scrollbar-track {
            background: #0A0A0C;
        }
        ::-webkit-scrollbar-thumb {
            background: #262A38;
            border-radius: 4px;
        }
        ::-webkit-scrollbar-thumb:hover {
            background: #FF2A6D;
        }

        /* 海报悬浮与漫反射动效 */
        .poster-card {
            transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.3s ease, border-color 0.3s ease;
        }
        .poster-card:hover {
            transform: translateY(-4px);
            box-shadow: 0 12px 30px -8px rgba(255, 42, 109, 0.25);
            border-color: rgba(255, 42, 109, 0.5);
        }

        .gold-glow-border {
            box-shadow: 0 0 25px -5px rgba(255, 184, 0, 0.2);
            border: 1px solid rgba(255, 184, 0, 0.35);
        }

        .pink-btn {
            background: linear-gradient(135deg, #FF2A6D 0%, #D81B60 100%);
            box-shadow: 0 4px 18px rgba(255, 42, 109, 0.4);
            transition: all 0.25s ease;
        }
        .pink-btn:hover {
            box-shadow: 0 6px 24px rgba(255, 42, 109, 0.6);
            transform: translateY(-1px);
        }

        .gold-btn {
            background: linear-gradient(135deg, #FFB800 0%, #D49200 100%);
            box-shadow: 0 4px 18px rgba(255, 184, 0, 0.35);
            transition: all 0.25s ease;
        }
        .gold-btn:hover {
            box-shadow: 0 6px 24px rgba(255, 184, 0, 0.55);
            transform: translateY(-1px);
        }

        /* 手风琴折叠效果 */
        details summary::-webkit-details-marker {
            display: none;
        }
        details[open] summary svg {
            transform: rotate(180deg);
        }

/* roulang page: category2 */
:root {
      --bg-base: #0A0A0C;
      --bg-card: #13151B;
      --bg-hover: #1C1F2A;
      --border-color: #262A38;
      --accent-pink: #FF2A6D;
      --accent-purple: #8C52FF;
      --accent-gold: #FFB800;
      --text-main: #F8FAFC;
      --text-sub: #94A3B8;
      --text-mute: #64748B;
    }
    body {
      background-color: var(--bg-base);
      color: var(--text-main);
      font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
      line-height: 1.6;
      overflow-x: hidden;
    }
    .poster-card {
      transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.3s ease, border-color 0.3s ease;
    }
    .poster-card:hover {
      transform: translateY(-4px);
      box-shadow: 0 12px 30px -8px rgba(255, 42, 109, 0.25);
      border-color: rgba(255, 42, 109, 0.5);
    }
    .gold-glow-border {
      box-shadow: 0 0 25px -5px rgba(255, 184, 0, 0.2);
      border: 1px solid rgba(255, 184, 0, 0.35);
    }
    .pink-btn {
      background: linear-gradient(135deg, #FF2A6D 0%, #D81B60 100%);
      box-shadow: 0 4px 18px rgba(255, 42, 109, 0.4);
      transition: all 0.25s ease;
    }
    .pink-btn:hover {
      box-shadow: 0 6px 24px rgba(255, 42, 109, 0.6);
      transform: translateY(-1px);
    }
    .gold-btn {
      background: linear-gradient(135deg, #FFB800 0%, #D49200 100%);
      box-shadow: 0 4px 18px rgba(255, 184, 0, 0.35);
      transition: all 0.25s ease;
    }
    .gold-btn:hover {
      box-shadow: 0 6px 24px rgba(255, 184, 0, 0.55);
      transform: translateY(-1px);
    }
    .custom-scrollbar::-webkit-scrollbar {
      height: 6px;
    }
    .custom-scrollbar::-webkit-scrollbar-thumb {
      background: #262A38;
      border-radius: 9999px;
    }
    .custom-scrollbar::-webkit-scrollbar-thumb:hover {
      background: #FF2A6D;
    }

/* roulang page: category1 */
:root {
      --bg-base: #0A0A0C;
      --bg-card: #13151B;
      --bg-hover: #1C1F2A;
      --border-color: #262A38;
      --accent-pink: #FF2A6D;
      --accent-purple: #8C52FF;
      --accent-gold: #FFB800;
      --text-main: #F8FAFC;
      --text-sub: #94A3B8;
      --text-mute: #64748B;
    }
    body {
      background-color: var(--bg-base);
      color: var(--text-main);
      font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
      line-height: 1.6;
      overflow-x: hidden;
    }
    .poster-card {
      transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.3s ease, border-color 0.3s ease;
    }
    .poster-card:hover {
      transform: translateY(-4px);
      box-shadow: 0 12px 30px -8px rgba(255, 42, 109, 0.25);
      border-color: rgba(255, 42, 109, 0.5);
    }
    .gold-glow-border {
      box-shadow: 0 0 25px -5px rgba(255, 184, 0, 0.2);
      border: 1px solid rgba(255, 184, 0, 0.35);
    }
    .pink-btn {
      background: linear-gradient(135deg, #FF2A6D 0%, #D81B60 100%);
      box-shadow: 0 4px 18px rgba(255, 42, 109, 0.4);
      transition: all 0.25s ease;
    }
    .pink-btn:hover {
      box-shadow: 0 6px 24px rgba(255, 42, 109, 0.6);
      transform: translateY(-1px);
    }
    .gold-btn {
      background: linear-gradient(135deg, #FFB800 0%, #D49200 100%);
      box-shadow: 0 4px 18px rgba(255, 184, 0, 0.35);
      transition: all 0.25s ease;
    }
    .gold-btn:hover {
      box-shadow: 0 6px 24px rgba(255, 184, 0, 0.55);
      transform: translateY(-1px);
    }
    .filter-tag {
      transition: all 0.2s ease;
    }
    .filter-tag.active {
      background-color: var(--accent-pink);
      color: #ffffff;
      border-color: var(--accent-pink);
    }

/* roulang page: category3 */
:root {
      --bg-base: #0A0A0C;
      --bg-card: #13151B;
      --bg-hover: #1C1F2A;
      --border-color: #262A38;
      --accent-pink: #FF2A6D;
      --accent-purple: #8C52FF;
      --accent-gold: #FFB800;
      --text-main: #F8FAFC;
      --text-sub: #94A3B8;
      --text-mute: #64748B;
    }
    body {
      background-color: var(--bg-base);
      color: var(--text-main);
      font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
      line-height: 1.6;
      overflow-x: hidden;
    }
    .poster-card {
      transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.3s ease, border-color 0.3s ease;
    }
    .poster-card:hover {
      transform: translateY(-4px);
      box-shadow: 0 12px 30px -8px rgba(255, 42, 109, 0.25);
      border-color: rgba(255, 42, 109, 0.5);
    }
    .gold-glow-border {
      box-shadow: 0 0 25px -5px rgba(255, 184, 0, 0.2);
      border: 1px solid rgba(255, 184, 0, 0.35);
    }
    .pink-btn {
      background: linear-gradient(135deg, #FF2A6D 0%, #D81B60 100%);
      box-shadow: 0 4px 18px rgba(255, 42, 109, 0.4);
      transition: all 0.25s ease;
    }
    .pink-btn:hover {
      box-shadow: 0 6px 24px rgba(255, 42, 109, 0.6);
      transform: translateY(-1px);
    }
    .gold-btn {
      background: linear-gradient(135deg, #FFB800 0%, #D49200 100%);
      box-shadow: 0 4px 18px rgba(255, 184, 0, 0.35);
      transition: all 0.25s ease;
    }
    .gold-btn:hover {
      box-shadow: 0 6px 24px rgba(255, 184, 0, 0.55);
      transform: translateY(-1px);
    }
    .filter-pill.active {
      background-color: var(--accent-pink);
      color: #ffffff;
      border-color: var(--accent-pink);
    }
    details[open] summary svg {
      transform: rotate(180deg);
    }

/* roulang page: category4 */
:root {
            --bg-base: #0A0A0C;
            --bg-card: #13151B;
            --bg-hover: #1C1F2A;
            --border-color: #262A38;
            --accent-pink: #FF2A6D;
            --accent-purple: #8C52FF;
            --accent-gold: #FFB800;
            --text-main: #F8FAFC;
            --text-sub: #94A3B8;
            --text-mute: #64748B;
        }
        body {
            background-color: var(--bg-base);
            color: var(--text-main);
            font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
            line-height: 1.6;
            overflow-x: hidden;
        }
        .poster-card {
            transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.3s ease, border-color 0.3s ease;
        }
        .poster-card:hover {
            transform: translateY(-4px);
            box-shadow: 0 12px 30px -8px rgba(255, 42, 109, 0.25);
            border-color: rgba(255, 42, 109, 0.5);
        }
        .gold-glow-border {
            box-shadow: 0 0 25px -5px rgba(255, 184, 0, 0.2);
            border: 1px solid rgba(255, 184, 0, 0.35);
        }
        .pink-btn {
            background: linear-gradient(135deg, #FF2A6D 0%, #D81B60 100%);
            box-shadow: 0 4px 18px rgba(255, 42, 109, 0.4);
            transition: all 0.25s ease;
        }
        .pink-btn:hover {
            box-shadow: 0 6px 24px rgba(255, 42, 109, 0.6);
            transform: translateY(-1px);
        }
        .gold-btn {
            background: linear-gradient(135deg, #FFB800 0%, #D49200 100%);
            box-shadow: 0 4px 18px rgba(255, 184, 0, 0.35);
            transition: all 0.25s ease;
        }
        .gold-btn:hover {
            box-shadow: 0 6px 24px rgba(255, 184, 0, 0.55);
            transform: translateY(-1px);
        }
        .filter-chip.active {
            background-color: var(--accent-pink);
            color: #ffffff;
            border-color: var(--accent-pink);
            box-shadow: 0 0 10px rgba(255, 42, 109, 0.35);
        }
