/* roulang page: index */
:root {
            --color-bg-dark: #0B0F19;
            --color-titanium: #0F172A;
            --color-primary: #0EA5E9;
            --color-silver: #475569;
            --color-paper: #FFFFFF;
            --color-matt: #F8FAFC;
        }
        body {
            font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
            background-color: var(--color-matt);
            color: #1E293B;
            line-height: 1.7;
        }
        .mono-num {
            font-family: 'DIN', 'Inter', monospace;
            font-feature-settings: "tnum";
            font-variant-numeric: tabular-nums;
        }
        .hero-bg-overlay {
            background-image: linear-gradient(to right, rgba(11, 15, 25, 0.94) 0%, rgba(11, 15, 25, 0.82) 50%, rgba(11, 15, 25, 0.65) 100%), url('/assets/images/22a765fbea6418df.jpg');
            background-size: cover;
            background-position: center;
        }
        .coupon-mask {
            background-image: radial-gradient(circle at 0 50%, transparent 8px, #FFFFFF 8.5px), radial-gradient(circle at 100% 50%, transparent 8px, #FFFFFF 8.5px);
            background-size: 100% 100%;
        }
        .coupon-mask-dark {
            background-image: radial-gradient(circle at 0 50%, transparent 8px, #1E293B 8.5px), radial-gradient(circle at 100% 50%, transparent 8px, #1E293B 8.5px);
            background-size: 100% 100%;
        }
        .grid-blueprint {
            background-size: 32px 32px;
            background-image: linear-gradient(to right, rgba(255, 255, 255, 0.04) 1px, transparent 1px), linear-gradient(to bottom, rgba(255, 255, 255, 0.04) 1px, transparent 1px);
        }
        .scan-line {
            position: absolute;
            width: 100%;
            height: 2px;
            background: linear-gradient(90deg, transparent, #0EA5E9, transparent);
            animation: scan 4s linear infinite;
        }
        @keyframes scan {
            0% { top: 0%; opacity: 0; }
            15% { opacity: 1; }
            85% { opacity: 1; }
            100% { top: 100%; opacity: 0; }
        }
