/* roulang page: index */
:root {
            --bg-main: #0D0F12;
            --bg-card: #161920;
            --color-green: #10B981;
            --color-orange: #F97316;
            --color-border: #1E293B;
            --color-text: #F8FAFC;
            --color-subtext: #94A3B8;
        }
        body {
            background-color: var(--bg-main);
            color: var(--color-text);
            font-family: system-ui, -apple-system, "PingFang SC", "Microsoft YaHei", sans-serif;
            overflow-x: hidden;
        }
        .geo-border {
            border: 1px solid var(--color-border);
        }
        .roulang-card {
            transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
        }
        .roulang-card:hover {
            transform: translateY(-4px);
            border-color: rgba(16, 185, 129, 0.4);
            box-shadow: 0 12px 30px -10px rgba(16, 185, 129, 0.15);
        }
        .nav-link {
            position: relative;
        }
        .nav-link::after {
            content: '';
            position: absolute;
            width: 0;
            height: 2px;
            bottom: -4px;
            left: 50%;
            background-color: var(--color-green);
            transition: all 0.3s ease;
            transform: translateX(-50%);
        }
        .nav-link:hover::after {
            width: 100%;
        }
        .marquee-track {
            display: flex;
            width: calc(250px * 16);
            animation: scroll 35s linear infinite;
        }
        @keyframes scroll {
            0% { transform: translateX(0); }
            100% { transform: translateX(calc(-250px * 8)); }
        }
        .marquee-track:hover {
            animation-play-state: paused;
        }
        details > summary {
            list-style: none;
        }
        details > summary::-webkit-details-marker {
            display: none;
        }
        details[open] summary svg {
            transform: rotate(180deg);
        }
