Mudanças entre as edições de "Widget:Teste"

De Wiki Gla
Ir para navegação Ir para pesquisar
m
Etiqueta: Revertido
m
Etiqueta: Revertido
Linha 1: Linha 1:
<script>
<script>
(function () {
    (function () {
    const buttons = document.querySelectorAll('.tab-btn');
        const buttons = document.querySelectorAll('.tab-btn');
    const contents = document.querySelectorAll('.tab-content');
        const contents = document.querySelectorAll('.tab-content');
    const cuadrosContainer = document.querySelector('.cuadros-container');
        const cuadrosContainer = document.querySelector('.cuadros-container');
    const descripcionContainer = document.querySelector('.descripcion-container');
        const descripcionContainer = document.querySelector('.descripcion-container');
    const videoContainer = document.querySelector('.video-container');
        const videoContainer = document.querySelector('.video-container');
    const cuadros = [...cuadrosContainer.querySelectorAll('.cuadro')];
        const cuadros = [...cuadrosContainer.querySelectorAll('.cuadro')];
    const mwBody = document.querySelector('.personaje-box');
        const mwBody = document.querySelector('.personaje-box');
    let totalVideos = 0;
        let totalVideos = 0;
    let loadedVideos = 0;
        let loadedVideos = 0;
    const videosCache = {};
        const videosCache = {};
    let autoplayEnabled = false;
        let autoplayEnabled = false;


    activarFlechasCarrusel();
        activarFlechasCarrusel();


    const placeholder = document.createElement('div');
        const placeholder = document.createElement('div');
    placeholder.className = 'video-placeholder';
        placeholder.className = 'video-placeholder';
    placeholder.innerHTML = `<img src="/images/d/d5/Icon_gla.png" alt="Cargando...">`;
        placeholder.innerHTML = `<img src="/images/d/d5/Icon_gla.png" alt="Cargando...">`;
    videoContainer.appendChild(placeholder);
        videoContainer.appendChild(placeholder);


    function removePlaceholderSmooth() {
        function removePlaceholderSmooth() {
        placeholder.classList.add('fade-out');
            placeholder.classList.add('fade-out');
        placeholder.addEventListener('transitionend', () => placeholder.remove(), { once: true });
            placeholder.addEventListener('transitionend', () => placeholder.remove(), { once: true });
    }
        }


    function checkAllVideosLoaded() {
        function checkAllVideosLoaded() {
        if (loadedVideos === totalVideos && totalVideos > 0) {
            if (loadedVideos === totalVideos && totalVideos > 0) {
            autoplayEnabled = true;
                autoplayEnabled = true;
            }
         }
         }
    }


    // Pré-carregar todos os vídeos
        // Pré-carregar todos os vídeos
    cuadros.forEach(div => {
        cuadros.forEach(div => {
        const videoSrc = div.dataset.video;
            const videoSrc = div.dataset.video;
        const index = div.dataset.index;
            const index = div.dataset.index;
 
            if (videoSrc && videoSrc.trim() !== '' && !videosCache[index]) {
                totalVideos++;


        if (videoSrc && videoSrc.trim() !== '' && !videosCache[index]) {
                const videoEl = document.createElement('video');
            totalVideos++;
                videoEl.setAttribute('width', '100%');
                videoEl.setAttribute('controls', '');
                videoEl.setAttribute('preload', 'auto');
                videoEl.setAttribute('playsinline', '');
                videoEl.dataset.index = index;
                videoEl.style.display = 'none';


            const videoEl = document.createElement('video');
                const source = document.createElement('source');
            videoEl.setAttribute('width', '100%');
                source.src = videoSrc;
            videoEl.setAttribute('controls', '');
                source.type = 'video/webm';
            videoEl.setAttribute('preload', 'auto');
                videoEl.appendChild(source);
            videoEl.setAttribute('playsinline', '');
            videoEl.dataset.index = index;
            videoEl.style.display = 'none';


            const source = document.createElement('source');
                // Quando o vídeo já estiver pronto, remover placeholder
            source.src = videoSrc;
                videoEl.addEventListener('canplay', () => {
            source.type = 'video/webm';
                    loadedVideos++;
            videoEl.appendChild(source);
                    if (loadedVideos === 1) {
                        videoEl.pause();
                        videoEl.currentTime = 0;
                    }
                    const activeCuadro = document.querySelector('.cuadro.activo');
                    if (activeCuadro && activeCuadro.dataset.index === videoEl.dataset.index) {
                        setTimeout(removePlaceholderSmooth, 200);
                    }
                    checkAllVideosLoaded();
                });


            // Quando o vídeo já estiver pronto, remover placeholder
            videoEl.addEventListener('canplay', () => {
                loadedVideos++;
                if (loadedVideos === 1) {
                    videoEl.pause();
                    videoEl.currentTime = 0;
                }
                const activeCuadro = document.querySelector('.cuadro.activo');
                if (activeCuadro && activeCuadro.dataset.index === videoEl.dataset.index) {
                    setTimeout(removePlaceholderSmooth, 200);
                }
                checkAllVideosLoaded();
            });




                videoEl.addEventListener('error', () => {
                    loadedVideos++;
                    removePlaceholderSmooth();
                    checkAllVideosLoaded();
                });


            videoEl.addEventListener('error', () => {
                videoContainer.appendChild(videoEl);
                loadedVideos++;
                 videosCache[index] = videoEl;
                 removePlaceholderSmooth();
            }
                checkAllVideosLoaded();
        });
            });


             videoContainer.appendChild(videoEl);
        // Se não houver vídeos, ocultar imediatamente
            videosCache[index] = videoEl;
        if (totalVideos === 0) {
             placeholder.remove();
         }
         }
    });
    // Se não houver vídeos, ocultar imediatamente
    if (totalVideos === 0) {
        placeholder.remove();
    }


    buttons.forEach(btn => btn.addEventListener('click', () => {
        buttons.forEach(btn => btn.addEventListener('click', () => {
        buttons.forEach(b => b.classList.remove('active'));
            buttons.forEach(b => b.classList.remove('active'));
        contents.forEach(c => c.classList.remove('active'));
            contents.forEach(c => c.classList.remove('active'));
        btn.classList.add('active');
            btn.classList.add('active');
        document.getElementById(btn.dataset.tab).classList.add('active');
            document.getElementById(btn.dataset.tab).classList.add('active');
    }));
        }));


    cuadros.forEach(div => {
        cuadros.forEach(div => {
        const nome = div.dataset.nome;
            const nome = div.dataset.nome;
        const desc = div.dataset.desc.replace(/'''(.*?)'''/g, '<b>$1</b>');
            const desc = div.dataset.desc.replace(/'''(.*?)'''/g, '<b>$1</b>');
        const atr = div.dataset.atr;
            const atr = div.dataset.atr;
        const index = div.dataset.index;
            const index = div.dataset.index;
        const hasVideo = div.dataset.video && div.dataset.video.trim() !== '';
            const hasVideo = div.dataset.video && div.dataset.video.trim() !== '';


        div.title = nome;
            div.title = nome;


        div.addEventListener('click', () => {
            div.addEventListener('click', () => {
            if (!autoplayEnabled && loadedVideos > 0) {
                if (!autoplayEnabled && loadedVideos > 0) {
                autoplayEnabled = true;
                    autoplayEnabled = true;
            }
                }
            descripcionContainer.innerHTML = `
                descripcionContainer.innerHTML = `
                 <div class="titulo-habilidad">
                 <div class="titulo-habilidad">
                     <h3>${nome}</h3>
                     <h3>${nome}</h3>
Linha 112: Linha 112:
             `;
             `;


            Object.values(videosCache).forEach(v => {
                Object.values(videosCache).forEach(v => {
                v.pause();
                    v.pause();
                v.style.display = 'none';
                    v.style.display = 'none';
            });
                });
           
 
            // Gerenciar habilidades com/sem vídeo
                // Gerenciar habilidades com/sem vídeo
            if (hasVideo) {
                if (hasVideo) {
                const videoEl = videosCache[index];
                    const videoEl = videosCache[index];
                if (videoEl) {
                    if (videoEl) {
                    videoContainer.style.display = 'block';
                        videoContainer.style.display = 'block';
                    videoEl.style.display = 'block';
                        videoEl.style.display = 'block';
                    videoEl.currentTime = 0;
                        videoEl.currentTime = 0;
                    if (autoplayEnabled) {
                        if (autoplayEnabled) {
                        videoEl.play().catch(e => console.log('Autoplay bloqueado:', e));
                            videoEl.play().catch(e => console.log('Autoplay bloqueado:', e));
                        }
                     }
                     }
                } else {
                    videoContainer.style.display = 'none';
                 }
                 }


            } else {
                cuadros.forEach(c => c.classList.remove('activo'));
                 videoContainer.style.display = 'none';
                 div.classList.add('activo');
             }
             });
            // Limpar atributos para reduzir memória
            ['data-nome', 'data-desc', 'data-atr', 'data-video'].forEach(attr => div.removeAttribute(attr));
        });


            cuadros.forEach(c => c.classList.remove('activo'));
         if (Object.keys(videosCache).length === 0) {
            div.classList.add('activo');
            videoContainer.style.display = 'none';
        });
        }
        // Limpar atributos para reduzir memória
         ['data-nome', 'data-desc', 'data-atr', 'data-video'].forEach(attr => div.removeAttribute(attr));
    });
 
    if (Object.keys(videosCache).length === 0) {
        videoContainer.style.display = 'none';
    }


    // Click inicial
        // Click inicial
    if (cuadros.length) cuadros[0].click();
        if (cuadros.length) cuadros[0].click();


    // Scroll con rueda
        // Scroll con rueda
    cuadrosContainer.addEventListener('wheel', e => {
        cuadrosContainer.addEventListener('wheel', e => {
        if (e.deltaY) {
            if (e.deltaY) {
            e.preventDefault();
                e.preventDefault();
            cuadrosContainer.scrollLeft += e.deltaY;
                cuadrosContainer.scrollLeft += e.deltaY;
        }
            }
    });
        });


    function activarFlechasCarrusel() {
        function activarFlechasCarrusel() {
        const carousel = document.querySelector('.skins-carousel');
            const carousel = document.querySelector('.skins-carousel');
        const wrapper = document.querySelector('.skins-carousel-wrapper');
            const wrapper = document.querySelector('.skins-carousel-wrapper');
        const [leftBtn, rightBtn] = ['.skins-arrow.left', '.skins-arrow.right'].map(sel => document.querySelector(sel));
            const [leftBtn, rightBtn] = ['.skins-arrow.left', '.skins-arrow.right'].map(sel => document.querySelector(sel));
        let isPredictingScroll = false, isAutoScrolling = false;
            let isPredictingScroll = false, isAutoScrolling = false;


        const getScrollAmount = () => carousel.clientWidth * 0.6;
            const getScrollAmount = () => carousel.clientWidth * 0.6;


        const hideArrow = btn => {
            const hideArrow = btn => {
            if (!btn.classList.contains('desapareciendo') && btn.style.display !== 'none') {
                if (!btn.classList.contains('desapareciendo') && btn.style.display !== 'none') {
                btn.classList.add('desapareciendo');
                    btn.classList.add('desapareciendo');
                setTimeout(() => {
                    setTimeout(() => {
                    btn.style.display = 'none';
                        btn.style.display = 'none';
                    btn.classList.remove('desapareciendo');
                        btn.classList.remove('desapareciendo');
                }, 300);
                    }, 300);
            }
                }
        };
            };


        const showArrow = btn => {
            const showArrow = btn => {
            if (btn.style.display === 'none') {
                if (btn.style.display === 'none') {
                btn.style.display = 'inline-block';
                    btn.style.display = 'inline-block';
                void btn.offsetWidth;
                    void btn.offsetWidth;
            }
                }
            btn.classList.remove('desapareciendo');
                btn.classList.remove('desapareciendo');
        };
            };


        const setArrowsState = scrollLeft => {
            const setArrowsState = scrollLeft => {
            const maxScroll = carousel.scrollWidth - carousel.clientWidth;
                const maxScroll = carousel.scrollWidth - carousel.clientWidth;
            const hasLeft = scrollLeft > 5, hasRight = scrollLeft < maxScroll - 5;
                const hasLeft = scrollLeft > 5, hasRight = scrollLeft < maxScroll - 5;
            hasLeft ? showArrow(leftBtn) : hideArrow(leftBtn);
                hasLeft ? showArrow(leftBtn) : hideArrow(leftBtn);
            hasRight ? showArrow(rightBtn) : hideArrow(rightBtn);
                hasRight ? showArrow(rightBtn) : hideArrow(rightBtn);
            wrapper.classList.toggle('has-left', hasLeft);
                wrapper.classList.toggle('has-left', hasLeft);
            wrapper.classList.toggle('has-right', hasRight);
                wrapper.classList.toggle('has-right', hasRight);
            if (!hasLeft && !hasRight) { carousel.style.justifyContent = 'center'; } else { carousel.style.justifyContent = ''; }
                if (!hasLeft && !hasRight) { carousel.style.justifyContent = 'center'; } else { carousel.style.justifyContent = ''; }
        };
            };


        const handleArrowClick = dir => {
            const handleArrowClick = dir => {
            isPredictingScroll = true;
                isPredictingScroll = true;
            const scrollLeft = carousel.scrollLeft, maxScroll = carousel.scrollWidth - carousel.clientWidth;
                const scrollLeft = carousel.scrollLeft, maxScroll = carousel.scrollWidth - carousel.clientWidth;
            const nextScroll = dir === 'left' ? Math.max(0, scrollLeft - getScrollAmount()) : Math.min(maxScroll, scrollLeft + getScrollAmount());
                const nextScroll = dir === 'left' ? Math.max(0, scrollLeft - getScrollAmount()) : Math.min(maxScroll, scrollLeft + getScrollAmount());


            setArrowsState(nextScroll);
                setArrowsState(nextScroll);
            carousel.scrollTo({ left: nextScroll, behavior: 'smooth' });
                carousel.scrollTo({ left: nextScroll, behavior: 'smooth' });


            let last = -1, still = 0;
                let last = -1, still = 0;
            const wait = setInterval(() => {
                const wait = setInterval(() => {
                const current = Math.round(carousel.scrollLeft);
                    const current = Math.round(carousel.scrollLeft);
                if (current === last) {
                    if (current === last) {
                    if (++still >= 2) {
                        if (++still >= 2) {
                        clearInterval(wait);
                            clearInterval(wait);
                        isPredictingScroll = false;
                            isPredictingScroll = false;
                        setArrowsState(current);
                            setArrowsState(current);
                        }
                    } else {
                        last = current;
                        still = 0;
                     }
                     }
                 } else {
                 }, 50);
                    last = current;
            };
                    still = 0;
                }
            }, 50);
        };


        carousel.addEventListener('scroll', () => {
            carousel.addEventListener('scroll', () => {
            if (!isPredictingScroll) setArrowsState(carousel.scrollLeft);
                if (!isPredictingScroll) setArrowsState(carousel.scrollLeft);
        });
            });


        new ResizeObserver(() => {
            new ResizeObserver(() => {
            if (!isPredictingScroll) setArrowsState(carousel.scrollLeft);
                if (!isPredictingScroll) setArrowsState(carousel.scrollLeft);
        }).observe(carousel);
            }).observe(carousel);


        leftBtn.addEventListener('click', () => handleArrowClick('left'));
            leftBtn.addEventListener('click', () => handleArrowClick('left'));
        rightBtn.addEventListener('click', () => handleArrowClick('right'));
            rightBtn.addEventListener('click', () => handleArrowClick('right'));
        setArrowsState(carousel.scrollLeft);
            setArrowsState(carousel.scrollLeft);
    }
        }


    function generarHTMLAtributos(str) {
        function generarHTMLAtributos(str) {
        const vals = str.split(',').map(v => v.trim());
            const vals = str.split(',').map(v => v.trim());
        const title = ['Poder PVE','Poder PVP','Energia','Recarga'];
            const title = ['Poder PVE', 'Poder PVP', 'Energia', 'Recarga'];
        return `
            return `
             <div class="attribute--cardsContainer">
             <div class="attribute--cardsContainer">
                 ${vals.map((v, i) => {
                 ${vals.map((v, i) => {
                    let f = v === '-' ? '-' : parseInt(v);
                let f = v === '-' ? '-' : parseInt(v);
                    if (i === 2 && !isNaN(f)) f = (f > 0 ? '+' : '') + f;
                if (i === 2 && !isNaN(f)) f = (f > 0 ? '+' : '') + f;
                    return `
                return `
                             <div class="cardAttribute">
                             <div class="cardAttribute">
                                 <span class="cardAttribute--title">${title[i]}</span>
                                 <span class="cardAttribute--title">${title[i]}</span>
Linha 242: Linha 242:
                             </div>
                             </div>
                         </span>`;
                         </span>`;
                }).join('')}
            }).join('')}
             </div>`;
             </div>`;
    }
        }
})();
    })();
