/* roulang page: index */
:root {
            --primary: #10B981;
            --primary-dark: #059669;
            --secondary: #F59E0B;
            --bg-main: #F8FAFC;
            --surface-card: #FFFFFF;
            --dark-surface: #061A14;
            --night-surface: #0B0F19;
            --text-heading: #0F172A;
            --text-body: #334155;
            --text-muted: #64748B;
            --border-soft: #E2E8F0;
            --radius-md: 12px;
            --shadow-custom: 0 4px 20px -2px rgba(16, 185, 129, 0.08);
        }

        body {
            font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
            background-color: var(--bg-main);
            color: var(--text-body);
            overflow-x: hidden;
        }

        .custom-card {
            background-color: var(--surface-card);
            border-radius: var(--radius-md);
            box-shadow: var(--shadow-custom);
            border: 1px solid var(--border-soft);
            transition: all 0.25s ease-in-out;
        }
        .custom-card:hover {
            transform: translateY(-3px);
            box-shadow: 0 12px 28px -4px rgba(16, 185, 129, 0.16);
            border-color: rgba(16, 185, 129, 0.3);
        }

        .btn-brand-primary {
            background: linear-gradient(135deg, #10B981 0%, #059669 100%);
            color: #ffffff;
            font-weight: 600;
            border-radius: 8px;
            transition: all 0.2s ease;
            box-shadow: 0 2px 10px rgba(16, 185, 129, 0.25);
        }
        .btn-brand-primary:hover {
            transform: translateY(-2px);
            box-shadow: 0 6px 18px rgba(16, 185, 129, 0.4);
            filter: brightness(1.05);
        }

        .badge-live {
            position: relative;
            padding-left: 1.25rem;
        }
        .badge-live::before {
            content: '';
            position: absolute;
            left: 0.35rem;
            top: 50%;
            transform: translateY(-50%);
            width: 8px;
            height: 8px;
            border-radius: 50%;
            background-color: #10B981;
            box-shadow: 0 0 0 0 rgba(16, 185, 129, 0.7);
            animation: pulse-green 1.8s infinite;
        }
        @keyframes pulse-green {
            0% { transform: translateY(-50%) scale(0.95); box-shadow: 0 0 0 0 rgba(16, 185, 129, 0.7); }
            70% { transform: translateY(-50%) scale(1); box-shadow: 0 0 0 8px rgba(16, 185, 129, 0); }
            100% { transform: translateY(-50%) scale(0.95); box-shadow: 0 0 0 0 rgba(16, 185, 129, 0); }
        }

        .code-block {
            font-family: "Fira Code", monospace, "Courier New";
            background-color: #030d0a;
            border: 1px solid #133a2e;
        }
