/* roulang page: index */
:root {
      --primary-color: #0D3B36;
      --secondary-color: #4E8775;
      --accent-color: #E07A5F;
      --bg-color: #F8F9FA;
      --deep-bg: #082421;
      --text-main: #1A2521;
      --text-sub: #4A5568;
      --border-light: rgba(13, 59, 54, 0.08);
      --shadow-subtle: 0 4px 20px -2px rgba(13, 59, 54, 0.04);
      --shadow-hover: 0 12px 30px -4px rgba(13, 59, 54, 0.1);
    }

    body {
      background-color: var(--bg-color);
      color: var(--text-main);
      font-family: 'PingFang SC', 'Microsoft YaHei', -apple-system, sans-serif;
      line-height: 1.8;
      -webkit-font-smoothing: antialiased;
      overflow-x: hidden;
    }

    .border-subtle {
      border: 1px solid var(--border-light);
    }

    .card-hover-effect {
      transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
    }
    .card-hover-effect:hover {
      transform: translateY(-4px);
      box-shadow: var(--shadow-hover);
      border-color: rgba(78, 135, 117, 0.3);
    }

    .shimmer-btn {
      position: relative;
      overflow: hidden;
    }
    .shimmer-btn::after {
      content: '';
      position: absolute;
      top: -50%;
      left: -60%;
      width: 40%;
      height: 200%;
      background: linear-gradient(60deg, transparent, rgba(255, 255, 255, 0.25), transparent);
      transform: rotate(25deg);
      transition: none;
    }
    .shimmer-btn:hover::after {
      left: 120%;
      transition: all 0.75s ease-in-out;
    }

    .modal-backdrop {
      background-color: rgba(8, 36, 33, 0.85);
      backdrop-filter: blur(8px);
    }

    /* 自定义表单聚焦轮廓 */
    input:focus, select:focus, textarea:focus {
      outline: none;
      border-color: #4E8775;
      box-shadow: 0 0 0 3px rgba(78, 135, 117, 0.15);
    }
