/* roulang page: index */
:root {
      --bg-main: #0B0D14;
      --bg-card: #131722;
      --text-main: #FFFFFF;
      --text-muted: #94A3B8;
      --cyan: #00F2FE;
      --purple: #7F00FF;
      --neon: #00E599;
    }
    body {
      background-color: var(--bg-main);
      color: #E2E8F0;
      font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
      overflow-x: hidden;
      -webkit-font-smoothing: antialiased;
    }
    .gradient-brand-text {
      background: linear-gradient(135deg, #00F2FE 0%, #4FACFE 50%, #9055FF 100%);
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
    }
    .gradient-accent-text {
      background: linear-gradient(135deg, #00E599 0%, #00F2FE 100%);
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
    }
    .glass-nav {
      background: rgba(11, 13, 20, 0.85);
      backdrop-filter: blur(16px);
      -webkit-backdrop-filter: blur(16px);
    }
    .card-border-glow {
      border: 1px solid rgba(255, 255, 255, 0.08);
      background: linear-gradient(180deg, rgba(255, 255, 255, 0.04) 0%, rgba(255, 255, 255, 0.01) 100%);
      transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
    }
    .card-border-glow:hover {
      border-color: rgba(0, 242, 254, 0.35);
      transform: translateY(-4px);
      box-shadow: 0 20px 40px -15px rgba(0, 242, 254, 0.15);
    }
    .radar-pulse {
      animation: pulse-ring 2.5s cubic-bezier(0.215, 0.61, 0.355, 1) infinite;
    }
    @keyframes pulse-ring {
      0% { transform: scale(0.95); opacity: 0.8; }
      50% { transform: scale(1.15); opacity: 0.4; }
      100% { transform: scale(0.95); opacity: 0.8; }
    }
