/* roulang page: index */
:root {
            --color-primary: #0F141C;
            --color-accent: #FF4D15;
            --color-secondary: #00D084;
            --color-surface-bg: #F6F8FA;
            --color-text-main: #1A202C;
            --color-text-muted: #64748B;
            --color-border: #E2E8F0;
        }

        /* 基础与滚动配置 */
        html {
            font-feature-settings: "tnum" 1;
            scroll-padding-top: 5rem;
        }
        
        body {
            background-color: #F8FAFC;
            color: var(--color-text-main);
            overflow-x: hidden;
        }

        /* 等宽数字排版增强竞技时序质感 */
        .tabular-nums {
            font-variant-numeric: tabular-nums;
        }

        /* 工业级微细边框卡片 */
        .tech-card {
            background: #FFFFFF;
            border: 1px solid #E2E8F0;
            transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);
        }
        .tech-card:hover {
            border-color: #CBD5E1;
            transform: translateY(-2px);
            box-shadow: 0 10px 25px -5px rgba(15, 20, 28, 0.08);
        }

        .tech-card-dark {
            background: #181E29;
            border: 1px solid #2B3545;
            transition: all 0.25s ease;
        }
        .tech-card-dark:hover {
            border-color: #FF4D15;
            transform: translateY(-2px);
            box-shadow: 0 12px 30px -5px rgba(0, 0, 0, 0.4);
        }

        /* 状态呼吸灯效果 */
        @keyframes pulse-dot {
            0%, 100% { opacity: 1; transform: scale(1); }
            50% { opacity: 0.4; transform: scale(0.85); }
        }
        .live-pulse {
            animation: pulse-dot 2s infinite ease-in-out;
        }

        /* 自定义手风琴过渡 */
        .faq-item[open] summary svg {
            transform: rotate(180deg);
        }

        /* 移动端汉堡抽屉过渡 */
        #mobile-menu {
            transition: max-height 0.3s ease-in-out, opacity 0.2s ease;
        }
        #mobile-menu.hidden {
            max-height: 0;
            opacity: 0;
            pointer-events: none;
        }
        #mobile-menu:not(.hidden) {
            max-height: 480px;
            opacity: 1;
        }
