/* roulang page: index */
:root {
            --primary: #7C3AED;
            --primary-dark: #6D28D9;
            --secondary-amber: #F59E0B;
            --secondary-cyan: #06B6D4;
            --bg-obsidian: #0C0E14;
            --card-obsidian: #121620;
            --text-main: #111827;
            --text-sub: #4B5563;
            --text-dark-main: #F9FAFB;
            --text-dark-sub: #9CA3AF;
            --border-dim: rgba(255, 255, 255, 0.08);
        }

        * {
            box-sizing: border-box;
        }

        body {
            font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
            background-color: #0C0E14;
            color: #F9FAFB;
            overflow-x: hidden;
            line-height: 1.6;
        }

        section {
            scroll-margin-top: 100px;
        }

        .timeline-line::before {
            content: '';
            position: absolute;
            top: 24px;
            bottom: 0;
            left: 50%;
            width: 2px;
            background: linear-gradient(180deg, #7C3AED 0%, rgba(124, 58, 237, 0.1) 100%);
            transform: translateX(-50%);
        }

        @media (max-width: 768px) {
            .timeline-line::before {
                left: 20px;
            }
        }

        .glow-card-hover {
            transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
            border: 1px solid rgba(255, 255, 255, 0.08);
        }

        .glow-card-hover:hover {
            transform: translateY(-4px);
            border-color: rgba(124, 58, 237, 0.6);
            box-shadow: 0 12px 30px -10px rgba(124, 58, 237, 0.35);
        }

        .console-gradient-border {
            background: linear-gradient(135deg, rgba(124, 58, 237, 0.4), rgba(6, 182, 212, 0.2), rgba(255, 255, 255, 0.05));
            padding: 1px;
        }

        .badge-pulse {
            animation: pulse-ring 2s cubic-bezier(0.215, 0.61, 0.355, 1) infinite;
        }

        @keyframes pulse-ring {
            0% { transform: scale(0.95); opacity: 0.8; }
            50% { transform: scale(1.15); opacity: 1; }
            100% { transform: scale(0.95); opacity: 0.8; }
        }
