/* roulang page: index */
:root {
      --bg-main: #f8f9fa;
      --bg-dark: #0d1117;
      --text-main: #0f172a;
      --text-muted: #475569;
      --border-color: #e2e8f0;
      --primary: #0ea5e9;
      --accent: #10b981;
    }
    html {
      scroll-behavior: smooth;
      box-sizing: border-box;
    }
    *, *::before, *::after {
      box-sizing: inherit;
    }
    body {
      font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
      color: var(--text-main);
      background-color: var(--bg-main);
      overflow-x: hidden;
      margin: 0;
      padding: 0;
    }
    .hero-bg {
      background-image: linear-gradient(rgba(13, 17, 23, 0.88), rgba(13, 17, 23, 0.94)), url('/assets/images/8ceec0dae7fe4315.webp');
      background-size: cover;
      background-position: center;
    }
    .dark-section-bg {
      background-image: linear-gradient(rgba(13, 17, 23, 0.96), rgba(13, 17, 23, 0.96)), url('/assets/images/49797fa7843963aa.webp');
      background-size: cover;
      background-position: center;
    }
    .touch-target {
      min-height: 44px;
      min-width: 44px;
    }
    .card-border {
      border: 1px solid #e2e8f0;
      box-shadow: 0 4px 20px -2px rgba(15, 23, 42, 0.05);
      transition: all 0.25s ease-in-out;
    }
    .card-border:hover {
      transform: translateY(-4px);
      box-shadow: 0 12px 28px -4px rgba(15, 23, 42, 0.09);
      border-color: #cbd5e1;
    }
    .accordion-content {
      max-height: 0;
      overflow: hidden;
      transition: max-height 0.3s cubic-bezier(0, 1, 0, 1);
    }
    .accordion-content.open {
      max-height: 500px;
      transition: max-height 0.35s ease-in-out;
    }
