/* roulang page: index */
:root {
      --bg-dark: #0C1412;
      --bg-card: #121D1A;
      --bg-card-light: #1A2A26;
      --primary: #10B981;
      --accent: #00E676;
      --warning: #F59E0B;
      --text-main: #F9FAFB;
      --text-muted: #D1D5DB;
      --text-dim: #9CA3AF;
      --border-color: rgba(255, 255, 255, 0.08);
    }
    
    body {
      background-color: var(--bg-dark);
      color: var(--text-muted);
      font-family: Inter, -apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
      overflow-x: hidden;
    }

    .custom-card {
      background: var(--bg-card);
      border: 1px solid var(--border-color);
      transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    }

    .custom-card:hover {
      border-color: rgba(16, 185, 129, 0.5);
      transform: translateY(-4px);
      box-shadow: 0 12px 28px rgba(0, 230, 118, 0.08);
    }

    .pulse-dot {
      animation: pulseAnim 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
    }

    @keyframes pulseAnim {
      0%, 100% { opacity: 1; transform: scale(1); }
      50% { opacity: 0.4; transform: scale(1.15); }
    }

    .btn-primary {
      background-color: var(--primary);
      color: #06100C;
      font-weight: 700;
      transition: all 0.2s ease;
    }
    .btn-primary:hover {
      background-color: var(--accent);
      box-shadow: 0 0 18px rgba(16, 185, 129, 0.45);
      transform: translateY(-1px);
    }

    .btn-secondary {
      background: rgba(255, 255, 255, 0.05);
      border: 1px solid var(--border-color);
      color: var(--text-main);
      transition: all 0.2s ease;
    }
    .btn-secondary:hover {
      background: rgba(16, 185, 129, 0.1);
      border-color: var(--primary);
      color: var(--accent);
    }

    /* 隐藏滚动条 */
    .no-scrollbar::-webkit-scrollbar {
      display: none;
    }
    .no-scrollbar {
      -ms-overflow-style: none;
      scrollbar-width: none;
    }
