/* roulang page: index */
:root {
      --pitch-deep: #0B2B26;
      --pitch-night: #051B17;
      --brand-green: #05D686;
      --brand-cyan: #00F2FE;
      --brand-accent: #FF5E3A;
      --text-main: #1A2825;
      --text-muted: #4A5A56;
      --bg-light: #F4F7F6;
      --card-shadow: 0 10px 30px -10px rgba(11, 43, 38, 0.06);
    }

    html {
      scroll-behavior: smooth;
    }

    body {
      color: var(--text-main);
      background-color: var(--bg-light);
      overflow-x: hidden;
    }

    .brand-gradient-text {
      background: linear-gradient(135deg, #05D686 0%, #00F2FE 100%);
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
    }

    .brand-gradient-bg {
      background: linear-gradient(135deg, #05D686 0%, #00F2FE 100%);
    }

    .card-hover-effect {
      transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.3s cubic-bezier(0.16, 1, 0.3, 1), border-color 0.3s ease;
    }
    .card-hover-effect:hover {
      transform: translateY(-4px);
      box-shadow: 0 20px 35px -10px rgba(5, 214, 134, 0.15);
      border-color: rgba(5, 214, 134, 0.4);
    }

    /* 脉冲呼吸指示灯 */
    .pulse-dot {
      display: inline-block;
      width: 8px;
      height: 8px;
      border-radius: 50%;
      background-color: #05D686;
      box-shadow: 0 0 8px #05D686;
      animation: pulseAnim 2s infinite;
    }
    @keyframes pulseAnim {
      0% { transform: scale(0.95); box-shadow: 0 0 0 0 rgba(5, 214, 134, 0.7); }
      70% { transform: scale(1); box-shadow: 0 0 0 6px rgba(5, 214, 134, 0); }
      100% { transform: scale(0.95); box-shadow: 0 0 0 0 rgba(5, 214, 134, 0); }
    }

    /* 手风琴原生优化 */
    details summary::-webkit-details-marker {
      display: none;
    }
    details[open] summary .faq-icon {
      transform: rotate(180deg);
    }
