/* roulang page: index */
:root {
      --primary-color: #059669;
      --primary-dark: #047857;
      --secondary-dark: #0F172A;
      --deep-bg: #0A0F1D;
      --accent-color: #D97706;
      --text-main: #1E293B;
      --text-muted: #64748B;
      --border-color: #E2E8F0;
    }
    html {
      box-sizing: border-box;
      scroll-behavior: smooth;
    }
    *, *:before, *:after {
      box-sizing: inherit;
    }
    body {
      background-color: #F8FAFC;
      color: var(--text-main);
      font-family: 'Inter', 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei', sans-serif;
      line-height: 1.65;
      overflow-x: hidden;
    }
    .hero-slide {
      transition: opacity 0.8s ease-in-out, transform 0.8s ease-in-out;
    }
    .tech-border-glow {
      position: relative;
    }
    .tech-border-glow::after {
      content: '';
      position: absolute;
      inset: -1px;
      border-radius: inherit;
      padding: 1px;
      background: linear-gradient(135deg, rgba(5, 150, 105, 0.4), rgba(217, 119, 6, 0.2), transparent);
      -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
      -webkit-mask-composite: xor;
      mask-composite: exclude;
      pointer-events: none;
    }
    .glass-nav {
      background: rgba(255, 255, 255, 0.94);
      backdrop-filter: blur(12px);
      -webkit-backdrop-filter: blur(12px);
    }
    .grid-pattern {
      background-size: 32px 32px;
      background-image: linear-gradient(to right, rgba(15, 23, 42, 0.04) 1px, transparent 1px),
                        linear-gradient(to bottom, rgba(15, 23, 42, 0.04) 1px, transparent 1px);
    }
    .dark-grid-pattern {
      background-size: 36px 36px;
      background-image: linear-gradient(to right, rgba(5, 150, 105, 0.08) 1px, transparent 1px),
                        linear-gradient(to bottom, rgba(5, 150, 105, 0.08) 1px, transparent 1px);
    }
    .stat-number {
      font-feature-settings: "tnum";
      font-variant-numeric: tabular-nums;
    }
    /* 自定义Toast提示动画 */
    #toast-msg {
      transform: translateY(100px);
      transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.3s ease;
    }
    #toast-msg.show {
      transform: translateY(0);
      opacity: 1;
    }
