:root {
            --brand-pink: #FF007F;
            --brand-orange: #FF6A00;
        }

        /* ===== Hide All Scrollbars Globally ===== */
        * {
            -ms-overflow-style: none;  /* IE and Edge */
            scrollbar-width: none;  /* Firefox */
        }
        *::-webkit-scrollbar {
            display: none; /* Chrome, Safari and Opera */
        }

        /* ===== Feed Video Spinner ===== */
        .feed-spinner-container {
            position: absolute;
            top: 0; left: 0; width: 100%; height: 100%;
            display: flex; align-items: center; justify-content: center;
            z-index: 8;
            pointer-events: none;
            opacity: 0;
            transition: opacity 0.3s ease;
        }
        .feed-spinner-container.visible {
            opacity: 1;
        }
        .feed-spinner {
            position: relative;
            width: 52px; height: 52px;
        }
        /* Outer rotating gradient ring */
        .feed-spinner::before {
            content: '';
            position: absolute;
            inset: 0;
            border-radius: 50%;
            border: 2.5px solid transparent;
            border-top-color: #FF007F;
            border-right-color: #FF6A00;
            animation: spinnerRotate 0.9s cubic-bezier(0.4, 0, 0.2, 1) infinite;
            filter: drop-shadow(0 0 6px rgba(255, 0, 127, 0.45));
        }
        /* Inner counter-rotating ring */
        .feed-spinner::after {
            content: '';
            position: absolute;
            inset: 6px;
            border-radius: 50%;
            border: 2px solid transparent;
            border-bottom-color: rgba(255, 255, 255, 0.7);
            border-left-color: rgba(255, 255, 255, 0.3);
            animation: spinnerRotateReverse 1.4s linear infinite;
        }
        /* Center dot */
        .feed-spinner-dot {
            position: absolute;
            top: 50%; left: 50%;
            width: 6px; height: 6px;
            margin: -3px 0 0 -3px;
            border-radius: 50%;
            background: white;
            animation: spinnerPulse 1.8s ease-in-out infinite;
            box-shadow: 0 0 8px rgba(255, 255, 255, 0.5);
        }
        @keyframes spinnerRotate {
            to { transform: rotate(360deg); }
        }
        @keyframes spinnerRotateReverse {
            to { transform: rotate(-360deg); }
        }
        @keyframes spinnerPulse {
            0%, 100% { opacity: 0.4; transform: scale(0.8); }
            50% { opacity: 1; transform: scale(1.15); }
        }
        
        /* ===== Feed Play/Pause Overlay ===== */
        .feed-play-pause-overlay {
            position: absolute;
            top: 50%; left: 50%;
            transform: translate(-50%, -50%) scale(1.5);
            width: 72px; height: 72px;
            background: rgba(0, 0, 0, 0.5);
            border-radius: 50%;
            display: flex; align-items: center; justify-content: center;
            pointer-events: none;
            opacity: 0;
            z-index: 20;
            transition: opacity 0.3s ease, transform 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
        }
        .feed-play-pause-overlay.animate-flash {
            opacity: 1;
            transform: translate(-50%, -50%) scale(1);
        }
        .feed-play-pause-overlay.paused-state {
            opacity: 1;
            transform: translate(-50%, -50%) scale(1);
        }
        
        /* ===== Feed Progress Bar ===== */
        .feed-progress-container {
            position: absolute;
            bottom: 60px; /* Sit right above the bottom-nav */
            left: 0; width: 100%; height: 24px;
            z-index: 30;
            display: flex; align-items: flex-end;
            cursor: pointer;
        }
        .feed-progress-bg {
            width: 100%; height: 3px;
            background: rgba(255, 255, 255, 0.3);
            position: relative;
            transition: height 0.2s ease;
        }
        .feed-progress-container.active .feed-progress-bg {
            height: 6px;
        }
        .feed-progress-fill {
            height: 100%; width: 0%;
            background: #FF007F; /* brand pink */
            position: absolute; top: 0; left: 0;
            pointer-events: none;
        }
        .feed-progress-fill::after {
            content: '';
            position: absolute;
            right: -6px;
            top: 50%;
            transform: translateY(-50%) scale(0.8);
            width: 12px;
            height: 12px;
            background-color: white;
            border-radius: 50%;
            box-shadow: 0 1px 3px rgba(0,0,0,0.8);
            opacity: 0;
            transition: opacity 0.2s ease, transform 0.2s ease;
        }
        .feed-progress-container.active .feed-progress-fill::after {
            opacity: 1;
            transform: translateY(-50%) scale(1);
        }

        body,
        html {
            margin: 0;
            padding: 0;
            height: 100%;
            background-color: #000;
            background-image: url('images/rivo_bg.jpg');
            background-size: cover;
            background-position: center 15%;
            background-attachment: fixed;
            font-family: 'Inter', sans-serif;
            overflow: hidden;
            -webkit-font-smoothing: antialiased;
            -webkit-tap-highlight-color: transparent;
            -webkit-touch-callout: none;
            -webkit-user-select: none;
            user-select: none;
        }

        /* Cinematic Contrast Overlay */
        body::before {
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            background: linear-gradient(to bottom, rgba(0, 0, 0, 0.6) 0%, transparent 25%, transparent 60%, rgba(0, 0, 0, 0.9) 100%);
            z-index: 0;
            pointer-events: none;
        }
        
        body.in-feed::before {
            display: none;
        }

        /* Keep the WebView visually blank until startup auth has decided which
           screen to show. The native Capacitor splash covers this state in the APK. */
        body.app-booting {
            background-image: none;
        }

        body.app-booting > * {
            visibility: hidden;
        }

        .app-container {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            display: flex;
            flex-direction: column;
            justify-content: space-between;
            align-items: center;
            padding: 10px 20px 40px;
            box-sizing: border-box;
            background: radial-gradient(circle at top, rgba(255, 0, 127, 0.15) 0%, transparent 60%);
        }

        .top-logo {
            position: relative;
            z-index: 10;
            margin-bottom: 24px;
            width: 100%;
            display: flex;
            justify-content: center;
            animation: fadeInDown 0.8s ease forwards;
        }

        .top-logo img {
            max-width: 260px;
            height: auto;
            filter: drop-shadow(0 4px 20px rgba(0, 0, 0, 0.8));
        }

        @keyframes fadeInDown {
            from {
                opacity: 0;
                transform: translateY(-20px);
            }

            to {
                opacity: 1;
                transform: translateY(0);
            }
        }

        .paywall-card {
            background: linear-gradient(180deg, rgba(255, 0, 127, 0.15) 0%, rgba(10, 5, 12, 0.95) 30%, rgba(0, 0, 0, 1) 100%);
            width: 100%;
            max-width: 400px;
            border-radius: 28px;
            padding: 30px 24px 20px;
            box-sizing: border-box;
            border: 1px solid rgba(255, 0, 127, 0.35);
            border-top: 1px solid rgba(255, 0, 127, 0.6);
            box-shadow: 0 20px 50px rgba(0, 0, 0, 0.95), 0 0 40px rgba(255, 0, 127, 0.3), inset 0 2px 20px rgba(255, 0, 127, 0.2);
            display: flex;
            flex-direction: column;
            align-items: center;
            position: relative;
            overflow: hidden;
            animation: slideUp 0.8s cubic-bezier(0.16, 1, 0.3, 1) forwards;
            opacity: 0;
            transform: translateY(20px);
            margin-bottom: 0px;
        }

        @keyframes slideUp {
            to {
                opacity: 1;
                transform: translateY(0);
            }
        }

        .paywall-card::before {
            content: '';
            position: absolute;
            top: -80px;
            left: 50%;
            transform: translateX(-50%);
            width: 250px;
            height: 150px;
            background: radial-gradient(ellipse at center, rgba(255, 0, 127, 0.7) 0%, transparent 70%);
            z-index: 0;
            pointer-events: none;
            /* Replaced blur() with radial gradient for better performance and sharper glow */
        }

        .paywall-header {
            position: relative;
            z-index: 1;
            display: flex;
            flex-direction: column;
            align-items: center;
            margin-bottom: 20px;
            width: 100%;
        }

        .referral-login-field {
            position: relative;
            z-index: 1;
            width: 100%;
            margin: 0 0 16px;
        }

        .referral-login-field label {
            display: block;
            margin: 0 0 7px;
            color: rgba(255, 255, 255, .78);
            font-size: 12px;
            font-weight: 700;
        }

        .referral-login-field label span {
            color: rgba(255, 255, 255, .4);
            font-weight: 500;
        }

        .referral-login-field input {
            display: block;
            width: 100%;
            padding: 12px 13px;
            box-sizing: border-box;
            border: 1px solid rgba(255, 255, 255, .14);
            border-radius: 11px;
            outline: none;
            background: rgba(255, 255, 255, .07);
            color: #fff;
            font: inherit;
            font-size: 14px;
            letter-spacing: .4px;
            text-transform: uppercase;
            user-select: text;
            -webkit-user-select: text;
        }

        .referral-login-field input:focus {
            border-color: rgba(255, 0, 127, .72);
            box-shadow: 0 0 0 3px rgba(255, 0, 127, .12);
        }

        .referral-login-field input::placeholder { color: rgba(255, 255, 255, .35); text-transform: none; }

        .referral-login-field small {
            display: block;
            margin-top: 6px;
            color: rgba(255, 255, 255, .38);
            font-size: 10px;
        }

        .price {
            font-size: 78px;
            font-weight: 900;
            letter-spacing: -2px;
            line-height: 1;
            margin-bottom: 8px;
            background: linear-gradient(180deg, #FFFFFF 0%, #FFD6E5 20%, #FF007F 70%, #FF66B2 100%);
            -webkit-background-clip: text;
            background-clip: text;
            -webkit-text-fill-color: transparent;
            filter: drop-shadow(0 4px 15px rgba(255, 0, 127, 0.7));
            text-shadow: 0 0 30px rgba(255, 0, 127, 0.4);
        }

        .subtitle {
            font-size: 14px;
            font-weight: 800;
            letter-spacing: 5px;
            color: #ffccdf;
            text-shadow: 0 0 12px rgba(255, 0, 127, 0.9), 0 0 20px rgba(255, 0, 127, 0.5);
            text-transform: uppercase;
        }

        .features-row {
            position: relative;
            z-index: 1;
            display: flex;
            flex-direction: row;
            justify-content: space-between;
            align-items: stretch;
            width: 100%;
            background: #000;
            border-radius: 16px;
            padding: 16px 8px;
            margin-bottom: 24px;
            border: 1px solid rgba(255, 255, 255, 0.05);
            box-shadow: inset 0 2px 10px rgba(0, 0, 0, 0.5);
        }

        .feature {
            flex: 1;
            display: flex;
            flex-direction: column;
            align-items: center;
            text-align: center;
            padding: 0 4px;
        }

        .feature-divider {
            width: 1px;
            background: rgba(255, 255, 255, 0.1);
            margin: 0 4px;
        }

        .icon-box {
            width: 44px;
            height: 44px;
            border-radius: 12px;
            background: linear-gradient(135deg, #2a0011 0%, #000000 100%);
            border: 1px solid rgba(255, 0, 127, 0.5);
            display: flex;
            align-items: center;
            justify-content: center;
            margin-bottom: 8px;
            box-shadow: 0 0 10px rgba(255, 0, 127, 0.2);
        }

        .icon-box svg {
            width: 22px;
            height: 22px;
        }

        .feature-title {
            font-size: 10px;
            font-weight: 800;
            color: #fff;
            margin-bottom: 3px;
            text-transform: uppercase;
        }

        .feature-desc {
            font-size: 9px;
            color: #888;
            line-height: 1.2;
        }

        .subscribe-btn {
            position: relative;
            z-index: 1;
            width: 100%;
            padding: 16px 0;
            border-radius: 12px;
            border: none;
            background: linear-gradient(90deg, #ff0055 0%, #ff007f 50%, #ff4d94 100%);
            color: #fff;
            font-size: 16px;
            font-weight: 800;
            letter-spacing: 1px;
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 10px;
            cursor: pointer;
            box-shadow: 0 8px 25px rgba(255, 0, 127, 0.5), inset 0 2px 4px rgba(255, 255, 255, 0.3);
            transition: all 0.3s ease;
        }

        .subscribe-btn:active {
            transform: scale(0.98);
        }

        .arrow-icon {
            width: 20px;
            height: 20px;
        }

        .or-divider {
            position: relative;
            z-index: 1;
            width: 100%;
            text-align: center;
            margin: 16px 0;
        }

        .or-divider::before {
            content: '';
            position: absolute;
            top: 50%;
            left: 0;
            width: 40%;
            height: 1px;
            background: rgba(255, 255, 255, 0.15);
        }

        .or-divider::after {
            content: '';
            position: absolute;
            top: 50%;
            right: 0;
            width: 40%;
            height: 1px;
            background: rgba(255, 255, 255, 0.15);
        }

        .or-divider span {
            font-size: 12px;
            font-weight: 600;
            color: #888;
            background: #0d0a0f;
            padding: 0 10px;
        }

        .google-btn {
            position: relative;
            z-index: 1;
            width: 100%;
            padding: 14px 0;
            border-radius: 12px;
            border: 1px solid rgba(255, 255, 255, 0.15);
            background: #1a1a1a;
            color: #fff;
            font-size: 15px;
            font-weight: 600;
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 12px;
            cursor: pointer;
            transition: all 0.3s ease;
        }

        .google-btn:active {
            background: #2a2a2a;
        }

        .google-icon {
            width: 20px;
            height: 20px;
        }

        .legal-text {
            position: relative;
            z-index: 1;
            font-size: 11px;
            color: #666;
            text-align: center;
            margin-top: 24px;
            line-height: 1.5;
        }

        .legal-text a {
            color: #999;
            text-decoration: underline;
        }

        /* Large Screens (Desktop & Tablets) */
        @media (min-width: 1024px) {
            body {
                background-image: url('images/landscape_bg.jpg');
                background-position: center center;
                background-size: cover;
            }
        }

        /* Basic Home Page Styles */
        #home-page {
            display: none;
            /* Hidden by default */
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            z-index: 100;
            background: #000;
            flex-direction: column;
            align-items: stretch;
            justify-content: flex-start;
            text-align: left;
            animation: fadeIn 0.5s ease forwards;
            overflow: hidden;
        }

        @keyframes fadeIn {
            from {
                opacity: 0;
            }

            to {
                opacity: 1;
            }
        }

        .home-header {
            display: flex;
            justify-content: space-between;
            align-items: center;
            padding: 8px 16px;
            /* Minimized padding to push header all the way up */
            background: linear-gradient(to bottom, rgba(0, 0, 0, 0.95) 0%, rgba(0, 0, 0, 0.4) 80%, transparent 100%);
            z-index: 10;
        }

        .header-left {
            display: flex;
            align-items: center;
            gap: 8px;
        }

        .header-logo {
            height: 54px;
            /* Much larger scale for logo */
        }

        .header-right {
            display: flex;
            align-items: center;
        }

        .search-bar {
            display: flex;
            align-items: center;
            background: rgba(255, 255, 255, 0.15);
            border-radius: 20px;
            padding: 6px 12px;
            border: 1px solid rgba(255, 255, 255, 0.1);
        }

        .search-bar input {
            background: transparent;
            border: none;
            color: white;
            font-size: 13px;
            width: 100px;
            outline: none;
            font-family: 'Inter', sans-serif;
        }

        .search-bar input::placeholder {
            color: #aaa;
        }

        .search-icon {
            width: 16px;
            height: 16px;
            color: #fff;
            margin-right: 6px;
        }

        .home-content {
            flex: 1;
            overflow-y: auto;
            padding-bottom: 90px;
            /* Space for bottom nav */
        }

        .home-content::-webkit-scrollbar {
            display: none;
        }

        /* Skeleton Styles */
        .skeleton {
            background: linear-gradient(90deg, rgba(255, 255, 255, 0.05) 25%, rgba(255, 255, 255, 0.1) 50%, rgba(255, 255, 255, 0.05) 75%);
            background-size: 200% 100%;
            animation: skeletonLoading 1.5s infinite;
            border-radius: 8px;
        }

        @keyframes skeletonLoading {
            0% {
                background-position: 200% 0;
            }

            100% {
                background-position: -200% 0;
            }
        }

        .hero-skeleton {
            height: 400px;
            position: relative;
            background: linear-gradient(180deg, transparent 0%, #000 100%), #111;
            display: flex;
            align-items: flex-end;
            padding: 30px 20px;
            margin-bottom: 20px;
        }

        .hero-text-skeleton {
            width: 100%;
        }

        .skeleton-line {
            height: 16px;
            margin-bottom: 12px;
            border-radius: 4px;
        }

        .skeleton-line.short {
            width: 30%;
            height: 12px;
            background: rgba(255, 0, 127, 0.5);
        }

        .skeleton-line.long {
            width: 70%;
            height: 36px;
            margin-bottom: 16px;
        }

        .skeleton-line.medium {
            width: 50%;
        }

        .hero-buttons {
            display: flex;
            gap: 12px;
            margin-top: 24px;
        }

        .skeleton-btn {
            height: 48px;
            border-radius: 24px;
            flex: 1;
        }

        .skeleton-btn.primary {
            background: rgba(255, 0, 127, 0.4);
            border: 1px solid rgba(255, 0, 127, 0.6);
        }

        .skeleton-btn.secondary {
            background: rgba(255, 255, 255, 0.1);
            border: 1px solid rgba(255, 255, 255, 0.2);
        }

        .carousel-section {
            padding: 0 0 24px 20px;
        }

        .section-title {
            display: flex;
            justify-content: space-between;
            align-items: center;
            padding-right: 20px;
            margin-bottom: 16px;
        }

        .section-title h2 {
            color: #fff;
            font-size: 16px;
            font-weight: 700;
            margin: 0;
            display: flex;
            align-items: center;
            position: relative;
        }

        .section-title h2::before {
            content: '';
            position: absolute;
            left: -20px;
            top: 2px;
            bottom: 2px;
            width: 4px;
            background: #FF007F;
            border-radius: 0 4px 4px 0;
        }

        .view-all-skeleton {
            width: 60px;
            height: 12px;
            border-radius: 4px;
        }

        .carousel {
            display: flex;
            gap: 12px;
            overflow-x: auto;
            padding-right: 20px;
        }

        .carousel::-webkit-scrollbar {
            display: none;
        }

        .grid-wrap {
            display: flex;
            flex-wrap: wrap;
            gap: 12px;
        }

        .card-skeleton {
            min-width: 160px;
            height: 90px;
            border-radius: 12px;
            flex-shrink: 0;
            position: relative;
        }

        .card-skeleton::after {
            content: '';
            position: absolute;
            bottom: 10px;
            right: 10px;
            width: 24px;
            height: 24px;
            border-radius: 50%;
            background: rgba(255, 255, 255, 0.2);
            border: 1px solid rgba(255, 255, 255, 0.4);
        }

        .card-skeleton.portrait {
            min-width: 120px;
            height: 180px;
        }

        .card-skeleton.portrait::after {
            display: none;
        }

        /* True Card Class for Dynamic Data */
        .portrait-card {
            width: calc(33.333% - 8px);
            aspect-ratio: 120 / 180;
            border-radius: 12px;
            flex-shrink: 0;
            position: relative;
            overflow: hidden;
            border: 1px solid rgba(255, 255, 255, 0.1);
        }

        .carousel .portrait-card {
            width: 120px;
        }

        .live-badge {
            position: absolute;
            top: 8px;
            left: 8px;
            background: #ff0000;
            color: white;
            font-size: 9px;
            font-weight: 800;
            padding: 2px 6px;
            border-radius: 4px;
            letter-spacing: 1px;
            text-transform: uppercase;
            box-shadow: 0 0 8px rgba(255, 0, 0, 0.8);
            z-index: 5;
            animation: pulse 1.5s infinite;
        }

        @keyframes pulse {
            0% {
                opacity: 1;
            }

            50% {
                opacity: 0.7;
            }

            100% {
                opacity: 1;
            }
        }

        .card-skeleton.genre {
            min-width: 100px;
            height: 80px;
            border-radius: 12px;
            border: 1px solid rgba(255, 255, 255, 0.1);
            background: rgba(255, 255, 255, 0.03);
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            gap: 10px;
        }

        .genre-icon-skeleton {
            width: 30px;
            height: 30px;
            border-radius: 50%;
            background: rgba(255, 0, 127, 0.2);
        }

        .genre-text-skeleton {
            width: 50px;
            height: 8px;
            border-radius: 4px;
            background: rgba(255, 255, 255, 0.1);
        }

        .bottom-nav {
            position: absolute;
            bottom: 0;
            left: 0;
            right: 0;
            height: 60px;
            /* Thinner navigation bar */
            background: rgba(10, 5, 12, 0.95);
            border-top: 1px solid rgba(255, 255, 255, 0.05);
            display: flex;
            justify-content: space-around;
            align-items: center;
            z-index: 100;
            padding-bottom: 0;
            /* Removed safe-area-inset to force it flush to the bottom */
        }

        .bottom-nav-item {
            display: flex;
            flex-direction: column;
            align-items: center;
            gap: 6px;
            color: #666;
            cursor: pointer;
            width: 60px;
            transition: color 0.3s;
        }

        .bottom-nav-item.active {
            color: #fff;
        }

        .bottom-nav-item.active .nav-indicator {
            width: 30px;
            height: 3px;
            background: #FF007F;
            border-radius: 3px;
            position: absolute;
            bottom: 0;
            box-shadow: 0 -2px 10px rgba(255, 0, 127, 0.5);
        }

        .bottom-nav-item svg {
            width: 24px;
            height: 24px;
            position: relative;
        }

        .bottom-nav-item span {
            font-size: 11px;
            font-weight: 500;
        }

        /* Search Trigger */
        .search-trigger {
            width: 38px;
            height: 38px;
            border-radius: 50%;
            background: rgba(255, 255, 255, 0.08);
            display: flex;
            align-items: center;
            justify-content: center;
            cursor: pointer;
            transition: all 0.2s ease;
            border: 1px solid rgba(255, 255, 255, 0.06);
        }
        .search-trigger:active {
            transform: scale(0.9);
            background: rgba(255, 0, 127, 0.2);
        }

        /* Search Chips */
        .search-chip {
            padding: 6px 16px;
            border-radius: 20px;
            font-size: 13px;
            font-weight: 500;
            color: rgba(255, 255, 255, 0.6);
            background: rgba(255, 255, 255, 0.06);
            border: 1px solid rgba(255, 255, 255, 0.08);
            cursor: pointer;
            white-space: nowrap;
            transition: all 0.2s ease;
            flex-shrink: 0;
        }
        .search-chip.active {
            background: linear-gradient(135deg, var(--brand-pink), var(--brand-orange));
            color: white;
            border-color: transparent;
            font-weight: 600;
        }
        .search-chip:active {
            transform: scale(0.95);
        }

        /* Search Result Card */
        .search-result-card {
            display: flex;
            gap: 12px;
            padding: 10px;
            background: rgba(255, 255, 255, 0.04);
            border-radius: 12px;
            cursor: pointer;
            transition: all 0.15s ease;
            border: 1px solid rgba(255, 255, 255, 0.04);
        }
        .search-result-card:active {
            background: rgba(255, 0, 127, 0.1);
            border-color: rgba(255, 0, 127, 0.2);
            transform: scale(0.98);
        }
        .search-result-thumb {
            width: 70px;
            height: 95px;
            border-radius: 8px;
            background-size: cover;
            background-position: center;
            flex-shrink: 0;
            position: relative;
            overflow: hidden;
        }
        .search-result-info {
            flex: 1;
            display: flex;
            flex-direction: column;
            justify-content: center;
            gap: 4px;
            min-width: 0;
        }
        .search-result-title {
            color: white;
            font-size: 14px;
            font-weight: 700;
            line-height: 1.3;
            display: -webkit-box;
            -webkit-line-clamp: 2;
            -webkit-box-orient: vertical;
            overflow: hidden;
        }
        .search-result-meta {
            color: rgba(255, 255, 255, 0.4);
            font-size: 12px;
            display: flex;
            align-items: center;
            gap: 6px;
        }
        .search-result-badge {
            display: inline-block;
            padding: 2px 8px;
            border-radius: 4px;
            font-size: 10px;
            font-weight: 600;
        }

        /* Trending Tag */
        .trending-tag {
            padding: 8px 16px;
            background: rgba(255, 255, 255, 0.06);
            border: 1px solid rgba(255, 255, 255, 0.08);
            border-radius: 20px;
            color: rgba(255, 255, 255, 0.7);
            font-size: 13px;
            cursor: pointer;
            transition: all 0.2s ease;
        }
        .trending-tag:active {
            background: rgba(255, 0, 127, 0.15);
            color: white;
        }

        /* Search input focus */
        #search-input:focus {
            border-color: var(--brand-pink);
            background: rgba(255, 255, 255, 0.1);
        }

        /* Hide scrollbar on filter chips */
        #search-filters::-webkit-scrollbar {
            display: none;
        }
        #search-filters {
            -ms-overflow-style: none;
            scrollbar-width: none;
        }
