/* roulang page: index */
:root {
            --primary: #0F172A;
            --secondary: #6366F1;
            --accent: #10B981;
            --bg-light: #F8FAFC;
            --border-line: #E2E8F0;
        }
        html {
            scroll-behavior: smooth;
        }
        body {
            background-color: var(--bg-light);
            color: #334155;
            overflow-x: hidden;
        }
        .hero-banner-mask {
            background: linear-gradient(135deg, rgba(15, 23, 42, 0.94) 0%, rgba(11, 15, 25, 0.96) 100%);
        }
        .card-custom {
            background: #FFFFFF;
            border: 1px solid var(--border-line);
            transition: all 0.25s ease-in-out;
        }
        .card-custom:hover {
            transform: translateY(-4px);
            border-color: rgba(16, 185, 129, 0.4);
            box-shadow: 0 16px 32px -8px rgba(16, 185, 129, 0.08);
        }
        .badge-pulse::before {
            content: '';
            display: inline-block;
            width: 8px;
            height: 8px;
            border-radius: 50%;
            background-color: #10B981;
            margin-right: 8px;
            box-shadow: 0 0 0 0 rgba(16, 185, 129, 0.7);
            animation: pulse-dot 2s infinite;
        }
        @keyframes pulse-dot {
            0% { transform: scale(0.95); box-shadow: 0 0 0 0 rgba(16, 185, 129, 0.7); }
            70% { transform: scale(1); box-shadow: 0 0 0 6px rgba(16, 185, 129, 0); }
            100% { transform: scale(0.95); box-shadow: 0 0 0 0 rgba(16, 185, 129, 0); }
        }
        details > summary {
            list-style: none;
        }
        details > summary::-webkit-details-marker {
            display: none;
        }
