/* roulang page: index */
:root {
            --primary: #1D63ED;
            --secondary: #0E2A66;
            --surface: #FAFCFF;
            --accent: #EBF2FE;
            --text-main: #1A202C;
            --text-muted: #4A5568;
            --border-line: #E2E8F0;
        }
        body {
            background-color: var(--surface);
            color: var(--text-main);
            font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
            overflow-x: hidden;
        }
        .wave-bar {
            width: 3px;
            background-color: #1D63ED;
            border-radius: 9999px;
            animation: wavePulse 1.6s ease-in-out infinite;
        }
        @keyframes wavePulse {
            0%, 100% { height: 6px; }
            50% { height: 22px; }
        }
        .wave-bar:nth-child(2) { animation-delay: 0.2s; }
        .wave-bar:nth-child(3) { animation-delay: 0.4s; }
        .wave-bar:nth-child(4) { animation-delay: 0.1s; }
        .wave-bar:nth-child(5) { animation-delay: 0.5s; }
        .wave-bar:nth-child(6) { animation-delay: 0.3s; }

/* roulang page: category1 */
:root {
      --primary: #1D63ED;
      --secondary: #0E2A66;
      --surface: #FAFCFF;
      --accent: #EBF2FE;
      --text-main: #1A202C;
      --text-muted: #4A5568;
      --border-line: #E2E8F0;
    }
    body {
      background-color: var(--surface);
      color: var(--text-main);
      font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
      overflow-x: hidden;
    }
    /* 拟音轨动态波形条 */
    .audio-bar {
      display: inline-block;
      width: 3px;
      background-color: var(--primary);
      border-radius: 9999px;
      animation: wavePulse 1.2s ease-in-out infinite alternate;
    }
    .audio-bar:nth-child(2) { animation-delay: 0.2s; height: 16px; }
    .audio-bar:nth-child(3) { animation-delay: 0.4s; height: 22px; }
    .audio-bar:nth-child(4) { animation-delay: 0.1s; height: 14px; }
    .audio-bar:nth-child(5) { animation-delay: 0.5s; height: 18px; }
    @keyframes wavePulse {
      0% { transform: scaleY(0.4); opacity: 0.6; }
      100% { transform: scaleY(1.1); opacity: 1; }
    }
    .card-hover {
      transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
    }
    .card-hover:hover {
      transform: translateY(-4px);
      box-shadow: 0 16px 32px -6px rgba(29, 99, 237, 0.12);
    }
