@keyframes marquee { 0% { transform: translateX(100%); } 100% { transform: translateX(-100%); } }
.animate-marquee { display: inline-block; animation: marquee 15s linear infinite; }
.game-hover:hover { transform: translateY(-3px); box-shadow: 0 15px 30px -5px rgba(0, 0, 0, 0.3); }

.modal {
    display: none; 
    position: fixed;
    z-index: 99999;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,0.8);
    backdrop-filter: blur(8px);
    align-items: center;
    justify-content: center;
}

.modal[style*="display: block"] {
    display: flex !important;
}

.modal-content {
    width: 95% !important;
    max-width: 900px !important;
    max-height: 88vh !important;
    margin: auto !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch;
    position: relative;
    border-radius: 2rem;
    background: inherit;
}

.modal-content {
    border-radius: 2rem !important;
    max-height: 88vh !important; 
    overflow-y: auto !important; 
    overscroll-behavior-y: contain;
}

.modal-content::-webkit-scrollbar {
    width: 18px; 
}

.modal-content::-webkit-scrollbar-track {
    background: transparent;
    margin-top: 2rem;   
    margin-bottom: 2rem; 
}

.modal-content::-webkit-scrollbar-thumb {
    background-color: #cbd5e1;
    border-radius: 100px;
    border: 6px solid transparent; 
    background-clip: content-box; 
}
.modal-content::-webkit-scrollbar-thumb:hover {
    background-color: #94a3b8;
}

.no-scrollbar::-webkit-scrollbar { display: none; }
.custom-scroll::-webkit-scrollbar { width: 5px; height: 5px; }
.custom-scroll::-webkit-scrollbar-thumb { background: rgba(100, 116, 139, 0.4); border-radius: 10px; }

@media (min-width: 1024px) {
    #right-sidebar-wrapper { overflow: hidden; display: flex; flex-direction: column; align-items: center; justify-content: center; }
    #right-sidebar-content { transform-origin: center center; width: 100%; flex-shrink: 0; display: flex; flex-direction: column; justify-content: space-between; }
}