/* roulang page: index */
:root {
      --primary: #1e40af;
      --primary-hover: #1d4ed8;
      --accent: #2563eb;
      --teal: #0d9488;
      --amber: #f59e0b;
      --dark-bg: #0f172a;
      --slate-soft: #f8fafc;
      --text-main: #0f172a;
      --text-body: #334155;
      --text-muted: #64748b;
      --border-color: #e2e8f0;
      --radius-box: 1rem;
      --shadow-card: 0 4px 20px -2px rgba(15, 23, 42, 0.05);
    }
    body {
      font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
      color: var(--text-body);
      background-color: #ffffff;
      overflow-x: hidden;
    }
    .custom-shadow {
      box-shadow: var(--shadow-card);
    }
    .custom-shadow-hover:hover {
      box-shadow: 0 20px 25px -5px rgba(30, 64, 175, 0.1), 0 8px 10px -6px rgba(30, 64, 175, 0.08);
      transform: translateY(-4px);
    }
    .nav-link {
      position: relative;
      transition: color 0.2s ease-in-out;
    }
    .nav-link::after {
      content: '';
      position: absolute;
      width: 0;
      height: 2px;
      bottom: -4px;
      left: 0;
      background-color: #2563eb;
      transition: width 0.3s ease;
    }
    .nav-link:hover::after,
    .nav-link.active::after {
      width: 100%;
    }
    .hero-gradient-overlay {
      background: linear-gradient(135deg, rgba(15, 23, 42, 0.88) 0%, rgba(30, 64, 175, 0.75) 100%);
    }
    .glass-effect {
      background: rgba(255, 255, 255, 0.95);
      backdrop-filter: blur(10px);
    }
    details summary::-webkit-details-marker {
      display: none;
    }
    details[open] summary svg {
      transform: rotate(180deg);
    }
