/* roulang page: index */
:root {
      --primary: #0284C7;
      --primary-dark: #0F172A;
      --accent: #0D9488;
      --bg-light: #F8FAFC;
      --border-color: #E2E8F0;
    }
    body {
      color: #1E293B;
      background-color: #FFFFFF;
      font-feature-settings: "cv02", "cv03", "cv04", "cv11";
      text-rendering: optimizeLegibility;
      -webkit-font-smoothing: antialiased;
    }
    .grid-pattern {
      background-size: 40px 40px;
      background-image: 
        linear-gradient(to right, rgba(226, 232, 240, 0.4) 1px, transparent 1px),
        linear-gradient(to bottom, rgba(226, 232, 240, 0.4) 1px, transparent 1px);
    }
    .dark-grid-pattern {
      background-size: 48px 48px;
      background-image: 
        linear-gradient(to right, rgba(255, 255, 255, 0.05) 1px, transparent 1px),
        linear-gradient(to bottom, rgba(255, 255, 255, 0.05) 1px, transparent 1px);
    }
    .card-hover-effect {
      transition: transform 0.2s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.2s cubic-bezier(0.16, 1, 0.3, 1);
    }
    .card-hover-effect:hover {
      transform: translateY(-2px);
      box-shadow: 0 12px 28px -6px rgba(15, 23, 42, 0.08);
    }
    /* 隐藏滚动条 */
    .no-scrollbar::-webkit-scrollbar {
      display: none;
    }
    .no-scrollbar {
      -ms-overflow-style: none;
      scrollbar-width: none;
    }
