/* roulang page: index */
:root {
      --primary-color: #635BFF;
      --accent-magenta: #FF2E93;
      --bg-light: #F8F9FA;
      --text-dark: #111827;
      --text-muted: #6B7280;
      --border-color: #E5E7EB;
      --radius-card: 1rem;
      --shadow-soft: 0 8px 30px rgba(0, 0, 0, 0.04);
      --shadow-hover: 0 20px 40px rgba(99, 91, 255, 0.08);
    }
    *, *::before, *::after {
      box-sizing: border-box;
    }
    body {
      background-color: var(--bg-light);
      color: #374151;
      font-family: system-ui, -apple-system, "SF Pro Display", "PingFang SC", sans-serif;
      text-rendering: optimizeLegibility;
      -webkit-font-smoothing: antialiased;
    }
    .custom-scrollbar::-webkit-scrollbar {
      width: 6px;
      height: 6px;
    }
    .custom-scrollbar::-webkit-scrollbar-thumb {
      background: #D1D5DB;
      border-radius: 9999px;
    }
    .card-sheen {
      position: relative;
      overflow: hidden;
    }
    .card-sheen::after {
      content: "";
      position: absolute;
      top: -50%;
      left: -60%;
      width: 40%;
      height: 200%;
      background: linear-gradient(to right, rgba(255,255,255,0) 0%, rgba(255,255,255,0.3) 50%, rgba(255,255,255,0) 100%);
      transform: rotate(25deg);
      transition: all 0.75s ease;
      opacity: 0;
    }
    .card-sheen:hover::after {
      left: 120%;
      opacity: 1;
    }
