/* roulang page: index */
:root {
      --bg-canvas: #f8fafc;
      --color-primary: #1e40af;
      --color-primary-dark: #1e3a8a;
      --color-accent: #0284c7;
      --color-highlight: #ea580c;
      --color-text-main: #0f172a;
      --color-text-sub: #475569;
      --color-border: #e2e8f0;
    }
    body {
      background-color: var(--bg-canvas);
      color: var(--color-text-main);
      font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
      text-rendering: optimizeLegibility;
      -webkit-font-smoothing: antialiased;
      overflow-x: hidden;
    }
    .custom-scroll::-webkit-scrollbar {
      width: 6px;
    }
    .custom-scroll::-webkit-scrollbar-thumb {
      background: #cbd5e1;
      border-radius: 4px;
    }
    .hero-mask {
      background: linear-gradient(135deg, rgba(15, 23, 42, 0.92) 0%, rgba(30, 58, 138, 0.85) 60%, rgba(2, 132, 199, 0.65) 100%);
    }
    .card-shadow {
      box-shadow: 0 4px 20px -2px rgba(15, 23, 42, 0.05), 0 2px 6px -1px rgba(15, 23, 42, 0.03);
    }
    .card-hover:hover {
      box-shadow: 0 20px 25px -5px rgba(15, 23, 42, 0.1), 0 8px 10px -6px rgba(15, 23, 42, 0.06);
      transform: translateY(-4px);
    }
    .tech-border-glow:hover {
      border-color: #3b82f6;
      box-shadow: 0 0 15px rgba(59, 130, 246, 0.2);
    }
