/* roulang page: index */
:root {
            --primary: #0F172A;
            --primary-surface: #1E293B;
            --accent: #0EA5E9;
            --accent-emerald: #10B981;
            --bg-light: #F8FAFC;
            --card-bg: #FFFFFF;
            --border-color: #E2E8F0;
            --text-main: #0F172A;
            --text-muted: #64748B;
        }
        body {
            font-family: 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei', 'Inter', sans-serif;
            background-color: var(--bg-light);
            color: var(--text-main);
            -webkit-font-smoothing: antialiased;
        }
        .coupon-cut {
            background: radial-gradient(circle at left, transparent 10px, #ffffff 11px) left,
                        radial-gradient(circle at right, transparent 10px, #ffffff 11px) right;
            background-size: 51% 100%;
            background-repeat: no-repeat;
        }
        .tech-border {
            border: 1px solid rgba(226, 232, 240, 0.8);
            transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
        }
        .tech-border:hover {
            border-color: rgba(14, 165, 233, 0.5);
            box-shadow: 0 12px 24px -10px rgba(15, 23, 42, 0.08);
            transform: translateY(-2px);
        }
