/* roulang page: index */
:root {
            --primary: #0F52BA;
            --primary-dark: #1E40AF;
            --accent: #0284C7;
            --positive: #059669;
            --dark-navy: #0B132B;
            --slate-text: #0F172A;
            --muted-text: #475569;
            --light-bg: #F8FAFC;
            --subtle-bg: #F1F5F9;
            --border-color: #E2E8F0;
        }

        body {
            font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
            background-color: var(--light-bg);
            color: var(--slate-text);
            overflow-x: hidden;
        }

        .fintech-grid-pattern {
            background-image: radial-gradient(rgba(15, 82, 186, 0.08) 1px, transparent 1px);
            background-size: 24px 24px;
        }

        .dark-grid-pattern {
            background-image: radial-gradient(rgba(2, 132, 199, 0.15) 1px, transparent 1px);
            background-size: 28px 28px;
        }

        .glass-header {
            background: rgba(255, 255, 255, 0.94);
            backdrop-filter: blur(12px);
            -webkit-backdrop-filter: blur(12px);
        }

        .card-transition {
            transition: transform 0.25s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.25s cubic-bezier(0.16, 1, 0.3, 1);
        }

        .card-transition:hover {
            transform: translateY(-3px);
        }

        /* 脉冲状态指示点 */
        .live-dot {
            width: 8px;
            height: 8px;
            border-radius: 50%;
            background-color: var(--positive);
            box-shadow: 0 0 0 0 rgba(5, 150, 105, 0.7);
            animation: pulse-green 2s infinite cubic-bezier(0.4, 0, 0.6, 1);
        }

        @keyframes pulse-green {
            0% {
                transform: scale(0.95);
                box-shadow: 0 0 0 0 rgba(5, 150, 105, 0.7);
            }
            70% {
                transform: scale(1);
                box-shadow: 0 0 0 6px rgba(5, 150, 105, 0);
            }
            100% {
                transform: scale(0.95);
                box-shadow: 0 0 0 0 rgba(5, 150, 105, 0);
            }
        }
