/* roulang page: index */
:root {
      --bg-dark: #070A13;
      --bg-surface: #0C1222;
      --primary: #00E5FF;
      --primary-glow: rgba(0, 229, 255, 0.4);
      --secondary: #3D7BFF;
      --secondary-glow: rgba(61, 123, 255, 0.35);
      --text-main: #F8FAFC;
      --text-muted: #94A3B8;
      --border-glass: rgba(255, 255, 255, 0.08);
      --card-glass: rgba(15, 23, 42, 0.72);
    }
    body {
      background-color: var(--bg-dark);
      color: var(--text-main);
      font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
      overflow-x: hidden;
    }
    .glass-panel {
      background: var(--card-glass);
      backdrop-filter: blur(16px);
      -webkit-backdrop-filter: blur(16px);
      border: 1px solid var(--border-glass);
    }
    .glass-panel:hover {
      border-color: rgba(0, 229, 255, 0.3);
    }
    .glow-btn-cyan {
      background: linear-gradient(135deg, #00E5FF, #0099FF);
      box-shadow: 0 0 25px var(--primary-glow);
      transition: all 0.3s ease;
    }
    .glow-btn-cyan:hover {
      box-shadow: 0 0 35px rgba(0, 229, 255, 0.7);
      transform: translateY(-2px);
    }
    .glow-btn-blue {
      background: linear-gradient(135deg, #3D7BFF, #1E40AF);
      box-shadow: 0 0 20px var(--secondary-glow);
      transition: all 0.3s ease;
    }
    .glow-btn-blue:hover {
      box-shadow: 0 0 30px rgba(61, 123, 255, 0.6);
      transform: translateY(-2px);
    }
    .code-grid-bg {
      background-image: radial-gradient(rgba(0, 229, 255, 0.1) 1px, transparent 1px),
                        radial-gradient(rgba(61, 123, 255, 0.06) 1px, transparent 1px);
      background-size: 32px 32px;
      background-position: 0 0, 16px 16px;
    }
    .section-border-b {
      border-bottom: 1px solid rgba(255, 255, 255, 0.05);
    }
    details summary::-webkit-details-marker {
      display: none;
    }
    details[open] summary .faq-icon {
      transform: rotate(180deg);
      color: var(--primary);
    }
    .status-pulse {
      box-shadow: 0 0 0 0 rgba(34, 197, 94, 0.7);
      animation: statusPulse 2s infinite cubic-bezier(0.66, 0, 0, 1);
    }
    @keyframes statusPulse {
      to {
        box-shadow: 0 0 0 8px rgba(34, 197, 94, 0);
      }
    }
