/* roulang page: index */
:root {
            --primary: #1E40AF;
            --accent: #0284C7;
            --dark-navy: #0F172A;
            --bg-light: #F8FAFC;
            --text-main: #334155;
            --text-heading: #0F172A;
            --border-soft: rgba(226, 232, 240, 0.8);
        }
        html {
            scroll-behavior: smooth;
        }
        body {
            font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
            color: var(--text-main);
            background-color: #FFFFFF;
            overflow-x: hidden;
        }
        .section-py {
            padding-top: 5rem;
            padding-bottom: 5rem;
        }
        @media (min-width: 1024px) {
            .section-py {
                padding-top: 6.5rem;
                padding-bottom: 6.5rem;
            }
        }
        .soft-card {
            background: #FFFFFF;
            border: 1px solid var(--border-soft);
            box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.04), 0 2px 4px -2px rgba(0, 0, 0, 0.03);
            border-radius: 0.75rem;
            transition: all 0.3s ease-in-out;
        }
        .soft-card:hover {
            transform: translateY(-4px);
            box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.08), 0 8px 10px -6px rgba(0, 0, 0, 0.04);
            border-color: #cbd5e1;
        }
        .code-bg {
            background: radial-gradient(circle at 10% 20%, #1e293b 0%, #0f172a 90%);
        }
        /* 手风琴平滑动效 */
        details summary::-webkit-details-marker {
            display: none;
        }
