/* roulang page: index */
:root {
            --primary-green: #10B981;
            --primary-hover: #059669;
            --tech-dark: #0A0E12;
            --tech-surface: #111827;
            --tech-indigo: #0F172A;
            --border-light: #E2E8F0;
            --text-dark: #0F172A;
            --text-muted: #64748B;
        }

        body {
            color: #334155;
            background-color: #FFFFFF;
            -webkit-font-smoothing: antialiased;
            -moz-osx-font-smoothing: grayscale;
        }

        .header-glass {
            background-color: rgba(255, 255, 255, 0.96);
            backdrop-filter: blur(12px);
            -webkit-backdrop-filter: blur(12px);
        }

        .section-separator {
            border-bottom: 1px solid #F1F5F9;
        }

        .card-custom {
            transition: transform 0.25s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.25s cubic-bezier(0.16, 1, 0.3, 1), border-color 0.25s ease;
        }

        .card-custom:hover {
            transform: translateY(-4px);
            box-shadow: 0 16px 32px -8px rgba(15, 23, 42, 0.08);
            border-color: #CBD5E1;
        }

        details > summary {
            list-style: none;
        }
        details > summary::-webkit-details-marker {
            display: none;
        }
        details[open] summary svg {
            transform: rotate(180deg);
        }

        /* 移动端菜单过渡 */
        #mobile-menu {
            transition: opacity 0.25s ease, visibility 0.25s ease;
        }
        #mobile-menu.hidden-menu {
            opacity: 0;
            visibility: hidden;
            pointer-events: none;
        }
        #mobile-menu.active-menu {
            opacity: 1;
            visibility: visible;
            pointer-events: auto;
        }
