/* roulang page: index */
:root {
        --color-bg-primary: #0B0F19;
        --color-bg-card: #111827;
        --color-bg-elevated: #1E293B;
        --color-brand-indigo: #6366F1;
        --color-brand-violet: #7C3AED;
        --color-accent-cyan: #06B6D4;
        --color-accent-mint: #10B981;
        --color-text-main: #F8FAFC;
        --color-text-sub: #94A3B8;
        --color-border: #1E293B;
      }
      
      * {
        box-sizing: border-box;
      }
      
      body {
        background-color: var(--color-bg-primary);
        color: var(--color-text-main);
        font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
        overflow-x: hidden;
      }

      .hero-glow-mesh {
        background: radial-gradient(circle at 50% 10%, rgba(99, 102, 241, 0.22) 0%, rgba(6, 182, 212, 0.08) 35%, rgba(11, 15, 25, 0.95) 75%);
      }

      .card-gradient-border {
        border: 1px solid rgba(148, 163, 184, 0.12);
        transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
      }

      .card-gradient-border:hover {
        border-color: rgba(99, 102, 241, 0.45);
        transform: translateY(-4px);
        box-shadow: 0 12px 30px -10px rgba(99, 102, 241, 0.25);
      }

      .live-pulse {
        animation: livePulseAnim 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
      }

      @keyframes livePulseAnim {
        0%, 100% { opacity: 1; }
        50% { opacity: .35; }
      }

      .accordion-content {
        max-height: 0;
        overflow: hidden;
        transition: max-height 0.35s ease-out;
      }

      .accordion-item.active .accordion-content {
        max-height: 240px;
      }

      .accordion-item.active .accordion-icon {
        transform: rotate(180deg);
      }
