/* roulang page: index */
:root {
            --primary: #0F172A;
            --emerald: #10B981;
            --cyan: #06B6D4;
            --amber: #F59E0B;
            --bg-canvas: #F8FAFC;
            --card-border: rgba(226, 232, 240, 0.85);
            --card-shadow: 0 20px 30px -10px rgba(15, 23, 42, 0.06);
            --card-shadow-hover: 0 25px 35px -5px rgba(16, 185, 129, 0.12);
        }

        body {
            font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
            background-color: var(--bg-canvas);
            color: #1E293B;
            line-height: 1.6;
        }

        .data-badge {
            display: inline-flex;
            align-items: center;
            gap: 0.375rem;
            padding: 0.35rem 0.85rem;
            border-radius: 9999px;
            font-size: 0.75rem;
            font-weight: 600;
            letter-spacing: 0.025em;
        }

        .glass-card {
            background: rgba(255, 255, 255, 0.95);
            backdrop-filter: blur(12px);
            border: 1px solid var(--card-border);
            border-radius: 1.5rem;
            box-shadow: var(--card-shadow);
            transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
        }

        .glass-card:hover {
            transform: translateY(-4px);
            box-shadow: var(--card-shadow-hover);
            border-color: rgba(16, 185, 129, 0.3);
        }

        .dark-glass-card {
            background: rgba(15, 23, 42, 0.8);
            backdrop-filter: blur(12px);
            border: 1px solid rgba(255, 255, 255, 0.08);
            border-radius: 1.5rem;
            transition: all 0.3s ease;
        }

        .dark-glass-card:hover {
            border-color: rgba(16, 185, 129, 0.4);
            transform: translateY(-3px);
        }

        .gradient-text-emerald {
            background: linear-gradient(135deg, #10B981 0%, #06B6D4 100%);
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
        }

        .gradient-text-brand {
            background: linear-gradient(135deg, #0F172A 0%, #10B981 100%);
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
        }

        .btn-gradient-primary {
            background: linear-gradient(135deg, #10B981 0%, #059669 100%);
            color: #FFFFFF;
            transition: all 0.25s ease;
            box-shadow: 0 10px 20px -5px rgba(16, 185, 129, 0.35);
        }

        .btn-gradient-primary:hover {
            background: linear-gradient(135deg, #059669 0%, #047857 100%);
            box-shadow: 0 14px 24px -5px rgba(16, 185, 129, 0.45);
            transform: translateY(-1px);
        }

        .btn-gradient-dark {
            background: linear-gradient(135deg, #0F172A 0%, #1E293B 100%);
            color: #FFFFFF;
            border: 1px solid rgba(255, 255, 255, 0.1);
            transition: all 0.25s ease;
        }

        .btn-gradient-dark:hover {
            background: linear-gradient(135deg, #1E293B 0%, #334155 100%);
            transform: translateY(-1px);
        }

        /* Custom Scrollbar */
        ::-webkit-scrollbar {
            width: 8px;
            height: 8px;
        }
        ::-webkit-scrollbar-track {
            background: #F1F5F9;
        }
        ::-webkit-scrollbar-thumb {
            background: #CBD5E1;
            border-radius: 4px;
        }
        ::-webkit-scrollbar-thumb:hover {
            background: #94A3B8;
        }
