/* roulang page: index */
:root {
            --brand-primary: #0F52BA;
            --brand-hover: #0A3C8A;
            --brand-accent: #00B4D8;
            --bg-canvas: #F8FAFC;
            --text-heading: #0F172A;
            --text-body: #334155;
            --text-muted: #64748B;
            --card-border: #E2E8F0;
        }

        body {
            font-family: 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei', sans-serif;
            color: var(--text-body);
            background-color: var(--bg-canvas);
            overflow-x: hidden;
        }

        .card-custom-shadow {
            box-shadow: 0 10px 30px -5px rgba(15, 82, 186, 0.06);
            transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
        }
        .card-custom-shadow:hover {
            box-shadow: 0 20px 40px -5px rgba(15, 82, 186, 0.15);
            transform: translateY(-4px);
        }

        .hero-mesh-overlay {
            background: linear-gradient(135deg, rgba(15, 82, 186, 0.88) 0%, rgba(11, 19, 43, 0.94) 100%);
        }

        .pulse-beacon {
            position: relative;
        }
        .pulse-beacon::after {
            content: '';
            position: absolute;
            top: 50%;
            left: 50%;
            width: 100%;
            height: 100%;
            border-radius: 50%;
            background-color: currentColor;
            opacity: 0.6;
            transform: translate(-50%, -50%);
            animation: pulse-ring 2s cubic-bezier(0.215, 0.61, 0.355, 1) infinite;
        }
        @keyframes pulse-ring {
            0% { transform: translate(-50%, -50%) scale(0.8); opacity: 0.8; }
            100% { transform: translate(-50%, -50%) scale(2.4); opacity: 0; }
        }

        .code-stats-number {
            font-variant-numeric: tabular-nums;
            font-feature-settings: "tnum";
        }
