/* Extracted from discord/rewards.php for CSP compliance. */
body { background: #0a0a0f; overflow-x: hidden; }

        [data-reveal] {
            opacity: 0;
            transform: translateY(34px);
            transition: opacity .75s cubic-bezier(.16, 1, .3, 1), transform .75s cubic-bezier(.16, 1, .3, 1);
        }
        [data-reveal].visible { opacity: 1; transform: translateY(0); }
        [data-reveal].visible.reveal-dim { opacity: 0.5; }

        .glow-card {
            background: rgba(11, 11, 22, 0.82);
            border: 1px solid rgba(255, 255, 255, 0.06);
            backdrop-filter: blur(24px);
            -webkit-backdrop-filter: blur(24px);
            position: relative;
            overflow: hidden;
            transition: border-color .4s ease, box-shadow .4s ease, transform .4s cubic-bezier(.4, 0, .2, 1), opacity .75s cubic-bezier(.16, 1, .3, 1);
        }
        .glow-card::before {
            content: "";
            position: absolute;
            inset: 0;
            background: radial-gradient(ellipse 90% 55% at 50% 0%, rgba(225, 29, 72, .07), transparent);
            opacity: 0;
            transition: opacity .4s ease;
            pointer-events: none;
        }
        .glow-card:hover::before { opacity: 1; }
        .glow-card:hover {
            transform: translateY(-6px);
            border-color: rgba(225, 29, 72, .22);
            box-shadow: 0 24px 64px -16px rgba(225, 29, 72, .22), 0 4px 24px -8px rgba(0, 0, 0, .7);
        }
        .glow-card[data-glow="yellow"]:hover {
            border-color: rgba(234, 179, 8, .22);
            box-shadow: 0 24px 64px -16px rgba(234, 179, 8, .22), 0 4px 24px -8px rgba(0, 0, 0, .7);
        }
        .glow-card[data-glow="yellow"]::before {
            background: radial-gradient(ellipse 90% 55% at 50% 0%, rgba(234, 179, 8, .07), transparent);
        }
        .glow-card[data-glow="purple"]:hover {
            border-color: rgba(168, 85, 247, .22);
            box-shadow: 0 24px 64px -16px rgba(168, 85, 247, .22), 0 4px 24px -8px rgba(0, 0, 0, .7);
        }
        .glow-card[data-glow="purple"]::before {
            background: radial-gradient(ellipse 90% 55% at 50% 0%, rgba(168, 85, 247, .07), transparent);
        }
        .glow-card[data-glow="orange"]::before {
            background: radial-gradient(ellipse 90% 55% at 50% 0%, rgba(234, 88, 12, .07), transparent);
        }
        .glow-card[data-glow="orange"]:hover {
            border-color: rgba(234, 88, 12, .22);
            box-shadow: 0 24px 64px -16px rgba(234, 88, 12, .22), 0 4px 24px -8px rgba(0, 0, 0, .7);
        }
        .glow-card[data-reveal]:not(.visible) {
            transition: opacity .75s cubic-bezier(.16, 1, .3, 1), transform .75s cubic-bezier(.16, 1, .3, 1);
        }

        @keyframes tier-line-fill {
            0% {
                opacity: 0;
                clip-path: inset(100% 0 0 0);
            }
            100% {
                opacity: 1;
                clip-path: inset(0 0 0 0);
            }
        }

        .tier-timeline {
            position: relative;
            display: flex;
            flex-direction: column;
            gap: 0.625rem;
        }
        .tier-timeline::before {
            content: "";
            position: absolute;
            left: 50%;
            top: 0.5rem;
            bottom: 0.5rem;
            width: 2px;
            transform: translateX(-50%);
            background: linear-gradient(
                to bottom,
                rgba(225, 29, 72, .75) 0%,
                rgba(234, 88, 12, .55) 60%,
                rgba(255, 255, 255, .04) 100%
            );
            box-shadow: 0 0 10px rgba(225, 29, 72, .4), 0 0 22px rgba(234, 88, 12, .2);
            border-radius: 1px;
            z-index: 0;
            animation: tier-line-fill 1.2s ease-out 0.3s both;
        }

        .tier-badge-red {
            box-shadow: 0 0 0 3px rgba(225, 29, 72, .25), 0 4px 14px rgba(225, 29, 72, .45);
        }
        .tier-badge-orange {
            box-shadow: 0 0 0 3px rgba(234, 88, 12, .25), 0 4px 14px rgba(234, 88, 12, .45);
        }

        .shine-btn {
            position: relative;
            overflow: hidden;
        }
        .shine-btn::after {
            content: "";
            position: absolute;
            top: 0; left: -120%;
            width: 60%; height: 100%;
            background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .18), transparent);
            transform: skewX(-20deg);
            transition: left .55s cubic-bezier(.4, 0, .2, 1);
        }
        .shine-btn:hover::after { left: 160%; }

        .text-gd-red {
            background: linear-gradient(135deg, #f87171 0%, #e11d48 65%);
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
            background-clip: text;
        }
        .text-gd-gold {
            background: linear-gradient(135deg, #fde68a 0%, #f59e0b 50%, #f97316 100%);
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
            background-clip: text;
        }

        .eyebrow {
            display: inline-flex;
            align-items: center;
            gap: 7px;
            padding: 6px 16px;
            background: rgba(225, 29, 72, .1);
            border-radius: 99px;
            font-size: .72rem;
            font-weight: 700;
            letter-spacing: .1em;
            text-transform: uppercase;
            color: #f87171;
        }

        .glow-divider {
            height: 1px;
            background: linear-gradient(90deg, transparent, rgba(88, 101, 242, .35), rgba(225, 29, 72, .15), transparent);
        }

        .dot-grid {
            background-image: radial-gradient(circle, rgba(225, 29, 72, .1) 1px, transparent 1px);
            background-size: 28px 28px;
        }
        .dot-grid-vignette {
            background: radial-gradient(ellipse 85% 85% at 50% 50%, transparent, #0a0a0f 80%);
        }

        .h2-section { font-size: clamp(2.2rem, 5vw, 4rem); }

        html { scroll-behavior: smooth; }
