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

De Wiki Gla
Ir para navegação Ir para pesquisar
Linha 140: Linha 140:
         // Render skins
         // Render skins
         document.getElementById('skins').innerHTML = generarHTMLSkins(skins);
         document.getElementById('skins').innerHTML = generarHTMLSkins(skins);
        setTimeout(() => {
            const carousel = document.querySelector('.skins-carousel');
            const leftBtn = document.querySelector('.skins-arrow.left');
            const rightBtn = document.querySelector('.skins-arrow.right');
            function updateArrows() {
                const scrollLeft = carousel.scrollLeft;
                const maxScroll = carousel.scrollWidth - carousel.clientWidth;
                leftBtn.style.display = scrollLeft > 10 ? 'block' : 'none';
                rightBtn.style.display = scrollLeft < maxScroll - 10 ? 'block' : 'none';
            }
            leftBtn.addEventListener('click', () => {
                carousel.scrollBy({ left: -220, behavior: 'smooth' });
            });
            rightBtn.addEventListener('click', () => {
                carousel.scrollBy({ left: 220, behavior: 'smooth' });
            });
            carousel.addEventListener('scroll', updateArrows);
            updateArrows();
        }, 0);


         // Render habilidades
         // Render habilidades
Linha 210: Linha 236:
         function generarHTMLSkins(lista) {
         function generarHTMLSkins(lista) {
             return `
             return `
        <div class="card-skins">
            <div class="card-skins">
          <span class="card-skins-title">Skins & Spotlight</span>
            <span class="card-skins-title">SKINS & SPOTLIGHTS</span>
          <div class="skins-container">
            <div class="skins-carousel-wrapper">
            ${lista.map(skin => `
                <button class="skins-arrow left" style="display:none;">«</button>
              <span class="simple-tooltip simple-tooltip-inline tooltipstered" data-simple-tooltip="<center><b>${skin.tooltip}</b></center>">
                <div class="skins-carousel">
                <img class="skins--imageBanner" src="https://one-piece-artworks.com/app/view/assets/img/geNiZAK" alt="banner image">
                ${lista.map(skin => `
                <img class="skins--imageSkin" src="${skin.image}" alt="skin image">
                    <div class="skin-card">
              </span>`).join('')}
                    <img class="skins--imageBanner" src="https://one-piece-artworks.com/app/view/assets/img/geNiZAK" alt="banner">
          </div>
                    <img class="skins--imageSkin" src="${skin.image}" alt="skin">
        </div>`;
                    </div>
                `).join('')}
                </div>
                <button class="skins-arrow right" style="display:none;">»</button>
            </div>
            </div>`;
         }
         }


Linha 714: Linha 745:
         margin-bottom: 10px;
         margin-bottom: 10px;
         width: 55%;
         width: 55%;
    }
    .skins-carousel-wrapper {
        display: flex;
        align-items: center;
        position: relative;
        overflow: hidden;
    }
    .skins-carousel {
        display: flex;
        gap: 16px;
        overflow-x: auto;
        scroll-behavior: smooth;
        padding: 10px 0;
        scrollbar-width: none;
    }
    .skins-carousel::-webkit-scrollbar {
        display: none;
    }
    .skin-card {
        position: relative;
        width: 200px;
        height: 320px;
        flex: 0 0 auto;
        border: 2px solid #00f2ff;
        border-radius: 8px;
        overflow: hidden;
        box-shadow: 0 0 8px #00f2ff70;
        background: #111;
    }
    .skins--imageBanner {
        width: 100%;
        height: 100%;
        object-fit: cover;
        filter: brightness(0.3);
     }
     }


     .skins--imageSkin {
     .skins--imageSkin {
         width: 200px;
         position: absolute;
         height: auto;
        bottom: 10px;
         background-color: #fefefe;
         left: 50%;
         border-radius: 6px;
         transform: translateX(-50%);
         border: 1px solid #ccc;
        height: 140px;
         width: auto;
         z-index: 2;
         transition: transform 0.2s;
         transition: transform 0.2s;
     }
     }


     .skins--imageSkin:hover {
     .skins--imageSkin:hover {
         transform: scale(1.05);
         transform: translateX(-50%) scale(1.05);
     }
     }
    .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 {
     .mw-body-content {

Edição das 01h01min de 19 de julho de 2025

               <img src="/images/6/63/Franky_ts_medal.png" class="topbar-icon">
Franky (TS) é um personagem do tier diamante.
           <button class="tab-btn" data-tab="arma">Arma</button>
           <button class="tab-btn active" data-tab="habilidades">Habilidades</button>
           <button class="tab-btn" data-tab="skins">Skins</button>
   <img class="art-personaje" alt="Arte del personaje">

<script type="text/javascript">

   (function () {
       const dataEl = document.getElementById('persona-data');
       if (!dataEl) {
           console.error('Persona widget: no se encontró #persona-data');
           return;
       }
       // Extração de dados
       const nome = dataEl.dataset.nome || ;
       const tier = dataEl.dataset.tier || ;
       const classe = dataEl.dataset.classe || ;
       const image = dataEl.dataset.image || ;
       let habilidades = [];
       let skins = [];
       const tempRawHabs = (dataEl.dataset.habilidadesRaw || ).trim();
       let tempRawSkins = (dataEl.dataset.skinsRaw || ).trim();
       rawSkins = tempRawSkins.replace(//g, ).trim();
           rawHabs = tempRawHabs.replace(//g, ).trim();
       rawHabs.split('||').forEach(line => {
           if (!line.trim()) return;
           const parts = line.split('|').map(x => x.trim()).filter(Boolean);
           const habData = {};
           parts.forEach(part => {
               const [key, ...valParts] = part.split('=');
               if (!key || valParts.length === 0) return;
               habData[key.trim()] = valParts.join('=').trim(); // por si hay "=" en el valor
           });
           const { nome, icon, level, desc = , atr, video =  } = habData;
           if (nome && icon && level && atr) {
               habilidades.push({
                   nome,
                   icon,
                   level: parseInt(level),
                   descripcion: desc, // estará vacío si no fue definido
                   atributos: atr,
                   video
               });
           } else {
               console.warn("Habilidad omitida por falta de campos obligatorios:", line);
           }
       });
       rawSkins.split('||').forEach(line => {
           if (!line.trim()) return;
           // Extraer pares clave=valor (por ejemplo: image=..., tooltip=...)
           const obj = {};
           line.split('|').forEach(part => {
               const [key, ...rest] = part.split('=');
               if (key && rest.length) {
                   obj[key.trim()] = rest.join('=').trim();
               }
           });
           if (obj.image && obj.tooltip) {
               skins.push({ image: obj.image, tooltip: obj.tooltip });
           } else {
               console.error("Error en la skin (falta image o tooltip):", line);
           }
       });
       const tierLower = tier.toLowerCase();
       let tierClass = ;
       document.querySelector('.nome').textContent = nome;
       document.querySelector('img.art-personaje').src = image;
       const buttons = document.querySelectorAll('.tab-btn');
       const contents = document.querySelectorAll('.tab-content');
       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');
           });
       });
       switch (tierLower) {
           case 'bronze':
           case 'bronce':
               tierClass = 'tier-bronze';
               break;
           case 'silver':
           case 'prata':
               tierClass = 'tier-silver';
               break;
           case 'gold':
           case 'ouro':
               tierClass = 'tier-gold';
               break;
           case 'diamond':
           case 'diamante':
               tierClass = 'tier-diamond';
               break;
       }
       if (tierClass) {
           document.querySelector('.personaje-box').classList.add(tierClass);
       }
       // Render skins
       document.getElementById('skins').innerHTML = generarHTMLSkins(skins);
       setTimeout(() => {
           const carousel = document.querySelector('.skins-carousel');
           const leftBtn = document.querySelector('.skins-arrow.left');
           const rightBtn = document.querySelector('.skins-arrow.right');
           function updateArrows() {
               const scrollLeft = carousel.scrollLeft;
               const maxScroll = carousel.scrollWidth - carousel.clientWidth;
               leftBtn.style.display = scrollLeft > 10 ? 'block' : 'none';
               rightBtn.style.display = scrollLeft < maxScroll - 10 ? 'block' : 'none';
           }
           leftBtn.addEventListener('click', () => {
               carousel.scrollBy({ left: -220, behavior: 'smooth' });
           });
           rightBtn.addEventListener('click', () => {
               carousel.scrollBy({ left: 220, behavior: 'smooth' });
           });
           carousel.addEventListener('scroll', updateArrows);
           updateArrows();
       }, 0);


       // Render habilidades
       const cuadrosContainer = document.querySelector('.cuadros-container');
       const descripcionContainer = document.querySelector('.descripcion-container');
       const videoContainer = document.querySelector('.video-container');
       const cuadros = [];
       habilidades.forEach(hab => {
           const div = document.createElement('div');
           div.className = 'cuadro';
           div.innerHTML = `<img src="${hab.icon}" alt="${hab.nome}" style="width:100%;height:100%;object-fit:cover">`;
           div.title = hab.nome;
           hab.descripcion = hab.descripcion.replace(/(.*?)/g, '$1');
           div.addEventListener('click', () => {

descripcionContainer.innerHTML = `

${hab.nome}

               <button class="info-btn">i</button>
               
                   Información adicional sobre la habilidad, consejos o efectos especiales.
               

` + generarHTMLAtributos(hab.atributos) + `

${hab.descripcion}

`;

               if (hab.video && hab.video !== ) {
                   videoContainer.innerHTML = `
         <video width="100%" controls playsinline>
           <source src="${hab.video}" type="video/webm">
         </video>`;
               } else {
                   videoContainer.innerHTML = ;
               }
               cuadros.forEach(c => c.classList.remove('activo'));
               div.classList.add('activo');
           });
           cuadros.push(div);
           cuadrosContainer.appendChild(div);
       });
       if (cuadros.length) cuadros[0].click();
       function generarHTMLAtributos(str) {
           const vals = str.split(',').map(v => v.trim());
           const labels = ['Poder PVE', 'Poder PVP', 'Energía', 'Recarga'];
           const icons = [
               '/images/7/7a/Icon-pve.png',
               '/images/5/5f/Icon-pvp.png',
               '/images/3/38/Icon-energy.png',
               '/images/b/b1/Icon-cooldown.png'
           ];
           return `
         ${vals.map((v, i) => {
               let f = v === '-' ? '-' : parseInt(v);
               if (i === 1 && !isNaN(f)) f = (f > 0 ? '+' : ) + f;
               return `
<span class="simple-tooltip simple-tooltip-inline tooltipstered" data-simple-tooltip="

${labels[i]}

">
                 <img src="${icons[i]}" class="cardAttribute--icon">

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

             `;
           }).join()}

`;

       }
       function generarHTMLSkins(lista) {
           return `
           SKINS & SPOTLIGHTS

`;

       }
       cuadrosContainer.addEventListener('wheel', (e) => {
           if (e.deltaY !== 0) {
               e.preventDefault();
               cuadrosContainer.scrollLeft += e.deltaY;
           }
       });
       dataEl.remove();
   })();

