/* roulang page: index */
:root {
            --primary-red: #D91438;
            --primary-green: #059669;
            --bg-dark: #0F172A;
            --bg-card: #162032;
            --text-main: #0F172A;
            --text-muted: #64748B;
            --border-color: #E2E8F0;
        }
        * {
            box-sizing: border-box;
            scroll-behavior: smooth;
        }
        body {
            font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
            line-height: 1.75;
            color: #1E293B;
            background-color: #F8FAFC;
        }
        .coupon-ticket {
            position: relative;
            background: radial-gradient(circle at 0 50%, transparent 12px, #FFFFFF 13px) top left,
                        radial-gradient(circle at 100% 50%, transparent 12px, #FFFFFF 13px) top right;
            background-size: 51% 100%;
            background-repeat: no-repeat;
        }
        .coupon-ticket-dark {
            position: relative;
            background: radial-gradient(circle at 0 50%, transparent 12px, #1E293B 13px) top left,
                        radial-gradient(circle at 100% 50%, transparent 12px, #1E293B 13px) top right;
            background-size: 51% 100%;
            background-repeat: no-repeat;
        }
        .pulse-subtle {
            animation: pulse-border 2.5s infinite;
        }
        @keyframes pulse-border {
            0% { box-shadow: 0 0 0 0 rgba(217, 20, 56, 0.4); }
            70% { box-shadow: 0 0 0 10px rgba(217, 20, 56, 0); }
            100% { box-shadow: 0 0 0 0 rgba(217, 20, 56, 0); }
        }
