/* roulang page: index */
:root {
            --primary: #065F46;
            --primary-dark: #064E3B;
            --secondary: #164E63;
            --accent: #34D399;
            --highlight: #F59E0B;
            --bg-light: #F8FAFC;
            --text-main: #0F172A;
            --text-muted: #64748B;
            --border-color: #E2E8F0;
        }
        body {
            font-family: 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei', sans-serif;
            color: var(--text-main);
            background-color: #FFFFFF;
            line-height: 1.75;
            -webkit-font-smoothing: antialiased;
        }
        .text-balanced {
            text-wrap: balance;
        }
        .hero-pattern {
            background-image: radial-gradient(rgba(52, 211, 153, 0.08) 1px, transparent 1px);
            background-size: 24px 24px;
        }
        .transition-base {
            transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
        }
        .badge-pulse {
            animation: pulse-ring 2.5s cubic-bezier(0.215, 0.61, 0.355, 1) infinite;
        }
        @keyframes pulse-ring {
            0% { transform: scale(0.95); box-shadow: 0 0 0 0 rgba(52, 211, 153, 0.5); }
            70% { transform: scale(1); box-shadow: 0 0 0 8px rgba(52, 211, 153, 0); }
            100% { transform: scale(0.95); box-shadow: 0 0 0 0 rgba(52, 211, 153, 0); }
        }