</script> <style>

   img {
       pointer-events: none;
       user-select: none;
   }
   .personaje-box {
       padding: 16px;
       color: #000000;
       font-family: 'Segoe UI', sans-serif;
       width: 90%;
       margin: auto;
   }
   .personaje-topbar {
       display: flex;
       flex-direction: column;
       align-items: flex-start;
       padding: 8px 16px;
   }
   .personaje-nome-box {
       display: flex;
       align-items: center;
       gap: 8px;
   }
   .topbar-icon {
       width: 90px;
       height: 90px;
       object-fit: none;
       background: #60dae2;
   }
   .nome {
       font-size: 60px;
       font-family: 'Orbitron', sans-serif;
       font-weight: 900;
   }
   .topbar-description {
       font-size: 16px;
       margin-top: 6px;
       background: #6AF3FB;
       width: fit-content;
       padding-inline: 16px;
       border-top-right-radius: 10px;
       border-bottom-right-radius: 10px;
   }


   .personaje-header {
       display: flex;
       gap: 10px;
       flex-direction: column;
   }
   .art-personaje {
       width: 665px;
       position: absolute;
       right: 5%;
       top: 0.8%;
   }
   .personaje-info {
       user-select: none;
   }
   .personaje-info .tier,
   .personaje-info .classe {
       font-size: 18px;
       color: #bbb;
   }
   .personaje-tabs {
       margin-block: 4px;
       display: flex;
       gap: 12px;
       justify-content: flex-start;
       margin-left: 8px;
   }
   .tab-btn {
       padding: 8px 20px;
       background: #333;
       color: white;
       border: none;
       border-radius: 8px;
       font-size: 20px;
       cursor: pointer;
   }
   .tab-btn.active {
       background: #156bc7;
       font-weight: bold;
   }
   .tab-content {
       display: none;
       animation: fadeIn 0.4s ease;
       background: #26211cd6;
       padding-inline: 8px;
       padding-bottom: 8px;
   }
   .tab-content.active {
       display: block;
   }
   .habilidades-container {
       display: flex;
       gap: 20px;
   }
   .skins-container {
       min-height: 21.1rem;
       max-height: 60%;
       padding: 4px 16px !important;
       background: #26211C;
       border-radius: 8px;
       position: relative;
       /*overflow: hidden;*/
       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;
       padding-bottom: 20px;
       padding-top: 0px !important;
       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;
   }
   .skins-container span {
       width: 13rem;
       height: 20rem;
       align-content: center;
   }
   .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-bottom: 3px;
       scrollbar-width: thin;
       scrollbar-color: #ababab transparent;
       margin-bottom: 6px;
       padding-top: 10px;
       margin-left: 1px;
       scroll-behavior: smooth;
   }
   .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 10px 3px rgba(255, 255, 0, 0.5);
       border: 1px solid #FFD700;
       animation: glow 2s ease-in-out infinite;
   }
   .titulo-habilidad {
       position: relative;
       display: flex;
       justify-content: center;
       /* centra el h3 */
       align-items: center;
       margin-bottom: 8px;
       padding-right: 32px;
       /* espacio para que no choque el botón */
   }
   .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 #000000;
       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-top: unset;
       padding-top: unset;
       text-align: center;
   }
   .descripcion-container p,
   .desc {
       font-size: 1.2em;
       margin-bottom: unset;
   }
   .descripcion-container {
       min-height: 25.1rem;
       max-height: 50%;
       padding: 4px 16px !important;
       background: #26211C;
       border-radius: 8px;
       position: relative;
       /*overflow: hidden;*/
       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;
       padding-bottom: 20px;
       padding-top: 0px !important;
       text-shadow:
           -1px -1px 0 #000,
           1px -1px 0 #000,
           -1px 1px 0 #000,
           1px 1px 0 #000;
   }
   .desc {
       overflow-y: auto !important;
       max-height: inherit;
       margin-bottom: unset;
       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 .descripcion-container {
       background: linear-gradient(145deg, rgba(139, 69, 19, 0.15), rgba(160, 82, 45, 0.15));
       background-color: #3a2e25;
       border: 2px solid #cd7f32;
       border-radius: 10px;
       color: #ffffff;
       box-shadow:
           inset 0 0 5px rgba(255, 255, 255, 0.05),
           0 0 10px rgba(205, 127, 50, 0.15);
   }
   .tier-silver .descripcion-container {
       background: linear-gradient(145deg, rgba(220, 220, 220, 0.1), rgba(180, 180, 180, 0.1));
       background-color: #2f2f33;
       border: 2px solid #c0c0c0;
       border-radius: 10px;
       color: #ffffff;
       box-shadow:
           inset 0 0 5px rgba(255, 255, 255, 0.07),
           0 0 12px rgba(192, 192, 192, 0.15);
   }
   .tier-gold .descripcion-container {
       background: linear-gradient(145deg, rgba(255, 215, 0, 0.1), rgba(255, 165, 0, 0.1));
       background-color: #352a12;
       border: 2px solid #ffd700;
       border-radius: 10px;
       color: #ffffff;
       box-shadow:
           inset 0 0 6px rgba(255, 255, 255, 0.05),
           0 0 14px rgba(255, 215, 0, 0.2);
   }
   .tier-diamond .descripcion-container {
       background: linear-gradient(145deg, rgba(160, 250, 255, 0.2), rgba(80, 180, 200, 0.5)),
           url("data:image/svg+xml,%3Csvg width='30' height='30' viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpolygon points='15,2 18,11 28,11 20,17 23,27 15,21 7,27 10,17 2,11 12,11' fill='%23ffffff' fill-opacity='0.25'/%3E%3C/svg%3E");
       background-color: #2c4a53;
       background-blend-mode: soft-light;
       background-size: 45px 45px;
       border: 2px solid #9be8f5;
       border-radius: 10px;
       box-shadow: inset 0 0 8px rgba(255, 255, 255, 0.1), 0 0 15px rgba(100, 255, 255, 0.25);
       color: #ffffff;
       animation: glowDiamond 5s ease-in-out infinite, moveStars 5s linear infinite;
       position: relative;
       overflow: hidden;
   }*/
   .tier-diamond .personaje-header {
       background: linear-gradient(145deg, rgba(160, 250, 255, 0.2), rgba(80, 180, 200, 0.5)),
           url("data:image/svg+xml,%3Csvg width='30' height='30' viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpolygon points='15,2 18,11 28,11 20,17 23,27 15,21 7,27 10,17 2,11 12,11' fill='%23ffffff' fill-opacity='0.25'/%3E%3C/svg%3E");
       background-color: #4b8292;
       background-blend-mode: soft-light;
       background-size: 45px 45px;
       box-shadow: inset 0 0 8px rgba(255, 255, 255, 0.1), 0 0 15px rgba(100, 255, 255, 0.25);
       animation: moveStars 5s linear infinite;
       padding-bottom: 10px;
       position: relative;
       overflow: hidden;
   }
   .video-container {
       width: 43%;
       height: fit-content;
       display: flex;
       align-items: center;
       justify-content: center;
       background-color: #000;
       padding: 0;
       overflow: hidden;
       align-self: center;
       border-radius: 2%;
       box-shadow: 0 0 7px rgb(255 255 255 / 82%), 0 0 5px rgb(255 255 255 / 96%);
       z-index: 999;
   }
   .attribute--cardsContainer {
       display: flex;
       justify-content: center;
       gap: 20px;
       flex-wrap: wrap;
       background: unset;
       border: unset;
   }
   .cardAttribute {
       width: 80px;
       height: 90px;
       background-color: #473838;
       border-radius: 8px;
       display: flex;
       flex-direction: column;
       align-items: center;
       justify-content: center;
       text-align: center;
       padding: 5px;
       box-shadow: 0 3px 7px rgba(0, 0, 0, 0.5);
       transition: transform 0.2s;
       border: 1px solid #00000047;
   }
   .cardAttribute--icon {
       height: 28px;
       margin-bottom: 14px;
   }
   .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;
       justify-self: 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: 16px;
       border-radius: 12px;
       box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
   }
   .card-skins-title {
       display: block;
       border-bottom: unset;
       font-size: 40px;
       font-weight: bold;
       justify-self: auto;
       padding-bottom: unset;
       margin-bottom: 10px;
       width: 55%;
   }
   .skins-carousel-wrapper {
       display: flex;
       align-items: center;
       position: relative;
       overflow: hidden;
   }
   .skins-carousel {
       display: flex;
       gap: 16px;
       overflow-x: auto;
       scroll-behavior: smooth;
       padding: 10px 0;
       scrollbar-width: none;
   }
   .skins-carousel::-webkit-scrollbar {
       display: none;
   }
   .skin-card {
       position: relative;
       width: 200px;
       height: 320px;
       flex: 0 0 auto;
       border: 2px solid #00f2ff;
       border-radius: 8px;
       overflow: hidden;
       box-shadow: 0 0 8px #00f2ff70;
       background: #111;
   }
   .skins--imageBanner {
       width: 100%;
       height: 100%;
       object-fit: cover;
       filter: brightness(0.3);
   }
   .skins--imageSkin {
       position: absolute;
       bottom: 10px;
       left: 50%;
       transform: translateX(-50%);
       height: 140px;
       width: auto;
       z-index: 2;
       transition: transform 0.2s;
   }
   .skins--imageSkin:hover {
       transform: translateX(-50%) scale(1.05);
   }
   .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 fadeIn {
       from {
           opacity: 0;
       }
       to {
           opacity: 1;
       }
   }
   @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;
       }
   }
   @keyframes glow {
       0% {
           box-shadow: 0 0 2px 1px rgba(255, 255, 0, 0.35);
       }
       50% {
           box-shadow: 0 0 4px 2px rgba(255, 255, 0, 0.7);
       }
       100% {
           box-shadow: 0 0 2px 1px rgba(255, 255, 0, 0.35);
       }
   }
   @media (max-aspect-ratio: 3/4) {
       .desc {
           font-size: 30px;
           line-height: 1.5;
           overflow-y: auto !important;
           max-height: inherit;
           margin-bottom: unset;
           width: 100%;
       }
       .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%;
           height: fit-content;
           display: flex;
           align-items: center;
           justify-content: center;
           overflow: hidden;
           align-self: center;
           border-radius: 3%;
           margin-top: 2%;
       }
       .art-personaje {
           right: 2%;
           width: 290px;
           top: 1.45vh;
       }
       .tap-btn {
           font-size: 30px;
       }
       .personaje-info .tier,
       .personaje-info .classe {
           font-size: 30px;
       }
       .cuadros-container .cuadro {
           flex: 0 0 auto;
           width: 80px;
           height: 80px;
       }
       .personaje-box {
           padding: 32px;
       }
       .descripcion-container h3 {
           font-size: 2.5em;
           margin-top: -12px;
       }
       .descripcion-container p {
           font-size: 2.3em;
           margin-bottom: 5px;
       }
       .descripcion-container {
           padding: 22px 22px !important;
       }
       .tab-btn {
           padding: 14px 22px;
           font-size: 34px;
       }
   }

</style>