/* roulang page: index */
:root {
      --primary: #1E40AF;
      --primary-hover: #1D4ED8;
      --accent: #06B6D4;
      --success: #10B981;
      --warning: #F59E0B;
      --bg-light: #F8FAFC;
      --card-bg: #FFFFFF;
      --text-main: #0F172A;
      --text-muted: #475569;
      --border-subtle: #E2E8F0;
    }

    body {
      background-color: var(--bg-light);
      color: var(--text-main);
      font-family: system-ui, -apple-system, "PingFang SC", "Microsoft YaHei", sans-serif;
      overflow-x: hidden;
    }

    .brand-gradient-text {
      background: linear-gradient(135deg, #1D4ED8 0%, #06B6D4 100%);
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
    }

    .brand-gradient-bg {
      background: linear-gradient(135deg, #1D4ED8 0%, #0891B2 100%);
    }

    .brand-card-shadow {
      box-shadow: 0 4px 20px -2px rgba(15, 23, 42, 0.05);
      transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    }
    .brand-card-shadow:hover {
      box-shadow: 0 20px 30px -4px rgba(37, 99, 235, 0.12);
      transform: translateY(-4px);
    }

    .glow-border {
      position: relative;
    }
    .glow-border::after {
      content: '';
      position: absolute;
      inset: -1px;
      border-radius: inherit;
      padding: 1px;
      background: linear-gradient(135deg, rgba(37,99,235,0.4), rgba(6,182,212,0.1));
      -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
      -webkit-mask-composite: xor;
      mask-composite: exclude;
      pointer-events: none;
    }
