/* roulang page: index */
:root {
      --color-primary: #0284C7;
      --color-primary-dark: #0369A1;
      --color-accent-emerald: #10B981;
      --color-accent-orange: #F97316;
      --color-bg-dark: #0B1120;
      --color-bg-light: #F8FAFC;
      --color-text-main: #1E293B;
      --color-text-muted: #64748B;
      --border-subtle: rgba(15, 23, 42, 0.08);
      --border-subtle-dark: rgba(255, 255, 255, 0.1);
    }
    html {
      box-sizing: border-box;
      text-size-adjust: 100%;
    }
    *, *::before, *::after {
      box-sizing: inherit;
    }
    body {
      color: var(--color-text-main);
      background-color: var(--color-bg-light);
      font-family: 'PingFang SC', 'Microsoft YaHei', 'Hiragino Sans GB', 'Inter', sans-serif;
      overflow-x: hidden;
      line-height: 1.6;
    }
    .custom-scrollbar::-webkit-scrollbar {
      width: 6px;
      height: 6px;
    }
    .custom-scrollbar::-webkit-scrollbar-thumb {
      background: rgba(15, 23, 42, 0.2);
      border-radius: 9999px;
    }
    .hero-glow {
      background: radial-gradient(circle at 50% 30%, rgba(2, 132, 199, 0.15) 0%, rgba(11, 17, 32, 0) 70%);
    }
    .card-stacked-left {
      transform: rotate(-3deg) translateY(12px);
      transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    }
    .card-stacked-right {
      transform: rotate(3deg) translateY(16px);
      transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    }
    .card-stacked-center {
      transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    }
    .hero-stack-group:hover .card-stacked-left {
      transform: rotate(-5deg) translate(-14px, 6px);
    }
    .hero-stack-group:hover .card-stacked-right {
      transform: rotate(5deg) translate(14px, 10px);
    }
    .hero-stack-group:hover .card-stacked-center {
      transform: scale(1.02);
    }
    .badge-subtle {
      display: inline-flex;
      align-items: center;
      padding: 0.25rem 0.75rem;
      border-radius: 9999px;
      font-size: 0.75rem;
      font-weight: 600;
      letter-spacing: 0.05em;
    }
