/* roulang page: index */
:root {
      --bg-dark: #0B0C10;
      --card-dark: #1A1C23;
      --accent-purple: #9D4EDD;
      --accent-pink: #F72585;
      --accent-cyan: #4CC9F0;
    }
    * {
      box-sizing: border-box;
      margin: 0;
      padding: 0;
    }
    body {
      background-color: var(--bg-dark);
      color: #C5C6C7;
      font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif;
      overflow-x: hidden;
    }
    ::-webkit-scrollbar {
      width: 8px;
      height: 8px;
    }
    ::-webkit-scrollbar-track {
      background: #0B0C10;
    }
    ::-webkit-scrollbar-thumb {
      background: #2D313E;
      border-radius: 4px;
    }
    ::-webkit-scrollbar-thumb:hover {
      background: #9D4EDD;
    }
    .neon-glow {
      box-shadow: 0 0 25px rgba(157, 78, 221, 0.35);
    }
    .card-border {
      border: 1px solid rgba(255, 255, 255, 0.08);
    }
    .card-border:hover {
      border-color: rgba(157, 78, 221, 0.45);
      box-shadow: 0 8px 24px rgba(157, 78, 221, 0.22);
    }
    .text-gradient {
      background: linear-gradient(135deg, #FFFFFF 20%, #4CC9F0 60%, #F72585 100%);
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
    }
    .btn-gradient {
      background: linear-gradient(135deg, #9D4EDD 0%, #F72585 100%);
      transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    }
    .btn-gradient:hover {
      filter: brightness(1.15);
      box-shadow: 0 4px 20px rgba(247, 37, 133, 0.4);
      transform: translateY(-2px);
    }

/* roulang page: category1 */
:root {
      --bg-dark: #0B0C10;
      --bg-secondary: #13151B;
      --card-dark: #1A1C23;
      --accent-purple: #9D4EDD;
      --accent-pink: #F72585;
      --accent-cyan: #4CC9F0;
      --text-main: #FFFFFF;
      --text-muted: #8A8D93;
      --text-silver: #C5C6C7;
    }
    body {
      background-color: var(--bg-dark);
      color: var(--text-silver);
      font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif;
      overflow-x: hidden;
    }
    .card-border {
      border: 1px solid rgba(255, 255, 255, 0.08);
      transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    }
    .card-border:hover {
      border-color: rgba(157, 78, 221, 0.45);
      box-shadow: 0 8px 24px rgba(157, 78, 221, 0.22);
      transform: translateY(-3px);
    }
    .text-gradient {
      background: linear-gradient(135deg, #FFFFFF 20%, #4CC9F0 60%, #F72585 100%);
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
    }
    .btn-gradient {
      background: linear-gradient(135deg, #9D4EDD 0%, #F72585 100%);
      transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    }
    .btn-gradient:hover {
      filter: brightness(1.15);
      box-shadow: 0 4px 20px rgba(247, 37, 133, 0.4);
      transform: translateY(-2px);
    }
    .ratio-poster {
      aspect-ratio: 2 / 3;
    }
    .custom-scrollbar::-webkit-scrollbar {
      height: 4px;
      width: 4px;
    }
    .custom-scrollbar::-webkit-scrollbar-thumb {
      background: rgba(157, 78, 221, 0.4);
      border-radius: 4px;
    }
    .custom-scrollbar::-webkit-scrollbar-track {
      background: rgba(255, 255, 255, 0.05);
    }

/* roulang page: category2 */
:root {
      --bg-dark: #0B0C10;
      --card-dark: #1A1C23;
      --accent-purple: #9D4EDD;
      --accent-pink: #F72585;
      --accent-cyan: #4CC9F0;
    }
    body {
      background-color: var(--bg-dark);
      color: #C5C6C7;
      font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif;
      overflow-x: hidden;
    }
    .card-border {
      border: 1px solid rgba(255, 255, 255, 0.08);
      transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    }
    .card-border:hover {
      border-color: rgba(157, 78, 221, 0.45);
      box-shadow: 0 8px 24px rgba(157, 78, 221, 0.22);
      transform: translateY(-4px);
    }
    .text-gradient {
      background: linear-gradient(135deg, #FFFFFF 20%, #4CC9F0 60%, #F72585 100%);
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
    }
    .btn-gradient {
      background: linear-gradient(135deg, #9D4EDD 0%, #F72585 100%);
      transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    }
    .btn-gradient:hover {
      filter: brightness(1.15);
      box-shadow: 0 4px 20px rgba(247, 37, 133, 0.4);
      transform: translateY(-2px);
    }
    .aspect-poster {
      aspect-ratio: 2 / 3;
    }
    .aspect-banner {
      aspect-ratio: 16 / 9;
    }

/* roulang page: category3 */
:root {
            --bg-dark: #0B0C10;
            --card-dark: #1A1C23;
            --accent-purple: #9D4EDD;
            --accent-pink: #F72585;
            --accent-cyan: #4CC9F0;
        }
        body {
            background-color: var(--bg-dark);
            color: #C5C6C7;
            font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif;
            overflow-x: hidden;
        }
        .card-border {
            border: 1px solid rgba(255, 255, 255, 0.08);
        }
        .card-border:hover {
            border-color: rgba(157, 78, 221, 0.45);
            box-shadow: 0 8px 24px rgba(157, 78, 221, 0.22);
        }
        .text-gradient {
            background: linear-gradient(135deg, #FFFFFF 20%, #4CC9F0 60%, #F72585 100%);
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
        }
        .btn-gradient {
            background: linear-gradient(135deg, #9D4EDD 0%, #F72585 100%);
            transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
        }
        .btn-gradient:hover {
            filter: brightness(1.15);
            box-shadow: 0 4px 20px rgba(247, 37, 133, 0.4);
            transform: translateY(-2px);
        }
        .aspect-manga {
            aspect-ratio: 2 / 3;
        }
        .filter-tag-active {
            background: linear-gradient(135deg, rgba(157, 78, 221, 0.25) 0%, rgba(247, 37, 133, 0.25) 100%);
            border-color: #F72585;
            color: #FFFFFF;
            font-weight: 600;
        }

/* roulang page: category4 */
:root {
      --bg-dark: #0B0C10;
      --card-dark: #1A1C23;
      --accent-purple: #9D4EDD;
      --accent-pink: #F72585;
      --accent-cyan: #4CC9F0;
    }
    body {
      background-color: var(--bg-dark);
      color: #C5C6C7;
      font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif;
      overflow-x: hidden;
    }
    .card-border {
      border: 1px solid rgba(255, 255, 255, 0.08);
      transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    }
    .card-border:hover {
      border-color: rgba(157, 78, 221, 0.45);
      box-shadow: 0 8px 24px rgba(157, 78, 221, 0.22);
    }
    .text-gradient {
      background: linear-gradient(135deg, #FFFFFF 20%, #4CC9F0 60%, #F72585 100%);
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
    }
    .btn-gradient {
      background: linear-gradient(135deg, #9D4EDD 0%, #F72585 100%);
      transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    }
    .btn-gradient:hover {
      filter: brightness(1.15);
      box-shadow: 0 4px 20px rgba(247, 37, 133, 0.4);
      transform: translateY(-2px);
    }
    /* 自定义滚动条 */
    ::-webkit-scrollbar {
      width: 8px;
      height: 8px;
    }
    ::-webkit-scrollbar-track {
      background: #0B0C10;
    }
    ::-webkit-scrollbar-thumb {
      background: #1A1C23;
      border-radius: 4px;
      border: 1px solid rgba(255, 255, 255, 0.1);
    }
    ::-webkit-scrollbar-thumb:hover {
      background: #9D4EDD;
    }