</script>
</script>


<style>
<style>
     img { pointer-events: none; user-select: none; }
     img {
     video { max-height: 33.25em; object-fit: fill; }
        pointer-events: none;
     .banner{ position: absolute; z-index: -9; width: 100%; background-image: url(https://i.imgur.com/OVGhLvl.png); background-size: cover; height: 100%; }
        user-select: none;
     .banner-personaje { width: 100%; height: auto; }
    }
     .banner::before { content: ""; position: absolute; inset: 0; background: linear-gradient(to right, rgba(0, 0, 0, 0.6), rgba(0, 0, 0, 0.2)); }
 
     .mw-body-content p { display: none; }
     video {
     .mw-body { padding: unset !important; }
        max-height: 33.25em;
     .videos-loading-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-color: rgba(0, 0, 0, 0.7); display: flex; justify-content: center; align-items: center; z-index: 99999; transition: opacity 0.5s ease; }
        object-fit: fill;
     .loading-content { text-align: center; color: white; }
    }
     .loading-spinner { border: 5px solid #f3f3f3; border-top: 5px solid #3498db; border-radius: 50%; width: 50px; height: 50px; animation: spin 1s linear infinite; margin: 0 auto 20px; }
 
     .loading-content p { font-size: large; }
     .banner {
     @keyframes spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } }
        position: absolute;
     .personaje-box { padding: unset !important; color: #000; font-family: 'Noto Sans', sans-serif !important; width: 100%; margin: auto; position: relative; user-select: none; }
        z-index: -9;
     .personaje-box p { display: unset; }
        width: 100%;
     .cuadro img { width: 100%; height: 100%; object-fit: cover; }
        background-image: url(https://i.imgur.com/OVGhLvl.png);
     .personaje-topbar { display: flex; flex-direction: column; align-items: flex-start; padding: 8px 20px; padding-top: 4px; }
        background-size: cover;
     .personaje-nome-box { display: flex; align-items: center; gap: 14px; }
        height: 100%;
     .topbar-icon { margin-top: 8px; width: 100px; height: 100px; object-fit: none; }
    }
     .nome { text-shadow: 0px 0px 6px #000000, 0px 0px 9px #000000; color: white; font-size: 56px; font-family: 'Orbitron', sans-serif; font-weight: 900; }
 
     .topbar-description { display: none !important; font-size: 16px; margin-top: 6px; width: fit-content; padding-inline: 16px; border-radius: 0 10px 10px 0; box-shadow: 0 0 2px rgb(0 0 0 / 70%); }
     .banner-personaje {
     .personaje-header { position: relative; overflow: hidden; display: flex; gap: 10px; flex-direction: column; }
        width: 100%;
     .art-personaje { width: 34.3vw; height: auto; position: absolute; right: 3.5rem; top: -3.1rem; z-index: 9; }
        height: auto;
     .classes{ display: flex; gap: 9px; flex-wrap: wrap; margin-left: 0.28rem; }
    }
     .classe { background-color: #353420; color: white; outline: 2px solid black; padding: 1px 6px; border-radius: 4px; font-size: 0.9em; font-weight: bold; box-shadow: 0 0 2px rgb(0 0 0 / 70%); }
 
     .personaje-info { user-select: none; }
     .banner::before {
     .personaje-info .tier, .personaje-info .classe { font-size: 18px; color: #bbb; }
        content: "";
     .personaje-tabs { margin: 4px 0 4px 8px; display: flex; gap: 12px; justify-content: flex-start; }
        position: absolute;
     .tab-btn { padding: 5px 20px; background: #333; color: white; border: none; border-radius: 8px; font-size: 20px; cursor: pointer; font-weight: 600; transition: background .2s ease; }
        inset: 0;
     .tab-btn.active { background: #156bc7; /* sem font-weight */ }
        background: linear-gradient(to right, rgba(0, 0, 0, 0.6), rgba(0, 0, 0, 0.2));
     .tab-content { display: none; background: #26211cd6; padding: 0 8px 8px; }
    }
    .tab-content.active { display: block; }
 
    .habilidades-container { display: flex; gap: 20px; }
     .mw-body-content p {
     .habilidades-details { flex: 1; display: flex; flex-direction: column; gap: 10px; width: 50%; justify-content: center; }
        display: none;
     .cuadros-container { display: flex; flex-wrap: nowrap; gap: 10px; width: 56%; overflow-x: auto; overflow-y: hidden; padding: 10px 0 3px 1px; margin-bottom: 6px; scrollbar-width: thin; scrollbar-color: #ababab transparent; scroll-behavior: smooth; justify-content: space-around; }
    }
     .cuadros-container::-webkit-scrollbar { height: 6px; }
 
     .cuadros-container::-webkit-scrollbar-track { background: transparent; }
     .mw-body {
     .cuadros-container::-webkit-scrollbar-thumb { background-color: #151515; border-radius: 3px; }
        padding: unset !important;
     .cuadros-container .cuadro { flex: 0 0 auto; width: 50px; height: 50px; border-radius: 5px; cursor: pointer; transition: transform 0.2s, box-shadow 0.2s; }
    }
     .cuadros-container .cuadro.activo { box-shadow: 0 0 0 1.5px #FFD700; }
 
     .titulo-habilidad { position: relative; display: flex; justify-content: center; align-items: center; margin-bottom: 8px; padding-right: 32px; }
     .videos-loading-overlay {
     .titulo-habilidad h3 { font-size: 1.6em; color: white; text-align: center; margin: 0; width: 100%; }
        position: absolute;
     .tooltip-container { position: absolute; right: 0; top: 50%; transform: translateY(-50%); }
        top: 0;
     .info-btn { border: none; color: #D3DBDC; background-color: #787878; font-weight: bold; border-radius: 50%; width: 44px; height: 44px; font-family: 'Noto Sans'; cursor: pointer; transition: 0.2s; box-shadow: 0 0 3px #000; font-size: 40px; padding: 0; line-height: 24px; text-align: center; }
        left: 0;
     .tooltip-text { visibility: hidden; width: 220px; background-color: #222; color: #fff; text-align: left; padding: 8px 10px; border-radius: 8px; position: absolute; z-index: 10; bottom: 130%; left: 50%; transform: translate(-85%, 110%); opacity: 0; transition: opacity 0.3s; font-size: 12px; box-shadow: 0 2px 10px rgba(0,0,0,0.5); pointer-events: none; }
        width: 100%;
     .tooltip-container:hover .tooltip-text { visibility: visible; opacity: 1; }
        height: 100%;
     .descripcion-container h3 { font-size: 2.7em; margin: 0; text-align: center; padding-top: 0px; }
        background-color: rgba(0, 0, 0, 0.7);
     .descripcion-container p, .desc { font-size: 1.2em; margin: 0; }
        display: flex;
     .descripcion-container { min-height: 27.5rem; height: 100%; padding: 4px 16px !important; background: #26211C; border-radius: 8px; position: relative; box-shadow: 0 0 7px rgb(255 255 255 / 82%), 0 0 5px rgb(255 255 255 / 96%); color: #fff; backdrop-filter: blur(2px); transition: all 0.3s ease; text-shadow: -1px -1px 0 #000, 1px -1px 0 #000, -1px 1px 0 #000, 1px 1px 0 #000; padding-top: 0px !important; z-index: 99;}
        justify-content: center;
     .desc { overflow-y: auto !important; max-height: inherit; margin-top: 10px; }
        align-items: center;
     .desc * { font-size: inherit !important; line-height: inherit; }
        z-index: 99999;
     .descripcion-container .descLevel { margin-top: 5px; font-weight: bold; }
        transition: opacity 0.5s ease;
     .descripcion-container .desc::-webkit-scrollbar, .tabSkill--container::-webkit-scrollbar { width: 7px; height: 7px; }
    }
     .descripcion-container .desc::-webkit-scrollbar-thumb, .tabSkill--container::-webkit-scrollbar-thumb { background-color: rgb(71 153 255); border-radius: 10px; }
 
     .descripcion-container .desc::-webkit-scrollbar-track, .tabSkill--container::-webkit-scrollbar-track { background-color: #151515a8; border-radius: 10px; }
     .loading-content {
     .tier-bronze .topbar-icon, .tier-bronze .tier { outline: 2px solid #7b4e2f !important; }
        text-align: center;
        color: white;
    }
 
     .loading-spinner {
        border: 5px solid #f3f3f3;
        border-top: 5px solid #3498db;
        border-radius: 50%;
        width: 50px;
        height: 50px;
        animation: spin 1s linear infinite;
        margin: 0 auto 20px;
    }
 
     .loading-content p {
        font-size: large;
    }
 
     @keyframes spin {
        0% {
            transform: rotate(0deg);
        }
 
        100% {
            transform: rotate(360deg);
        }
    }
 
     .personaje-box {
        padding: unset !important;
        color: #000;
        font-family: 'Noto Sans', sans-serif !important;
        width: 100%;
        margin: auto;
        position: relative;
        user-select: none;
    }
 
     .personaje-box p {
        display: unset;
    }
 
     .cuadro img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }
 
     .personaje-topbar {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        padding: 8px 20px;
        padding-top: 4px;
    }
 
     .personaje-nome-box {
        display: flex;
        align-items: center;
        gap: 14px;
    }
 
     .topbar-icon {
        margin-top: 8px;
        width: 100px;
        height: 100px;
        object-fit: none;
    }
 
     .nome {
        text-shadow: 0px 0px 6px #000000, 0px 0px 9px #000000;
        color: white;
        font-size: 56px;
        font-family: 'Orbitron', sans-serif;
        font-weight: 900;
    }
 
     .topbar-description {
        display: none !important;
        font-size: 16px;
        margin-top: 6px;
        width: fit-content;
        padding-inline: 16px;
        border-radius: 0 10px 10px 0;
        box-shadow: 0 0 2px rgb(0 0 0 / 70%);
    }
 
     .personaje-header {
        position: relative;
        overflow: hidden;
        display: flex;
        gap: 10px;
        flex-direction: column;
    }
 
     .art-personaje {
        width: 34.3vw;
        height: auto;
        position: absolute;
        right: 3.5rem;
        top: -3.1rem;
        z-index: 9;
    }
 
     .classes {
        display: flex;
        gap: 9px;
        flex-wrap: wrap;
        margin-left: 0.28rem;
    }
 
     .classe {
        background-color: #353420;
        color: white;
        outline: 2px solid black;
        padding: 1px 6px;
        border-radius: 4px;
        font-size: 0.9em;
        font-weight: bold;
        box-shadow: 0 0 2px rgb(0 0 0 / 70%);
    }
 
     .personaje-info {
        user-select: none;
    }
 
     .personaje-info .tier,
    .personaje-info .classe {
        font-size: 18px;
        color: #bbb;
    }
 
     .personaje-tabs {
        margin: 4px 0 4px 8px;
        display: flex;
        gap: 12px;
        justify-content: flex-start;
    }
 
     .tab-btn {
        padding: 5px 20px;
        background: #333;
        color: white;
        border: none;
        border-radius: 8px;
        font-size: 20px;
        cursor: pointer;
        font-weight: 600;
        transition: background .2s ease;
    }
 
     .tab-btn.active {
        background: #156bc7;
    }
 
     .tab-content {
        display: block;
        opacity: 0;
        max-height: 0;
        overflow: hidden;
        transition: opacity .25s ease, max-height .25s ease;
        background: #26211cd6;
        padding: 0 8px 8px;
    }
 
     .tab-content.active {
        opacity: 1;
        max-height: 2000px;
    }
 
     .habilidades-container {
        display: flex;
        gap: 20px;
    }
 
    .habilidades-details {
        flex: 1;
        display: flex;
        flex-direction: column;
        gap: 10px;
        width: 50%;
        justify-content: center;
    }
 
    .cuadros-container {
        display: flex;
        flex-wrap: nowrap;
        gap: 10px;
        width: 56%;
        overflow-x: auto;
        overflow-y: hidden;
        padding: 10px 0 3px 1px;
        margin-bottom: 6px;
        scrollbar-width: thin;
        scrollbar-color: #ababab transparent;
        scroll-behavior: smooth;
        justify-content: space-around;
    }
 
     .cuadros-container::-webkit-scrollbar {
        height: 6px;
    }
 
     .cuadros-container::-webkit-scrollbar-track {
        background: transparent;
    }
 
     .cuadros-container::-webkit-scrollbar-thumb {
        background-color: #151515;
        border-radius: 3px;
    }
 
     .cuadros-container .cuadro {
        flex: 0 0 auto;
        width: 50px;
        height: 50px;
        border-radius: 5px;
        cursor: pointer;
        transition: transform 0.2s, box-shadow 0.2s;
    }
 
     .cuadros-container .cuadro.activo {
        box-shadow: 0 0 0 1.5px #FFD700;
    }
 
     .titulo-habilidad {
        position: relative;
        display: flex;
        justify-content: center;
        align-items: center;
        margin-bottom: 8px;
        padding-right: 32px;
    }
 
     .titulo-habilidad h3 {
        font-size: 1.6em;
        color: white;
        text-align: center;
        margin: 0;
        width: 100%;
    }
 
     .tooltip-container {
        position: absolute;
        right: 0;
        top: 50%;
        transform: translateY(-50%);
    }
 
     .info-btn {
        border: none;
        color: #D3DBDC;
        background-color: #787878;
        font-weight: bold;
        border-radius: 50%;
        width: 44px;
        height: 44px;
        font-family: 'Noto Sans';
        cursor: pointer;
        transition: 0.2s;
        box-shadow: 0 0 3px #000;
        font-size: 40px;
        padding: 0;
        line-height: 24px;
        text-align: center;
    }
 
     .tooltip-text {
        visibility: hidden;
        width: 220px;
        background-color: #222;
        color: #fff;
        text-align: left;
        padding: 8px 10px;
        border-radius: 8px;
        position: absolute;
        z-index: 10;
        bottom: 130%;
        left: 50%;
        transform: translate(-85%, 110%);
        opacity: 0;
        transition: opacity 0.3s;
        font-size: 12px;
        box-shadow: 0 2px 10px rgba(0, 0, 0, 0.5);
        pointer-events: none;
    }
 
     .tooltip-container:hover .tooltip-text {
        visibility: visible;
        opacity: 1;
    }
 
     .descripcion-container h3 {
        font-size: 2.7em;
        margin: 0;
        text-align: center;
        padding-top: 0px;
    }
 
     .descripcion-container p,
    .desc {
        font-size: 1.2em;
        margin: 0;
    }
 
     .descripcion-container {
        min-height: 27.5rem;
        height: 100%;
        padding: 4px 16px !important;
        background: #26211C;
        border-radius: 8px;
        position: relative;
        box-shadow: 0 0 7px rgb(255 255 255 / 82%), 0 0 5px rgb(255 255 255 / 96%);
        color: #fff;
        backdrop-filter: blur(2px);
        transition: all 0.3s ease;
        text-shadow: -1px -1px 0 #000, 1px -1px 0 #000, -1px 1px 0 #000, 1px 1px 0 #000;
        padding-top: 0px !important;
        z-index: 99;
    }
 
     .desc {
        overflow-y: auto !important;
        max-height: inherit;
        margin-top: 10px;
    }
 
     .desc * {
        font-size: inherit !important;
        line-height: inherit;
    }
 
     .descripcion-container .descLevel {
        margin-top: 5px;
        font-weight: bold;
    }
 
     .descripcion-container .desc::-webkit-scrollbar,
    .tabSkill--container::-webkit-scrollbar {
        width: 7px;
        height: 7px;
    }
 
     .descripcion-container .desc::-webkit-scrollbar-thumb,
    .tabSkill--container::-webkit-scrollbar-thumb {
        background-color: rgb(71 153 255);
        border-radius: 10px;
    }
 
     .descripcion-container .desc::-webkit-scrollbar-track,
    .tabSkill--container::-webkit-scrollbar-track {
        background-color: #151515a8;
        border-radius: 10px;
    }
 
     .tier-bronze .topbar-icon,
    .tier-bronze .tier {
        outline: 2px solid #7b4e2f !important;
    }
 
     /*.tier-bronze .nome { text-shadow: 2px 2px #83736a; }*/
     /*.tier-bronze .nome { text-shadow: 2px 2px #83736a; }*/
     .tier-silver .topbar-icon, .tier-silver .tier { outline: 2px solid #d6d2d2 !important; }
     .tier-silver .topbar-icon,
    .tier-silver .tier {
        outline: 2px solid #d6d2d2 !important;
    }
 
     /*.tier-silver .nome { text-shadow: 2px 2px #9d9d9d; }*/
     /*.tier-silver .nome { text-shadow: 2px 2px #9d9d9d; }*/
     .tier-gold .topbar-icon, .tier-gold .tier { outline: 2px solid #fcd300 !important; }
     .tier-gold .topbar-icon,
    .tier-gold .tier {
        outline: 2px solid #fcd300 !important;
    }
 
     /*.tier-gold .nome { text-shadow: 2px 2px #dad405; }*/
     /*.tier-gold .nome { text-shadow: 2px 2px #dad405; }*/
     .tier-diamond .topbar-icon, .tier-diamond .tier { outline: 2px solid #60dae2 !important; }
     .tier-diamond .topbar-icon,
    .tier-diamond .tier {
        outline: 2px solid #60dae2 !important;
    }
 
     /*.tier-diamond .nome { text-shadow: 2px 2px #a6c0cc; }*/
     /*.tier-diamond .nome { text-shadow: 2px 2px #a6c0cc; }*/
     video::-webkit-media-controls { opacity: 0; transition: opacity 0.3s; }
     video::-webkit-media-controls {
     video:hover::-webkit-media-controls { opacity: 1; }
        opacity: 0;
     .video-container { position: relative; width: 43%; background-color: #000; display: flex; align-items: center; justify-content: center; border-radius: 2%; box-shadow: 0 0 7px rgba(255, 255, 255, 0.82), 0 0 5px rgba(255, 255, 255, 0.96); overflow: hidden; z-index: 999; }
        transition: opacity 0.3s;
     .video-placeholder { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-color: #000; display: flex; align-items: center; justify-content: center; z-index: 2; opacity: 1; transition: opacity 0.9s ease; }
    }
     .video-placeholder img { width: 120px; height: auto; animation: breathe 2.5s ease-in-out infinite; filter: drop-shadow(0 0 6px rgba(255, 255, 255, 0.3)); }
 
     .video-placeholder.fade-out { opacity: 0; }
     video:hover::-webkit-media-controls {
     @keyframes breathe { 0%, 100% { transform: scale(1); opacity: 1; } 50% { transform: scale(1.07); opacity: 0.85; } }
        opacity: 1;
     .attribute--cardsContainer { display: flex; justify-content: center; gap: 20px; flex-wrap: wrap; background: unset; border: unset; }
    }
     .cardAttribute { width: 138px; height: 60px; background-color: #473838; border-radius: 8px; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; padding: 2px; box-shadow: 0 3px 7px rgba(0,0,0,0.5); transition: transform 0.2s; border: 1px solid #00000047; }
 
     .cardAttribute--title { font-size: 1.1rem; font-weight: bold; }
     .video-container {
     .cardAttribute--value { font-size: 14px !important; font-weight: bold; margin: 0 !important; color: white; border-bottom: unset; }
        position: relative;
     .attribute-title, .card-skins-title { font-size: 1.4em; text-align: center; letter-spacing: 1px; font-family: sans-serif !important; border-bottom: 2px solid #9d9c9c; color: white !important; padding-bottom: 8px; margin-bottom: 16px; width: 75%; }
        width: 43%;
     .card-skins { padding-block: 12px; border-radius: 12px; box-shadow: 0 2px 6px rgba(0,0,0,0.1); user-select: none; }
        background-color: #000;
     .skins-carousel-wrapper::before, .skins-carousel-wrapper::after { content: ''; position: absolute; top: 0; width: 60px; height: 100%; pointer-events: none; opacity: 0; transition: opacity 0.4s ease; z-index: 3; }
        display: flex;
     .skins-carousel-wrapper::before { left: 0; background: linear-gradient(to right, rgba(0,0,0,0) 0%, rgba(0,0,0,1) 100%); }
        align-items: center;
     .skins-carousel-wrapper::after { right: 0; background: linear-gradient(to left, rgba(0,0,0,0) 0%, rgba(0,0,0,1) 100%); }
        justify-content: center;
     .skins-carousel-wrapper.has-left::before, .skins-carousel-wrapper.has-right::after { opacity: 1; }
        border-radius: 2%;
     .has-left { padding-left: 60px; }
        box-shadow: 0 0 7px rgba(255, 255, 255, 0.82), 0 0 5px rgba(255, 255, 255, 0.96);
     .has-left .skins-carousel { mask-image: linear-gradient(to right, transparent 0px, black 40px, black 100%); }
        overflow: hidden;
     .has-right { padding-right: 60px; }
        z-index: 999;
     .has-right .skins-carousel { mask-image: linear-gradient(to right, black 0px, black calc(100% - 40px), transparent 100%); }
    }
     .skins-arrow { opacity: 1; transform: scale(1); transition: opacity 0.3s ease, transform 0.3s ease; display: inline-block; }
 
     .skins-arrow.hidden { opacity: 0; transform: scale(0.8); pointer-events: none; visibility: hidden; }
     .video-placeholder {
     .card-skins-title { display: block; border-bottom: unset; font-size: 40px; font-weight: bold; padding-bottom: unset; margin-bottom: 10px; width: 47%; }
        position: absolute;
     .skins-carousel-wrapper { min-height: 21.1rem; max-height: 60%; padding: 0 16px 1px !important; background: #26211C; border-radius: 8px; position: relative; box-shadow: 0 0 7px rgb(255 255 255 / 82%), 0 0 5px rgb(255 255 255 / 96%); color: #fff; backdrop-filter: blur(2px); transition: all 0.3s ease; text-shadow: -1px -1px 0 #000, 1px -1px 0 #000, -1px 1px 0 #000, 1px 1px 0 #000; flex: 1; display: flex; flex-direction: row; gap: 10px; justify-content: center; align-items: center; overflow: visible; z-index: 99; }
        top: 0;
     .skins-carousel { display: flex; gap: 1vw; overflow-x: auto; scroll-behavior: smooth; padding: 10px 0; flex-grow: 1; }
        left: 0;
     .skins-carousel.both-mask { mask-image: linear-gradient(to right, transparent 0px, black 40px, black calc(100% - 40px), transparent 100%); }
        width: 100%;
     .skins-carousel.left-mask { mask-image: linear-gradient(to right, transparent 0px, black 40px, black 100%); }
        height: 100%;
     .skins-carousel.right-mask { mask-image: linear-gradient(to right, black 0px, black calc(100% - 40px), transparent 100%); }
        background-color: #000;
     .skins-carousel.no-mask { mask-image: none; }
        display: flex;
     .skins-carousel::-webkit-scrollbar { display: none; }
        align-items: center;
     .skin-card { position: relative; width: 12vw; height: 39vh; flex: 0 0 auto; border: 2px solid #697EC9 !important; border-radius: 8px; overflow: hidden; box-shadow: 0 0 8px #00f2ff70; background: #111; }
        justify-content: center;
     .skin-card::before { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none; border-radius: inherit; z-index: 2; box-shadow: inset 0 0 12px 6px rgba(180,180,180,0.25); }
        z-index: 2;
     .skins--imageBanner { width: 100%; height: 109%; }
        opacity: 1;
     .skins--imageBanner img { width: 100%; height: 100%; object-fit: cover; filter: brightness(0.5); scale: 1.1; }
        transition: opacity 0.9s ease;
     .skins--imageSkin img { position: absolute; bottom: 10px; left: 50%; transform: translateX(-50%); height: 140px; width: auto; z-index: 2; transition: transform 0.2s; }
    }
     .skins-arrow { background: none; border: none; color: white; font-size: 36px; cursor: pointer; padding: 8px; z-index: 5; transition: 0.2s; }
 
     .skins-arrow.left { margin-right: 8px; }
     .video-placeholder img {
     .skins-arrow.right { margin-left: 8px; }
        width: 120px;
     .mw-body-content { line-height: 1.5 !important; }
        height: auto;
        animation: breathe 2.5s ease-in-out infinite;
        filter: drop-shadow(0 0 6px rgba(255, 255, 255, 0.3));
    }
 
     .video-placeholder.fade-out {
        opacity: 0;
    }
 
     @keyframes breathe {
 
        0%,
        100% {
            transform: scale(1);
            opacity: 1;
        }
 
        50% {
            transform: scale(1.07);
            opacity: 0.85;
        }
    }
 
     .attribute--cardsContainer {
        display: flex;
        justify-content: center;
        gap: 20px;
        flex-wrap: wrap;
        background: unset;
        border: unset;
    }
 
     .cardAttribute {
        width: 138px;
        height: 60px;
        background-color: #473838;
        border-radius: 8px;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        text-align: center;
        padding: 2px;
        box-shadow: 0 3px 7px rgba(0, 0, 0, 0.5);
        transition: transform 0.2s;
        border: 1px solid #00000047;
    }
 
     .cardAttribute--title {
        font-size: 1.1rem;
        font-weight: bold;
    }
 
     .cardAttribute--value {
        font-size: 14px !important;
        font-weight: bold;
        margin: 0 !important;
        color: white;
        border-bottom: unset;
    }
 
     .attribute-title,
    .card-skins-title {
        font-size: 1.4em;
        text-align: center;
        letter-spacing: 1px;
        font-family: sans-serif !important;
        border-bottom: 2px solid #9d9c9c;
        color: white !important;
        padding-bottom: 8px;
        margin-bottom: 16px;
        width: 75%;
    }
 
     .card-skins {
        padding-block: 12px;
        border-radius: 12px;
        box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
        user-select: none;
    }
 
     .skins-carousel-wrapper::before,
    .skins-carousel-wrapper::after {
        content: '';
        position: absolute;
        top: 0;
        width: 60px;
        height: 100%;
        pointer-events: none;
        opacity: 0;
        transition: opacity 0.4s ease;
        z-index: 3;
    }
 
     .skins-carousel-wrapper::before {
        left: 0;
        background: linear-gradient(to right, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 1) 100%);
    }
 
     .skins-carousel-wrapper::after {
        right: 0;
        background: linear-gradient(to left, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 1) 100%);
    }
 
     .skins-carousel-wrapper.has-left::before,
    .skins-carousel-wrapper.has-right::after {
        opacity: 1;
    }
 
     .has-left {
        padding-left: 60px;
    }
 
     .has-left .skins-carousel {
        mask-image: linear-gradient(to right, transparent 0px, black 40px, black 100%);
    }
 
     .has-right {
        padding-right: 60px;
    }
 
     .has-right .skins-carousel {
        mask-image: linear-gradient(to right, black 0px, black calc(100% - 40px), transparent 100%);
    }
 
     .skins-arrow {
        opacity: 1;
        transform: scale(1);
        transition: opacity 0.3s ease, transform 0.3s ease;
        display: inline-block;
    }
 
     .skins-arrow.hidden {
        opacity: 0;
        transform: scale(0.8);
        pointer-events: none;
        visibility: hidden;
    }
 
     .card-skins-title {
        display: block;
        border-bottom: unset;
        font-size: 40px;
        font-weight: bold;
        padding-bottom: unset;
        margin-bottom: 10px;
        width: 47%;
    }
 
     .skins-carousel-wrapper {
        min-height: 21.1rem;
        max-height: 60%;
        padding: 0 16px 1px !important;
        background: #26211C;
        border-radius: 8px;
        position: relative;
        box-shadow: 0 0 7px rgb(255 255 255 / 82%), 0 0 5px rgb(255 255 255 / 96%);
        color: #fff;
        backdrop-filter: blur(2px);
        transition: all 0.3s ease;
        text-shadow: -1px -1px 0 #000, 1px -1px 0 #000, -1px 1px 0 #000, 1px 1px 0 #000;
        flex: 1;
        display: flex;
        flex-direction: row;
        gap: 10px;
        justify-content: center;
        align-items: center;
        overflow: visible;
        z-index: 99;
    }
 
     .skins-carousel {
        display: flex;
        gap: 1vw;
        overflow-x: auto;
        scroll-behavior: smooth;
        padding: 10px 0;
        flex-grow: 1;
    }
 
     .skins-carousel.both-mask {
        mask-image: linear-gradient(to right, transparent 0px, black 40px, black calc(100% - 40px), transparent 100%);
    }
 
     .skins-carousel.left-mask {
        mask-image: linear-gradient(to right, transparent 0px, black 40px, black 100%);
    }
 
     .skins-carousel.right-mask {
        mask-image: linear-gradient(to right, black 0px, black calc(100% - 40px), transparent 100%);
    }
 
     .skins-carousel.no-mask {
        mask-image: none;
    }
 
     .skins-carousel::-webkit-scrollbar {
        display: none;
    }
 
     .skin-card {
        position: relative;
        width: 12vw;
        height: 39vh;
        flex: 0 0 auto;
        border: 2px solid #697EC9 !important;
        border-radius: 8px;
        overflow: hidden;
        box-shadow: 0 0 8px #00f2ff70;
        background: #111;
    }
 
     .skin-card::before {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        pointer-events: none;
        border-radius: inherit;
        z-index: 2;
        box-shadow: inset 0 0 12px 6px rgba(180, 180, 180, 0.25);
    }
 
     .skins--imageBanner {
        width: 100%;
        height: 109%;
    }
 
     .skins--imageBanner img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        filter: brightness(0.5);
        scale: 1.1;
    }
 
     .skins--imageSkin img {
        position: absolute;
        bottom: 10px;
        left: 50%;
        transform: translateX(-50%);
        height: 140px;
        width: auto;
        z-index: 2;
        transition: transform 0.2s;
    }
 
     .skins-arrow {
        background: none;
        border: none;
        color: white;
        font-size: 36px;
        cursor: pointer;
        padding: 8px;
        z-index: 5;
        transition: 0.2s;
    }
 
     .skins-arrow.left {
        margin-right: 8px;
    }
 
     .skins-arrow.right {
        margin-left: 8px;
    }
 
     .mw-body-content {
        line-height: 1.5 !important;
    }


     @keyframes glowDiamond {
     @keyframes glowDiamond {
         0%, 100% { box-shadow: inset 0 0 8px rgba(255,255,255,0.4), 0 0 16px rgba(80,255,255,0.6); }
 
         50% { box-shadow: inset 0 0 16px rgba(255,255,255,0.6), 0 0 24px rgba(160,255,255,0.8); }
         0%,
        100% {
            box-shadow: inset 0 0 8px rgba(255, 255, 255, 0.4), 0 0 16px rgba(80, 255, 255, 0.6);
        }
 
         50% {
            box-shadow: inset 0 0 16px rgba(255, 255, 255, 0.6), 0 0 24px rgba(160, 255, 255, 0.8);
        }
     }
     }
     @keyframes moveStars {
     @keyframes moveStars {
         0% { background-position: 0 0; }
         0% {
         100% { background-position: 90px -90px; }
            background-position: 0 0;
        }
 
         100% {
            background-position: 90px -90px;
        }
     }
     }


     @media (max-aspect-ratio: 3/4) {
     @media (max-aspect-ratio: 3/4) {
         .desc { font-size: 26px; line-height: 1.5; overflow-y: auto !important; max-height: inherit; margin: 0; width: 100%; margin-top: 8px; }
         .desc {
         .desc * { font-size: inherit !important; line-height: inherit; }
            font-size: 26px;
         .habilidades-container { display: flex; gap: 20px; flex-direction: column-reverse; }
            line-height: 1.5;
         .habilidades-details { flex: 1; display: flex; flex-direction: column; width: 96%; align-self: center; }
            overflow-y: auto !important;
         .video-container { width: 80%; border-radius: 3%; margin-top: 2%; align-self: center; }
            max-height: inherit;
         .art-personaje { display: none; width: 370px; height: 290px; position: absolute; right: 0.5rem; top: 1.1rem; z-index: 9; }
            margin: 0;
         .topbar-description{ font-size: 22px; }
            width: 100%;
         .personaje-info .tier, .personaje-info .classe { font-size: 30px; }
            margin-top: 8px;
         .cuadros-container { width: 98%; place-self: center; padding: 10px 0 16px 1px; }
        }
         .cuadros-container .cuadro { flex: 0 0 auto; width: 80px; height: 80px; }
 
         .descripcion-container h3 { font-size: 3.6em; margin-top: -14px; }
         .desc * {
         .descripcion-container p { font-size: 2.3em; margin-bottom: 5px; }
            font-size: inherit !important;
         .descripcion-container { padding: 22px !important; }
            line-height: inherit;
         .tab-btn { padding: 10px 20px; font-size: 26px; }
        }
         .tab-content{ padding: 0 8px 20px; }
 
         .classe { padding: 0px 5px; font-size: 1.4em; }
         .habilidades-container {
         .cardAttribute--title { font-size: 1.85rem; }
            display: flex;
         .cardAttribute--value { font-size: 1.65rem !important; }
            gap: 20px;
         .cardAttribute { width: 156px; height: 84px; }
            flex-direction: column-reverse;
         .tooltip-container { position: absolute; right: -6px; top: 30%; scale: 1.1; }
        }
         .tooltip-text { font-size: 26px; }
 
         .skins-carousel { gap: 20px; }
         .habilidades-details {
         .skin-card { width: 236px; height: 400px; }
            flex: 1;
         .skins--imageSkin img { height: 170px; }
            display: flex;
         .tooltipster-content { font-size: 26px; }
            flex-direction: column;
         .attribute-title, .card-skins-title { width: 100% !important; }
            width: 96%;
         .skins-arrow { display: none !important; }
            align-self: center;
         .skins-carousel-wrapper::after, .skins-carousel-wrapper::before { background: unset; }
        }
         video::-webkit-media-controls { opacity: unset; transition: unset; }
 
         video:hover::-webkit-media-controls { opacity: unset; }
         .video-container {
            width: 80%;
            border-radius: 3%;
            margin-top: 2%;
            align-self: center;
        }
 
         .art-personaje {
            display: none;
            width: 370px;
            height: 290px;
            position: absolute;
            right: 0.5rem;
            top: 1.1rem;
            z-index: 9;
        }
 
         .topbar-description {
            font-size: 22px;
        }
 
         .personaje-info .tier,
        .personaje-info .classe {
            font-size: 30px;
        }
 
         .cuadros-container {
            width: 98%;
            place-self: center;
            padding: 10px 0 16px 1px;
        }
 
         .cuadros-container .cuadro {
            flex: 0 0 auto;
            width: 80px;
            height: 80px;
        }
 
         .descripcion-container h3 {
            font-size: 3.6em;
            margin-top: -14px;
        }
 
         .descripcion-container p {
            font-size: 2.3em;
            margin-bottom: 5px;
        }
 
         .descripcion-container {
            padding: 22px !important;
        }
 
         .tab-btn {
            padding: 10px 20px;
            font-size: 26px;
        }
 
         .tab-content {
            padding: 0 8px 20px;
        }
 
         .classe {
            padding: 0px 5px;
            font-size: 1.4em;
        }
 
         .cardAttribute--title {
            font-size: 1.85rem;
        }
 
         .cardAttribute--value {
            font-size: 1.65rem !important;
        }
 
         .cardAttribute {
            width: 156px;
            height: 84px;
        }
 
         .tooltip-container {
            position: absolute;
            right: -6px;
            top: 30%;
            scale: 1.1;
        }
 
         .tooltip-text {
            font-size: 26px;
        }
 
         .skins-carousel {
            gap: 20px;
        }
 
         .skin-card {
            width: 236px;
            height: 400px;
        }
 
         .skins--imageSkin img {
            height: 170px;
        }
 
         .tooltipster-content {
            font-size: 26px;
        }
 
         .attribute-title,
        .card-skins-title {
            width: 100% !important;
        }
 
         .skins-arrow {
            display: none !important;
        }
 
         .skins-carousel-wrapper::after,
        .skins-carousel-wrapper::before {
            background: unset;
        }
 
         video::-webkit-media-controls {
            opacity: unset;
            transition: unset;
        }
 
         video:hover::-webkit-media-controls {
            opacity: unset;
        }
     }
     }
</style>
</style>

Edição das 23h08min de 14 de agosto de 2025

<script>

   (function () {
       const buttons = document.querySelectorAll('.tab-btn');
       const contents = document.querySelectorAll('.tab-content');
       const cuadrosContainer = document.querySelector('.cuadros-container');
       const descripcionContainer = document.querySelector('.descripcion-container');
       const videoContainer = document.querySelector('.video-container');
       const cuadros = [...cuadrosContainer.querySelectorAll('.cuadro')];
       const mwBody = document.querySelector('.personaje-box');
       let totalVideos = 0;
       let loadedVideos = 0;
       const videosCache = {};
       let autoplayEnabled = false;
       activarFlechasCarrusel();
       const placeholder = document.createElement('div');
       placeholder.className = 'video-placeholder';
       placeholder.innerHTML = `<img src="/images/d/d5/Icon_gla.png" alt="Cargando...">`;
       videoContainer.appendChild(placeholder);
       function removePlaceholderSmooth() {
           placeholder.classList.add('fade-out');
           placeholder.addEventListener('transitionend', () => placeholder.remove(), { once: true });
       }
       function checkAllVideosLoaded() {
           if (loadedVideos === totalVideos && totalVideos > 0) {
               autoplayEnabled = true;
           }
       }
       // Pré-carregar todos os vídeos
       cuadros.forEach(div => {
           const videoSrc = div.dataset.video;
           const index = div.dataset.index;
           if (videoSrc && videoSrc.trim() !==  && !videosCache[index]) {
               totalVideos++;
               const videoEl = document.createElement('video');
               videoEl.setAttribute('width', '100%');
               videoEl.setAttribute('controls', );
               videoEl.setAttribute('preload', 'auto');
               videoEl.setAttribute('playsinline', );
               videoEl.dataset.index = index;
               videoEl.style.display = 'none';
               const source = document.createElement('source');
               source.src = videoSrc;
               source.type = 'video/webm';
               videoEl.appendChild(source);
               // Quando o vídeo já estiver pronto, remover placeholder
               videoEl.addEventListener('canplay', () => {
                   loadedVideos++;
                   if (loadedVideos === 1) {
                       videoEl.pause();
                       videoEl.currentTime = 0;
                   }
                   const activeCuadro = document.querySelector('.cuadro.activo');
                   if (activeCuadro && activeCuadro.dataset.index === videoEl.dataset.index) {
                       setTimeout(removePlaceholderSmooth, 200);
                   }
                   checkAllVideosLoaded();
               });


               videoEl.addEventListener('error', () => {
                   loadedVideos++;
                   removePlaceholderSmooth();
                   checkAllVideosLoaded();
               });
               videoContainer.appendChild(videoEl);
               videosCache[index] = videoEl;
           }
       });
       // Se não houver vídeos, ocultar imediatamente
       if (totalVideos === 0) {
           placeholder.remove();
       }
       buttons.forEach(btn => btn.addEventListener('click', () => {
           buttons.forEach(b => b.classList.remove('active'));
           contents.forEach(c => c.classList.remove('active'));
           btn.classList.add('active');
           document.getElementById(btn.dataset.tab).classList.add('active');
       }));
       cuadros.forEach(div => {
           const nome = div.dataset.nome;
           const desc = div.dataset.desc.replace(/(.*?)/g, '$1');
           const atr = div.dataset.atr;
           const index = div.dataset.index;
           const hasVideo = div.dataset.video && div.dataset.video.trim() !== ;
           div.title = nome;
           div.addEventListener('click', () => {
               if (!autoplayEnabled && loadedVideos > 0) {
                   autoplayEnabled = true;
               }
               descripcionContainer.innerHTML = `

${nome}

               ${generarHTMLAtributos(atr)}
${desc}
           `;
               Object.values(videosCache).forEach(v => {
                   v.pause();
                   v.style.display = 'none';
               });
               // Gerenciar habilidades com/sem vídeo
               if (hasVideo) {
                   const videoEl = videosCache[index];
                   if (videoEl) {
                       videoContainer.style.display = 'block';
                       videoEl.style.display = 'block';
                       videoEl.currentTime = 0;
                       if (autoplayEnabled) {
                           videoEl.play().catch(e => console.log('Autoplay bloqueado:', e));
                       }
                   }
               } else {
                   videoContainer.style.display = 'none';
               }
               cuadros.forEach(c => c.classList.remove('activo'));
               div.classList.add('activo');
           });
           // Limpar atributos para reduzir memória
           ['data-nome', 'data-desc', 'data-atr', 'data-video'].forEach(attr => div.removeAttribute(attr));
       });
       if (Object.keys(videosCache).length === 0) {
           videoContainer.style.display = 'none';
       }
       // Click inicial
       if (cuadros.length) cuadros[0].click();
       // Scroll con rueda
       cuadrosContainer.addEventListener('wheel', e => {
           if (e.deltaY) {
               e.preventDefault();
               cuadrosContainer.scrollLeft += e.deltaY;
           }
       });
       function activarFlechasCarrusel() {
           const carousel = document.querySelector('.skins-carousel');
           const wrapper = document.querySelector('.skins-carousel-wrapper');
           const [leftBtn, rightBtn] = ['.skins-arrow.left', '.skins-arrow.right'].map(sel => document.querySelector(sel));
           let isPredictingScroll = false, isAutoScrolling = false;
           const getScrollAmount = () => carousel.clientWidth * 0.6;
           const hideArrow = btn => {
               if (!btn.classList.contains('desapareciendo') && btn.style.display !== 'none') {
                   btn.classList.add('desapareciendo');
                   setTimeout(() => {
                       btn.style.display = 'none';
                       btn.classList.remove('desapareciendo');
                   }, 300);
               }
           };
           const showArrow = btn => {
               if (btn.style.display === 'none') {
                   btn.style.display = 'inline-block';
                   void btn.offsetWidth;
               }
               btn.classList.remove('desapareciendo');
           };
           const setArrowsState = scrollLeft => {
               const maxScroll = carousel.scrollWidth - carousel.clientWidth;
               const hasLeft = scrollLeft > 5, hasRight = scrollLeft < maxScroll - 5;
               hasLeft ? showArrow(leftBtn) : hideArrow(leftBtn);
               hasRight ? showArrow(rightBtn) : hideArrow(rightBtn);
               wrapper.classList.toggle('has-left', hasLeft);
               wrapper.classList.toggle('has-right', hasRight);
               if (!hasLeft && !hasRight) { carousel.style.justifyContent = 'center'; } else { carousel.style.justifyContent = ; }
           };
           const handleArrowClick = dir => {
               isPredictingScroll = true;
               const scrollLeft = carousel.scrollLeft, maxScroll = carousel.scrollWidth - carousel.clientWidth;
               const nextScroll = dir === 'left' ? Math.max(0, scrollLeft - getScrollAmount()) : Math.min(maxScroll, scrollLeft + getScrollAmount());
               setArrowsState(nextScroll);
               carousel.scrollTo({ left: nextScroll, behavior: 'smooth' });
               let last = -1, still = 0;
               const wait = setInterval(() => {
                   const current = Math.round(carousel.scrollLeft);
                   if (current === last) {
                       if (++still >= 2) {
                           clearInterval(wait);
                           isPredictingScroll = false;
                           setArrowsState(current);
                       }
                   } else {
                       last = current;
                       still = 0;
                   }
               }, 50);
           };
           carousel.addEventListener('scroll', () => {
               if (!isPredictingScroll) setArrowsState(carousel.scrollLeft);
           });
           new ResizeObserver(() => {
               if (!isPredictingScroll) setArrowsState(carousel.scrollLeft);
           }).observe(carousel);
           leftBtn.addEventListener('click', () => handleArrowClick('left'));
           rightBtn.addEventListener('click', () => handleArrowClick('right'));
           setArrowsState(carousel.scrollLeft);
       }
       function generarHTMLAtributos(str) {
           const vals = str.split(',').map(v => v.trim());
           const title = ['Poder PVE', 'Poder PVP', 'Energia', 'Recarga'];
           return `
               ${vals.map((v, i) => {
               let f = v === '-' ? '-' : parseInt(v);
               if (i === 2 && !isNaN(f)) f = (f > 0 ? '+' : ) + f;
               return `
                               ${title[i]}

${f}${i === 3 && f !== '-' ? ' seg' : }

                       `;
           }).join()}

`;

       }
   })();

</script>

<style>

   img {
       pointer-events: none;
       user-select: none;
   }
   video {
       max-height: 33.25em;
       object-fit: fill;
   }
   .banner {
       position: absolute;
       z-index: -9;
       width: 100%;
       background-image: url(https://i.imgur.com/OVGhLvl.png);
       background-size: cover;
       height: 100%;
   }
   .banner-personaje {
       width: 100%;
       height: auto;
   }
   .banner::before {
       content: "";
       position: absolute;
       inset: 0;
       background: linear-gradient(to right, rgba(0, 0, 0, 0.6), rgba(0, 0, 0, 0.2));
   }
   .mw-body-content p {
       display: none;
   }
   .mw-body {
       padding: unset !important;
   }
   .videos-loading-overlay {
       position: absolute;
       top: 0;
       left: 0;
       width: 100%;
       height: 100%;
       background-color: rgba(0, 0, 0, 0.7);
       display: flex;
       justify-content: center;
       align-items: center;
       z-index: 99999;
       transition: opacity 0.5s ease;
   }
   .loading-content {
       text-align: center;
       color: white;
   }
   .loading-spinner {
       border: 5px solid #f3f3f3;
       border-top: 5px solid #3498db;
       border-radius: 50%;
       width: 50px;
       height: 50px;
       animation: spin 1s linear infinite;
       margin: 0 auto 20px;
   }
   .loading-content p {
       font-size: large;
   }
   @keyframes spin {
       0% {
           transform: rotate(0deg);
       }
       100% {
           transform: rotate(360deg);
       }
   }
   .personaje-box {
       padding: unset !important;
       color: #000;
       font-family: 'Noto Sans', sans-serif !important;
       width: 100%;
       margin: auto;
       position: relative;
       user-select: none;
   }
   .personaje-box p {
       display: unset;
   }
   .cuadro img {
       width: 100%;
       height: 100%;
       object-fit: cover;
   }
   .personaje-topbar {
       display: flex;
       flex-direction: column;
       align-items: flex-start;
       padding: 8px 20px;
       padding-top: 4px;
   }
   .personaje-nome-box {
       display: flex;
       align-items: center;
       gap: 14px;
   }
   .topbar-icon {
       margin-top: 8px;
       width: 100px;
       height: 100px;
       object-fit: none;
   }
   .nome {
       text-shadow: 0px 0px 6px #000000, 0px 0px 9px #000000;
       color: white;
       font-size: 56px;
       font-family: 'Orbitron', sans-serif;
       font-weight: 900;
   }
   .topbar-description {
       display: none !important;
       font-size: 16px;
       margin-top: 6px;
       width: fit-content;
       padding-inline: 16px;
       border-radius: 0 10px 10px 0;
       box-shadow: 0 0 2px rgb(0 0 0 / 70%);
   }
   .personaje-header {
       position: relative;
       overflow: hidden;
       display: flex;
       gap: 10px;
       flex-direction: column;
   }
   .art-personaje {
       width: 34.3vw;
       height: auto;
       position: absolute;
       right: 3.5rem;
       top: -3.1rem;
       z-index: 9;
   }
   .classes {
       display: flex;
       gap: 9px;
       flex-wrap: wrap;
       margin-left: 0.28rem;
   }
   .classe {
       background-color: #353420;
       color: white;
       outline: 2px solid black;
       padding: 1px 6px;
       border-radius: 4px;
       font-size: 0.9em;
       font-weight: bold;
       box-shadow: 0 0 2px rgb(0 0 0 / 70%);
   }
   .personaje-info {
       user-select: none;
   }
   .personaje-info .tier,
   .personaje-info .classe {
       font-size: 18px;
       color: #bbb;
   }
   .personaje-tabs {
       margin: 4px 0 4px 8px;
       display: flex;
       gap: 12px;
       justify-content: flex-start;
   }
   .tab-btn {
       padding: 5px 20px;
       background: #333;
       color: white;
       border: none;
       border-radius: 8px;
       font-size: 20px;
       cursor: pointer;
       font-weight: 600;
       transition: background .2s ease;
   }
   .tab-btn.active {
       background: #156bc7;
   }
   .tab-content {
       display: block;
       opacity: 0;
       max-height: 0;
       overflow: hidden;
       transition: opacity .25s ease, max-height .25s ease;
       background: #26211cd6;
       padding: 0 8px 8px;
   }
   .tab-content.active {
       opacity: 1;
       max-height: 2000px;
   }
   .habilidades-container {
       display: flex;
       gap: 20px;
   }
   .habilidades-details {
       flex: 1;
       display: flex;
       flex-direction: column;
       gap: 10px;
       width: 50%;
       justify-content: center;
   }
   .cuadros-container {
       display: flex;
       flex-wrap: nowrap;
       gap: 10px;
       width: 56%;
       overflow-x: auto;
       overflow-y: hidden;
       padding: 10px 0 3px 1px;
       margin-bottom: 6px;
       scrollbar-width: thin;
       scrollbar-color: #ababab transparent;
       scroll-behavior: smooth;
       justify-content: space-around;
   }
   .cuadros-container::-webkit-scrollbar {
       height: 6px;
   }
   .cuadros-container::-webkit-scrollbar-track {
       background: transparent;
   }
   .cuadros-container::-webkit-scrollbar-thumb {
       background-color: #151515;
       border-radius: 3px;
   }
   .cuadros-container .cuadro {
       flex: 0 0 auto;
       width: 50px;
       height: 50px;
       border-radius: 5px;
       cursor: pointer;
       transition: transform 0.2s, box-shadow 0.2s;
   }
   .cuadros-container .cuadro.activo {
       box-shadow: 0 0 0 1.5px #FFD700;
   }
   .titulo-habilidad {
       position: relative;
       display: flex;
       justify-content: center;
       align-items: center;
       margin-bottom: 8px;
       padding-right: 32px;
   }
   .titulo-habilidad h3 {
       font-size: 1.6em;
       color: white;
       text-align: center;
       margin: 0;
       width: 100%;
   }
   .tooltip-container {
       position: absolute;
       right: 0;
       top: 50%;
       transform: translateY(-50%);
   }
   .info-btn {
       border: none;
       color: #D3DBDC;
       background-color: #787878;
       font-weight: bold;
       border-radius: 50%;
       width: 44px;
       height: 44px;
       font-family: 'Noto Sans';
       cursor: pointer;
       transition: 0.2s;
       box-shadow: 0 0 3px #000;
       font-size: 40px;
       padding: 0;
       line-height: 24px;
       text-align: center;
   }
   .tooltip-text {
       visibility: hidden;
       width: 220px;
       background-color: #222;
       color: #fff;
       text-align: left;
       padding: 8px 10px;
       border-radius: 8px;
       position: absolute;
       z-index: 10;
       bottom: 130%;
       left: 50%;
       transform: translate(-85%, 110%);
       opacity: 0;
       transition: opacity 0.3s;
       font-size: 12px;
       box-shadow: 0 2px 10px rgba(0, 0, 0, 0.5);
       pointer-events: none;
   }
   .tooltip-container:hover .tooltip-text {
       visibility: visible;
       opacity: 1;
   }
   .descripcion-container h3 {
       font-size: 2.7em;
       margin: 0;
       text-align: center;
       padding-top: 0px;
   }
   .descripcion-container p,
   .desc {
       font-size: 1.2em;
       margin: 0;
   }
   .descripcion-container {
       min-height: 27.5rem;
       height: 100%;
       padding: 4px 16px !important;
       background: #26211C;
       border-radius: 8px;
       position: relative;
       box-shadow: 0 0 7px rgb(255 255 255 / 82%), 0 0 5px rgb(255 255 255 / 96%);
       color: #fff;
       backdrop-filter: blur(2px);
       transition: all 0.3s ease;
       text-shadow: -1px -1px 0 #000, 1px -1px 0 #000, -1px 1px 0 #000, 1px 1px 0 #000;
       padding-top: 0px !important;
       z-index: 99;
   }
   .desc {
       overflow-y: auto !important;
       max-height: inherit;
       margin-top: 10px;
   }
   .desc * {
       font-size: inherit !important;
       line-height: inherit;
   }
   .descripcion-container .descLevel {
       margin-top: 5px;
       font-weight: bold;
   }
   .descripcion-container .desc::-webkit-scrollbar,
   .tabSkill--container::-webkit-scrollbar {
       width: 7px;
       height: 7px;
   }
   .descripcion-container .desc::-webkit-scrollbar-thumb,
   .tabSkill--container::-webkit-scrollbar-thumb {
       background-color: rgb(71 153 255);
       border-radius: 10px;
   }
   .descripcion-container .desc::-webkit-scrollbar-track,
   .tabSkill--container::-webkit-scrollbar-track {
       background-color: #151515a8;
       border-radius: 10px;
   }
   .tier-bronze .topbar-icon,
   .tier-bronze .tier {
       outline: 2px solid #7b4e2f !important;
   }
   /*.tier-bronze .nome { text-shadow: 2px 2px #83736a; }*/
   .tier-silver .topbar-icon,
   .tier-silver .tier {
       outline: 2px solid #d6d2d2 !important;
   }
   /*.tier-silver .nome { text-shadow: 2px 2px #9d9d9d; }*/
   .tier-gold .topbar-icon,
   .tier-gold .tier {
       outline: 2px solid #fcd300 !important;
   }
   /*.tier-gold .nome { text-shadow: 2px 2px #dad405; }*/
   .tier-diamond .topbar-icon,
   .tier-diamond .tier {
       outline: 2px solid #60dae2 !important;
   }
   /*.tier-diamond .nome { text-shadow: 2px 2px #a6c0cc; }*/
   video::-webkit-media-controls {
       opacity: 0;
       transition: opacity 0.3s;
   }
   video:hover::-webkit-media-controls {
       opacity: 1;
   }
   .video-container {
       position: relative;
       width: 43%;
       background-color: #000;
       display: flex;
       align-items: center;
       justify-content: center;
       border-radius: 2%;
       box-shadow: 0 0 7px rgba(255, 255, 255, 0.82), 0 0 5px rgba(255, 255, 255, 0.96);
       overflow: hidden;
       z-index: 999;
   }
   .video-placeholder {
       position: absolute;
       top: 0;
       left: 0;
       width: 100%;
       height: 100%;
       background-color: #000;
       display: flex;
       align-items: center;
       justify-content: center;
       z-index: 2;
       opacity: 1;
       transition: opacity 0.9s ease;
   }
   .video-placeholder img {
       width: 120px;
       height: auto;
       animation: breathe 2.5s ease-in-out infinite;
       filter: drop-shadow(0 0 6px rgba(255, 255, 255, 0.3));
   }
   .video-placeholder.fade-out {
       opacity: 0;
   }
   @keyframes breathe {
       0%,
       100% {
           transform: scale(1);
           opacity: 1;
       }
       50% {
           transform: scale(1.07);
           opacity: 0.85;
       }
   }
   .attribute--cardsContainer {
       display: flex;
       justify-content: center;
       gap: 20px;
       flex-wrap: wrap;
       background: unset;
       border: unset;
   }
   .cardAttribute {
       width: 138px;
       height: 60px;
       background-color: #473838;
       border-radius: 8px;
       display: flex;
       flex-direction: column;
       align-items: center;
       justify-content: center;
       text-align: center;
       padding: 2px;
       box-shadow: 0 3px 7px rgba(0, 0, 0, 0.5);
       transition: transform 0.2s;
       border: 1px solid #00000047;
   }
   .cardAttribute--title {
       font-size: 1.1rem;
       font-weight: bold;
   }
   .cardAttribute--value {
       font-size: 14px !important;
       font-weight: bold;
       margin: 0 !important;
       color: white;
       border-bottom: unset;
   }
   .attribute-title,
   .card-skins-title {
       font-size: 1.4em;
       text-align: center;
       letter-spacing: 1px;
       font-family: sans-serif !important;
       border-bottom: 2px solid #9d9c9c;
       color: white !important;
       padding-bottom: 8px;
       margin-bottom: 16px;
       width: 75%;
   }
   .card-skins {
       padding-block: 12px;
       border-radius: 12px;
       box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
       user-select: none;
   }
   .skins-carousel-wrapper::before,
   .skins-carousel-wrapper::after {
       content: ;
       position: absolute;
       top: 0;
       width: 60px;
       height: 100%;
       pointer-events: none;
       opacity: 0;
       transition: opacity 0.4s ease;
       z-index: 3;
   }
   .skins-carousel-wrapper::before {
       left: 0;
       background: linear-gradient(to right, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 1) 100%);
   }
   .skins-carousel-wrapper::after {
       right: 0;
       background: linear-gradient(to left, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 1) 100%);
   }
   .skins-carousel-wrapper.has-left::before,
   .skins-carousel-wrapper.has-right::after {
       opacity: 1;
   }
   .has-left {
       padding-left: 60px;
   }
   .has-left .skins-carousel {
       mask-image: linear-gradient(to right, transparent 0px, black 40px, black 100%);
   }
   .has-right {
       padding-right: 60px;
   }
   .has-right .skins-carousel {
       mask-image: linear-gradient(to right, black 0px, black calc(100% - 40px), transparent 100%);
   }
   .skins-arrow {
       opacity: 1;
       transform: scale(1);
       transition: opacity 0.3s ease, transform 0.3s ease;
       display: inline-block;
   }
   .skins-arrow.hidden {
       opacity: 0;
       transform: scale(0.8);
       pointer-events: none;
       visibility: hidden;
   }
   .card-skins-title {
       display: block;
       border-bottom: unset;
       font-size: 40px;
       font-weight: bold;
       padding-bottom: unset;
       margin-bottom: 10px;
       width: 47%;
   }
   .skins-carousel-wrapper {
       min-height: 21.1rem;
       max-height: 60%;
       padding: 0 16px 1px !important;
       background: #26211C;
       border-radius: 8px;
       position: relative;
       box-shadow: 0 0 7px rgb(255 255 255 / 82%), 0 0 5px rgb(255 255 255 / 96%);
       color: #fff;
       backdrop-filter: blur(2px);
       transition: all 0.3s ease;
       text-shadow: -1px -1px 0 #000, 1px -1px 0 #000, -1px 1px 0 #000, 1px 1px 0 #000;
       flex: 1;
       display: flex;
       flex-direction: row;
       gap: 10px;
       justify-content: center;
       align-items: center;
       overflow: visible;
       z-index: 99;
   }
   .skins-carousel {
       display: flex;
       gap: 1vw;
       overflow-x: auto;
       scroll-behavior: smooth;
       padding: 10px 0;
       flex-grow: 1;
   }
   .skins-carousel.both-mask {
       mask-image: linear-gradient(to right, transparent 0px, black 40px, black calc(100% - 40px), transparent 100%);
   }
   .skins-carousel.left-mask {
       mask-image: linear-gradient(to right, transparent 0px, black 40px, black 100%);
   }
   .skins-carousel.right-mask {
       mask-image: linear-gradient(to right, black 0px, black calc(100% - 40px), transparent 100%);
   }
   .skins-carousel.no-mask {
       mask-image: none;
   }
   .skins-carousel::-webkit-scrollbar {
       display: none;
   }
   .skin-card {
       position: relative;
       width: 12vw;
       height: 39vh;
       flex: 0 0 auto;
       border: 2px solid #697EC9 !important;
       border-radius: 8px;
       overflow: hidden;
       box-shadow: 0 0 8px #00f2ff70;
       background: #111;
   }
   .skin-card::before {
       content: ;
       position: absolute;
       top: 0;
       left: 0;
       width: 100%;
       height: 100%;
       pointer-events: none;
       border-radius: inherit;
       z-index: 2;
       box-shadow: inset 0 0 12px 6px rgba(180, 180, 180, 0.25);
   }
   .skins--imageBanner {
       width: 100%;
       height: 109%;
   }
   .skins--imageBanner img {
       width: 100%;
       height: 100%;
       object-fit: cover;
       filter: brightness(0.5);
       scale: 1.1;
   }
   .skins--imageSkin img {
       position: absolute;
       bottom: 10px;
       left: 50%;
       transform: translateX(-50%);
       height: 140px;
       width: auto;
       z-index: 2;
       transition: transform 0.2s;
   }
   .skins-arrow {
       background: none;
       border: none;
       color: white;
       font-size: 36px;
       cursor: pointer;
       padding: 8px;
       z-index: 5;
       transition: 0.2s;
   }
   .skins-arrow.left {
       margin-right: 8px;
   }
   .skins-arrow.right {
       margin-left: 8px;
   }
   .mw-body-content {
       line-height: 1.5 !important;
   }
   @keyframes glowDiamond {
       0%,
       100% {
           box-shadow: inset 0 0 8px rgba(255, 255, 255, 0.4), 0 0 16px rgba(80, 255, 255, 0.6);
       }
       50% {
           box-shadow: inset 0 0 16px rgba(255, 255, 255, 0.6), 0 0 24px rgba(160, 255, 255, 0.8);
       }
   }
   @keyframes moveStars {
       0% {
           background-position: 0 0;
       }
       100% {
           background-position: 90px -90px;
       }
   }
   @media (max-aspect-ratio: 3/4) {
       .desc {
           font-size: 26px;
           line-height: 1.5;
           overflow-y: auto !important;
           max-height: inherit;
           margin: 0;
           width: 100%;
           margin-top: 8px;
       }
       .desc * {
           font-size: inherit !important;
           line-height: inherit;
       }
       .habilidades-container {
           display: flex;
           gap: 20px;
           flex-direction: column-reverse;
       }
       .habilidades-details {
           flex: 1;
           display: flex;
           flex-direction: column;
           width: 96%;
           align-self: center;
       }
       .video-container {
           width: 80%;
           border-radius: 3%;
           margin-top: 2%;
           align-self: center;
       }
       .art-personaje {
           display: none;
           width: 370px;
           height: 290px;
           position: absolute;
           right: 0.5rem;
           top: 1.1rem;
           z-index: 9;
       }
       .topbar-description {
           font-size: 22px;
       }
       .personaje-info .tier,
       .personaje-info .classe {
           font-size: 30px;
       }
       .cuadros-container {
           width: 98%;
           place-self: center;
           padding: 10px 0 16px 1px;
       }
       .cuadros-container .cuadro {
           flex: 0 0 auto;
           width: 80px;
           height: 80px;
       }
       .descripcion-container h3 {
           font-size: 3.6em;
           margin-top: -14px;
       }
       .descripcion-container p {
           font-size: 2.3em;
           margin-bottom: 5px;
       }
       .descripcion-container {
           padding: 22px !important;
       }
       .tab-btn {
           padding: 10px 20px;
           font-size: 26px;
       }
       .tab-content {
           padding: 0 8px 20px;
       }
       .classe {
           padding: 0px 5px;
           font-size: 1.4em;
       }
       .cardAttribute--title {
           font-size: 1.85rem;
       }
       .cardAttribute--value {
           font-size: 1.65rem !important;
       }
       .cardAttribute {
           width: 156px;
           height: 84px;
       }
       .tooltip-container {
           position: absolute;
           right: -6px;
           top: 30%;
           scale: 1.1;
       }
       .tooltip-text {
           font-size: 26px;
       }
       .skins-carousel {
           gap: 20px;
       }
       .skin-card {
           width: 236px;
           height: 400px;
       }
       .skins--imageSkin img {
           height: 170px;
       }
       .tooltipster-content {
           font-size: 26px;
       }
       .attribute-title,
       .card-skins-title {
           width: 100% !important;
       }
       .skins-arrow {
           display: none !important;
       }
       .skins-carousel-wrapper::after,
       .skins-carousel-wrapper::before {
           background: unset;
       }
       video::-webkit-media-controls {
           opacity: unset;
           transition: unset;
       }
       video:hover::-webkit-media-controls {
           opacity: unset;
       }
   }

</style>