/* roulang page: index */
:root {
            --bg-base: #0B1315;
            --bg-surface: #111C20;
            --bg-card: #162429;
            --bg-elevated: #1D2E34;
            --primary: #00E676;
            --primary-glow: rgba(0, 230, 118, 0.35);
            --secondary: #00B0FF;
            --accent-warn: #FF9100;
            --border-dim: rgba(255, 255, 255, 0.08);
            --border-highlight: rgba(0, 230, 118, 0.3);
            --text-main: #F1F5F9;
            --text-muted: #94A3B8;
        }

        body {
            background-color: var(--bg-base);
            color: var(--text-main);
            font-family: system-ui, -apple-system, "PingFang SC", "Microsoft YaHei", "Helvetica Neue", sans-serif;
            line-height: 1.75;
            overflow-x: hidden;
        }

        .code-font {
            font-family: "JetBrains Mono", Consolas, Menlo, Monaco, monospace;
        }

        .nav-blur {
            backdrop-filter: blur(16px);
            -webkit-backdrop-filter: blur(16px);
            background: rgba(11, 19, 21, 0.88);
            border-bottom: 1px solid var(--border-dim);
        }

        .cta-btn-primary {
            background: #00E676;
            color: #051A10;
            font-weight: 700;
            transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
        }
        .cta-btn-primary:hover {
            box-shadow: 0 0 25px var(--primary-glow);
            transform: translateY(-2px);
        }

        .ghost-border-btn {
            border: 1px solid var(--border-dim);
            background: rgba(255, 255, 255, 0.03);
            color: var(--text-main);
            transition: all 0.3s ease;
        }
        .ghost-border-btn:hover {
            border-color: var(--primary);
            color: var(--primary);
            background: rgba(0, 230, 118, 0.05);
        }

        .data-card {
            background: var(--bg-card);
            border: 1px solid var(--border-dim);
            transition: border-color 0.3s ease, transform 0.3s ease;
        }
        .data-card:hover {
            border-color: rgba(0, 230, 118, 0.4);
            transform: translateY(-3px);
        }

        .grid-pattern {
            background-size: 32px 32px;
            background-image: 
                linear-gradient(to right, rgba(255, 255, 255, 0.03) 1px, transparent 1px),
                linear-gradient(to bottom, rgba(255, 255, 255, 0.03) 1px, transparent 1px);
        }

        /* Accordion transition styling */
        .accordion-content {
            transition: max-height 0.35s ease-out, opacity 0.3s ease;
            max-height: 0;
            overflow: hidden;
            opacity: 0;
        }
        .accordion-content.open {
            max-height: 380px;
            opacity: 1;
        }

        /* Responsive Tap Targets */
        a, button, input, select {
            min-height: 44px;
        }
