/* roulang page: index */
:root {
            --bg-color: #060B18;
            --card-border: rgba(0, 242, 254, 0.18);
            --card-bg: rgba(16, 28, 54, 0.75);
            --text-primary: #F3F4F6;
            --text-secondary: #9CA3AF;
        }
        body {
            background-color: var(--bg-color);
            color: var(--text-primary);
            font-family: system-ui, -apple-system, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
            line-height: 1.75;
            overflow-x: hidden;
            scroll-behavior: smooth;
        }
        .glass-panel {
            background: var(--card-bg);
            backdrop-filter: blur(16px);
            -webkit-backdrop-filter: blur(16px);
            border: 1px solid var(--card-border);
            box-shadow: 0 8px 32px 0 rgba(0, 0, 0, 0.37);
        }
        .glass-panel:hover {
            border-color: rgba(0, 242, 254, 0.38);
        }
        .btn-glow {
            transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
            position: relative;
        }
        .btn-glow:hover {
            transform: translateY(-2px);
            box-shadow: 0 0 25px rgba(0, 242, 254, 0.55);
        }
        .tech-grid-bg {
            background-image: radial-gradient(rgba(0, 242, 254, 0.08) 1px, transparent 1px);
            background-size: 32px 32px;
        }
        /* 原生 details 美化 */
        details summary::-webkit-details-marker {
            display: none;
        }
        details[open] summary svg {
            transform: rotate(180deg);
        }
