/* roulang page: index */
:root {
            --brand-bg: #0B0F19;
            --brand-primary: #10B981;
            --brand-primary-dark: #059669;
            --brand-text: #F8FAFC;
            --brand-muted: #94A3B8;
            --brand-border: #1E293B;
        }
        * {
            box-sizing: border-box;
            scroll-behavior: smooth;
        }
        body {
            font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
            background-color: var(--brand-bg);
            color: var(--brand-text);
            line-height: 1.75;
            overflow-x: hidden;
        }
        h1, h2, h3, h4 {
            line-height: 1.25;
            letter-spacing: -0.02em;
        }
        .tech-grid-pattern {
            background-size: 36px 36px;
            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);
        }
        .card-glow {
            transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
            border: 1px solid #1E293B;
        }
        .card-glow:hover {
            transform: translateY(-4px);
            border-color: rgba(16, 185, 129, 0.45);
            box-shadow: 0 16px 32px -12px rgba(16, 185, 129, 0.15);
        }
        .btn-interact {
            transition: all 0.2s ease-in-out;
        }
        .btn-interact:hover {
            transform: translateY(-2px);
            filter: brightness(1.08);
        }
        .btn-interact:active {
            transform: translateY(0);
        }
        .btn-interact:focus-visible {
            outline: 2px solid #10B981;
            outline-offset: 3px;
        }
