/* roulang page: index */
:root {
            --color-primary: #0F172A;
            --color-accent: #10B981;
            --color-alert: #F59E0B;
            --color-bg-base: #F8FAFC;
            --color-bg-surface: #FFFFFF;
            --color-bg-dark: #090D16;
            --color-text-main: #0F172A;
            --color-text-body: #334155;
            --color-text-muted: #64748B;
            --color-border: rgba(226, 232, 240, 0.9);
            --shadow-subtle: 0 4px 20px -4px rgba(15, 23, 42, 0.05);
            --shadow-hover: 0 12px 30px -6px rgba(15, 23, 42, 0.08);
            --transition-smooth: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
        }

        html {
            scroll-behavior: smooth;
            font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
            background-color: var(--color-bg-base);
            color: var(--color-text-body);
        }

        body {
            line-height: 1.65;
            margin: 0;
            padding: 0;
            overflow-x: hidden;
        }

        .custom-card {
            background-color: var(--color-bg-surface);
            border: 1px solid var(--color-border);
            border-radius: 0.75rem;
            box-shadow: var(--shadow-subtle);
            transition: var(--transition-smooth);
        }

        .custom-card:hover {
            box-shadow: var(--shadow-hover);
            transform: translateY(-2px);
        }

        .nav-link {
            position: relative;
            font-weight: 500;
            transition: var(--transition-smooth);
        }

        .nav-link::after {
            content: '';
            position: absolute;
            width: 0;
            height: 2px;
            bottom: -4px;
            left: 0;
            background-color: var(--color-accent);
            transition: var(--transition-smooth);
        }

        .nav-link:hover::after {
            width: 100%;
        }

        .hero-bg-overlay {
            background: linear-gradient(135deg, rgba(15, 23, 42, 0.92) 0%, rgba(9, 13, 22, 0.96) 100%);
        }

        .touch-action-min {
            min-height: 44px;
            min-width: 44px;
        }
