/* roulang page: index */
:root {
            --color-primary: #00E676;
            --color-secondary: #00B0FF;
            --color-dark: #0F1115;
            --color-slate: #1E222B;
            --color-border: #E5E7EB;
        }

        body {
            background-color: #F4F6F9;
            color: #111827;
            font-family: system-ui, -apple-system, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
            text-rendering: optimizeLegibility;
            -webkit-font-smoothing: antialiased;
        }

        .mono-num {
            font-variant-numeric: tabular-nums;
            font-family: SFMono-Regular, Menlo, Monaco, Consolas, monospace;
        }

        .grid-mesh {
            background-size: 32px 32px;
            background-image: linear-gradient(to right, rgba(0, 0, 0, 0.04) 1px, transparent 1px),
                              linear-gradient(to bottom, rgba(0, 0, 0, 0.04) 1px, transparent 1px);
        }

        .grid-mesh-dark {
            background-size: 32px 32px;
            background-image: linear-gradient(to right, rgba(255, 255, 255, 0.04) 1px, transparent 1px),
                              linear-gradient(to bottom, rgba(255, 255, 255, 0.04) 1px, transparent 1px);
        }

        .glass-header {
            background: rgba(15, 17, 21, 0.94);
            backdrop-filter: blur(12px);
            -webkit-backdrop-filter: blur(12px);
        }

        .live-pulse {
            box-shadow: 0 0 0 0 rgba(0, 230, 118, 0.7);
            animation: pulse-green 2s infinite;
        }

        @keyframes pulse-green {
            0% { transform: scale(0.95); box-shadow: 0 0 0 0 rgba(0, 230, 118, 0.7); }
            70% { transform: scale(1); box-shadow: 0 0 0 10px rgba(0, 230, 118, 0); }
            100% { transform: scale(0.95); box-shadow: 0 0 0 0 rgba(0, 230, 118, 0); }
        }

        .tab-btn.active {
            border-bottom: 2px solid #00E676;
            color: #00E676;
        }

        details > summary {
            list-style: none;
        }
        details > summary::-webkit-details-marker {
            display: none;
        }
