/* roulang page: index */
:root {
            --bg-main: #0B0F19;
            --bg-secondary: #111827;
            --card-glass: rgba(30, 41, 59, 0.65);
            --card-border: rgba(255, 255, 255, 0.08);
            --card-border-hover: rgba(59, 130, 246, 0.4);
            --primary-blue: #2563EB;
            --electric-blue: #3B82F6;
            --tech-cyan: #06B6D4;
            --safe-emerald: #10B981;
            --text-primary: #F8FAFC;
            --text-secondary: #94A3B8;
        }

        body {
            background-color: var(--bg-main);
            color: var(--text-primary);
            font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "WenQuanYi Micro Hei", sans-serif;
            line-height: 1.75;
            overflow-x: hidden;
        }

        .glass-card {
            background: var(--card-glass);
            backdrop-filter: blur(14px);
            -webkit-backdrop-filter: blur(14px);
            border: 1px solid var(--card-border);
            transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
        }

        .glass-card:hover {
            border-color: var(--card-border-hover);
            transform: translateY(-4px);
            box-shadow: 0 16px 32px -8px rgba(37, 99, 235, 0.22);
        }

        .glow-btn-primary {
            background: linear-gradient(135deg, #2563EB 0%, #1D4ED8 100%);
            box-shadow: 0 0 20px rgba(59, 130, 246, 0.45);
            transition: all 0.3s ease;
        }

        .glow-btn-primary:hover {
            background: linear-gradient(135deg, #3B82F6 0%, #2563EB 100%);
            box-shadow: 0 0 30px rgba(59, 130, 246, 0.7);
            transform: translateY(-2px);
        }

        .glow-btn-cyan {
            background: linear-gradient(135deg, #0891B2 0%, #0E7490 100%);
            box-shadow: 0 0 20px rgba(6, 182, 212, 0.35);
            transition: all 0.3s ease;
        }

        .glow-btn-cyan:hover {
            box-shadow: 0 0 28px rgba(6, 182, 212, 0.6);
            transform: translateY(-2px);
        }

        section {
            scroll-margin-top: 96px;
        }

        .bento-grid {
            display: grid;
            grid-template-columns: repeat(12, 1fr);
            gap: 1.5rem;
        }

        .badge-cyan {
            background: rgba(6, 182, 212, 0.12);
            color: #38BDF8;
            border: 1px solid rgba(6, 182, 212, 0.3);
        }

        .badge-emerald {
            background: rgba(16, 185, 129, 0.12);
            color: #34D399;
            border: 1px solid rgba(16, 185, 129, 0.3);
        }

        .badge-blue {
            background: rgba(59, 130, 246, 0.12);
            color: #60A5FA;
            border: 1px solid rgba(59, 130, 246, 0.3);
        }

        /* 呼吸光环 */
        .ambient-glow {
            position: absolute;
            width: 500px;
            height: 500px;
            background: radial-gradient(circle, rgba(37,99,235,0.18) 0%, rgba(11,15,25,0) 70%);
            pointer-events: none;
            z-index: 0;
        }
