/* roulang page: index */
:root {
      --bg-dark: #0B0E14;
      --bg-surface: #111622;
      --bg-card: #161C2C;
      --primary: #00F0FF;
      --accent-purple: #7B2CBF;
      --accent-rose: #FF3366;
      --border-line: #1E293B;
      --text-main: #FFFFFF;
      --text-muted: #94A3B8;
    }
    body {
      background-color: var(--bg-dark);
      color: #E2E8F0;
      font-family: 'Noto Sans SC', sans-serif;
      overflow-x: hidden;
    }
    .hud-border {
      position: relative;
      border: 1px solid rgba(0, 240, 255, 0.2);
    }
    .hud-border::before, .hud-border::after {
      content: '';
      position: absolute;
      width: 6px;
      height: 6px;
      border-color: #00F0FF;
      pointer-events: none;
    }
    .hud-border::before {
      top: -1px;
      left: -1px;
      border-top: 2px solid #00F0FF;
      border-left: 2px solid #00F0FF;
    }
    .hud-border::after {
      bottom: -1px;
      right: -1px;
      border-bottom: 2px solid #00F0FF;
      border-right: 2px solid #00F0FF;
    }
    .glow-cyan {
      box-shadow: 0 0 25px rgba(0, 240, 255, 0.15);
    }
    .glow-cyan:hover {
      box-shadow: 0 0 35px rgba(0, 240, 255, 0.3);
      border-color: rgba(0, 240, 255, 0.6);
    }
    .grid-mesh {
      background-image: radial-gradient(rgba(0, 240, 255, 0.08) 1px, transparent 0);
      background-size: 28px 28px;
    }
    .status-pulse {
      animation: pulse-ring 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
    }
    @keyframes pulse-ring {
      0%, 100% { opacity: 1; transform: scale(1); }
      50% { opacity: 0.4; transform: scale(1.15); }
    }
