/* roulang page: index */
:root {
            --primary: #0F172A;
            --primary-dark: #0B0F19;
            --accent-blue: #0EA5E9;
            --accent-green: #10B981;
            --accent-purple: #6366F1;
            --bg-light: #F8FAFC;
            --text-main: #1E293B;
            --text-muted: #64748B;
            --border-color: #E2E8F0;
        }
        
        * {
            box-sizing: border-box;
            margin: 0;
            padding: 0;
        }

        body {
            font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "WenQuanYi Micro Hei", sans-serif;
            line-height: 1.75;
            color: var(--text-main);
            background-color: #FFFFFF;
            overflow-x: hidden;
        }

        html {
            scroll-behavior: smooth;
        }

        .clip-hero-polygon {
            clip-path: polygon(0 0, 100% 0, 100% calc(100% - 6vw), 0 100%);
        }

        .hero-diagonal-box {
            background: linear-gradient(135deg, #0F172A 0%, #1E293B 65%, #0369A1 100%);
        }

        .custom-card-hover {
            transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
        }
        .custom-card-hover:hover {
            transform: translateY(-4px);
            box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 8px 10px -6px rgba(0, 0, 0, 0.1);
        }

        .pulse-light {
            animation: pulse-dot 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
        }
        @keyframes pulse-dot {
            0%, 100% { opacity: 1; transform: scale(1); }
            50% { opacity: 0.4; transform: scale(1.15); }
        }

        .tech-gradient-border {
            border: 1px solid rgba(14, 165, 233, 0.25);
            background: linear-gradient(180deg, rgba(15, 23, 42, 0.95) 0%, rgba(11, 15, 25, 0.98) 100%);
        }

        /* 移动端菜单过渡 */
        #mobile-menu {
            transition: max-height 0.3s ease-in-out, opacity 0.3s ease-in-out;
        }
        #mobile-menu.hidden-menu {
            max-height: 0;
            opacity: 0;
            overflow: hidden;
            pointer-events: none;
        }
        #mobile-menu.show-menu {
            max-height: 480px;
            opacity: 1;
            pointer-events: auto;
        }
