/* roulang page: index */
:root {
            --brand-green: #00E575;
            --brand-green-hover: #05C167;
            --bg-dark: #0B0E14;
            --bg-card: #141923;
            --text-main: #111827;
            --text-muted: #6B7280;
        }

        body {
            font-family: 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei', sans-serif;
            background-color: #FAFAFC;
            color: #1F2937;
            overflow-x: hidden;
        }

        .glow-btn {
            transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
        }
        .glow-btn:hover {
            transform: translateY(-2px);
            box-shadow: 0 12px 28px -6px rgba(0, 229, 117, 0.45);
        }

        .card-lift {
            transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
        }
        .card-lift:hover {
            transform: translateY(-5px);
            box-shadow: 0 20px 30px -10px rgba(0, 0, 0, 0.08);
        }

        .glass-nav {
            background: rgba(11, 14, 20, 0.88);
            backdrop-filter: blur(12px);
            -webkit-backdrop-filter: blur(12px);
        }

        .ticket-cutout {
            position: relative;
            background: #ffffff;
        }
        .ticket-cutout::before, .ticket-cutout::after {
            content: '';
            position: absolute;
            width: 20px;
            height: 20px;
            background: #F4F6F9;
            border-radius: 50%;
            top: 50%;
            transform: translateY(-50%);
        }
        .ticket-cutout::before { left: -10px; }
        .ticket-cutout::after { right: -10px; }

        details > summary {
            list-style: none;
        }
        details > summary::-webkit-details-marker {
            display: none;
        }
