      @import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700;800;900&display=swap');

        * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
            font-family: 'Montserrat', sans-serif;
        }

        body {
            background-color: #140220;
            /* Cor de fundo mais escura baseada na imagem */
            color: #fff;
            min-height: 100vh;
            padding: 0;
            position: relative;
            overflow-x: hidden;
        }

        /* Background Flag */
        .bg-flag {
            position: fixed;
            bottom: 0;
            right: 0;
            width: 100%;
            height: 100%;
            background-image: url('https://hebbkx1anhila5yf.public.blob.vercel-storage.com/image-6XD6mMKa4q1TO1dnOBw8HYosX8vdip.png');
            background-repeat: no-repeat;
            background-position: right bottom;
            background-size: 60%;
            opacity: 0.1;
            filter: blur(5px);
            z-index: -2;
            pointer-events: none;
        }

        /* Background Text */
        .bg-text {
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            pointer-events: none;
            z-index: -1;
            overflow: hidden;
        }

        .bg-text span {
            position: absolute;
            font-size: 120px;
            font-weight: 900;
            color: rgba(108, 47, 242, 0.1);
            white-space: nowrap;
            text-transform: uppercase;
            transform: rotate(-10deg);
            filter: blur(5px);
            /* Add blur effect */
        }

        /* Checkered Flag */
        .checkered-flag {
            position: absolute;
            top: 0;
            left: 0;
            width: 120px;
            height: 120px;
            background-image: linear-gradient(45deg,
                    transparent 25%, #fff 25%, #fff 50%,
                    transparent 50%, transparent 75%, #fff 75%, #fff);
            background-size: 20px 20px;
            clip-path: polygon(0 0, 100% 0, 80% 100%, 0 80%);
            opacity: 0.7;
            z-index: 0;
            animation: waveFlag 3s infinite ease-in-out;
            /* Add waving animation */
        }

         

        /* Confetti Animation - Modificado para branco, preto e roxo */
        .confetti-container {
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            pointer-events: none;
            z-index: 1;
            overflow: hidden;
        }

        .confetti {
            position: absolute;
            width: 10px;
            height: 10px;
            background-color: #6C2FF2;
            /* Roxo */
            opacity: 0.7;
            animation: fall 5s linear infinite;
        }

        .confetti:nth-child(2n) {
            background-color: #ffffff;
            /* Branco */
            width: 8px;
            height: 8px;
            animation-duration: 6s;
        }

        .confetti:nth-child(3n) {
            background-color: #000000;
            /* Preto */
            width: 12px;
            height: 12px;
            animation-duration: 7s;
        }

        .confetti:nth-child(4n) {
            background-color: #6C2FF2;
            /* Roxo novamente para o 4n */
            width: 6px;
            height: 6px;
            animation-duration: 8s;
        }
 
        /* Podium */
        .podium-container {
            position: relative;
            height: 60px;
            margin: 30px auto;
            display: flex;
            justify-content: center;
            align-items: flex-end;
            max-width: 500px;
        }

        .podium-step {
            width: 100px;
            background: linear-gradient(to bottom, #6C2FF2, #4A1D96);
            border-radius: 5px 5px 0 0;
            display: flex;
            justify-content: center;
            align-items: center;
            color: white;
            font-weight: bold;
            position: relative;
            box-shadow: 0 0 15px rgba(0, 0, 0, 0.3);
            border-top: 2px solid rgba(255, 255, 255, 0.3);
        }

        .podium-step.first {
            height: 60px;
            z-index: 3;
        }

        .podium-step.second {
            height: 45px;
            margin-right: 5px;
            z-index: 2;
        }

        .podium-step.third {
            height: 30px;
            margin-left: 5px;
            z-index: 1;
        }

        /* Header and Navigation - UPDATED */
        .header {
            width: 100%;
            background-color: rgba(15, 1, 24, 0.8);
            backdrop-filter: blur(10px);
            -webkit-backdrop-filter: blur(10px);
            position: fixed;
            z-index: 100;
            border-bottom: 1px solid rgba(108, 47, 242, 0.3);
        }

        .nav-container {
            width: 100%;
            max-width: 1200px;
            margin: 0 auto;
            display: flex;
            justify-content: space-between;
            align-items: center;
            padding: 15px 20px;
            position: relative;
        }
 
        .nav-links {
            display: flex;
            gap: 40px;
        }

        .nav-link {
            color: white;
            text-decoration: none;
            font-size: 16px;
            font-weight: 500;
            transition: color 0.3s ease;
            position: relative;
        }

        .nav-link:hover {
            color: #6C2FF2;
        }

        .nav-link.active {
            color: #6C2FF2;
        }

        .nav-buttons {
            display: flex;
            gap: 15px;
        }

        .login-btn {
            background-color: rgba(30, 10, 50, 0.7);
            color: white;
            border: 1px solid rgba(108, 47, 242, 0.5);
            border-radius: 25px;
            padding: 10px 25px;
            font-size: 14px;
            font-weight: 600;
            cursor: pointer;
            transition: all 0.3s ease;
        }

        .login-btn:hover {
            background-color: rgba(50, 20, 80, 0.7);
        }

        .signup-btn {
            background: linear-gradient(135deg, #6C2FF2, #4A1D96);
            color: white;
            border: none;
            border-radius: 25px;
            padding: 10px 25px;
            font-size: 14px;
            font-weight: 600;
            cursor: pointer;
            box-shadow: 0 0 10px rgba(108, 47, 242, 0.5);
            transition: all 0.3s ease;
        }

        .signup-btn:hover {
            transform: translateY(-2px);
            box-shadow: 0 0 15px rgba(108, 47, 242, 0.7);
        }

        /* Banner Section - UPDATED */
        .banner-section {
            width: 100%;
            background-color: #4a18b763;
            background-size: 40px 40px;
            padding: 23px 13px;
            position: relative;
            overflow: hidden;
            /* top: 80px; */
        }

        .banner-overlay {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: linear-gradient(90deg, 
                rgba(15, 1, 24, 0.3) 0%, 
                rgba(15, 1, 24, 0) 100%);
            z-index: 1;
        }

        .banner-content {
            max-width: 1200px;
            margin: 0 auto;
            display: flex;
            justify-content: space-between;
            align-items: center;
            position: relative;
            z-index: 2;
        }

        .banner-text {
            max-width: 600px;
            margin: 20px 0px;
        }

        .banner-title {
            font-size: 20px;
            font-weight: 400;
            margin-bottom: 5px;
            text-transform: uppercase;
            letter-spacing: 1px;
            line-height: 1.1;
        }

        .banner-subtitle {
            font-size: 38px;
            font-weight: 700;
            display: block;
            color: #fff;
            text-transform: uppercase;
        }

        .banner-right {
            display: flex;
            flex-direction: column;
            align-items: flex-end;
        }

        .players-info {
            margin-top: 5px;
            display: flex;
            align-items: center;
            margin-bottom: 15px;
        }

        .player-avatars {
            display: flex;
            margin-right: 10px;
        }

        .player-avatar {
            width: 30px;
            height: 30px;
            border-radius: 50%;
            background-color: #6C2FF2;
            border: 2px solid #0F0118;
            margin-left: -10px;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 12px;
            color: white;
        }

        .player-avatar:first-child {
            margin-left: 0;
        }

        .players-text {
            font-size: 12px;
            max-width: 120px;
            line-height: 1.2;
        }

        .start-btn {
            background: linear-gradient(to right, #6C2FF2, #8A4FFF);
            color: white;
            border: none;
            border-radius: 30px;
            padding: 12px 30px;
            font-size: 16px;
            font-weight: 700;
            cursor: pointer;
            display: flex;
            align-items: center;
            justify-content: center;
            /* box-shadow: 0 0 20px rgba(108, 47, 242, 0.5); */
            transition: all 0.3s ease;
            text-transform: uppercase;
            letter-spacing: 1px;
            width: 100%;
            margin-top: 5px;
        }

        .start-btn:hover {
            transform: translateY(-2px);
            box-shadow: 0 0 25px rgba(108, 47, 242, 0.7);
        }

        .start-btn svg {
            margin-left: 10px;
        }

        .banner-logo {
            position: absolute;
            left: -60px;
            top: 64%;
            transform: translateY(-50%);
            opacity: 0.5;
            z-index: 0;
            width: 300px;
            height: 300px;
        }

        /* Hamburger Menu */
        .hamburger {
            display: none;
            flex-direction: column;
            justify-content: space-between;
            width: 30px;
            height: 21px;
            cursor: pointer;
            z-index: 100;
        }

        .hamburger span {
            display: block;
            height: 3px;
            width: 100%;
            background-color: white;
            border-radius: 3px;
            transition: all 0.3s ease;
        }

        /* Main Content Styles */
        .main-content {
            display: flex;
            justify-content: center;
            align-items: center;
            padding: 20px;
            position: relative;
            z-index: 5;
        }

        .container {
            width: 100%;
            max-width: 800px;
        }

        .tabs {
            display: flex;
            justify-content: center;
            background-color: rgba(15, 1, 24, 0.7);
            border-radius: 20px;
            padding: 5px;
            width: 200px;
            margin: 0 auto 20px;
            border: 1px solid #2D1155;
            backdrop-filter: blur(10px);
            -webkit-backdrop-filter: blur(10px);
        }

        .tab {
            padding: 8px 20px;
            border-radius: 15px;
            cursor: pointer;
            text-align: center;
            flex: 1;
        }

        .tab.active {
            background-color: #6C2FF2;
            /* Bright purple for active tab */
        }
 

     
.player-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.3);
}

 
       
 

        .timer {
            text-align: center;
            color: #aaa;
            font-size: 16px;
            margin-bottom: 10px;
            background-color: rgb(15 1 24 / 0%);
            border-radius: 8px;
            padding: 8px 15px;
            display: inline-block;
            margin: 0 auto 20px;
            border: 1px solid rgba(108, 47, 242, 0.3);
            position: relative;
            left: 50%;
            transform: translateX(-50%);
        }

           
        .points-column,
        .prize-column {
            text-align: center;
            width: 80px;
        }

        .highlight {
            color: #6C2FF2;
            /* Bright purple */
            font-weight: bold;
        }

        /* FAQ Section - NEW */
        .faq-section {
            width: 100%;
            max-width: 800px;
            margin: 10px auto;
            padding: 0 20px;
        }

        .faq-title {
            text-align: center;
            font-size: 19px;
            font-weight: 500;
            margin-bottom: 30px;
            text-transform: uppercase;
            color: #fff;
        }

        .faq-container {
            display: flex;
            flex-direction: column;
            gap: 15px;
        }

        .faq-item {
            background-color: rgba(108, 47, 242, 0.1);
            border-radius: 10px;
            overflow: hidden;
            border: 1px solid rgba(108, 47, 242, 0.3);
        }

        .faq-question {
            padding: 15px 20px;
            font-size: 16px;
            font-weight: 600;
            cursor: pointer;
            display: flex;
            justify-content: space-between;
            align-items: center;
            transition: all 0.3s ease;
        }

        .faq-question:hover {
            background-color: rgba(108, 47, 242, 0.2);
        }

        .faq-question.active {
            background-color: rgba(108, 47, 242, 0.2);
        }

        .faq-question span {
            transition: transform 0.3s ease;
        }

        .faq-question.active span {
            transform: rotate(180deg);
        }

        .faq-answer {
            padding: 0 20px;
            max-height: 0;
            overflow: hidden;
            transition: max-height 0.3s ease, padding 0.3s ease;
        }

        .faq-answer.active {
            padding: 0 20px 20px;
            max-height: 500px;
        }

        .faq-answer p {
            line-height: 1.6;
            font-size: 14px;
            color: #e0e0e0;
        }

        .faq-answer .highlight {
            color: #6C2FF2;
            font-weight: 600;
        }

       /* Footer - REORGANIZADO */
.footer {
    position: relative;
    width: 100%;
    background-color: rgba(10, 0, 20, 0.9);
    padding: 40px 20px; /* Aumentado o padding para melhor respiro */
    border-top: 1px solid rgba(108, 47, 242, 0.3);
    z-index: 10;
    color: #fff;
}

.footer-content {
    max-width: 1200px;
    margin: 0 auto 30px;
    display: flex;
    justify-content: space-between;
    align-items: center; /* Alinha verticalmente contato e botão */
    flex-wrap: wrap;
    gap: 30px;
}

.footer-contact {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.contact-item {
    display: flex;
    align-items: center;
    font-size: 15px; /* Ligeiramente maior para leitura */
}

.contact-item svg {
    margin-right: 12px;
}

.contact-btn {
    background: linear-gradient(to right, #6C2FF2, #8A4FFF);
    color: white;
    border: none;
    border-radius: 30px;
    padding: 14px 35px;
    font-size: 14px;
    font-weight: 700;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 0 15px rgba(108, 47, 242, 0.3);
    transition: all 0.3s ease;
}

.contact-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 0 20px rgba(108, 47, 242, 0.5);
}

.footer-bottom {
    max-width: 1200px;
    margin: 0 auto;
    padding-top: 20px;
    border-top: 1px solid rgba(255, 255, 255, 0.05); /* Linha sutil separando o CNPJ */
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 15px;
}

.copyright {
    font-size: 13px;
    color: #888;
}

.developed-by {
    font-size: 13px;
    color: #6C2FF2;
    font-weight: 600;
}

/* Responsividade para celulares */
@media (max-width: 768px) {
    .footer-content {
        flex-direction: column;
        text-align: center;
    }
    .contact-item {
        justify-content: center;
    }
    .footer-bottom {
        flex-direction: column;
        text-align: center;
    }
}

        /* Trophy/Medal styles */
        .trophy {
            position: absolute;
            top: -25px;
            left: 50%;
            transform: translateX(-50%);
            width: 40px;
            height: 40px;
            border-radius: 50%;
            background-color: white;
            display: flex;
            align-items: center;
            justify-content: center;
            font-weight: bold;
            font-size: 14px;
            color: white;
            filter: drop-shadow #6C2FF2;
            z-index: 10;
            animation: bounce 2s infinite;
        }

        .trophy img {
            width: 100%;
            height: 100%;
        }

        .trophy.gold {
            width: 50px;
            height: 50px;
            top: -30px;
            filter: drop-shadow #6C2FF2;
            animation-delay: 0s;
            background-color: #6C2FF2;
        }

        .trophy.silver {
            width: 50px;
            height: 50px;
            top: -30px;
            filter: drop-shadow #6C2FF2;
            animation-delay: 0s;
            background-color: #6C2FF2;
        }

        .trophy.bronze {
            width: 50px;
            height: 50px;
            top: -30px;
            filter: drop-shadow #6C2FF2;
            animation-delay: 0s;
            background-color: #6C2FF2;
        }

        /* Animations */
        @keyframes bounce {

            0%,
            100% {
                transform: translateX(-50%) translateY(0);
            }

            50% {
                transform: translateX(-50%) translateY(-10px);
            }
        }

        @keyframes pulse {

            0%,
            100% {
                opacity: 1;
            }

            50% {
                opacity: 0.7;
            }
        }

        @keyframes shine {
            0% {
                left: -100%;
            }

            20%,
            100% {
                left: 100%;
            }
        }

        @keyframes rotate {
            0% {
                transform: rotate(0deg);
            }

            100% {
                transform: rotate(360deg);
            }
        }

        @keyframes fall {
            0% {
                top: -10%;
                transform: translateX(0) rotate(0deg);
            }

            100% {
                top: 100%;
                transform: translateX(100px) rotate(360deg);
            }
        }

        @keyframes waveFlag {

            0%,
            100% {
                transform: skewX(0deg);
            }

            50% {
                transform: skewX(-5deg);
            }
        }

        @keyframes moveTrack {
            0% {
                background-position: 0 0;
            }

            100% {
                background-position: -1000px 0;
            }
        }

        /* Responsive Styles */
        @media (max-width: 992px) {
            .nav-container {
                padding: 15px 20px;
            }

            .nav-links {
                gap: 20px;
            }

            .nav-link {
                font-size: 14px;
            }

            .login-btn,
            .signup-btn {
                padding: 8px 15px;
                font-size: 13px;
            }

            .bg-text span {
                font-size: 100px;
            }

            .podium-step {
                width: 80px;
            }
 
            .bg-flag {
                background-size: 80%;
            }
            
            .banner-content {
                flex-direction: column;
                align-items: center;
                text-align: center;
            }
            
            .banner-text {
                text-align: center;
                margin-left: 0px;
            }
            
            .banner-right {
                align-items: center;
            }
            
             

            .footer-content {
                justify-content: center;
            }

            .footer-logo, 
            .footer-contact, 
            .footer-links {
                text-align: center;
                align-items: center;
            }
        }

        @media (max-width: 768px) {

            .nav-links,
            .nav-buttons {
                display: none;
            }

            .hamburger {
                display: flex;
            }

            .mobile-menu.active {
                display: flex;
            }

            .players {
                flex-direction: column;
                align-items: center;
                gap: 60px;
            }

            .player-card {
                width: 80%;
                max-width: 250px;
            }

            .player-card:nth-child(2) {
                margin-top: 0;
                order: -1;
                /* Move the 1st place to the top */
            }

            .tabs {
                width: 80%;
                max-width: 250px;
            }

            .leaderboard-header,
            .leaderboard-row {
                padding: 10px;
            }

            .place {
                width: 25px;
                height: 25px;
                font-size: 12px;
            }

            .user-column {
                padding-left: 10px;
            }

            .points-column,
            .prize-column {
                width: 60px;
            }

            .bg-text span {
                font-size: 80px;
            }

            .checkered-flag {
                width: 80px;
                height: 80px;
            }

            .podium-step {
                width: 70px;
            }

            .podium-step.first {
                height: 50px;
            }

            .podium-step.second {
                height: 35px;
            }

            .podium-step.third {
                height: 25px;
            }

            .bg-flag {
                background-size: 100%;
            }
            
            .banner-title {
                font-size: 24px;
            }
            
            .banner-subtitle {
                font-size: 32px;
            }
            
            .start-btn {
                padding: 10px 20px;
                font-size: 14px;
            }

            .footer-bottom {
                flex-direction: column;
                text-align: center;
            }
        }

        @media (max-width: 480px) {
            .nav-container {
                padding: 12px 15px;
            }

            .logo img {
                height: 60px;
            }

            .main-content {
                padding: 15px 10px;
            }

            .player-card {
                width: 90%;
            }

            .avatar {
                width: 220px;
                height: 140px;
                border-radius: 15px;
                margin-bottom: 10px;
                overflow: hidden;
                border: 2px solid #7926b717;
                position: relative;
            }
    
            .avatar img {
                width: 100%;
                height: 100%;
                object-fit: contain;
            }

            .trophy.gold {
                width: 40px;
                height: 40px;
                top: -25px;
            }

            .trophy.silver,
            .trophy.bronze {
                width: 35px;
                height: 35px;
            }

            .rank-info {
                font-size: 12px;
                padding: 8px 5px;
            }

            .leaderboard-header {
                font-size: 10px;
            }

            .leaderboard-row {
                font-size: 12px;
            }

            .points-column,
            .prize-column {
                width: 50px;
                margin-right: 16px;
            }

            .bg-text span {
                font-size: 60px;
            }

            .checkered-flag {
                width: 60px;
                height: 60px;
                background-size: 15px 15px;
            }

            .banner-title {
                font-size: 14px;
            }
            
            .banner-subtitle {
                font-size: 28px;
            }

            .date-range {
                font-size: 16px;
            }

            .podium-step {
                width: 60px;
            }

            

            .bg-flag {
                background-size: 120%;
                opacity: 0.08;
            }
            
            .player-avatar {
                width: 25px;
                height: 25px;
                font-size: 10px;
            }
            
            .players-text {
                font-size: 10px;
            }
            
            .start-btn {
                padding: 8px 15px;
                font-size: 12px;
            }
            
            .banner-section {
                padding: 30px 15px;
            }

            .faq-question {
                font-size: 14px;
                padding: 12px 15px;
            }

            .faq-answer p {
                font-size: 12px;
            }
        }

 /* Mobile Menu */
        .mobile-menu {
            display: none;
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background-color: rgba(15, 1, 24, 0.95);
            z-index: 90;
            flex-direction: column;
            justify-content: center;
            align-items: center;
            gap: 20px;
            backdrop-filter: blur(15px);
            -webkit-backdrop-filter: blur(15px);
        }

        .mobile-menu .nav-link {
            font-size: 24px;
            margin-bottom: 15px;
        }

        .mobile-menu .nav-buttons {
            flex-direction: column;
            gap: 15px;
            margin-top: 20px;
        }

        .mobile-menu .login-btn,
        .mobile-menu .signup-btn {
            padding: 12px 30px;
            font-size: 18px;
        }
        .modal {
            position: fixed;
            top: 0; left: 0;
            width: 100%; height: 100%;
            background: rgb(0 0 0 / 33%);
            display: none;
            justify-content: center;
            align-items: center;
            z-index: 9999;
          }
          .modal.active {
            display: flex;
            padding: 10px;
            backdrop-filter: blur(20px);
          }
          .modal-content {
            background: linear-gradient(180deg, rgba(64, 0, 140, 0.50) 0%, rgba(64, 0, 140, 0.15) 100%); 
            border: 1px solid #7a00ff;
            border-radius: 16px;
            padding: 40px 25px;
            width: 100%;
            max-width: 400px;
            color: white;
            text-align: center;
            position: relative; 
          }
          .modal-content img {
            width: 90px;
            margin-bottom: 20px;
            opacity: 0.9;
          }
          .modal-content h2 {
            font-size: 22px;
            margin-bottom: 30px;
            line-height: 1.3;
          }
          .modal-content button.option-btn {
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 9px;
            width: 100%;
            margin: 42px 0;
            padding: 14px 0;
            color: white;
            font-weight: bold;
            text-transform: uppercase;
            cursor: pointer;
            transition: all 0.3s ease;
            font-size: 14px;
            border: 1px solid #6E00F2;
            background: linear-gradient(180deg, rgba(110, 0, 242, 0.50) 0%, rgba(110, 0, 242, 0.05) 100%);
            box-shadow: 0px -8px 25.5px 0px rgba(110, 0, 242, 0.37) inset, 0px 8px 8px 0px rgba(110, 0, 242, 0.37) inset, 0px 62px 17px 0px rgba(5, 0, 10, 0.00), 0px 40px 16px 0px rgba(5, 0, 10, 0.03), 0px 22px 13px 0px rgba(5, 0, 10, 0.10), 0px 10px 10px 0px rgba(5, 0, 10, 0.17), 0px 2px 5px 0px rgba(5, 0, 10, 0.20);
            border-radius: 150px;
            outline: 1px solid rgba(110, 0, 242, 0.96);
            outline-offset: 10px;
          }
          .modal-content button.option-btn:hover {
            background: linear-gradient(90deg, #33046a, #33046a);
          }
          .close-btn {
            position: absolute;
            top: 1px;
            right: 12px;
            background: transparent;
            border: none;
            color: #fff;
            font-size: 40px;
            cursor: pointer;
            transition: color 0.3s;
          }
          .close-btn:hover {
            color: #9b00ff;
          }

          /* EstilizaÃ§Ã£o da Frase de Chamada */
.timer-label {
    color: #ffffff;
    font-size: 14px;            /* Tamanho equilibrado */
    font-weight: 600;           /* Semibold para destaque */
    text-transform: uppercase;  /* Tudo em maiÃºsculo para um ar mais oficial */
    letter-spacing: 2px;        /* EspaÃ§amento entre letras (estilo moderno) */
    margin-bottom: 5px;        /* EspaÃ§o atÃ© os cartÃµes */
    display: block;             /* Garante que ocupe a linha toda */
    opacity: 0.9;               /* Leve transparÃªncia para elegÃ¢ncia */
    text-shadow: 0px 2px 4px rgba(0, 0, 0, 0.5); /* Sombra para ler bem sobre o fundo */
}

 
/* Container Principal: Empilhamento Vertical */
.timer-container {
    display: flex;
    flex-direction: column;
    align-items: center; /* Centraliza todos os filhos horizontalmente */
    text-align: center;
    background: transparent;
}

/* Grid dos CartÃµes */
.timer-grid {
    display: flex;
    gap: 8px;
    justify-content: center;
    align-items: center;
}

/* CartÃµes (Timer Box) */
.timer-box {
    background: rgb(26 11 46);
    /* SubstituÃ­mos a borda transparente por uma fixa se desejar, 
       ou mantemos o padrÃ£o da imagem anterior */
    border: 1.5px solid #7237ff00;
    border-radius: 10px;
    
    /* DEFININDO TAMANHO FIXO */
    width: 96px;          /* Largura fixa garante que nÃ£o estique */
    height: 96px;         /* Altura fixa para manter o alinhamento vertical */
    display: flex;
    flex-direction: column;
    justify-content: center; /* Centraliza o conteÃºdo verticalmente */
    align-items: center;     /* Centraliza o conteÃºdo horizontalmente */
    padding: 5px;            /* Removemos o padding variÃ¡vel para nÃ£o empurrar os nÃºmeros */
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.3);
}

.timer-box span {
    color: #ffffff;
    font-size: 38px;
    font-weight: 600;
    display: block;
    line-height: 1;
    
    /* EVITA VARIANCE DE LARGURA */
    text-align: center;
    width: 100%;
    /* Opcional: font-variant-numeric ajuda a manter nÃºmeros com a mesma largura */
    font-variant-numeric: tabular-nums;
}

 

/* Container de Alinhamento */
.ranking-wrapper {
    max-width: 900px;
    margin: 20px auto;
    font-family: 'Inter', sans-serif; /* SugestÃ£o de fonte moderna */
}

/* Faixa de TÃ­tulo RANKING */
.ranking-title {
    background: rgba(15, 7, 32, 0.6);
    border: 1px solid #3d1b6b;
    border-bottom: none;
    border-radius: 10px 10px 0 0;
    color: #fff;
    text-align: center;
    padding: 12px;
    font-weight: 700;
    letter-spacing: 2px;
    font-size: 0.9rem;
}

/* Corpo da Tabela */
.leaderboard {
    background: rgba(10, 5, 20, 0.4);
    border: 1px solid #3d1b6b;
    border-radius: 0 0 10px 10px;
    overflow: hidden;
}

/* CabeÃ§alho das Colunas */
.leaderboard-header {
    display: flex;
    justify-content: space-between;
    padding: 15px 30px;
    color: #666;
    font-size: 0.8rem;
    font-weight: 600;
    border-bottom: 1px solid rgba(61, 27, 107, 0.4);
}

.col-pos { width: 15%; }
.col-name { width: 60%; }
.col-fat { width: 25%; text-align: right; }

/* Linhas do Ranking */
.leaderboard-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 12px 30px;
    border-bottom: 1px solid rgba(61, 27, 107, 0.3);
    transition: background 0.3s ease;
}

.leaderboard-row:hover {
    background: rgba(139, 92, 246, 0.05); /* Efeito sutil ao passar o mouse */
}

.leaderboard-row:last-child {
    border-bottom: none;
}

/* CÃ­rculo da PosiÃ§Ã£o */
.place {
    width: 32px;
    height: 32px;
    background: #6d28d9; /* Roxo vibrante da marca */
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    font-weight: bold;
    font-size: 0.85rem;
    box-shadow: 0 0 10px rgba(109, 40, 217, 0.3);
}

/* Ajuste de Colunas das Linhas */
.place-wrapper { width: 15%; }
.user-column {
    width: 60%;
    color: #fff;
    font-size: 13px;
    font-weight: 500;
}
.points-column {
    width: 25%;
    text-align: right;
    color: #fff;
    font-weight: 400;
    font-size: 14px;
}

/* Responsividade para Celular */
@media (max-width: 600px) {
    .leaderboard-header, .leaderboard-row {
        padding: 10px 15px;
    }
    .user-column { font-size: 0.9rem; }
    .points-column { font-size: 0.9rem; }
}
@media (max-width: 480px) {
    .timer-box {
        width: 82px;  /* Reduzido para telas pequenas */
        height: 90px;
    }
    .timer-box span {
        font-size: 30px;
    }
}
  
/* Container que agora ocupa mais largura */
.player-card.single-winner {
    display: flex;
    align-items: center;
    gap: 10px;
    width: 100%;
     /* Mais largo para o formato horizontal */
    background: #1a0b2e;
    border-radius: 12px;
    padding: 8px;
    position: relative;
    margin: 20px auto;
    max-width: 800px;
}

/* Lado Esquerdo: Imagem */
.single-winner .avatar {
    flex: 1;
    background: rgb(255 255 255 / 0%);
    border-radius: 15px;
    display: flex;
    justify-content: center;
    border: none;
}

.single-winner .avatar img {
    max-width: 220px;
    filter: drop-shadow(0 10px 20px rgba(0,0,0,0.5));
}

/* Lado Direito: Textos */
.player-info {
    flex: 1.5;
    text-align: left;
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.header-rank {
    border-bottom: 1px solid rgb(61 27 107);
    padding-bottom: 10px;
}

.highlight {
    display: block;
    color: #8b5cf6; /* Roxo vibrante */
    font-weight: 800;
    font-size: 0.9rem;
    text-transform: uppercase;
    letter-spacing: 2px;
}

.prize-name {
    color: #ffffff;
    font-size: 16px;
    font-weight: 700;
}

/* Detalhes do Ganhador */
.winner-details {
    display: flex;
    gap: 30px;
}

.detail-group label {
    display: block;
    color: #a78bfa;
    font-size: 0.75rem;
    text-transform: uppercase;
    margin-bottom: 5px;
    opacity: 0.8;
}

.winner-name, .revenue-value {
    color: #fff;
    font-size: 13px;
    font-weight: 600;
}

.revenue-value {
    color: #4ade80; /* Verde para dinheiro/faturamento */
}

/* TrofÃ©u */
.trophy {
    position: absolute;
    top: -20px;
    right: 20px; /* Posicionado Ã  direita no modo horizontal */
    background: linear-gradient(135deg, #8b5cf6, #6d28d9);
    width: 45px;
    height: 45px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 4px solid #0d0118;
    color: #fff;
}

 

/* EstilizaÃ§Ã£o da Logo para CentralizaÃ§Ã£o */
.logo {
    display: flex;
    align-items: center;
    justify-content: center; /* Centraliza o conteÃºdo interno da logo */
    margin-bottom: 10px;    /* EspaÃ§o generoso antes da frase "A corrida inicia em" */
    gap: 1px;              /* EspaÃ§o entre a imagem e o texto */
}

.logo img {
    height: 53px;
    width: auto;
}

.logo-text {
    display: flex;
    flex-direction: column;
    text-align: left; /* O texto interno fica alinhado Ã  esquerda da imagem */
    color: #ffffff;
}

.logo-text span {
    font-weight: 800;
    font-size: 19px; /* Aumentei um pouco para combinar com a imagem */
    letter-spacing: 2px;
    line-height: 1;
}

.logo-text small {
    font-size: 11px;
    letter-spacing: 3px;
    opacity: 0.7;
    margin-top: 4px;
}

/* Ajuste na label para nÃ£o ficar colada na logo */
.timer-label {
    margin-top: 10px;
}

/* Container da Splash */
#splash-screen {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    background-color: #0a0118; /* Cor escura do seu layout */
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 10000;
    transition: opacity 0.6s ease-in-out, visibility 0.6s;
}

/* Garante que a logo no splash mantenha seu estilo original */
.splash-content {
    animation: fadeInScale 1s ease-out forwards;
}

/* AnimaÃ§Ã£o de entrada da logo */
@keyframes fadeInScale {
    0% {
        opacity: 0;
        transform: scale(0.8);
        filter: blur(10px);
    }
    100% {
        opacity: 1;
        transform: scale(1);
        filter: blur(0);
    }
}

/* Classe para sumir com a tela */
.splash-hidden {
    opacity: 0 !important;
    visibility: hidden !important;
    transition: opacity 0.8s ease, visibility 0.8s;
}




/* --- CONFIGURAÇÃO MOBILE (PADRÃO) --- */
.timer-container {
    display: flex;
    flex-direction: column; /* Um abaixo do outro */
    align-items: center;
    text-align: center;
    gap: 70px; /* Espaço entre os blocos */
    padding: 20px;
}

@media (max-width: 600px) {
.timer-container {
    gap: 10px;
}
     
}

.timer-wrapper {
    display: flex;
    flex-direction: column;
    align-items: center;
}

/* Mantendo seus estilos de fonte e boxes */
.timer-label {
    color: #ffffff;
    font-size: 14px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 2px;
    margin-bottom: 10px;
    opacity: 0.9;
}

.timer-grid {
    display: flex;
    gap: 8px;
}

.timer-box {
    background: rgb(26 11 46);
    border-radius: 10px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.3);
}

.banner-text {
    max-width: 600px;
}

/* --- CONFIGURAÇÃO DESKTOP (Telas maiores que 768px) --- */
@media (min-width: 768px) {
    .timer-container {
        flex-direction: row;        /* Lado a lado */
        justify-content: center; /* Timer na esquerda, Texto na direita */
        align-items: center;
        text-align: right;          /* Texto alinhado à direita */
        max-width: 1200px;          /* Opcional: limita a largura total */
        margin: 0 auto;
    }

    .timer-wrapper {
        /* align-items: flex-start; */    /* Label do timer alinhada à esquerda */
    }

    .banner-text {
        display: flex;
        flex-direction: column;
        align-items: flex-end;      /* Botão e textos para a direita */
    }
}

.player-card .avatar { 
    width: 250px;   
    height: 150px; 
    display: flex;
    align-items: center;
    justify-content: center;
     
    overflow: hidden; 
    flex-shrink: 0; 
}
 
.player-card .avatar img { 
    width: 100%;
    height: 100%; 
    object-fit: contain; 
}