/* roulang page: index */
:root {
      --primary: #0F5132;
      --emerald: #198754;
      --accent: #FF7A00;
      --bg: #F8FAF9;
      --dark: #0B2017;
      --text: #0F172A;
      --muted: #475569;
      --border: rgba(15, 81, 50, 0.12);
    }
    html { scroll-behavior: smooth; }
    body { background-color: var(--bg); color: var(--text); font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif; }
    .card-hover { 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; }
    .card-hover:hover { transform: translateY(-4px); box-shadow: 0 16px 32px -8px rgba(15, 81, 50, 0.12); border-color: rgba(25, 135, 84, 0.35); }
    details > summary::-webkit-details-marker { display: none; }
    .pulse-dot {
      display: inline-block;
      width: 8px;
      height: 8px;
      border-radius: 50%;
      background-color: #22c55e;
      box-shadow: 0 0 0 0 rgba(34, 197, 94, 0.7);
      animation: pulse 1.8s infinite cubic-bezier(0.66, 0, 0, 1);
    }
    @keyframes pulse {
      to { box-shadow: 0 0 0 8px rgba(34, 197, 94, 0); }
    }
