/* roulang page: index */
:root {
            --surface-deep: #0B0D11;
            --surface-card: #141820;
            --surface-card-hover: #1A202C;
            --primary-accent: #00F2FE;
            --secondary-accent: #7B2CBF;
            --feature-callout: #10B981;
            --text-main: #F9FAFB;
            --text-muted: #9CA3AF;
            --border-line: rgba(255, 255, 255, 0.08);
            --border-glow: rgba(0, 242, 254, 0.35);
        }
        body {
            background-color: var(--surface-deep);
            color: var(--text-main);
            font-family: system-ui, -apple-system, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
            overflow-x: hidden;
        }
        .text-glow {
            text-shadow: 0 0 16px rgba(0, 242, 254, 0.5);
        }
        .card-glow:hover {
            border-color: var(--primary-accent);
            box-shadow: 0 8px 30px rgba(0, 242, 254, 0.12);
        }
        .hero-bg {
            background: linear-gradient(180deg, rgba(11, 13, 17, 0.82) 0%, rgba(11, 13, 17, 0.95) 100%), url('/assets/images/b7f0cb64b6ff74c1.jpg') center/cover no-repeat;
        }
        .glass-nav {
            background: rgba(11, 13, 17, 0.85);
            backdrop-filter: blur(14px);
            border-bottom: 1px solid var(--border-line);
        }
        .bento-border {
            border: 1px solid var(--border-line);
        }
        .timeline-step::before {
            content: '';
            position: absolute;
            top: 24px;
            left: -32px;
            width: 2px;
            height: 100%;
            background: rgba(0, 242, 254, 0.25);
        }
        @media (max-width: 768px) {
            .timeline-step::before { display: none; }
        }
