/* roulang page: index */
:root {
            --primary: #00D285;
            --primary-hover: #00B874;
            --primary-glow: rgba(0, 210, 133, 0.22);
            --dark-base: #0D1117;
            --dark-card: #161B22;
            --dark-line: rgba(255, 255, 255, 0.08);
            --light-line: rgba(0, 0, 0, 0.06);
        }

        body {
            font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
            background-color: #FFFFFF;
            color: #111827;
            overflow-x: hidden;
        }

        .badge-cyan {
            background-color: rgba(0, 210, 133, 0.1);
            color: #00B371;
            border: 1px solid rgba(0, 210, 133, 0.25);
        }

        .btn-cyan {
            background-color: #00D285;
            color: #0D1117;
            font-weight: 600;
            transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);
        }
        .btn-cyan:hover {
            background-color: #00BF79;
            box-shadow: 0 0 20px var(--primary-glow);
            transform: translateY(-1px);
        }

        .card-hover {
            transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
            border: 1px solid var(--light-line);
        }
        .card-hover:hover {
            border-color: rgba(0, 210, 133, 0.4);
            transform: translateY(-4px);
            box-shadow: 0 20px 35px -10px rgba(0, 0, 0, 0.06);
        }

        .dark-card-hover {
            transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
            border: 1px solid var(--dark-line);
            background-color: #161B22;
        }
        .dark-card-hover:hover {
            border-color: rgba(0, 210, 133, 0.5);
            transform: translateY(-4px);
            box-shadow: 0 20px 40px -15px rgba(0, 210, 133, 0.15);
        }

        .tech-grid-pattern {
            background-image: radial-gradient(rgba(0, 210, 133, 0.1) 1px, transparent 1px);
            background-size: 24px 24px;
        }

        .accordion-content {
            transition: max-height 0.35s ease-out, opacity 0.3s ease-in-out;
        }
