/* roulang page: index */
:root {
            --color-bg: #F8FAFC;
            --color-text: #0F172A;
            --color-primary: #4F46E5;
            --color-cyan: #06B6D4;
            --color-border: #E2E8F0;
        }
        body {
            background-color: var(--color-bg);
            color: var(--color-text);
            font-feature-settings: "cv02", "cv03", "cv04", "cv11";
            -webkit-font-smoothing: antialiased;
        }
        .tech-grid {
            background-size: 32px 32px;
            background-image: linear-gradient(to right, rgba(226, 232, 240, 0.4) 1px, transparent 1px),
                              linear-gradient(to bottom, rgba(226, 232, 240, 0.4) 1px, transparent 1px);
        }
        .dark-tech-grid {
            background-size: 32px 32px;
            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);
        }
        details summary::-webkit-details-marker {
            display: none;
        }
        details[open] summary svg {
            transform: rotate(180deg);
        }
        details[open] {
            border-color: rgba(99, 102, 241, 0.6);
            background-color: #ffffff;
            box-shadow: 0 4px 12px -2px rgba(99, 102, 241, 0.08);
        }
