/* roulang page: index */
:root {
            --color-dark: #111827;
            --color-obsidian: #1F2937;
            --color-teal: #0D9488;
            --color-blue: #0284C7;
            --color-surface: #0B0F17;
            --color-bg: #F8FAFC;
            --color-border: #E2E8F0;
            --shadow-subtle: 0 4px 20px -2px rgba(0, 0, 0, 0.05);
            --shadow-float: 0 10px 25px -5px rgba(0, 0, 0, 0.08);
        }
        *, *::before, *::after {
            box-sizing: border-box;
        }
        body {
            font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei", sans-serif;
            background-color: var(--color-bg);
            color: #334155;
            line-height: 1.6;
            overflow-x: hidden;
        }
        .text-gradient {
            background: linear-gradient(135deg, #0D9488 0%, #0284C7 100%);
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
        }
        .card-hover {
            transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
        }
        .card-hover:hover {
            transform: translateY(-3px);
            box-shadow: var(--shadow-float);
            border-color: #CBD5E1;
        }
        details summary::-webkit-details-marker {
            display: none;
        }
        details[open] summary svg {
            transform: rotate(180deg);
        }
