/* roulang page: index */
:root {
      --primary: #0F3B7A;
      --primary-dark: #0A2540;
      --accent: #0EA5E9;
      --accent-hover: #0284C7;
      --bg-light: #F8FAFC;
      --text-main: #0F172A;
      --text-muted: #475569;
      --border-color: #E2E8F0;
      --card-shadow: 0 10px 30px -5px rgba(15, 23, 42, 0.06);
      --card-shadow-hover: 0 20px 35px -5px rgba(14, 165, 233, 0.15);
    }
    html {
      scroll-behavior: smooth;
    }
    body {
      color: var(--text-main);
      background-color: #FFFFFF;
      font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
      overflow-x: hidden;
    }
    .tech-card {
      background: #FFFFFF;
      border: 1px solid var(--border-color);
      box-shadow: var(--card-shadow);
      transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
    }
    .tech-card:hover {
      box-shadow: var(--card-shadow-hover);
      transform: translateY(-4px);
      border-color: #BAE6FD;
    }
    .nav-link {
      position: relative;
      transition: color 0.2s ease;
    }
    .nav-link::after {
      content: '';
      position: absolute;
      width: 0;
      height: 2px;
      bottom: -4px;
      left: 0;
      background-color: var(--accent);
      transition: width 0.25s ease;
    }
    .nav-link:hover::after, .nav-link.active::after {
      width: 100%;
    }
    .badge-soft {
      background-color: #E0F2FE;
      color: #0369A1;
      border: 1px solid #BAE6FD;
    }
