/* roulang page: index */
:root {
      --primary: #00E599;
      --primary-dark: #05B175;
      --accent: #FF5E3A;
      --bg-dark: #0D1527;
      --bg-deep: #0B132B;
      --bg-card: #152238;
      --text-main: #0F172A;
      --text-muted: #64748B;
      --radius-xl: 1.5rem;
    }
    body {
      color: var(--text-main);
      background-color: #F8FAFC;
      -webkit-font-smoothing: antialiased;
      overflow-x: hidden;
    }
    .text-gradient {
      background: linear-gradient(135deg, #00E599 0%, #05B175 40%, #0B132B 100%);
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
    }
    .text-gradient-emerald {
      background: linear-gradient(135deg, #00E599 0%, #38BDF8 100%);
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
    }
    .hero-bg {
      background-image: linear-gradient(to bottom, rgba(11, 19, 43, 0.88), rgba(13, 21, 39, 0.95)), url('/assets/images/5f4d1cf03af94c10.webp');
      background-size: cover;
      background-position: center;
    }
    .card-glass {
      background: rgba(255, 255, 255, 0.9);
      backdrop-filter: blur(16px);
      border: 1px solid rgba(226, 232, 240, 0.8);
    }
    .card-dark {
      background: #152238;
      border: 1px solid rgba(255, 255, 255, 0.08);
    }
    details summary::-webkit-details-marker {
      display: none;
    }
    details summary {
      list-style: none;
    }
    .animate-pulse-slow {
      animation: pulse 3s cubic-bezier(0.4, 0, 0.6, 1) infinite;
    }
    @keyframes pulse {
      0%, 100% { opacity: 1; }
      50% { opacity: .4; }
    }
