/* roulang page: index */
:root {
      --bg-main: #0B0E14;
      --bg-card: #161B26;
      --neon-teal: #00F2FE;
      --hyper-blue: #4FACFE;
      --electric-violet: #7F00FF;
      --live-pink: #FF007A;
      --text-main: #F8FAFC;
      --text-sub: #94A3B8;
      --border-color: #222938;
    }
    html {
      scroll-behavior: smooth;
      background-color: var(--bg-main);
      color: var(--text-main);
      font-family: system-ui, -apple-system, "PingFang SC", "Noto Sans SC", "Microsoft YaHei", sans-serif;
    }
    body {
      overflow-x: hidden;
      margin: 0;
      padding: 0;
    }
    .glow-border {
      border: 1px solid var(--border-color);
      transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    }
    .glow-border:hover {
      border-color: rgba(0, 242, 254, 0.5);
      box-shadow: 0 4px 20px -2px rgba(0, 242, 254, 0.15);
      transform: translateY(-3px);
    }
    .text-gradient {
      background: linear-gradient(135deg, #00F2FE 0%, #4FACFE 50%, #7F00FF 100%);
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
    }
    .btn-gradient {
      background: linear-gradient(135deg, #00F2FE 0%, #4FACFE 100%);
      color: #0B0E14;
      font-weight: 600;
      transition: all 0.25s ease;
    }
    .btn-gradient:hover {
      filter: brightness(1.1);
      box-shadow: 0 0 20px rgba(0, 242, 254, 0.4);
    }
    .live-dot {
      animation: pulseDot 1.8s infinite;
    }
    @keyframes pulseDot {
      0% { transform: scale(0.95); box-shadow: 0 0 0 0 rgba(0, 242, 254, 0.7); }
      70% { transform: scale(1.1); box-shadow: 0 0 0 8px rgba(0, 242, 254, 0); }
      100% { transform: scale(0.95); box-shadow: 0 0 0 0 rgba(0, 242, 254, 0); }
    }
    details summary::-webkit-details-marker { display: none; }
