/* roulang page: index */
:root {
            --color-primary: #0F141C;
            --color-accent: #2563EB;
            --color-teal: #0D9488;
            --color-bg-light: #F8FAFC;
            --color-bg-dark: #0B0F17;
            --color-border: rgba(15, 23, 42, 0.08);
            --color-text-sub: #475569;
        }

        body {
            font-family: system-ui, -apple-system, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
            background-color: var(--color-bg-light);
            color: var(--color-primary);
            overflow-x: hidden;
            scroll-behavior: smooth;
        }

        .section-separator {
            border-bottom: 1px solid var(--color-border);
        }

        .dark-surface {
            background-color: var(--color-bg-dark);
            color: #F8FAFC;
        }

        .sub-text {
            color: var(--color-text-sub);
        }

        .tabular-num {
            font-variant-numeric: tabular-nums;
        }

        .glass-card {
            background: rgba(255, 255, 255, 0.92);
            backdrop-filter: blur(12px);
            border: 1px solid rgba(15, 23, 42, 0.08);
            box-shadow: 0 20px 40px -15px rgba(0, 0, 0, 0.04);
        }

        .dark-card {
            background: rgba(18, 24, 38, 0.7);
            border: 1px solid rgba(255, 255, 255, 0.08);
        }

        details > summary {
            list-style: none;
        }
        details > summary::-webkit-details-marker {
            display: none;
        }

        .pill-badge {
            display: inline-flex;
            align-items: center;
            padding: 4px 12px;
            border-radius: 9999px;
            font-size: 12px;
            font-weight: 600;
            letter-spacing: 0.03em;
        }
