/* roulang page: index */
:root {
        --color-primary: #0D382E;
        --color-primary-light: #0A5C4E;
        --color-accent: #10B981;
        --color-accent-subtle: #34D399;
        --color-bg-base: #F7FAF9;
        --color-text-main: #0F172A;
        --color-text-body: #334155;
        --color-text-muted: #64748B;
        --color-border: rgba(10, 92, 78, 0.12);
        --shadow-soft: 0 4px 20px -2px rgba(10, 92, 78, 0.05);
        --shadow-hover: 0 12px 28px -4px rgba(10, 92, 78, 0.14);
      }
      * {
        box-sizing: border-box;
      }
      body {
        font-family: system-ui, -apple-system, "PingFang SC", "Microsoft YaHei", "Source Han Sans CN", sans-serif;
        background-color: var(--color-bg-base);
        color: var(--color-text-body);
        line-height: 1.7;
        overflow-x: hidden;
      }
      html {
        scroll-behavior: smooth;
      }
      .custom-card {
        background: #ffffff;
        border: 1px solid var(--color-border);
        border-radius: 1rem;
        box-shadow: var(--shadow-soft);
        transition: transform 0.25s ease, box-shadow 0.25s ease;
      }
      .custom-card:hover {
        transform: translateY(-4px);
        box-shadow: var(--shadow-hover);
      }
      .btn-primary {
        background: linear-gradient(135deg, #0A5C4E 0%, #0D382E 100%);
        color: #ffffff;
        transition: all 0.25s ease;
      }
      .btn-primary:hover {
        background: linear-gradient(135deg, #0F766E 0%, #0A5C4E 100%);
        box-shadow: 0 6px 16px -2px rgba(16, 185, 129, 0.35);
      }
      .btn-accent {
        background: #10B981;
        color: #ffffff;
        transition: all 0.25s ease;
      }
      .btn-accent:hover {
        background: #059669;
        box-shadow: 0 6px 16px -2px rgba(16, 185, 129, 0.4);
      }
      .badge-tag {
        display: inline-flex;
        align-items: center;
        gap: 0.375rem;
        padding: 0.25rem 0.75rem;
        border-radius: 9999px;
        font-size: 0.8125rem;
        font-weight: 500;
        background: rgba(16, 185, 129, 0.1);
        color: #0A5C4E;
        border: 1px solid rgba(16, 185, 129, 0.25);
      }
