/* roulang page: index */
:root {
            --brand-green: #00A86B;
            --brand-green-dark: #059669;
            --tactical-black: #0F141C;
            --tactical-darker: #0B0E14;
            --tactical-slate: #1A222D;
            --alert-orange: #F97316;
            --alert-cyan: #0EA5E9;
            --text-main: #0F172A;
            --text-muted: #475569;
            --border-light: #E2E8F0;
        }

        html {
            scroll-padding-top: 84px;
        }

        body {
            font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif;
            background-color: #F8FAFC;
            color: var(--text-main);
            overflow-x: hidden;
        }

        /* 战术微网格背景 */
        .tactical-grid-bg {
            background-size: 32px 32px;
            background-image: 
                linear-gradient(to right, rgba(255, 255, 255, 0.05) 1px, transparent 1px),
                linear-gradient(to bottom, rgba(255, 255, 255, 0.05) 1px, transparent 1px);
        }

        .tactical-light-grid {
            background-size: 36px 36px;
            background-image: 
                linear-gradient(to right, rgba(15, 23, 42, 0.03) 1px, transparent 1px),
                linear-gradient(to bottom, rgba(15, 23, 42, 0.03) 1px, transparent 1px);
        }

        /* 状态指示呼吸灯 */
        .live-indicator {
            position: relative;
        }
        .live-indicator::after {
            content: '';
            position: absolute;
            width: 8px;
            height: 8px;
            border-radius: 50%;
            background-color: #10B981;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            box-shadow: 0 0 8px #10B981;
            animation: pulse-ring 2s infinite ease-out;
        }
        @keyframes pulse-ring {
            0% { transform: translate(-50%, -50%) scale(0.9); opacity: 1; }
            70% { transform: translate(-50%, -50%) scale(2.4); opacity: 0; }
            100% { opacity: 0; }
        }

        /* 交互微动效 */
        .btn-press:active {
            transform: scale(0.97);
        }
        .card-tactical-hover {
            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-tactical-hover:hover {
            transform: translateY(-4px);
            box-shadow: 0 12px 24px -10px rgba(0, 168, 107, 0.15);
            border-color: rgba(0, 168, 107, 0.4);
        }

        /* 自定义手风琴过渡 */
        .accordion-content {
            transition: max-height 0.3s cubic-bezier(0, 1, 0, 1);
            max-height: 0;
            overflow: hidden;
        }
        .accordion-item.active .accordion-content {
            max-height: 400px;
            transition: max-height 0.4s ease-in-out;
        }
        .accordion-item.active .accordion-icon {
            transform: rotate(180deg);
        }
