/* roulang page: index */
:root {
      --bg-main: #070b19;
      --bg-alt: #0d1527;
      --cyan-glow: rgba(14, 165, 233, 0.4);
      --pulse-glow: rgba(16, 185, 129, 0.35);
    }
    body {
      background-color: var(--bg-main);
      color: #e2e8f0;
      font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
      overflow-x: hidden;
    }
    .tech-grid-bg {
      background-image: 
        radial-gradient(circle at 50% 20%, rgba(14, 165, 233, 0.12) 0%, transparent 60%),
        linear-gradient(rgba(14, 165, 233, 0.04) 1px, transparent 1px),
        linear-gradient(90deg, rgba(14, 165, 233, 0.04) 1px, transparent 1px);
      background-size: 100% 100%, 40px 40px, 40px 40px;
    }
    .glass-card {
      background: rgba(16, 26, 48, 0.75);
      backdrop-filter: blur(16px);
      -webkit-backdrop-filter: blur(16px);
      border: 1px solid rgba(56, 189, 248, 0.18);
      transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    }
    .glass-card:hover {
      border-color: rgba(56, 189, 248, 0.45);
      box-shadow: 0 10px 30px -10px rgba(14, 165, 233, 0.3);
      transform: translateY(-2px);
    }
    .btn-glow-primary {
      background: linear-gradient(135deg, #0284c7, #0ea5e9);
      box-shadow: 0 0 22px var(--cyan-glow);
      transition: all 0.25s ease;
    }
    .btn-glow-primary:hover {
      box-shadow: 0 0 32px rgba(14, 165, 233, 0.65);
      transform: translateY(-2px);
    }
    .btn-glow-secondary {
      background: rgba(16, 26, 48, 0.85);
      border: 1px solid rgba(56, 189, 248, 0.35);
      transition: all 0.25s ease;
    }
    .btn-glow-secondary:hover {
      border-color: #38bdf8;
      box-shadow: 0 0 18px rgba(56, 189, 248, 0.3);
      transform: translateY(-2px);
    }
    .mono-num {
      font-family: "JetBrains Mono", Consolas, "DIN Alternate", monospace;
    }
