/* roulang page: index */
:root {
            --primary: #2563EB;
            --accent-cyan: #06B6D4;
            --accent-green: #10B981;
            --dark: #0F172A;
            --card-bg: #FFFFFF;
        }
        body {
            font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
        }
        .hero-glow {
            background: radial-gradient(circle at 50% 30%, rgba(37, 99, 235, 0.28) 0%, rgba(15, 23, 42, 0.95) 75%);
        }
        .glass-header {
            background: rgba(15, 23, 42, 0.88);
            backdrop-filter: blur(12px);
            -webkit-backdrop-filter: blur(12px);
        }
        .card-hover {
            transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
        }
        .card-hover:hover {
            transform: translateY(-6px);
            box-shadow: 0 20px 25px -5px rgba(37, 99, 235, 0.12), 0 8px 10px -6px rgba(37, 99, 235, 0.08);
        }
        .dot-pulse {
            position: relative;
        }
        .dot-pulse::after {
            content: '';
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            width: 100%;
            height: 100%;
            border-radius: 9999px;
            background: inherit;
            animation: pulse-ring 2s cubic-bezier(0.455, 0.03, 0.515, 0.955) infinite;
        }
        @keyframes pulse-ring {
            0% { transform: translate(-50%, -50%) scale(0.8); opacity: 0.8; }
            100% { transform: translate(-50%, -50%) scale(2.2); opacity: 0; }
        }
