/* roulang page: index */
:root {
            --color-bg-base: #F8FAFC;
            --color-bg-dark: #0A0F1D;
            --color-brand-primary: #0F172A;
            --color-brand-emerald: #00D285;
            --color-text-main: #020617;
            --color-text-muted: #475569;
            --color-border: rgba(226, 232, 240, 0.8);
            --transition-smooth: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
        }
        body {
            background-color: var(--color-bg-base);
            color: var(--color-text-main);
            font-feature-settings: "cv02", "cv03", "cv04", "cv11";
        }
        .hero-clip-diagonal {
            clip-path: polygon(0 0, 100% 0, 100% 92%, 0 100%);
        }
        .grid-pattern {
            background-size: 32px 32px;
            background-image: 
                linear-gradient(to right, rgba(148, 163, 184, 0.08) 1px, transparent 1px),
                linear-gradient(to bottom, rgba(148, 163, 184, 0.08) 1px, transparent 1px);
        }
        .dark-grid-pattern {
            background-size: 40px 40px;
            background-image: 
                linear-gradient(to right, rgba(255, 255, 255, 0.04) 1px, transparent 1px),
                linear-gradient(to bottom, rgba(255, 255, 255, 0.04) 1px, transparent 1px);
        }
        .soft-card-shadow {
            box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.03), 0 8px 10px -6px rgba(0, 0, 0, 0.01);
            transition: var(--transition-smooth);
        }
        .soft-card-shadow:hover {
            box-shadow: 0 25px 30px -5px rgba(0, 0, 0, 0.07), 0 12px 14px -6px rgba(0, 0, 0, 0.02);
            transform: translateY(-4px);
        }
        details summary::-webkit-details-marker {
            display: none;
        }
        details[open] summary svg {
            transform: rotate(180deg);
        }
