/* roulang page: index */
:root {
            --primary-gradient: linear-gradient(135deg, #1D4ED8 0%, #0284C7 100%);
            --cta-gradient: linear-gradient(135deg, #EA580C 0%, #F97316 100%);
            --card-border: 1px solid rgba(226, 232, 240, 0.85);
        }
        body {
            font-family: system-ui, -apple-system, "Segoe UI", Roboto, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
            color: #1E293B;
            background-color: #F8FAFC;
            line-height: 1.75;
            -webkit-font-smoothing: antialiased;
        }
        .card-elevation {
            border: var(--card-border);
            border-radius: 20px;
            transition: transform 0.28s ease, box-shadow 0.28s ease, border-color 0.28s ease;
        }
        .card-elevation:hover {
            transform: translateY(-5px);
            box-shadow: 0 16px 36px -8px rgba(15, 23, 42, 0.12);
            border-color: rgba(2, 132, 199, 0.4);
        }
        .text-gradient {
            background: var(--primary-gradient);
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
        }
        .cta-btn-gradient {
            background: var(--cta-gradient);
            transition: transform 0.2s ease, filter 0.2s ease;
        }
        .cta-btn-gradient:hover {
            transform: translateY(-2px);
            filter: brightness(1.08);
        }
        .tech-badge {
            background: rgba(2, 132, 199, 0.08);
            border: 1px solid rgba(2, 132, 199, 0.2);
            color: #0369A1;
        }
        .glass-nav {
            background: rgba(255, 255, 255, 0.94);
            backdrop-filter: blur(12px);
            -webkit-backdrop-filter: blur(12px);
            border-bottom: 1px solid rgba(226, 232, 240, 0.8);
        }
        details > summary {
            list-style: none;
        }
        details > summary::-webkit-details-marker {
            display: none;
        }
        details[open] summary svg {
            transform: rotate(180deg);
        }
