/* roulang page: index */
:root {
      --primary: #1E3A8A;
      --accent-blue: #3B82F6;
      --accent-cyan: #06B6D4;
      --accent-emerald: #10B981;
      --bg-dark: #0F172A;
      --bg-light: #F8FAFC;
      --text-main: #0F172A;
      --text-body: #334155;
      --text-muted: #64748B;
      --border-color: rgba(226, 232, 240, 0.85);
      --radius-card: 1.25rem;
    }

    * {
      box-sizing: border-box;
      scroll-behavior: smooth;
    }

    body {
      font-family: 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei', sans-serif;
      color: var(--text-body);
      background-color: #FFFFFF;
      overflow-x: hidden;
    }

    .badge-pill {
      display: inline-flex;
      align-items: center;
      padding: 0.35rem 0.85rem;
      border-radius: 9999px;
      font-size: 0.8rem;
      font-weight: 600;
      letter-spacing: 0.025em;
    }

    .custom-gradient-text {
      background: linear-gradient(135deg, #1E3A8A 0%, #3B82F6 50%, #06B6D4 100%);
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
    }

    .custom-glow-border {
      position: relative;
    }
    .custom-glow-border::after {
      content: '';
      position: absolute;
      inset: -1px;
      border-radius: inherit;
      padding: 1px;
      background: linear-gradient(135deg, rgba(59, 130, 246, 0.5), rgba(16, 185, 129, 0.2));
      -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
      -webkit-mask-composite: xor;
      mask-composite: exclude;
      pointer-events: none;
    }

    .code-console {
      background: #0B1120;
      border: 1px solid #1E293B;
      box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.4);
    }

    .accordion-content {
      transition: max-height 0.35s ease-out, opacity 0.3s ease;
    }