/* Rewards profile experience */
.profile-page { box-sizing:border-box; width:100%; min-height:0; flex:1 1 auto; flex-direction:column; gap:16px; padding:18px 18px calc(90px + env(safe-area-inset-bottom)) !important; align-items:stretch !important; background:radial-gradient(circle at 90% 0%, rgba(73,32,104,.4), transparent 32%), #08080b; overflow-x:hidden; overflow-y:auto; }
.events-page { box-sizing:border-box; width:100%; min-height:0; flex:1 1 auto; flex-direction:column; gap:16px; padding:18px 18px calc(90px + env(safe-area-inset-bottom)) !important; align-items:stretch !important; background:radial-gradient(circle at 8% 0%, rgba(255,0,127,.18), transparent 34%), #08080b; overflow-x:hidden; overflow-y:auto; color:#fff; }
.events-hero-card { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; padding:21px; border:1px solid rgba(255,255,255,.1); border-radius:8px; background:linear-gradient(120deg,rgba(255,0,127,.24),rgba(73,32,104,.74) 55%,rgba(15,12,23,.98)); box-shadow:0 18px 60px rgba(0,0,0,.24); }.events-hero-card h1 { margin:5px 0 5px; font-size:24px; letter-spacing:-.7px; }.events-hero-card p { max-width:250px; margin:0; color:rgba(255,255,255,.65); font-size:12px; line-height:1.45; }.events-ticket-balance { display:grid; grid-template-columns:auto auto; align-items:center; column-gap:5px; flex:none; padding:10px 12px; border:1px solid rgba(255,255,255,.15); border-radius:15px; background:rgba(0,0,0,.2); color:#C0C0C0; }.events-ticket-balance span { grid-row:span 2; font-size:18px; }.events-ticket-balance strong { color:#fff; font-size:18px; line-height:1; }.events-ticket-balance small { color:rgba(255,255,255,.52); font-size:9px; }.events-page .profile-section { flex:0 0 auto; width:100%; box-sizing:border-box; }.events-page .event-card { background:linear-gradient(115deg,rgba(255,0,127,.14),#111114 68%); }
.profile-hero-card, .daily-streak-card, .referral-card { position: relative; overflow: hidden; border-radius: 8px; border: 1px solid rgba(255,255,255,.1); box-shadow: 0 18px 60px rgba(0,0,0,.24); }
.profile-hero-card { display:flex; align-items:center; gap:14px; padding:20px; overflow:hidden; background:linear-gradient(135deg,rgba(255,0,127,.3),rgba(73,32,104,.75) 52%,rgba(13,13,21,.98)); }
.profile-hero-card:after { content:""; position:absolute; width:160px; height:160px; right:-70px; top:-80px; border-radius:50%; background:rgba(192,192,192,.2); filter:blur(3px); }
.profile-avatar { width:54px; height:54px; flex:none; display:grid; place-items:center; border-radius:18px; background:linear-gradient(145deg,#492068,#ff007f); color:#fff; font-size:24px; font-weight:900; box-shadow:0 8px 24px rgba(255,0,127,.3); }
.profile-identity { min-width:0; flex:1; z-index:1; }.profile-identity h1 { margin:4px 0 3px; font-size:22px; letter-spacing:-.6px; }.profile-identity p { margin:0; color:rgba(255,255,255,.58); font-size:12px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }.eyebrow { display:block; color:#C0C0C0; font-size:10px; font-weight:900; letter-spacing:1.6px; }.profile-level-pill { z-index:1; align-self:flex-start; padding:7px 10px; border:1px solid rgba(255,255,255,.14); border-radius:999px; color:#C0C0C0; font-size:10px; font-weight:800; background:rgba(255,255,255,.08); }.profile-level-pill.is-premium { background:linear-gradient(135deg,#492068,#ff007f); border-color:rgba(255,0,127,.5); color:#fff; box-shadow:0 4px 14px rgba(255,0,127,.35); }
.daily-streak-card { padding:20px 18px 18px; background:linear-gradient(145deg,rgba(73,32,104,.55) 0%,rgba(18,12,28,.97) 60%,rgba(255,0,127,.06)); }.daily-streak-card:before { content:""; position:absolute; inset:auto -35px -65px auto; width:160px; height:160px; border-radius:50%; border:1px solid rgba(255,0,127,.22); box-shadow:0 0 0 16px rgba(255,0,127,.04),0 0 0 32px rgba(255,0,127,.03); }.streak-copy { position:relative; z-index:1; }.streak-copy h2,.referral-card h2,.section-heading h2 { margin:5px 0 4px; font-size:18px; letter-spacing:-.4px; }.streak-copy p,.referral-card p { margin:0; color:rgba(255,255,255,.58); font-size:12px; line-height:1.45; max-width:270px; }.streak-flame { position:absolute; right:20px; top:16px; width:40px; height:40px; display:grid; place-items:center; border-radius:14px; background:rgba(255,0,127,.15); font-size:22px; color:#FF007F; text-shadow:0 0 14px rgba(255,0,127,.6); box-shadow:0 0 0 8px rgba(255,0,127,.06); }
/* Streak reward cards */
.streak-days { display:grid; grid-template-columns:repeat(7,1fr); gap:5px; margin-top:16px; position:relative; z-index:1; }.streak-day { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:1px; padding:7px 2px 6px; border-radius:12px; background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.08); color:rgba(255,255,255,.35); font-size:8px; font-weight:700; letter-spacing:.3px; transition:all .2s ease; cursor:default; }.streak-day .day-label { font-size:7.5px; font-weight:600; color:rgba(255,255,255,.3); text-transform:uppercase; letter-spacing:.4px; }.streak-day .day-reward { font-size:11px; font-weight:900; color:rgba(255,255,255,.4); margin:1px 0; }.streak-day .day-ticket { font-size:9px; opacity:.5; }.streak-day.is-filled { background:linear-gradient(150deg,#5a2099,#ff007f 130%); border-color:rgba(255,0,127,.5); box-shadow:0 4px 14px rgba(255,0,127,.3); color:#fff; }.streak-day.is-filled .day-label { color:rgba(255,255,255,.75); }.streak-day.is-filled .day-reward { color:#fff; font-size:14px; }.streak-day.is-filled .day-ticket { opacity:.85; }.streak-day.is-today { border-color:rgba(255,255,255,.35); background:rgba(255,255,255,.1); box-shadow:0 0 0 2px rgba(255,255,255,.1); }.streak-footer { display:flex; justify-content:space-between; align-items:center; gap:10px; margin-top:13px; color:rgba(255,255,255,.52); font-size:11px; }.streak-bonus-badge { display:inline-flex; align-items:center; gap:4px; padding:5px 10px; border-radius:999px; background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.12); color:rgba(255,255,255,.7); font-size:10px; font-weight:700; letter-spacing:.2px; }
.wallet-grid { display:grid; grid-template-columns:1fr 1fr; gap:11px; }.wallet-tile { min-width:0; text-align:left; border:1px solid rgba(255,255,255,.12); border-radius:16px; padding:16px; background:rgba(255,255,255,.06); color:#fff; transition:border-color .2s; }.wallet-tile button,.wallet-tile { font-family:inherit; }.coin-tile { cursor:pointer; background:linear-gradient(140deg,rgba(255,0,127,.18),rgba(73,32,104,.35) 60%,rgba(10,5,18,.9)); border-color:rgba(255,0,127,.25); }.coin-tile:hover { border-color:rgba(255,0,127,.5); }.wallet-icon { display:grid; place-items:center; width:34px; height:34px; border-radius:12px; background:rgba(192,192,192,.15); color:#C0C0C0; font-size:20px; font-weight:900; margin-bottom:10px; }.ticket-icon { background:rgba(255,0,127,.18); font-size:16px; color:#ff65ae; }.wallet-label { display:block; color:rgba(255,255,255,.5); font-size:11px; font-weight:600; letter-spacing:.3px; }.wallet-tile strong { display:block; font-size:27px; font-weight:900; margin-top:3px; letter-spacing:-.5px; }.wallet-tile small { display:block; margin-top:4px; color:rgba(255,255,255,.35); font-size:10px; line-height:1.35; }
.watch-rewards-card { padding:19px; border:1px solid var(--profile-line,rgba(255,255,255,.1)); border-radius:8px; background:linear-gradient(115deg,rgba(255,0,127,.13),#111114 64%); box-shadow:0 12px 34px rgba(0,0,0,.22); }.watch-rewards-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; }.watch-rewards-heading h2 { margin:5px 0 0; font-size:18px; letter-spacing:-.4px; }.watch-rewards-icon { display:grid; place-items:center; width:34px; height:34px; flex:none; border-radius:12px; color:#C0C0C0; background:rgba(192,192,192,.2); font-size:13px; }.watch-rewards-copy { margin:10px 0 15px; color:var(--profile-muted,rgba(255,255,255,.58)); font-size:12px; line-height:1.45; }.watch-progress-track { height:9px; overflow:hidden; border-radius:999px; background:rgba(255,255,255,.1); }.watch-progress-fill { width:0%; height:100%; border-radius:inherit; background:linear-gradient(90deg,#ff007f,#492068); transition:width .35s ease; }.watch-rewards-stats { display:flex; justify-content:space-between; gap:10px; margin-top:9px; color:rgba(255,255,255,.52); font-size:11px; }.watch-rewards-stats strong { color:#fff; font-size:14px; }.watch-milestones { display:flex; gap:6px; margin-top:14px; }.watch-milestones span { flex:1; padding:8px 6px; border:1px solid rgba(255,255,255,.08); border-radius:10px; color:rgba(255,255,255,.5); font-size:9px; text-align:center; }.watch-milestones b { display:block; margin-top:3px; color:#FF007F; font-size:10px; }.watch-milestones span.is-complete { border-color:rgba(255,0,127,.5); background:rgba(255,0,127,.2); color:#fff; }.watch-rewards-footer { margin-top:12px; color:rgba(255,255,255,.4); font-size:10px; }
.referral-card { padding:19px; background:linear-gradient(140deg,rgba(73,32,104,.7),rgba(22,10,40,.97)); border:1px solid rgba(120,60,180,.25); }.referral-code-row { display:flex; gap:8px; align-items:center; margin-top:16px; }.referral-code-row code { flex:1; min-width:0; padding:11px 12px; border-radius:12px; background:rgba(0,0,0,.3); color:#d4aaff; letter-spacing:1.5px; font-size:13px; border:1px solid rgba(120,60,180,.25); }.referral-code-row button,.primary-action { border:0; border-radius:12px; padding:11px 14px; background:linear-gradient(135deg,#ff007f,#6b21a8); color:#fff; font-weight:800; font-family:inherit; cursor:pointer; box-shadow:0 8px 22px rgba(255,0,127,.28); transition:opacity .15s; }.referral-code-row button:hover,.primary-action:hover { opacity:.88; }.profile-section { margin-top:3px; }.section-heading { display:flex; justify-content:space-between; align-items:end; margin:4px 2px 10px; }.section-note { color:rgba(255,255,255,.4); font-size:10px; }.events-list { display:grid; gap:11px; }.event-card { position:relative; overflow:hidden; min-height:140px; padding:18px; border-radius:16px; border:1px solid rgba(255,0,127,.2); background:linear-gradient(135deg,rgba(106,13,80,.7),rgba(30,10,55,.95) 65%); box-shadow:0 8px 28px rgba(0,0,0,.3); }.event-card:before { content:""; position:absolute; inset:0; background:linear-gradient(135deg,rgba(255,0,127,.12),transparent 60%); pointer-events:none; }.event-card:after { content:""; position:absolute; width:120px; height:120px; right:-30px; top:-38px; border-radius:50%; background:radial-gradient(circle,rgba(255,0,127,.25),transparent 70%); }.event-card h3 { position:relative; z-index:1; margin:7px 0 5px; font-size:17px; letter-spacing:-.3px; }.event-card p { position:relative; z-index:1; margin:0; color:rgba(255,255,255,.62); font-size:11px; max-width:72%; line-height:1.4; }.event-meta { position:relative; z-index:1; display:flex; gap:8px; margin-top:14px; color:#e0a0ff; font-size:10px; font-weight:700; }.event-button { position:absolute; right:14px; bottom:15px; z-index:2; border:1px solid rgba(255,0,127,.4); border-radius:10px; padding:8px 12px; color:#fff; background:rgba(255,0,127,.2); font-family:inherit; font-size:10px; font-weight:800; transition:background .2s; }.event-button:hover { background:rgba(255,0,127,.4); }.event-button:disabled { opacity:.45; }.event-empty { border:1px dashed rgba(255,255,255,.12); border-radius:17px; padding:24px; color:rgba(255,255,255,.35); text-align:center; font-size:12px; }.logout-btn { width:100%; padding:14px; margin-top:3px; border-radius:15px; border:1px solid rgba(255,0,127,.35); background:rgba(255,0,127,.07); color:#ff65ae; font-weight:800; font-size:14px; font-family:inherit; transition:background .2s; }.logout-btn:hover { background:rgba(255,0,127,.14); }
.modal-backdrop { display:none; position:fixed; inset:0; z-index:3000; align-items:center; justify-content:center; padding:20px; background:rgba(3,2,9,.82); backdrop-filter:blur(16px); }.modal-backdrop.is-open { display:flex; }.reward-modal,.sheet-modal { position:relative; width:min(100%,390px); max-height:calc(100dvh - 40px); overflow-y:auto; border-radius:28px; padding:28px 22px 22px; background:linear-gradient(155deg,#1e0a2e,#0f0f1a 70%); border:1px solid rgba(255,0,127,.18); box-shadow:0 30px 80px rgba(0,0,0,.7),0 0 0 1px rgba(255,255,255,.04); text-align:center; }.sheet-modal { text-align:left; }.modal-close { position:absolute; top:13px; right:15px; border:0; background:none; color:rgba(255,255,255,.5); font-size:28px; cursor:pointer; transition:color .15s; }.modal-close:hover { color:#fff; }.modal-spark { margin:0 auto 10px; width:65px; height:65px; display:grid; place-items:center; border-radius:22px; color:#C0C0C0; font-size:31px; background:radial-gradient(circle,rgba(192,192,192,.2),rgba(255,0,127,.2)); box-shadow:0 0 0 8px rgba(192,192,192,.08); }.reward-modal h2,.sheet-modal h2 { margin:7px 0; font-size:24px; }.reward-modal p,.modal-muted { color:rgba(255,255,255,.52); font-size:12px; line-height:1.5; }.modal-streak-orbit { display:grid; place-items:center; width:112px; height:112px; margin:18px auto; border-radius:50%; border:1px solid rgba(255,0,127,.4); box-shadow:0 0 0 10px rgba(255,0,127,.06),inset 0 0 35px rgba(255,0,127,.15); }.modal-streak-orbit span { font-size:37px; font-weight:900; }.modal-streak-orbit small { margin-top:-27px; color:#C0C0C0; font-size:10px; }.withdraw-balance { display:flex; justify-content:space-between; align-items:center; margin:16px 0; padding:14px 16px; border-radius:14px; background:linear-gradient(135deg,rgba(255,0,127,.1),rgba(73,32,104,.15)); border:1px solid rgba(255,0,127,.2); color:rgba(255,255,255,.55); font-size:11px; }.withdraw-balance strong { color:#ff90c8; font-size:16px; font-weight:900; }.sheet-modal label { display:block; margin:13px 0 0; color:rgba(255,255,255,.55); font-size:11px; font-weight:700; letter-spacing:.3px; }.sheet-modal input,.sheet-modal select { display:block; width:100%; box-sizing:border-box; margin-top:7px; padding:12px 14px; border-radius:12px; border:1px solid rgba(255,255,255,.1); background:rgba(255,255,255,.05); color:#fff; font:inherit; outline:none; transition:border-color .2s; }.sheet-modal input:focus,.sheet-modal select:focus { border-color:rgba(255,0,127,.5); }.sheet-modal select option { color:#111; }.sheet-modal .primary-action { width:100%; margin-top:14px; padding:13px; font-size:13px; }.form-message { min-height:18px; margin-top:9px; color:#a0d0ff; font-size:11px; text-align:center; }
.profile-page > .profile-hero-card,
.profile-page > .daily-streak-card,
.profile-page > .wallet-grid,
.profile-page > .referral-card,
.profile-page > .watch-rewards-card,
.profile-page > .profile-section,
.profile-page > .logout-btn { flex:0 0 auto; width:100%; box-sizing:border-box; }
.profile-hero-card { min-height:104px; background:linear-gradient(135deg,rgba(255,0,127,.22),rgba(73,32,104,.2) 54%,rgba(0,0,0,.88)); }
.daily-streak-card { min-height:176px; background:linear-gradient(140deg,rgba(73,32,104,.3),rgba(255,0,127,.12) 58%,rgba(0,0,0,.9)); }
.referral-card { min-height:142px; background:linear-gradient(135deg,rgba(255,0,127,.18),rgba(73,32,104,.15) 58%,rgba(0,0,0,.9)); }
.profile-level-pill { flex:none; }
.referral-code-row button { flex:none; white-space:nowrap; }
.reward-modal,.sheet-modal { background:linear-gradient(145deg,#1b0b16,#08080a 72%); }
@media (max-width:360px) {
    .profile-page { padding-left:12px !important; padding-right:12px !important; gap:12px; }
    .events-page { padding-left:12px !important; padding-right:12px !important; gap:12px; }
    .events-hero-card { padding:16px; gap:10px; }.events-hero-card h1 { font-size:20px; }.events-ticket-balance { padding:8px 9px; }
    .profile-hero-card { padding:15px; gap:10px; }
    .profile-level-pill { display:none; }
    .daily-streak-card { padding:16px; }
    .streak-days { gap:4px; }
    .streak-day { height:42px; }
    .referral-card { padding:16px; }
    .referral-code-row { flex-wrap:wrap; }
    .referral-code-row code { flex:1 1 130px; }
}
/* Profile uses the same Rivo black / pink / orange system as the rest of the app. */
.profile-page { --profile-line:rgba(255,255,255,.1); --profile-surface:#111114; --profile-muted:rgba(255,255,255,.58); color:#fff; }
.profile-hero-card,.daily-streak-card,.referral-card,.wallet-tile,.event-card { border-color:var(--profile-line); box-shadow:0 12px 34px rgba(0,0,0,.22); }
.watch-rewards-card { border-color:var(--profile-line); }
.profile-hero-card { background:linear-gradient(115deg,rgba(255,0,127,.16),var(--profile-surface) 55%); }
.daily-streak-card { background:linear-gradient(115deg,rgba(73,32,104,.2),var(--profile-surface) 60%); }
.referral-card { background:linear-gradient(115deg,rgba(255,0,127,.13),var(--profile-surface) 62%); }
.wallet-tile { background:var(--profile-surface); }
.coin-tile { background:linear-gradient(115deg,rgba(73,32,104,.2),var(--profile-surface) 70%); }
.event-card { background:linear-gradient(115deg,rgba(255,0,127,.11),var(--profile-surface) 68%); }
.profile-copy,.streak-copy,.referral-copy { min-width:0; }
.referral-copy p,.streak-copy p,.profile-identity p,.wallet-tile small,.event-card p { color:var(--profile-muted); }
.referral-code-row { min-width:0; }
.referral-code-row code { background:#09090b; border:1px solid rgba(255,255,255,.08); }
.referral-code-row button,.primary-action { background:linear-gradient(135deg,#ff007f,#492068); }
.referral-share-btn { min-width:72px; }
.event-tabs { display:flex; gap:6px; margin:0 0 11px; padding:3px; width:max-content; border:1px solid rgba(255,255,255,.08); border-radius:11px; background:rgba(255,255,255,.035); }
.event-tab { border:0; border-radius:8px; padding:7px 13px; color:rgba(255,255,255,.48); background:transparent; font:700 11px/1 'Inter',sans-serif; cursor:pointer; }
.event-tab.is-active { color:#fff; background:linear-gradient(135deg,#ff007f,#492068); box-shadow:0 4px 12px rgba(255,0,127,.2); }
.reward-modal,.sheet-modal { color:#fff; }
.reward-modal h2,.sheet-modal h2 { color:#fff; }
.reward-modal p,.sheet-modal p,.sheet-modal .modal-muted { color:rgba(255,255,255,.7); }
.sheet-modal label { color:rgba(255,255,255,.78); }
.sheet-modal input,.sheet-modal select { color:#fff; -webkit-text-fill-color:#fff; }
.sheet-modal input::placeholder { color:rgba(255,255,255,.42); -webkit-text-fill-color:rgba(255,255,255,.42); opacity:1; }
.sheet-modal select option { color:#171217; background:#fff; }
.form-message { color:#ffbd87; }
.custom-select { position:relative; width:100%; margin-top:7px; }
.custom-select-trigger { display:flex; align-items:center; justify-content:space-between; width:100%; padding:12px; border:1px solid rgba(255,255,255,.12); border-radius:11px; background:rgba(255,255,255,.07); color:#fff; font:inherit; text-align:left; cursor:pointer; }
.custom-select-chevron { display:grid; place-items:center; width:22px; height:22px; flex:none; color:#C0C0C0; transition:transform .2s ease; }
.custom-select-chevron svg { width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:2.2; stroke-linecap:round; stroke-linejoin:round; }
.custom-select.is-open .custom-select-chevron { transform:rotate(180deg); }
.custom-select-menu { display:none; position:absolute; left:0; right:0; top:calc(100% + 6px); z-index:10; padding:5px; border:1px solid rgba(255,255,255,.14); border-radius:13px; background:#171116; box-shadow:0 16px 35px rgba(0,0,0,.45); }
.custom-select.is-open .custom-select-menu { display:grid; }
.custom-select-menu button { border:0; padding:11px 10px; border-radius:9px; background:transparent; color:rgba(255,255,255,.78); font:600 12px/1.2 'Inter',sans-serif; text-align:left; cursor:pointer; }
.custom-select-menu button:hover,.custom-select-menu button:focus { background:rgba(255,0,127,.15); color:#fff; outline:none; }
.feedback-dialog { position:relative; width:min(100%,360px); padding:27px 22px 22px; border:1px solid rgba(255,255,255,.14); border-radius:25px; background:linear-gradient(145deg,#1b0b16,#08080a 72%); box-shadow:0 30px 90px rgba(0,0,0,.55); color:#fff; text-align:center; }
.feedback-dialog h2 { margin:8px 0 6px; color:#fff; font-size:22px; }
.feedback-dialog p { margin:0 0 20px; color:rgba(255,255,255,.7); font-size:13px; line-height:1.5; }
.feedback-icon { width:48px; height:48px; display:grid; place-items:center; margin:0 auto 12px; border-radius:16px; background:rgba(192,192,192,.2); color:#C0C0C0; font-size:23px; font-weight:900; }
.event-card.is-ended { min-height:0; }
.event-rewards { position:relative; z-index:1; margin-top:14px; padding-top:11px; border-top:1px solid rgba(255,255,255,.1); }
.event-rewards strong { display:block; color:#ffd0aa; font-size:11px; letter-spacing:.4px; }
.event-rewards ol { display:grid; gap:7px; margin:9px 0 0; padding:0; list-style:none; counter-reset:winner; }
.event-rewards li { display:flex; justify-content:space-between; gap:12px; color:rgba(255,255,255,.7); font-size:11px; counter-increment:winner; }
.event-rewards li::before { content:counter(winner) '.'; flex:none; color:#FF007F; font-weight:800; }
.event-rewards li span:first-of-type { min-width:0; flex:1; }
.event-rewards li span:last-child { color:#C0C0C0; text-align:right; }
.event-rewards-pending { margin:7px 0 0; color:rgba(255,255,255,.45); font-size:11px; }
.event-prizes-button { position:relative; z-index:1; margin-top:12px; padding:8px 11px; border:1px solid rgba(192,192,192,.32); border-radius:10px; color:#C0C0C0; background:rgba(255,255,255,.045); font:800 11px/1 'Inter',sans-serif; cursor:pointer; }
.event-prizes-button:hover,.event-prizes-button:focus { border-color:rgba(192,192,192,.65); background:rgba(255,255,255,.09); outline:none; }
.event-prize-modal-list { display:grid; gap:9px; margin:20px 0; padding:0; list-style:none; text-align:left; }
.event-prize-modal-list li { display:flex; justify-content:space-between; gap:12px; padding:11px 12px; border:1px solid rgba(255,255,255,.08); border-radius:12px; background:rgba(255,255,255,.055); color:#C0C0C0; font-size:12px; font-weight:800; }
.event-prize-modal-list li b { color:#fff; font-weight:700; text-align:right; }
.referral-stats { display:flex; flex-wrap:wrap; gap:8px; margin-top:14px; color:rgba(255,255,255,.58); font-size:11px; }
.referral-stats > span { padding:7px 12px; border-radius:999px; background:rgba(255,255,255,.08); border:none; }
.referral-stats > span > span { padding:0; background:none; border:none; border-radius:0; }
.referral-stats b { color:#fff; font-size:13px; }
.referral-terms { position:relative; z-index:1; margin-top:12px; color:rgba(255,255,255,.5); font-size:10px; }
.referral-terms summary { cursor:pointer; color:#C0C0C0; font-weight:800; }
.referral-terms p { max-width:none; margin:7px 0 0; color:rgba(255,255,255,.52); font-size:10px; line-height:1.45; }
.withdraw-fields-grid { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.coin-transactions { margin-top:22px; padding-top:17px; border-top:1px solid rgba(255,255,255,.1); }
.coin-transactions-heading { display:flex; justify-content:space-between; gap:10px; align-items:center; margin-bottom:10px; }
.coin-transactions-heading strong { font-size:14px; }
.coin-transactions-heading span { color:rgba(255,255,255,.42); font-size:10px; }
.coin-transaction { display:flex; justify-content:space-between; align-items:center; gap:12px; padding:11px 0; border-bottom:1px solid rgba(255,255,255,.07); }
.coin-transaction:last-child { border-bottom:0; }
.coin-transaction strong { display:block; color:#ffd08f; font-size:13px; }
.coin-transaction strong.is-credit { color:#8ff0b1; }
.coin-transaction strong.is-debit { color:#ffd08f; }
.coin-transaction small { display:block; margin-top:3px; color:rgba(255,255,255,.48); font-size:10px; }
.transaction-status { flex:none; padding:6px 8px; border-radius:999px; font-size:10px; font-weight:800; background:rgba(255,255,255,.08); color:rgba(255,255,255,.7); }
.transaction-status.is-processing { color:#ffca87; background:rgba(255,161,64,.13); }
.transaction-status.is-completed { color:#8ff0b1; background:rgba(48,190,104,.14); }
.transaction-status.is-rejected { color:#ff9c9c; background:rgba(220,71,71,.14); }
.transaction-empty { padding:12px 0; color:rgba(255,255,255,.42); font-size:11px; }
@media (max-width:360px) { .withdraw-fields-grid { grid-template-columns:1fr; gap:0; } }

/* ===== Multilingual & Settings ===== */
.paywall-lang-selector {
    position: absolute;
    top: 16px;
    right: 16px;
    z-index: 10;
}
.paywall-lang-selector select {
    background: rgba(255, 255, 255, 0.1);
    color: white;
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 8px;
    padding: 6px 12px;
    font-size: 14px;
    outline: none;
    font-family: 'Inter', sans-serif;
    cursor: pointer;
}
.paywall-lang-selector select option {
    background: #1a1a1a;
    color: white;
}

.profile-settings-btn {
    margin-left: 8px;
    background: rgba(255, 255, 255, 0.1);
    border: none;
    border-radius: 50%;
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    color: white;
    transition: background 0.2s;
}
.profile-settings-btn:hover {
    background: rgba(255, 255, 255, 0.2);
}

.settings-link {
    display: flex;
    align-items: center;
    gap: 10px;
    width: 100%;
    text-align: left;
    padding: 12px 14px;
    margin-bottom: 6px;
    color: rgba(255, 255, 255, 0.85);
    font-size: 14px;
    text-decoration: none;
    background: rgba(255,255,255,.05);
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 12px;
    font-weight: 500;
    transition: background .15s;
}
.settings-link:hover { background: rgba(255,255,255,.09); }
.settings-link--icon { justify-content: flex-start; }
.settings-link--icon > span:first-child { font-size: 16px; flex: none; }
.settings-link--icon > span:nth-child(2) { flex: 1; }
.settings-link-arrow { color: rgba(255,255,255,.35); font-size: 12px; }
.settings-section-title {
    color: rgba(255, 255, 255, 0.4);
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin: 18px 0 8px 2px;
    font-weight: 700;
}
.settings-danger-btn {
    display: flex; align-items: center; gap: 10px;
    width: 100%; padding: 12px 14px; margin-bottom: 8px;
    border-radius: 12px; border: 1px solid rgba(255,80,80,.3);
    background: rgba(255,60,60,.07); color: #ff7070;
    font-size: 14px; font-weight: 700; font-family: inherit;
    cursor: pointer; text-align: left; transition: background .15s;
}
.settings-danger-btn:hover { background: rgba(255,60,60,.15); }
.settings-logout-btn {
    display: flex; align-items: center; gap: 10px;
    width: 100%; padding: 12px 14px;
    border-radius: 12px; border: 1px solid rgba(255,255,255,.1);
    background: rgba(255,255,255,.05); color: rgba(255,255,255,.7);
    font-size: 14px; font-weight: 700; font-family: inherit;
    cursor: pointer; text-align: left; transition: background .15s;
}
.settings-logout-btn:hover { background: rgba(255,255,255,.1); }
.settings-legal-block {
    margin-bottom: 8px;
    border-radius: 12px;
    border: 1px solid rgba(255,255,255,.08);
    background: rgba(255,255,255,.04);
    overflow: hidden;
}
.settings-legal-block summary {
    display: flex; align-items: center; gap: 8px;
    padding: 12px 14px;
    cursor: pointer;
    color: rgba(255,255,255,.8);
    font-size: 14px; font-weight: 600;
    list-style: none;
    user-select: none;
}
.settings-legal-block summary::-webkit-details-marker { display: none; }
.settings-legal-block summary::after {
    content: '›';
    margin-left: auto;
    color: rgba(255,255,255,.3);
    font-size: 18px;
    transition: transform .2s;
}
.settings-legal-block[open] summary::after { transform: rotate(90deg); }
.settings-legal-scroll {
    max-height: 220px;
    overflow-y: auto;
    padding: 0 14px 14px;
    border-top: 1px solid rgba(255,255,255,.06);
}
.settings-legal-scroll h4 { margin: 12px 0 4px; font-size: 14px; color: #fff; }
.settings-legal-scroll h5 { margin: 10px 0 3px; font-size: 12px; color: rgba(255,255,255,.7); font-weight: 700; }
.settings-legal-scroll p { margin: 0 0 7px; font-size: 11px; color: rgba(255,255,255,.45); line-height: 1.55; }


.primary-btn {
    background: linear-gradient(90deg, #ff0055 0%, #ff007f 50%, #ff4d94 100%);
    color: white;
    border: none;
    padding: 14px 24px;
    border-radius: 12px;
    font-size: 15px;
    font-weight: 800;
    cursor: pointer;
    box-shadow: 0 4px 15px rgba(255, 0, 127, 0.4);
    transition: transform 0.2s, box-shadow 0.2s;
    font-family: inherit;
}
.primary-btn:active {
    transform: scale(0.98);
    box-shadow: 0 2px 10px rgba(255, 0, 127, 0.3);
}

.store-item-card {
    display: flex;
    flex-direction: row;
    gap: 16px;
    background: linear-gradient(145deg, #1e1e2d, #141421);
    border: 1px solid rgba(255,255,255,0.06);
    border-radius: 16px;
    padding: 16px;
    align-items: center;
    position: relative;
    overflow: hidden;
}
.store-item-image {
    width: 80px;
    height: 80px;
    border-radius: 12px;
    object-fit: cover;
    background: #111;
    border: 1px solid rgba(255,255,255,0.1);
}
.store-item-info {
    flex: 1;
    display: flex;
    flex-direction: column;
}
.store-item-title {
    font-size: 16px;
    font-weight: 700;
    color: #fff;
    margin: 0 0 4px;
}
.store-item-stock {
    font-size: 11px;
    color: #ff0055;
    background: rgba(255, 0, 85, 0.15);
    padding: 2px 8px;
    border-radius: 8px;
    align-self: flex-start;
    margin-bottom: 6px;
}
.store-item-desc {
    font-size: 12px;
    color: rgba(255,255,255,0.5);
    line-height: 1.4;
    margin: 0 0 10px;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.store-item-action {
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.store-item-cost {
    font-size: 15px;
    font-weight: 800;
    color: #fff;
    display: flex;
    align-items: center;
    gap: 4px;
}
.store-item-btn {
    background: #ff0055;
    color: #fff;
    border: none;
    padding: 6px 14px;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 700;
    cursor: pointer;
}
.store-item-btn:disabled {
    background: #333;
    color: #888;
    cursor: not-allowed;
}


/* ===== Desktop / PC Layout Clamping ===== */
@media (min-width: 768px) {
    /* Center the app like a mobile preview on PC */
    #home-page, 
    .app-container {
        width: 100% !important;
        max-width: 450px !important;
        left: 50% !important;
        right: auto !important;
        transform: translateX(-50%) !important;
        border-left: 1px solid rgba(255, 255, 255, 0.15) !important;
        border-right: 1px solid rgba(255, 255, 255, 0.15) !important;
        box-shadow: 0 0 50px rgba(0,0,0,0.8) !important;
    }
    
    /* Ensure the bottom nav sticks within the clamped container */
    .bottom-nav {
        width: 100% !important;
        max-width: 450px !important;
        left: 50% !important;
        transform: translateX(-50%) !important;
    }
}
