/* roulang page: index */
:root {
        --color-primary: #1E40AF;
        --color-accent: #0284C7;
        --bg-page: #F8FAFC;
        --text-heading: #0F172A;
        --text-body: #334155;
        --text-muted: #64748B;
        --border-color: #E2E8F0;
        --shadow-soft: 0 10px 30px -5px rgba(15, 23, 42, 0.05), 0 4px 10px -2px rgba(15, 23, 42, 0.02);
        --shadow-hover: 0 20px 35px -5px rgba(30, 64, 175, 0.12), 0 8px 16px -4px rgba(30, 64, 175, 0.06);
      }
      body {
        font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
        background-color: var(--bg-page);
        color: var(--text-body);
        -webkit-font-smoothing: antialiased;
      }
      .card-base {
        background: #ffffff;
        border: 1px solid var(--border-color);
        box-shadow: var(--shadow-soft);
        transition: all 0.28s cubic-bezier(0.4, 0, 0.2, 1);
      }
      .card-base:hover {
        box-shadow: var(--shadow-hover);
        border-color: #cbd5e1;
        transform: translateY(-3px);
      }
      .hero-grid-pattern {
        background-size: 32px 32px;
        background-image: linear-gradient(to right, rgba(226, 232, 240, 0.45) 1px, transparent 1px),
                          linear-gradient(to bottom, rgba(226, 232, 240, 0.45) 1px, transparent 1px);
      }
      .custom-scrollbar::-webkit-scrollbar {
        height: 6px;
      }
      .custom-scrollbar::-webkit-scrollbar-thumb {
        background-color: #cbd5e1;
        border-radius: 9999px;
      }
