/* roulang page: index */
:root {
            --cyan-glow: rgba(0, 240, 255, 0.25);
            --cyan-pure: #00F0FF;
            --purple-core: #6366F1;
            --bg-base: #070B14;
            --card-glass: rgba(15, 23, 42, 0.65);
            --border-glass: rgba(0, 240, 255, 0.15);
        }
        html { scroll-behavior: smooth; }
        body {
            background-color: var(--bg-base);
            color: #E2E8F0;
            overflow-x: hidden;
            font-family: 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei', sans-serif;
        }
        .glass-panel {
            background: var(--card-glass);
            backdrop-filter: blur(16px);
            -webkit-backdrop-filter: blur(16px);
            border: 1px solid var(--border-glass);
            box-shadow: 0 8px 32px 0 rgba(0, 0, 0, 0.45);
        }
        .glow-btn {
            background: linear-gradient(135deg, #00F0FF 0%, #6366F1 100%);
            box-shadow: 0 0 25px rgba(0, 240, 255, 0.35);
            transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
        }
        .glow-btn:hover {
            box-shadow: 0 0 35px rgba(0, 240, 255, 0.55);
            transform: translateY(-2px);
        }
        .ghost-glow-btn {
            border: 1px solid rgba(0, 240, 255, 0.4);
            background: rgba(12, 18, 34, 0.5);
            transition: all 0.3s ease;
        }
        .ghost-glow-btn:hover {
            background: rgba(0, 240, 255, 0.1);
            border-color: #00F0FF;
            box-shadow: 0 0 20px rgba(0, 240, 255, 0.25);
        }
        .glow-text {
            text-shadow: 0 0 15px rgba(0, 240, 255, 0.4);
        }
        .tech-border-top {
            position: relative;
        }
        .tech-border-top::before {
            content: '';
            position: absolute;
            top: 0; left: 0; right: 0;
            height: 1px;
            background: linear-gradient(90deg, transparent 0%, rgba(0, 240, 255, 0.4) 50%, transparent 100%);
        }
